[rt #59532] fix the zero position calculation for horizontal charts
[imager-graph.git] / t / t14bar.t
index ebf1443..f426a0f 100644 (file)
@@ -13,7 +13,7 @@ use Test::More;
 
 use Imager qw(:handy);
 
-plan tests => 7;
+plan tests => 11;
 
 my @warned;
 local $SIG{__WARN__} =
@@ -61,6 +61,51 @@ my @labels = qw(alpha beta gamma delta epsilon phi gi);
   cmpimg($img1, 'testimg/t14_bar.ppm', 80_000);
 }
 
+{
+  my $bar = Imager::Graph::Bar->new();
+  $bar->set_font($font);
+  ok($bar, "creating bar chart object");
+
+  $bar->add_data_series([ @data, -25 ]);
+  $bar->set_labels([ @labels, "neg" ]);
+
+  my $img1 = $bar->draw();
+  ok($img1, "drawing bar chart (negative values)");
+
+  $img1->write(file=>'testout/t14_bar3.ppm') or die "Can't save img1: ".$img1->errstr."\n";
+  #cmpimg($img1, 'testimg/t14_bar.ppm', 80_000);
+}
+
+{
+  my $bar = Imager::Graph::Bar->new();
+  $bar->set_font($font);
+  ok($bar, "creating bar chart object");
+
+  $bar->add_data_series([ @data, -25 ]);
+  $bar->set_labels([ @labels, "neg" ]);
+
+  my $fountain = Imager::Fountain->simple(colors => [ "#C0C0FF", "#E0E0FF" ],
+                                         positions => [ 0, 1 ]);
+
+  my %fill =
+    (
+     fountain => "linear",
+     segments => $fountain,
+     xa_ratio => 0.5,
+     ya_ratio => -0.1,
+     xb_ratio => 0.55,
+     yb_ratio => 1.1,
+    );
+
+  $bar->set_negative_background(\%fill);
+
+  my $img1 = $bar->draw();
+  ok($img1, "drawing bar chart (negative values, custom fill)");
+
+  $img1->write(file=>'testout/t14_bar4.ppm') or die "Can't save img1: ".$img1->errstr."\n";
+  #cmpimg($img1, 'testimg/t14_bar.ppm', 80_000);
+}
+
 unless (is(@warned, 0, "should be no warnings")) {
   diag($_) for @warned;
 }