package Test::TAP::Model::Subtest::Visual;
use base qw/Test::TAP::Model::Subtest/;

use strict;
use warnings;

use URI;
use URI::file;

sub css_class {
	my $self = shift;
	return "x sk" if $self->skipped;
	my $todo = $self->todo;
	"x " .
		? ( $todo ? "u" : "p" )
		: ( $todo ? "t" : "f" ))

sub popup {
	my $self = shift;
	my $text = join("\n", $self->line, $self->diag);

	{ chomp $text and redo };


sub link {
	my $self = shift;
	my $file = $self->test_file;
	return URI->new("#") unless $file;

	my $uri = URI::file->new($file);
	$_ and $uri->fragment("line_$_") for $self->test_line;
	return $uri;




=head1 NAME

Test::TAP::Model::Subtest::Visual - A subtest with additional display oriented


	See template


This object knows is used by the template to display per case cells, with a
class, and a link, and a tooltip.

=head1 METHODS

=over 4

=item css_class

The correct css class for a case as defined in F<testgraph.css>.

=item popup

A concatenation of the test line and it's diagnosis, used for tooltips.

=item link

Extracted from the pos: