More dispatch tests. people/apeiron/extend-dispatch-tests
Chris Nehren [Sat, 10 Sep 2011 04:30:51 +0000 (00:30 -0400)]
Tests added so far:

GET+/** yields [qw(foo bar)] when called with /foo/bar
GET+(**) yields 'foo/bar' when called with /foo/bar
GET+/*.* yields qw(foo bar) when called with /foo.bar
GET+/(*.*) yields 'foo.bar' when called with /foo.bar

t/dispatch_parser.t

index caa4e45..31371d3 100644 (file)
@@ -197,6 +197,58 @@ my $dp = Web::Dispatch::Parser->new;
    );
 }
 
+TODO: {
+   local $TODO = 'needs implementing';
+   eval {
+      my $star_star = $dp->parse('GET+/**');
+   
+      is_deeply(
+        [ $star_star->({ PATH_INFO => '/foo/bar', REQUEST_METHOD => 'GET' }) ],
+        [ {}, [qw(foo bar)] ],
+        '/foo/bar via /** parses out [qw(foo bar)]'
+      );
+   };
+};
+
+TODO: {
+   local $TODO = 'needs implementing';
+   eval {
+      my $grp_star = $dp->parse('GET+/(**)');
+   
+      is_deeply(
+        [ $grp_star->({ PATH_INFO => '/foo/bar', REQUEST_METHOD => 'GET' }) ],
+        [ {}, 'foo/bar' ],
+        '/foo/bar via /(**) parses out "foo/bar"'
+      );
+   };
+};
+
+TODO: {
+   local $TODO = 'needs implementing';
+   eval {
+      my $dot_star = $dp->parse('GET+/*.*');
+   
+      is_deeply(
+        [ $dot_star->({ PATH_INFO => '/foo.bar', REQUEST_METHOD => 'GET' }) ],
+        [ {}, qw(foo bar) ],
+        '/foo.bar via /*.* parses out qw(foo bar)'
+      );
+   };
+};
+
+TODO: {
+   local $TODO = 'needs implementing';
+
+   eval {
+      my $group_ds = $dp->parse('GET+/(*.*)');
+      is_deeply(
+        [ $group_ds->({ PATH_INFO => '/foo.bar', REQUEST_METHOD => 'GET' }) ],
+        [ {}, 'foo.bar' ],
+        '/foo.bar via /*.* parses out "foo.bar"'
+      );
+   };
+};
+
 {
   local $@;
   ok(