@@ -45,76 +45,90 @@ describe("PathParameter Test", () => {
4545 return getText ( expression ) ;
4646 } ;
4747 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+ ) ;
5872 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 } ` ,
6074 ) ;
6175 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 } ` ,
6377 ) ;
6478
6579 expect (
6680 generate ( "/{a}/{b}" , [
6781 { in : "path" , name : "a" , required : true } ,
6882 { in : "path" , name : "b" , required : true } ,
6983 ] ) ,
70- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}\`;${ EOL } ` ) ;
84+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }\`;${ EOL } ` ) ;
7185 expect (
7286 generate ( "/{a}/{b}/" , [
7387 { in : "path" , name : "a" , required : true } ,
7488 { in : "path" , name : "b" , required : true } ,
7589 ] ) ,
76- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}/\`;${ EOL } ` ) ;
90+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }/\`;${ EOL } ` ) ;
7791 expect (
7892 generate ( "/{a}/{b}/c" , [
7993 { in : "path" , name : "a" , required : true } ,
8094 { in : "path" , name : "b" , required : true } ,
8195 ] ) ,
82- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}/c\`;${ EOL } ` ) ;
96+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }/c\`;${ EOL } ` ) ;
8397 expect (
8498 generate ( "/{a}/{b}/c/" , [
8599 { in : "path" , name : "a" , required : true } ,
86100 { in : "path" , name : "b" , required : true } ,
87101 ] ) ,
88- ) . toBe ( `\`/\${params.parameter.a}/\${params.parameter.b}/c/\`;${ EOL } ` ) ;
102+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/\${encodeURIComponent( params.parameter.b) }/c/\`;${ EOL } ` ) ;
89103 expect (
90104 generate ( "/{a}/b/{c}" , [
91105 { in : "path" , name : "a" , required : true } ,
92106 { in : "path" , name : "c" , required : true } ,
93107 ] ) ,
94- ) . toBe ( `\`/\${params.parameter.a}/b/\${params.parameter.c}\`;${ EOL } ` ) ;
108+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/b/\${encodeURIComponent( params.parameter.c) }\`;${ EOL } ` ) ;
95109 expect (
96110 generate ( "/{a}/b/{c}/" , [
97111 { in : "path" , name : "a" , required : true } ,
98112 { in : "path" , name : "c" , required : true } ,
99113 ] ) ,
100- ) . toBe ( `\`/\${params.parameter.a}/b/\${params.parameter.c}/\`;${ EOL } ` ) ;
114+ ) . toBe ( `\`/\${encodeURIComponent( params.parameter.a) }/b/\${encodeURIComponent( params.parameter.c) }/\`;${ EOL } ` ) ;
101115 expect (
102116 generate ( "/a/{b}/{c}" , [
103117 { in : "path" , name : "b" , required : true } ,
104118 { in : "path" , name : "c" , required : true } ,
105119 ] ) ,
106- ) . toBe ( `\`/a/\${params.parameter.b}/\${params.parameter.c}\`;${ EOL } ` ) ;
120+ ) . toBe ( `\`/a/\${encodeURIComponent( params.parameter.b) }/\${encodeURIComponent( params.parameter.c) }\`;${ EOL } ` ) ;
107121 expect (
108122 generate ( "/a/{b}/{c}/" , [
109123 { in : "path" , name : "b" , required : true } ,
110124 { in : "path" , name : "c" , required : true } ,
111125 ] ) ,
112- ) . toBe ( `\`/a/\${params.parameter.b}/\${params.parameter.c}/\`;${ EOL } ` ) ;
126+ ) . toBe ( `\`/a/\${encodeURIComponent( params.parameter.b) }/\${encodeURIComponent( params.parameter.c) }/\`;${ EOL } ` ) ;
113127 expect (
114128 generate ( "/a/{b}...{c}/" , [
115129 { in : "path" , name : "b" , required : true } ,
116130 { in : "path" , name : "c" , required : true } ,
117131 ] ) ,
118- ) . toBe ( `\`/a/\${params.parameter.b}...\${params.parameter.c}/\`;${ EOL } ` ) ;
132+ ) . toBe ( `\`/a/\${encodeURIComponent( params.parameter.b) }...\${encodeURIComponent( params.parameter.c) }/\`;${ EOL } ` ) ;
119133 } ) ;
120134} ) ;
0 commit comments