first commit
This commit is contained in:
92
perl/lib/Graph-Easy-0.76/t/boxart.t
Normal file
92
perl/lib/Graph-Easy-0.76/t/boxart.t
Normal file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use Test::More;
|
||||
use strict;
|
||||
|
||||
BEGIN
|
||||
{
|
||||
plan tests => 15;
|
||||
chdir 't' if -d 't';
|
||||
use lib '../lib';
|
||||
use_ok ("Graph::Easy") or die($@);
|
||||
use_ok ("Graph::Easy::As_ascii") or die($@);
|
||||
};
|
||||
|
||||
can_ok ("Graph::Easy", qw/
|
||||
as_boxart
|
||||
as_boxart_html
|
||||
as_boxart_html_file
|
||||
as_boxart_file
|
||||
/);
|
||||
|
||||
#############################################################################
|
||||
|
||||
binmode STDERR, ':utf8';
|
||||
# some of our strings are written in utf8
|
||||
use utf8;
|
||||
|
||||
my $graph = Graph::Easy->new();
|
||||
|
||||
my ($bonn, $berlin, $edge) = $graph->add_edge ('Bonn', 'Berlin');
|
||||
|
||||
my $boxart = $graph->as_boxart();
|
||||
|
||||
like ($boxart, qr/Bonn/, 'contains Bonn');
|
||||
like ($boxart, qr/Berlin/, 'contains Berlin');
|
||||
unlike ($boxart, qr/-/, "doesn't contain '-'");
|
||||
|
||||
#############################################################################
|
||||
# border tests
|
||||
|
||||
$berlin->set_attribute('border-style', 'dotted');
|
||||
|
||||
#############################################################################
|
||||
# arrow tests
|
||||
|
||||
my $open = '──>';
|
||||
my $closed = '──▷';
|
||||
my $filled = '──▶';
|
||||
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$open/, 'contains edge with open arrow');
|
||||
|
||||
$edge->set_attribute('arrow-style', 'open');
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$open/, 'contains edge with open arrow');
|
||||
|
||||
$edge->set_attribute('arrow-style', 'closed');
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$closed/, 'contains edge with closed arrow');
|
||||
|
||||
$edge->set_attribute('arrow-style', 'filled');
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$filled/, 'contains edge with filled arrow');
|
||||
|
||||
#############################################################################
|
||||
# arrow tests with dotted lines
|
||||
|
||||
$open = "··>";
|
||||
$closed = '··▷';
|
||||
$filled = '··▶';
|
||||
|
||||
$edge->set_attribute('style', 'dotted');
|
||||
$edge->del_attribute('arrow-style');
|
||||
|
||||
is ($edge->style(), 'dotted', 'edge is now dotted');
|
||||
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$open/, 'contains edge with open arrow');
|
||||
|
||||
$edge->set_attribute('arrow-style', 'open');
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$open/, 'contains edge with open arrow');
|
||||
|
||||
$edge->set_attribute('arrow-style', 'closed');
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$closed/, 'contains edge with closed arrow');
|
||||
|
||||
$edge->set_attribute('arrow-style', 'filled');
|
||||
$boxart = $graph->as_boxart();
|
||||
like ($boxart, qr/$filled/, 'contains edge with filled arrow');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user