X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F30-functor.t;h=74ff18d727f489e771a7181ebdf784e03eb34204;hb=93edf9c5c04a04fbd3c8dbf04eacaf66736ff6ee;hp=64d7d4b6023e61c398fdd5fb09864dda41b6652c;hpb=1ef0d773dfe4f90087af6a39b06061eaadb44a65;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/t/30-functor.t b/t/30-functor.t index 64d7d4b..74ff18d 100644 --- a/t/30-functor.t +++ b/t/30-functor.t @@ -3,7 +3,7 @@ use strict; use warnings; -use Test::More tests => 10 + 2 * 7; +use Test::More tests => 11 + 2 * 8; use LaTeX::TikZ; @@ -37,7 +37,11 @@ my $seq = Tikz->seq( Tikz->raw('foo'), Tikz->point(2), Tikz->line(-1 => 3) - ->clip(Tikz->circle(1, 1)) + ->clip(Tikz->circle(1, 1)), + Tikz->union( + Tikz->chain(4 => '--' => [ -3, 2 ]), + Tikz->join('-|' => [ -1, 0 ], [ 0, 1 ]), + ), ) ->clip(Tikz->rectangle([0, -1] => [2, 3])); @@ -56,6 +60,7 @@ check $seq, 'the original sequence', <<'RES'; \clip (1cm,0cm) circle (1cm) ; \draw (-1cm,0cm) -- (3cm,0cm) ; \end{scope} +\draw (4cm,0cm) -- (-3cm,2cm) (-1cm,0cm) -| (0cm,1cm) ; \end{scope} RES @@ -69,9 +74,23 @@ check $seq2, 'the translated sequence', <<'RES'; \clip (0cm,1cm) circle (1cm) ; \draw (-2cm,1cm) -- (2cm,1cm) ; \end{scope} +\draw (3cm,1cm) -- (-4cm,3cm) (-2cm,1cm) -| (-1cm,2cm) ; \end{scope} RES +my $poly = Tikz->closed_polyline( + [ 0, 0 ], [ 1, 0 ], [ 1, 1 ], [ 0, 1 ] +); + +my $poly2 = eval { + $poly->$translate(Tikz->point(-1, 1)); +}; +is $@, '', 'translating a polyline doesn\'t croak'; + +check $poly2, 'the translated polyline', <<'RES'; +\draw (-1cm,1cm) -- (0cm,1cm) -- (0cm,2cm) -- (-1cm,2cm) -- cycle ; +RES + my $strip = eval { Tikz->functor( '+LaTeX::TikZ::Mod' => sub { return }, @@ -96,6 +115,7 @@ check $seq2, 'the original sequence', <<'RES'; \clip (0cm,1cm) circle (1cm) ; \draw (-2cm,1cm) -- (2cm,1cm) ; \end{scope} +\draw (3cm,1cm) -- (-4cm,3cm) (-2cm,1cm) -| (-1cm,2cm) ; \end{scope} RES @@ -104,6 +124,7 @@ check $seq3, 'the stripped sequence', <<'RES'; \draw foo ; \draw (1cm,1cm) ; \draw (-2cm,1cm) -- (2cm,1cm) ; +\draw (3cm,1cm) -- (-4cm,3cm) (-2cm,1cm) -| (-1cm,2cm) ; RES my $special = eval { @@ -122,7 +143,7 @@ $special = eval { '+LaTeX::TikZ::Mod' => sub { die "mod\n" }, '+LaTeX::TikZ::Set' => sub { die "set\n" }, 'LaTeX::TikZ::Set::Point' => sub { Tikz->point(7) }, - 'LaTeX::TikZ::Set::Op' => sub { Tikz->raw('moo') }, + 'LaTeX::TikZ::Set::Path' => sub { Tikz->raw('moo') }, ); }; is $@, '', 'creating a special functor with + and normal rules doesn\'t croak'; @@ -159,5 +180,6 @@ check $seq, 'a sequence translated by an origin', <<'RES'; \clip (0cm,1cm) circle (1cm) ; \draw (-2cm,1cm) -- (2cm,1cm) ; \end{scope} +\draw (3cm,1cm) -- (-4cm,3cm) (-2cm,1cm) -| (-1cm,2cm) ; \end{scope} RES