@@ -45,76 +45,90 @@ describe("PathParameter Test", () => {
45
45
return getText ( expression ) ;
46
46
} ;
47
47
test ( "generateUrlTemplateExpression" , ( ) => {
48
- expect ( generate ( "/{a}" , [ { in : "path" , name : "a" , required : true } ] ) ) . toEqual ( `\`/\${params.parameter.a}\`;${ EOL } ` ) ;
49
- expect ( generate ( "/{a}/" , [ { in : "path" , name : "a" , required : true } ] ) ) . toEqual ( `\`/\${params.parameter.a}/\`;${ EOL } ` ) ;
50
- expect ( generate ( "/a/{b}" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual ( `\`/a/\${params.parameter.b}\`;${ EOL } ` ) ;
51
- expect ( generate ( "/a/{b}/" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual ( `\`/a/\${params.parameter.b}/\`;${ EOL } ` ) ;
52
- expect ( generate ( "/a/{b}/c" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual ( `\`/a/\${params.parameter.b}/c\`;${ EOL } ` ) ;
53
- expect ( generate ( "/a/{b}/c/" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual ( `\`/a/\${params.parameter.b}/c/\`;${ EOL } ` ) ;
54
- expect ( generate ( "/a/b/{c}" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual ( `\`/a/b/\${params.parameter.c}\`;${ EOL } ` ) ;
55
- expect ( generate ( "/a/b/{c}" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual ( `\`/a/b/\${params.parameter.c}\`;${ EOL } ` ) ;
56
- expect ( generate ( "/a/b/{c}/" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual ( `\`/a/b/\${params.parameter.c}/\`;${ EOL } ` ) ;
57
- expect ( generate ( "/a/b/{c}.json" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual ( `\`/a/b/\${params.parameter.c}.json\`;${ EOL } ` ) ;
48
+ expect ( generate ( "/{a}" , [ { in : "path" , name : "a" , required : true } ] ) ) . toEqual ( `\`/\${encodeURIComponent(params.parameter.a)}\`;${ EOL } ` ) ;
49
+ expect ( generate ( "/{a}/" , [ { in : "path" , name : "a" , required : true } ] ) ) . toEqual ( `\`/\${encodeURIComponent(params.parameter.a)}/\`;${ EOL } ` ) ;
50
+ expect ( generate ( "/a/{b}" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual ( `\`/a/\${encodeURIComponent(params.parameter.b)}\`;${ EOL } ` ) ;
51
+ expect ( generate ( "/a/{b}/" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual (
52
+ `\`/a/\${encodeURIComponent(params.parameter.b)}/\`;${ EOL } ` ,
53
+ ) ;
54
+ expect ( generate ( "/a/{b}/c" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual (
55
+ `\`/a/\${encodeURIComponent(params.parameter.b)}/c\`;${ EOL } ` ,
56
+ ) ;
57
+ expect ( generate ( "/a/{b}/c/" , [ { in : "path" , name : "b" , required : true } ] ) ) . toEqual (
58
+ `\`/a/\${encodeURIComponent(params.parameter.b)}/c/\`;${ EOL } ` ,
59
+ ) ;
60
+ expect ( generate ( "/a/b/{c}" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual (
61
+ `\`/a/b/\${encodeURIComponent(params.parameter.c)}\`;${ EOL } ` ,
62
+ ) ;
63
+ expect ( generate ( "/a/b/{c}" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual (
64
+ `\`/a/b/\${encodeURIComponent(params.parameter.c)}\`;${ EOL } ` ,
65
+ ) ;
66
+ expect ( generate ( "/a/b/{c}/" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual (
67
+ `\`/a/b/\${encodeURIComponent(params.parameter.c)}/\`;${ EOL } ` ,
68
+ ) ;
69
+ expect ( generate ( "/a/b/{c}.json" , [ { in : "path" , name : "c" , required : true } ] ) ) . toEqual (
70
+ `\`/a/b/\${encodeURIComponent(params.parameter.c)}.json\`;${ EOL } ` ,
71
+ ) ;
58
72
expect ( generate ( "/{a}.json/{a}.json/{a}.json" , [ { in : "path" , name : "a" , required : true } ] ) ) . toEqual (
59
- `\`/\${params.parameter.a}.json/\${params.parameter.a}.json/\${params.parameter.a}.json\`;${ EOL } ` ,
73
+ `\`/\${encodeURIComponent( params.parameter.a) }.json/\${encodeURIComponent( params.parameter.a) }.json/\${encodeURIComponent( params.parameter.a) }.json\`;${ EOL } ` ,
60
74
) ;
61
75
expect ( generate ( "/.json.{a}.json/{a}.json.{a}" , [ { in : "path" , name : "a" , required : true } ] ) ) . toEqual (
62
- `\`/.json.\${params.parameter.a}.json/\${params.parameter.a}.json.\${params.parameter.a}\`;${ EOL } ` ,
76
+ `\`/.json.\${encodeURIComponent( params.parameter.a) }.json/\${encodeURIComponent( params.parameter.a) }.json.\${encodeURIComponent( params.parameter.a) }\`;${ EOL } ` ,
63
77
) ;
64
78
65
79
expect (
66
80
generate ( "/{a}/{b}" , [
67
81
{ in : "path" , name : "a" , required : true } ,
68
82
{ in : "path" , name : "b" , required : true } ,
69
83
] ) ,
70
- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}\`;${ EOL } ` ) ;
84
+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }\`;${ EOL } ` ) ;
71
85
expect (
72
86
generate ( "/{a}/{b}/" , [
73
87
{ in : "path" , name : "a" , required : true } ,
74
88
{ in : "path" , name : "b" , required : true } ,
75
89
] ) ,
76
- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}/\`;${ EOL } ` ) ;
90
+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }/\`;${ EOL } ` ) ;
77
91
expect (
78
92
generate ( "/{a}/{b}/c" , [
79
93
{ in : "path" , name : "a" , required : true } ,
80
94
{ in : "path" , name : "b" , required : true } ,
81
95
] ) ,
82
- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}/c\`;${ EOL } ` ) ;
96
+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }/c\`;${ EOL } ` ) ;
83
97
expect (
84
98
generate ( "/{a}/{b}/c/" , [
85
99
{ in : "path" , name : "a" , required : true } ,
86
100
{ in : "path" , name : "b" , required : true } ,
87
101
] ) ,
88
- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}/c/\`;${ EOL } ` ) ;
102
+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }/c/\`;${ EOL } ` ) ;
89
103
expect (
90
104
generate ( "/{a}/b/{c}" , [
91
105
{ in : "path" , name : "a" , required : true } ,
92
106
{ in : "path" , name : "c" , required : true } ,
93
107
] ) ,
94
- ) . toBe ( `\`/\${params.parameter.a}/b/\${params.parameter.c}\`;${ EOL } ` ) ;
108
+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/b/\${encodeURIComponent( params.parameter.c) }\`;${ EOL } ` ) ;
95
109
expect (
96
110
generate ( "/{a}/b/{c}/" , [
97
111
{ in : "path" , name : "a" , required : true } ,
98
112
{ in : "path" , name : "c" , required : true } ,
99
113
] ) ,
100
- ) . toBe ( `\`/\${params.parameter.a}/b/\${params.parameter.c}/\`;${ EOL } ` ) ;
114
+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/b/\${encodeURIComponent( params.parameter.c) }/\`;${ EOL } ` ) ;
101
115
expect (
102
116
generate ( "/a/{b}/{c}" , [
103
117
{ in : "path" , name : "b" , required : true } ,
104
118
{ in : "path" , name : "c" , required : true } ,
105
119
] ) ,
106
- ) . toBe ( `\`/a/\${params.parameter.b}/\${params.parameter.c}\`;${ EOL } ` ) ;
120
+ ) . toBe ( `\`/a/\${encodeURIComponent( params.parameter.b) }/\${encodeURIComponent( params.parameter.c) }\`;${ EOL } ` ) ;
107
121
expect (
108
122
generate ( "/a/{b}/{c}/" , [
109
123
{ in : "path" , name : "b" , required : true } ,
110
124
{ in : "path" , name : "c" , required : true } ,
111
125
] ) ,
112
- ) . toBe ( `\`/a/\${params.parameter.b}/\${params.parameter.c}/\`;${ EOL } ` ) ;
126
+ ) . toBe ( `\`/a/\${encodeURIComponent( params.parameter.b) }/\${encodeURIComponent( params.parameter.c) }/\`;${ EOL } ` ) ;
113
127
expect (
114
128
generate ( "/a/{b}...{c}/" , [
115
129
{ in : "path" , name : "b" , required : true } ,
116
130
{ in : "path" , name : "c" , required : true } ,
117
131
] ) ,
118
- ) . toBe ( `\`/a/\${params.parameter.b}...\${params.parameter.c}/\`;${ EOL } ` ) ;
132
+ ) . toBe ( `\`/a/\${encodeURIComponent( params.parameter.b) }...\${encodeURIComponent( params.parameter.c) }/\`;${ EOL } ` ) ;
119
133
} ) ;
120
134
} ) ;
0 commit comments