@@ -50,10 +50,18 @@ describe('Feeding POST data from JS to PHP', function() {
5050 ] ) ;
5151 } ;
5252 it ( 'should handle a basic GET request' , function ( ) {
53+ var serverOk = false ;
5354 return makeServer ( {
5455 path : '/index.html?abc=def&foo=bar+bat' ,
5556 } , {
56- source : 'var_dump($_GET)' ,
57+ // We have to dereference $_SERVER in order to trigger the
58+ // _testInitServer method.
59+ source : 'var_dump($_SERVER["CONTEXT"] ? $_GET : $_GET)' ,
60+ _testInitServer : function ( server ) {
61+ serverOk = ( server . REQUEST_METHOD === 'GET' &&
62+ server . REQUEST_URI === '/index.html?abc=def&foo=bar+bat' &&
63+ server . QUERY_STRING === 'abc=def&foo=bar+bat' ) ;
64+ } ,
5765 } ) . spread ( function ( phpvalue , output , response ) {
5866 should ( phpvalue ) . be . null ( ) ;
5967 output . should . be . equal ( [
@@ -68,9 +76,11 @@ describe('Feeding POST data from JS to PHP', function() {
6876 response . should . be . html ( ) ;
6977 response . should . have . status ( 200 ) ;
7078 response . should . have . header ( 'x-powered-by' ) ;
79+ serverOk . should . be . true ( ) ;
7180 } ) ;
7281 } ) ;
7382 it ( 'should handle a basic POST request' , function ( ) {
83+ var serverOk = false ;
7484 var postData = querystring . stringify ( {
7585 msg : 'Hello World!' ,
7686 foo : 'bar bat' ,
@@ -83,7 +93,14 @@ describe('Feeding POST data from JS to PHP', function() {
8393 'Content-Length' : postData . length ,
8494 } ,
8595 } , {
86- source : 'var_dump($_POST)' ,
96+ // We have to dereference $_SERVER in order to trigger the
97+ // _testInitServer method.
98+ source : 'var_dump($_SERVER["CONTEXT"] ? $_POST : $_POST)' ,
99+ _testInitServer : function ( server ) {
100+ serverOk = ( server . REQUEST_METHOD === 'POST' &&
101+ server . REQUEST_URI === '/post' &&
102+ server . QUERY_STRING === '' ) ;
103+ } ,
87104 } , function ( request ) {
88105 request . write ( postData ) ;
89106 } ) . spread ( function ( phpvalue , output , response ) {
@@ -100,9 +117,11 @@ describe('Feeding POST data from JS to PHP', function() {
100117 response . should . be . html ( ) ;
101118 response . should . have . status ( 200 ) ;
102119 response . should . have . header ( 'x-powered-by' ) ;
120+ serverOk . should . be . true ( ) ;
103121 } ) ;
104122 } ) ;
105123 it ( 'should handle cookies' , function ( ) {
124+ var serverOk = false ;
106125 return makeServer ( {
107126 path : '/cookie/test' ,
108127 headers : {
@@ -116,13 +135,20 @@ describe('Feeding POST data from JS to PHP', function() {
116135 } , {
117136 source : [
118137 'call_user_func(function() {' ,
138+ ' # ensure that _testInitServer is triggered' ,
139+ ' $_SERVER["CONTEXT"];' ,
119140 ' # ensure we handle duplicate headers sent from PHP' ,
120141 ' setcookie("a", "b");' ,
121142 ' setcookie("c", "d", 0, "/");' ,
122143 ' var_dump($_COOKIE);' ,
123144 ' return 1;' ,
124145 '})' ,
125146 ] . join ( '\n' ) ,
147+ _testInitServer : function ( server ) {
148+ serverOk = ( server . REQUEST_METHOD === 'GET' &&
149+ server . REQUEST_URI === '/cookie/test' &&
150+ server . QUERY_STRING === '' ) ;
151+ } ,
126152 } ) . spread ( function ( phpvalue , output , response ) {
127153 should ( phpvalue ) . be . equal ( 1 ) ;
128154 output . should . be . equal ( [
@@ -142,6 +168,7 @@ describe('Feeding POST data from JS to PHP', function() {
142168 'a=b' ,
143169 'c=d; path=/' ,
144170 ] ) ;
171+ serverOk . should . be . true ( ) ;
145172 } ) ;
146173 } ) ;
147174} ) ;
0 commit comments