@@ -574,6 +574,7 @@ describe('path-to-regexp', function () {
574
574
it ( 'should match trailing slashing in non-ending strict mode' , function ( ) {
575
575
var params = [ ] ;
576
576
var re = pathToRegExp ( '/route/' , params , { end : false , strict : true } ) ;
577
+ var m ;
577
578
578
579
assert . equal ( params . length , 0 ) ;
579
580
@@ -600,6 +601,7 @@ describe('path-to-regexp', function () {
600
601
it ( 'should not match trailing slashes in non-ending strict mode' , function ( ) {
601
602
var params = [ ] ;
602
603
var re = pathToRegExp ( '/route' , params , { end : false , strict : true } ) ;
604
+ var m ;
603
605
604
606
assert . equal ( params . length , 0 ) ;
605
607
@@ -617,6 +619,7 @@ describe('path-to-regexp', function () {
617
619
it ( 'should match text after an express param' , function ( ) {
618
620
var params = [ ] ;
619
621
var re = pathToRegExp ( '/(:test)route' , params ) ;
622
+ var m ;
620
623
621
624
assert . equal ( params . length , 1 ) ;
622
625
assert . equal ( params [ 0 ] . name , 'test' ) ;
@@ -723,6 +726,28 @@ describe('path-to-regexp', function () {
723
726
assert . equal ( m [ 0 ] , '/route' ) ;
724
727
assert . equal ( m [ 1 ] , '/route' ) ;
725
728
} ) ;
729
+
730
+ it ( 'should pull out matching named groups' , function ( ) {
731
+ var params = [ ] ;
732
+ var re = pathToRegExp ( / \/ ( .* ) \/ (?< foo > .* ) \/ ( .* ) / , params ) ;
733
+ var m ;
734
+
735
+ assert . equal ( params . length , 3 ) ;
736
+ assert . equal ( params [ 0 ] . name , 0 ) ;
737
+ assert . equal ( params [ 0 ] . optional , false ) ;
738
+ assert . equal ( params [ 1 ] . name , 'foo' ) ;
739
+ assert . equal ( params [ 1 ] . optional , false ) ;
740
+ assert . equal ( params [ 2 ] . name , 1 ) ;
741
+ assert . equal ( params [ 2 ] . optional , false ) ;
742
+
743
+ m = re . exec ( '/foo/bar/baz' ) ;
744
+
745
+ assert . equal ( m . length , 4 ) ;
746
+ assert . equal ( m [ 0 ] , '/foo/bar/baz' ) ;
747
+ assert . equal ( m [ 1 ] , 'foo' ) ;
748
+ assert . equal ( m [ 2 ] , 'bar' ) ;
749
+ assert . equal ( m [ 3 ] , 'baz' ) ;
750
+ } )
726
751
} ) ;
727
752
728
753
describe ( 'arrays' , function ( ) {
0 commit comments