From d219a89d8d6ecc553851687967473665a78c77c8 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sun, 13 Feb 2011 18:47:12 +0000 Subject: some more notes on an optimizer --- t/08-optimize.t | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 t/08-optimize.t (limited to 't/08-optimize.t') diff --git a/t/08-optimize.t b/t/08-optimize.t new file mode 100644 index 0000000..bd1b891 --- /dev/null +++ b/t/08-optimize.t @@ -0,0 +1,31 @@ +#!perl +use Test::Most; +use strict; +use warnings; +use Tree::Transform::XSLTish::Optimizer; + +my $o=\&Tree::Transform::XSLTish::Optimizer::optimize; + +my @flds=qw(opt_pattern min_depth max_depth expected_result); +my %cases=( + 'foo' => [ 'self::foo',0,0,'any' ], + '//foo' => [ 'self::foo',0,0,'any' ], + 'foo/bar' => [ 'self::bar/parent::foo',0,0,'any' ], + '//foo/bar' => [ 'self::bar/parent::foo',0,0,'any' ], +); + +while (my ($path,$res) = each %cases) { + + note "testing $path"; + + my $rule = { match => $path }; + $o->('',$rule); + + my $i=0; + for my $field (@flds) { + is($rule->{$field},$res->[$i],"$field ok") if defined $res->[$i]; + ++$i; + } +} + +done_testing; -- cgit v1.2.3