@@ -14,91 +14,80 @@ describe("cookie.serialize(name, value)", function () {
14
14
expect ( cookie . serialize ( "foo" , "" ) ) . toEqual ( "foo=" ) ;
15
15
} ) ;
16
16
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` ) ;
39
48
} ) ;
40
49
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
+ ) ;
64
61
} ) ;
65
62
} ) ;
66
63
67
64
describe ( "cookie.serialize(name, value, options)" , function ( ) {
68
65
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
+ ) ;
85
78
} ) ;
86
79
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
+ ) ;
102
91
} ) ;
103
92
} ) ;
104
93
@@ -113,22 +102,23 @@ describe("cookie.serialize(name, value, options)", function () {
113
102
) . toEqual ( "foo=YmFy" ) ;
114
103
} ) ;
115
104
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
+ ) ;
132
122
} ) ;
133
123
134
124
describe ( 'with "expires" option' , function ( ) {
0 commit comments