@@ -14,91 +14,80 @@ describe("cookie.serialize(name, value)", function () {
1414 expect ( cookie . serialize ( "foo" , "" ) ) . toEqual ( "foo=" ) ;
1515 } ) ;
1616
17- it ( "should serialize valid name" , function ( ) {
18- var validNames = [
19- "foo" ,
20- "foo!bar" ,
21- "foo#bar" ,
22- "foo$bar" ,
23- "foo'bar" ,
24- "foo*bar" ,
25- "foo+bar" ,
26- "foo-bar" ,
27- "foo.bar" ,
28- "foo^bar" ,
29- "foo_bar" ,
30- "foo`bar" ,
31- "foo|bar" ,
32- "foo~bar" ,
33- "foo7bar" ,
34- ] ;
35-
36- validNames . forEach ( function ( name ) {
37- expect ( cookie . serialize ( name , "baz" ) ) . toEqual ( name + "=baz" ) ;
38- } ) ;
17+ it . each ( [
18+ [ "foo" ] ,
19+ [ "foo,bar" ] ,
20+ [ "foo!bar" ] ,
21+ [ "foo#bar" ] ,
22+ [ "foo$bar" ] ,
23+ [ "foo'bar" ] ,
24+ [ "foo*bar" ] ,
25+ [ "foo+bar" ] ,
26+ [ "foo-bar" ] ,
27+ [ "foo.bar" ] ,
28+ [ "foo^bar" ] ,
29+ [ "foo_bar" ] ,
30+ [ "foo`bar" ] ,
31+ [ "foo|bar" ] ,
32+ [ "foo~bar" ] ,
33+ [ "foo7bar" ] ,
34+ [ "foo/bar" ] ,
35+ [ "foo@bar" ] ,
36+ [ "foo[bar" ] ,
37+ [ "foo]bar" ] ,
38+ [ "foo:bar" ] ,
39+ [ "foo{bar" ] ,
40+ [ "foo}bar" ] ,
41+ [ 'foo"bar' ] ,
42+ [ "foo<bar" ] ,
43+ [ "foo>bar" ] ,
44+ [ "foo?bar" ] ,
45+ [ "foo\\bar" ] ,
46+ ] ) ( "should serialize name: %s" , ( name ) => {
47+ expect ( cookie . serialize ( name , "baz" ) ) . toEqual ( `${ name } =baz` ) ;
3948 } ) ;
4049
41- it ( "should throw for invalid name" , function ( ) {
42- var invalidNames = [
43- "foo\n" ,
44- "foo\u280a" ,
45- "foo/foo" ,
46- "foo,foo" ,
47- "foo;foo" ,
48- "foo@foo" ,
49- "foo[foo]" ,
50- "foo?foo" ,
51- "foo:foo" ,
52- "foo{foo}" ,
53- "foo foo" ,
54- "foo\tfoo" ,
55- 'foo"foo' ,
56- "foo<script>foo" ,
57- ] ;
58-
59- invalidNames . forEach ( function ( name ) {
60- expect ( cookie . serialize . bind ( cookie , name , "bar" ) ) . toThrow (
61- / a r g u m e n t n a m e i s i n v a l i d / ,
62- ) ;
63- } ) ;
50+ it . each ( [
51+ [ "foo\n" ] ,
52+ [ "foo\u280a" ] ,
53+ [ "foo=bar" ] ,
54+ [ "foo;bar" ] ,
55+ [ "foo bar" ] ,
56+ [ "foo\tbar" ] ,
57+ ] ) ( "should throw for invalid name: %s" , ( name ) => {
58+ expect ( ( ) => cookie . serialize ( name , "bar" ) ) . toThrow (
59+ / a r g u m e n t n a m e i s i n v a l i d / ,
60+ ) ;
6461 } ) ;
6562} ) ;
6663
6764describe ( "cookie.serialize(name, value, options)" , function ( ) {
6865 describe ( 'with "domain" option' , function ( ) {
69- it ( "should serialize valid domain" , function ( ) {
70- var validDomains = [
71- "example.com" ,
72- "sub.example.com" ,
73- ".example.com" ,
74- "localhost" ,
75- ".localhost" ,
76- "my-site.org" ,
77- "localhost" ,
78- ] ;
79-
80- validDomains . forEach ( function ( domain ) {
81- expect ( cookie . serialize ( "foo" , "bar" , { domain : domain } ) ) . toEqual (
82- "foo=bar; Domain=" + domain ,
83- ) ;
84- } ) ;
66+ it . each ( [
67+ [ "example.com" ] ,
68+ [ "sub.example.com" ] ,
69+ [ ".example.com" ] ,
70+ [ "localhost" ] ,
71+ [ ".localhost" ] ,
72+ [ "my-site.org" ] ,
73+ [ "localhost" ] ,
74+ ] ) ( "should serialize domain: %s" , ( domain ) => {
75+ expect ( cookie . serialize ( "foo" , "bar" , { domain } ) ) . toEqual (
76+ `foo=bar; Domain=${ domain } ` ,
77+ ) ;
8578 } ) ;
8679
87- it ( "should throw for invalid domain" , function ( ) {
88- var invalidDomains = [
89- "example.com\n" ,
90- "sub.example.com\u0000" ,
91- "my site.org" ,
92- "domain..com" ,
93- "example.com; Path=/" ,
94- "example.com /* inject a comment */" ,
95- ] ;
96-
97- invalidDomains . forEach ( function ( domain ) {
98- expect (
99- cookie . serialize . bind ( cookie , "foo" , "bar" , { domain : domain } ) ,
100- ) . toThrow ( / o p t i o n d o m a i n i s i n v a l i d / ) ;
101- } ) ;
80+ it . each ( [
81+ [ "example.com\n" ] ,
82+ [ "sub.example.com\u0000" ] ,
83+ [ "my site.org" ] ,
84+ [ "domain..com" ] ,
85+ [ "example.com; Path=/" ] ,
86+ [ "example.com /* inject a comment */" ] ,
87+ ] ) ( "should throw for invalid domain: %s" , ( domain ) => {
88+ expect ( ( ) => cookie . serialize ( "foo" , "bar" , { domain } ) ) . toThrow (
89+ / o p t i o n d o m a i n i s i n v a l i d / ,
90+ ) ;
10291 } ) ;
10392 } ) ;
10493
@@ -113,22 +102,23 @@ describe("cookie.serialize(name, value, options)", function () {
113102 ) . toEqual ( "foo=YmFy" ) ;
114103 } ) ;
115104
116- it ( "should throw when returned value is invalid" , function ( ) {
117- expect (
118- cookie . serialize . bind ( cookie , "foo" , "+ \n" , {
119- encode : function ( v ) {
120- return v ;
121- } ,
122- } ) ,
123- ) . toThrow ( / a r g u m e n t v a l i s i n v a l i d / ) ;
124- expect (
125- cookie . serialize . bind ( cookie , "foo" , "foo bar" , {
126- encode : function ( v ) {
127- return v ;
128- } ,
129- } ) ,
130- ) . toThrow ( / a r g u m e n t v a l i s i n v a l i d / ) ;
131- } ) ;
105+ it . each ( [ "foo=bar" , 'foo"bar' , "foo,bar" , "foo\\bar" , "foo$bar" ] ) (
106+ "should serialize value: %s" ,
107+ ( value ) => {
108+ expect ( cookie . serialize ( "foo" , value , { encode : ( x ) => x } ) ) . toEqual (
109+ `foo=${ value } ` ,
110+ ) ;
111+ } ,
112+ ) ;
113+
114+ it . each ( [ [ "+\n" ] , [ "foo bar" ] , [ "foo\tbar" ] , [ "foo;bar" ] , [ "foo\u280a" ] ] ) (
115+ "should throw for invalid value: %s" ,
116+ ( value ) => {
117+ expect ( ( ) =>
118+ cookie . serialize ( "foo" , value , { encode : ( x ) => x } ) ,
119+ ) . toThrow ( / a r g u m e n t v a l i s i n v a l i d / ) ;
120+ } ,
121+ ) ;
132122 } ) ;
133123
134124 describe ( 'with "expires" option' , function ( ) {
0 commit comments