]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - t/23-pattern.t
Factor the check() test function in an helper test module
[perl/modules/LaTeX-TikZ.git] / t / 23-pattern.t
index c592ad07b0e5286998ad114c32ce04627eae71a3..03703223044679d1ef859b142e54a38a81df1ff2 100644 (file)
@@ -7,19 +7,19 @@ use Test::More tests => 5 + 4 * 5;
 
 use LaTeX::TikZ;
 
-my $tikz = Tikz->formatter(
+use lib 't/lib';
+use LaTeX::TikZ::TestHelper;
+
+using Tikz->formatter(
  format => '%d',
 );
 
-sub check {
+sub check_patterns {
  my ($set, $desc, $exp_decl, $exp) = @_;
 
  local $Test::Builder::Level = $Test::Builder::Level + 1;
 
- my ($head, $decl, $body) = eval {
-  $tikz->render(ref $set eq 'ARRAY' ? @$set : $set);
- };
- is $@, '', "$desc: no error";
+ my ($head, $decl, $body) = check($set, $desc, $exp);
 
  is $head->[-1], '\usetikzlibrary{patterns}', "$desc: header";
 
@@ -27,14 +27,7 @@ sub check {
   $exp_decl = [ split /\n/, $exp_decl ];
  }
 
- unless (ref $exp eq 'ARRAY') {
-  $exp = [ split /\n/, $exp ];
- }
- unshift @$exp, '\begin{tikzpicture}';
- push    @$exp, '\end{tikzpicture}';
-
  is_deeply $decl, $exp_decl, "$desc: declarations";
- is_deeply $body, $exp,      "$desc: body";
 }
 
 my $lines = eval {
@@ -43,7 +36,7 @@ my $lines = eval {
 };
 is $@, '', 'creating a line pattern doesn\'t croak';
 
-check $lines, 'a line pattern', <<'DECL', <<'BODY';
+check_patterns $lines, 'a line pattern', <<'DECL', <<'BODY';
 \pgfdeclarepatternformonly{pata}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{1.8pt}{1.8pt}}{\pgfqpoint{1.6pt}{1.6pt}}{
 \pgfsetlinewidth{0.2pt}
 \pgfpathmoveto{\pgfqpoint{-0.2pt}{0.8pt}}
@@ -60,7 +53,7 @@ my $dots = eval {
 };
 is $@, '', 'creating a dot pattern doesn\'t croak';
 
-check $dots, 'a dot pattern', <<'DECL', <<'BODY';
+check_patterns $dots, 'a dot pattern', <<'DECL', <<'BODY';
 \pgfdeclarepatternformonly{patb}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{1.8pt}{1.8pt}}{\pgfqpoint{1.6pt}{1.6pt}}{
 \pgfpathcircle{\pgfqpoint{0.8pt}{0.8pt}}{0.2pt}
 \pgfusepath{fill}
@@ -80,7 +73,7 @@ my $seq = eval {
 };
 is $@, '', 'creating a sequence with two identic patterns doesn\'t croak';
 
-check $seq, 'a sequence with two identic patterns', <<'DECL', <<'BODY';
+check_patterns $seq, 'a sequence with two identic patterns', <<'DECL', <<'BODY';
 \pgfdeclarepatternformonly{pata}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{1.8pt}{1.8pt}}{\pgfqpoint{1.6pt}{1.6pt}}{
 \pgfsetlinewidth{0.2pt}
 \pgfpathmoveto{\pgfqpoint{-0.2pt}{0.8pt}}
@@ -100,7 +93,8 @@ $seq = eval {
 is $@, '',
          'creating a sequence with two orthogonal line patterns doesn\'t croak';
 
-check $seq, 'a sequence with two orthogonal line patterns', <<'DECL', <<'BODY';
+check_patterns $seq, 'a sequence with two orthogonal line patterns',
+               <<'DECL', <<'BODY';
 \pgfdeclarepatternformonly{patc}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{1.8pt}{1.8pt}}{\pgfqpoint{1.6pt}{1.6pt}}{
 \pgfsetlinewidth{0.2pt}
 \pgfpathmoveto{\pgfqpoint{0.8pt}{-0.2pt}}
@@ -125,7 +119,8 @@ $seq = eval {
 };
 is $@, '', 'creating a sequence with two different patterns doesn\'t croak';
 
-check $seq, 'a sequence with two different patterns', <<'DECL', <<'BODY';
+check_patterns $seq, 'a sequence with two different patterns',
+               <<'DECL', <<'BODY';
 \pgfdeclarepatternformonly{patb}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{1.8pt}{1.8pt}}{\pgfqpoint{1.6pt}{1.6pt}}{
 \pgfpathcircle{\pgfqpoint{0.8pt}{0.8pt}}{0.2pt}
 \pgfusepath{fill}