]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - t/23-pattern.t
Bump the default space width of patterns to 10
[perl/modules/LaTeX-TikZ.git] / t / 23-pattern.t
index d5aa47401835719197f2be34e94ed5b6e0b2cfe0..c592ad07b0e5286998ad114c32ce04627eae71a3 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2 + 4 * 2;
+use Test::More tests => 5 + 4 * 5;
 
 use LaTeX::TikZ;
 
@@ -44,10 +44,10 @@ my $lines = eval {
 is $@, '', 'creating a line pattern doesn\'t croak';
 
 check $lines, 'a line pattern', <<'DECL', <<'BODY';
-\pgfdeclarepatternformonly{pata}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{0.3pt}{0.3pt}}{\pgfqpoint{0.2pt}{0.2pt}}{
+\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.1pt}}
-\pgfpathlineto{\pgfqpoint{0.3pt}{0.1pt}}
+\pgfpathmoveto{\pgfqpoint{-0.2pt}{0.8pt}}
+\pgfpathlineto{\pgfqpoint{1.8pt}{0.8pt}}
 \pgfusepath{stroke}
 }
 DECL
@@ -61,10 +61,81 @@ my $dots = eval {
 is $@, '', 'creating a dot pattern doesn\'t croak';
 
 check $dots, 'a dot pattern', <<'DECL', <<'BODY';
-\pgfdeclarepatternformonly{patb}{\pgfqpoint{-0.2pt}{-0.2pt}}{\pgfqpoint{0.3pt}{0.3pt}}{\pgfqpoint{0.2pt}{0.2pt}}{
-\pgfpathcircle{\pgfqpoint{0.1pt}{0.1pt}}{0.2pt}
+\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}
 }
 DECL
 \draw [fill,pattern=patb] foo ;
 BODY
+
+my ($lines_mod) = $lines->mods;
+my ($dots_mod)  = $dots->mods;
+
+my $seq = eval {
+ Tikz->seq(
+  Tikz->raw('foo')
+      ->mod($lines_mod)
+ )->mod($lines_mod);
+};
+is $@, '', 'creating a sequence with two identic patterns doesn\'t croak';
+
+check $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}}
+\pgfpathlineto{\pgfqpoint{1.8pt}{0.8pt}}
+\pgfusepath{stroke}
+}
+DECL
+\draw [fill,pattern=pata] foo ;
+BODY
+
+$seq = eval {
+ Tikz->seq(
+  Tikz->raw('foo')
+      ->mod($lines_mod)
+ )->mod(Tikz->pattern(class => 'Lines', direction => 'vertical'));
+};
+is $@, '',
+         'creating a sequence with two orthogonal line patterns doesn\'t croak';
+
+check $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}}
+\pgfpathlineto{\pgfqpoint{0.8pt}{1.8pt}}
+\pgfusepath{stroke}
+}
+\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}}
+\pgfpathlineto{\pgfqpoint{1.8pt}{0.8pt}}
+\pgfusepath{stroke}
+}
+DECL
+\draw [fill,pattern=patc,pattern=pata] foo ;
+BODY
+
+$seq = eval {
+ Tikz->seq(
+  Tikz->raw('foo')
+      ->mod($lines_mod)
+ )->mod($dots_mod);
+};
+is $@, '', 'creating a sequence with two different patterns doesn\'t croak';
+
+check $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}
+}
+\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}}
+\pgfpathlineto{\pgfqpoint{1.8pt}{0.8pt}}
+\pgfusepath{stroke}
+}
+DECL
+\draw [fill,pattern=patb,pattern=pata] foo ;
+BODY