@@ -38,11 +38,34 @@ public function testFile()
3838
3939 public function testCookie ()
4040 {
41- $ response = $ this ->client ->call (Client::METHOD_GET , '/cookies ' , [
42- 'Cookie: cookie1=value1; cookie2=value2 '
43- ]);
41+ // One cookie
42+ $ cookie = 'cookie1=value1 ' ;
43+ $ response = $ this ->client ->call (Client::METHOD_GET , '/cookies ' , [ 'Cookie: ' . $ cookie ]);
44+ $ this ->assertEquals (200 , $ response ['headers ' ]['status-code ' ]);
45+ $ this ->assertEquals ($ cookie , $ response ['body ' ]);
46+
47+ // Two cookiees
48+ $ cookie = 'cookie1=value1; cookie2=value2 ' ;
49+ $ response = $ this ->client ->call (Client::METHOD_GET , '/cookies ' , [ 'Cookie: ' . $ cookie ]);
50+ $ this ->assertEquals (200 , $ response ['headers ' ]['status-code ' ]);
51+ $ this ->assertEquals ($ cookie , $ response ['body ' ]);
52+
53+ // Two cookies without optional space
54+ $ cookie = 'cookie1=value1;cookie2=value2 ' ;
55+ $ response = $ this ->client ->call (Client::METHOD_GET , '/cookies ' , [ 'Cookie: ' . $ cookie ]);
56+ $ this ->assertEquals (200 , $ response ['headers ' ]['status-code ' ]);
57+ $ this ->assertEquals ($ cookie , $ response ['body ' ]);
58+
59+ // Cookie with "=" in value
60+ $ cookie = 'cookie1=value1=value2 ' ;
61+ $ response = $ this ->client ->call (Client::METHOD_GET , '/cookies ' , [ 'Cookie: ' . $ cookie ]);
62+ $ this ->assertEquals (200 , $ response ['headers ' ]['status-code ' ]);
63+ $ this ->assertEquals ($ cookie , $ response ['body ' ]);
4464
65+ // Case sensitivity for cookie names
66+ $ cookie = 'cookie1=v1; Cookie1=v2 ' ;
67+ $ response = $ this ->client ->call (Client::METHOD_GET , '/cookies ' , [ 'Cookie: ' . $ cookie ]);
4568 $ this ->assertEquals (200 , $ response ['headers ' ]['status-code ' ]);
46- $ this ->assertEquals (' cookie1=value1; cookie2=value2 ' , $ response ['body ' ]);
69+ $ this ->assertEquals ($ cookie , $ response ['body ' ]);
4770 }
4871}
0 commit comments