@@ -4,12 +4,12 @@ import { test } from '../src/index.js';
4
4
5
5
describe ( 'test' , function ( ) {
6
6
it ( 'should detect as path template' , function ( ) {
7
- assert . isTrue ( test ( '/{path}' ) ) ;
8
7
assert . isTrue ( test ( '/{path}/' ) ) ; // trailing slash is allowed
9
8
assert . isTrue ( test ( '/pets/{petId}' ) ) ;
10
9
assert . isTrue ( test ( '/{entity}/me' ) ) ;
11
10
assert . isTrue ( test ( '/books/{id}' ) ) ;
12
11
assert . isTrue ( test ( '/a{test}' ) ) ;
12
+ assert . isTrue ( test ( '/foo/bar/{baz}/test/{foo_id}/baz/{bar_id}' ) ) ;
13
13
assert . isTrue ( test ( '/{test}a' ) ) ;
14
14
assert . isTrue ( test ( '/range({x},{y})' ) ) ; // parentheses are allowed
15
15
assert . isTrue ( test ( '/range({x},{y})/secondRange({x},{y})' ) ) ; // repeated parameter names are allowed
@@ -29,9 +29,24 @@ describe('test', function () {
29
29
assert . isTrue ( test ( '/users/{user-id}' ) ) ;
30
30
assert . isTrue ( test ( '/{❤️}' ) ) ;
31
31
assert . isTrue ( test ( '/{%}' ) ) ;
32
- // RFC 6570 operators
32
+ assert . isTrue ( test ( '/{foo:}' ) ) ;
33
+ assert . isTrue ( test ( '/{foo:bar}' ) ) ;
34
+ assert . isTrue ( test ( '/{=bar}' ) ) ;
35
+ assert . isTrue ( test ( '/{$bar}' ) ) ;
36
+ assert . isTrue ( test ( '/{~bar}' ) ) ;
37
+ assert . isTrue ( test ( '/{#bar}' ) ) ;
38
+ assert . isTrue ( test ( '/{?bar}' ) ) ;
39
+ assert . isTrue ( test ( '/{/bar}' ) ) ;
40
+ assert . isTrue ( test ( '/{foo bar}' ) ) ;
41
+ assert . isTrue ( test ( '/{|bar}' ) ) ;
42
+ assert . isTrue ( test ( '/{^bar}' ) ) ;
43
+ assert . isTrue ( test ( '/{`bar}' ) ) ;
44
+ // RFC 6570 operators are allowed
33
45
assert . isTrue ( test ( '/{y,x}' ) , '/{y,x}' ) ;
34
46
assert . isTrue ( test ( '/{count*}' ) ) ;
47
+ assert . isTrue ( test ( '/{;bar}' ) ) ;
48
+ assert . isTrue ( test ( '/{&bar}' ) ) ;
49
+ assert . isTrue ( test ( '/{.bar}' ) ) ;
35
50
} ) ;
36
51
37
52
it ( 'should not detect expression' , function ( ) {
@@ -46,22 +61,6 @@ describe('test', function () {
46
61
assert . isFalse ( test ( '/#baz' ) ) ;
47
62
// special characters in literals are not allowed
48
63
assert . isFalse ( test ( '/❤️' ) ) ;
49
- // special characters in parameters names are not allowed
50
- assert . isFalse ( test ( '/{foo:baz}' ) ) ;
51
- assert . isFalse ( test ( '/{=baz}' ) ) ;
52
- assert . isFalse ( test ( '/{$baz}' ) ) ;
53
- assert . isFalse ( test ( '/{~baz}' ) ) ;
54
- assert . isFalse ( test ( '/{#baz}' ) ) ;
55
- assert . isFalse ( test ( '/{?baz}' ) ) ;
56
- assert . isFalse ( test ( '/{/baz}' ) ) ;
57
- assert . isFalse ( test ( '/{foo baz}' ) ) ;
58
- assert . isFalse ( test ( '/{|baz}' ) ) ;
59
- assert . isFalse ( test ( '/{^baz}' ) ) ;
60
- assert . isFalse ( test ( '/{`baz}' ) ) ;
61
- // RFC 6570 operators
62
- assert . isFalse ( test ( '/{;baz}' ) ) ;
63
- assert . isFalse ( test ( '/{&baz}' ) ) ;
64
- assert . isFalse ( test ( '/{.baz}' ) ) ;
65
64
// invalid types
66
65
assert . isFalse ( test ( 1 ) ) ;
67
66
assert . isFalse ( test ( null ) ) ;
0 commit comments