From 01b089d9be046db1253cb3bb90e8635b50fddd84 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 4 Dec 2009 12:36:00 -0500 Subject: Added minify plugin --- .../min_unit_tests/test_HTTP_ConditionalGet.php | 137 +++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 plugins/Minify/extlib/minify/min_unit_tests/test_HTTP_ConditionalGet.php (limited to 'plugins/Minify/extlib/minify/min_unit_tests/test_HTTP_ConditionalGet.php') diff --git a/plugins/Minify/extlib/minify/min_unit_tests/test_HTTP_ConditionalGet.php b/plugins/Minify/extlib/minify/min_unit_tests/test_HTTP_ConditionalGet.php new file mode 100644 index 000000000..66d571249 --- /dev/null +++ b/plugins/Minify/extlib/minify/min_unit_tests/test_HTTP_ConditionalGet.php @@ -0,0 +1,137 @@ + 'client has valid If-Modified-Since' + ,'inm' => null + ,'ims' => $gmtTime + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime}\"" + ,'Cache-Control' => 'max-age=0, private' + ,'_responseCode' => 'HTTP/1.0 304 Not Modified' + ,'isValid' => true + ) + ) + ,array( + 'desc' => 'client has valid If-Modified-Since with trailing semicolon' + ,'inm' => null + ,'ims' => $gmtTime . ';' + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime}\"" + ,'Cache-Control' => 'max-age=0, private' + ,'_responseCode' => 'HTTP/1.0 304 Not Modified' + ,'isValid' => true + ) + ) + ,array( + 'desc' => 'client has valid ETag (non-encoded version)' + ,'inm' => "\"badEtagFoo\", \"pri{$lmTime}\"" + ,'ims' => null + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime}\"" + ,'Cache-Control' => 'max-age=0, private' + ,'_responseCode' => 'HTTP/1.0 304 Not Modified' + ,'isValid' => true + ) + ) + ,array( + 'desc' => 'client has valid ETag (gzip version)' + ,'inm' => "\"badEtagFoo\", \"pri{$lmTime};gz\"" + ,'ims' => null + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime};gz\"" + ,'Cache-Control' => 'max-age=0, private' + ,'_responseCode' => 'HTTP/1.0 304 Not Modified' + ,'isValid' => true + ) + ) + ,array( + 'desc' => 'no conditional get' + ,'inm' => null + ,'ims' => null + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime};gz\"" + ,'Cache-Control' => 'max-age=0, private' + ,'isValid' => false + ) + ) + ,array( + 'desc' => 'client has invalid ETag' + ,'inm' => '"pri' . ($lmTime - 300) . '"' + ,'ims' => null + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime};gz\"" + ,'Cache-Control' => 'max-age=0, private' + ,'isValid' => false + ) + ) + ,array( + 'desc' => 'client has invalid If-Modified-Since' + ,'inm' => null + ,'ims' => gmdate('D, d M Y H:i:s \G\M\T', $lmTime - 300) + ,'exp' => array( + 'Vary' => 'Accept-Encoding' + ,'Last-Modified' => $gmtTime + ,'ETag' => "\"pri{$lmTime};gz\"" + ,'Cache-Control' => 'max-age=0, private' + ,'isValid' => false + ) + ) + ); + + foreach ($tests as $test) { + // setup env + if (null === $test['inm']) { + unset($_SERVER['HTTP_IF_NONE_MATCH']); + } else { + $_SERVER['HTTP_IF_NONE_MATCH'] = get_magic_quotes_gpc() + ? addslashes($test['inm']) + : $test['inm']; + } + if (null === $test['ims']) { + unset($_SERVER['HTTP_IF_MODIFIED_SINCE']); + } else { + $_SERVER['HTTP_IF_MODIFIED_SINCE'] = $test['ims']; + } + $exp = $test['exp']; + + $cg = new HTTP_ConditionalGet(array( + 'lastModifiedTime' => $lmTime + ,'encoding' => 'x-gzip' + )); + $ret = $cg->getHeaders(); + $ret['isValid'] = $cg->cacheIsValid; + + $passed = assertTrue($exp == $ret, 'HTTP_ConditionalGet : ' . $test['desc']); + + if (__FILE__ === realpath($_SERVER['SCRIPT_FILENAME'])) { + echo "\n--- INM = {$test['inm']} / IMS = {$test['ims']}\n"; + echo "Expected = " . preg_replace('/\\s+/', ' ', var_export($exp, 1)) . "\n"; + echo "Returned = " . preg_replace('/\\s+/', ' ', var_export($ret, 1)) . "\n\n"; + } + } +} + +test_HTTP_ConditionalGet(); \ No newline at end of file -- cgit v1.2.3-54-g00ecf