* changed t31tic_color.t to check against different images based on the presence...
[imager-graph.git] / t / t31tic_color.t
CommitLineData
1509eee7 1#!perl -w
2use strict;
3use Imager::Graph::Line;
4use lib 't/lib';
5use Imager::Font::Test;
6use Test::More;
7
8-d 'testout'
9 or mkdir "testout", 0700
10 or die "Could not create output directory: $!";
11
12++$|;
13
14my @warned;
15local $SIG{__WARN__} =
16 sub {
17 print STDERR $_[0];
18 push @warned, $_[0]
19 };
20
21
22use Imager qw(:handy);
23
24plan tests => 4;
25
26#my $fontfile = 'ImUgly.ttf';
27#my $font = Imager::Font->new(file=>$fontfile, type => 'ft2', aa=>1)
28# or plan skip_all => "Cannot create font object: ",Imager->errstr,"\n";
29my $font = Imager::Font::Test->new();
30
267997be 31my @data = (1 .. 7);
1509eee7 32my @labels = qw(alpha beta gamma delta epsilon phi gi);
33
34my $line = Imager::Graph::Line->new();
35ok($line, "creating line chart object");
36
37$line->set_font($font);
38$line->add_data_series(\@data);
39$line->set_labels(\@labels);
40$line->use_automatic_axis();
41$line->set_y_tics(5);
42
43
44my $img1 = $line->draw(outline => {line => '#FF0000'});
45ok($img1, "drawing line chart");
46
47$img1->write(file=>'testout/t31tic_color.ppm') or die "Can't save img1: ".$img1->errstr."\n";
267997be 48
49eval { require Chart::Math::Axis; };
50if ($@) {
51 cmpimg($img1, 'testimg/t31tic_color.ppm', 1);
52}
53else {
54 cmpimg($img1, 'testimg/t31tic_color_CMA.ppm', 1);
55}
1509eee7 56
57unless (is(@warned, 0, "should be no warnings")) {
58 diag($_) for @warned;
59}
60
61
62sub cmpimg {
63 my ($img, $file, $limit) = @_;
64
65 $limit ||= 10000;
66
267997be 67 my $cmpimg = Imager->new;
68 $cmpimg->read(file=>$file)
69 or return ok(0, "Cannot read $file: ".$cmpimg->errstr);
70 my $diff = Imager::i_img_diff($img->{IMG}, $cmpimg->{IMG});
71 cmp_ok($diff, '<', $limit, "Comparison to $file ($diff)");
1509eee7 72}
73