PASS: Minify : 304 response (1 of 1 tests run so far have passed) Output: array ( 'success' => true, 'statusCode' => 304, 'content' => '', 'headers' => array ( 'Expires' => 'Fri, 15 Nov 2024 03:46:05 GMT', 'Vary' => 'Accept-Encoding', 'Last-Modified' => 'Thu, 14 Nov 2024 03:16:05 GMT', 'ETag' => '"pub1731554165"', 'Cache-Control' => 'max-age=1800', '_responseCode' => 'HTTP/1.0 304 Not Modified', ), ) PASS: Minify : cache, and minifier classes aren't loaded for 304s (2 of 2 tests run so far have passed) PASS: Minify : JS and Expires (3 of 3 tests run so far have passed) Output: array ( 'success' => true, 'statusCode' => 200, 'content' => '(function(){var reMailto=/^mailto:my_name_is_(\\S+)_and_the_domain_is_(\\S+)$/,reRemoveTitleIf=/^my name is/,oo=window.onload,fixHrefs=function(){var i=0,l,m;while(l=document.links[i++]){if(m=l.href.match(reMailto)){l.href=\'mailto:\'+m[1]+\'@\'+m[2];if(reRemoveTitleIf.test(l.title)){l.title=\'\';}}}};window.onload=function(){oo&&oo();fixHrefs();};})();;var MrClay=window.MrClay||{};MrClay.QueryString=function(){var parse=function(str){var assignments=str.split(\'&\'),obj={},propValue;for(var i=0,l=assignments.length;i2||-1!=propValue[0].indexOf(\'+\')||propValue[0]==\'\'){continue;} if(propValue.length==1){propValue[1]=propValue[0];} obj[unescape(propValue[0])]=unescape(propValue[1].replace(/\\+/g,\' \'));} return obj;};function construct_(spec){spec=spec||window;if(typeof spec==\'object\'){this.window=spec;spec=spec.location.search.substr(1);}else{this.window=window;} this.vars=parse(spec);} construct_.reload=function(vars,window_){window_=window_||window;vars=vars||(new MrClay.QueryString(window_)).vars;var l=window_.location,currUrl=l.href,s=MrClay.QueryString.toString(vars),newUrl=l.protocol+\'//\'+l.hostname+l.pathname +(s?\'?\'+s:\'\')+l.hash;if(currUrl==newUrl){l.reload();}else{l.assign(newUrl);}};construct_.get=function(key,default_,window_){window_=window_||window;return(new MrClay.QueryString(window_)).get(key,default_);};construct_.set=function(key,value,window_){window_=window_||window;(new MrClay.QueryString(window_)).set(key,value).reload();};construct_.toString=function(vars){var pieces=[];for(var prop in vars){pieces.push(escape(prop)+\'=\'+escape(vars[prop]));} return pieces.join(\'&\');};construct_.prototype.reload=function(){MrClay.QueryString.reload(this.vars,this.window);return this;};construct_.prototype.get=function(key,default_){if(typeof default_==\'undefined\'){default_=null;} return(this.vars[key]==null)?default_:this.vars[key];};construct_.prototype.set=function(key,value){var obj={};if(typeof key==\'string\'){obj[key]=value;}else{obj=key;} for(var prop in obj){if(obj[prop]==null){delete this.vars[prop];}else{this.vars[prop]=obj[prop];}} return this;};construct_.prototype.toString=function(){return QueryString.toString(this.vars);};return construct_;}();', 'headers' => array ( 'Expires' => 'Sat, 16 Nov 2024 03:16:05 GMT', 'Vary' => 'Accept-Encoding', 'Last-Modified' => 'Wed, 24 Apr 2019 13:11:19 GMT', 'ETag' => '"pub1556111479"', 'Cache-Control' => 'max-age=86400', 'Content-Length' => 2251, 'Content-Type' => 'application/x-javascript; charset=utf-8', ), ) PASS: Minify : Issue 73 (4 of 4 tests run so far have passed) PASS: Minify : Issue 89 : bubbleCssImports (5 of 5 tests run so far have passed) PASS: Minify : Issue 89 : detect invalid imports (6 of 6 tests run so far have passed) PASS: Minify : Issue 89 : don't warn about valid imports (7 of 7 tests run so far have passed) !FAIL: Minify : CSS and Etag/Last-Modified (1 of 8 tests run so far have failed) Output: array ( 'success' => true, 'statusCode' => 200, 'content' => '@import url(/more.css);body,td,th{font-family:Verdana,"Bitstream Vera Sans",Arial Narrow,sans-serif;font-size:12px}.nav{margin-left:20%}#main-nav{background-color:red;border:1px solid #0f7}div#content h1+p{padding-top:0;margin-top:0}@media all and (min-width: 640px){#media-queries-1{background-color:#0f0}}@media screen and (max-width: 2000px){#media-queries-2{background-color:#0f0}} /*! YUI Compressor style comments are preserved */ body{background:#fff url(/path/to/image.gif) repeat-y}', 'headers' => array ( 'Vary' => 'Accept-Encoding', 'Last-Modified' => 'Wed, 24 Apr 2019 13:11:19 GMT', 'ETag' => '"pub1556111479"', 'Cache-Control' => 'max-age=0', 'Content-Length' => 491, 'Content-Type' => 'text/css; charset=utf-8', ), ) ---Expected: array ( 'success' => true, 'statusCode' => 200, 'content' => '@import url(/more.css);body,td,th{font-family:Verdana,"Bitstream Vera Sans",Arial Narrow,sans-serif;font-size:12px}.nav{margin-left:20%}#main-nav{background-color:red;border:1px solid #0f7}div#content h1+p{padding-top:0;margin-top:0}@media all and (min-width: 640px){#media-queries-1{background-color:#0f0}}@media screen and (max-width: 2000px){#media-queries-2{background-color:#0f0}} /*! YUI Compressor style comments are preserved */ body{background:#fff url(/path/to/image.gif) repeat-y}', 'headers' => array ( 'Vary' => 'Accept-Encoding', 'Last-Modified' => 'Wed, 24 Apr 2019 13:11:19 GMT', 'ETag' => '"pub1556111479"', 'Cache-Control' => 'max-age=0', 'Content-Length' => 495, 'Content-Type' => 'text/css; charset=utf-8', ), )