1
0
mirror of https://github.com/mrclay/minify.git synced 2025-08-31 17:42:02 +02:00

Port last of min_unit_tests, remove references to it, add composer script

This commit is contained in:
Steve Clay
2015-11-22 13:55:01 -05:00
parent 9370e96fd4
commit 316a109032
85 changed files with 12 additions and 401 deletions

View File

@@ -0,0 +1,9 @@
/* block comments get removed */
/*! YUI Compressor style comments are preserved */
/* but all other comments are removed */
/* comments that have any surrounding whitespace are replaced by a single space. */
body{ background:#fff/*eef*/ url(/path/to/image.gif) repeat-y; }

View File

@@ -0,0 +1,3 @@
/*! YUI Compressor style comments are preserved */
body{background:#fff url(/path/to/image.gif) repeat-y}

View File

@@ -0,0 +1,66 @@
/* hide from ie5/mac \*/ a{}
.foo {color:red}
/* necessary comment */
/* comment to attempt to confuse parser */
/* feed to ie5/mac \*//*/
@import "ie5mac.css";
/* necessary comment */
/* comment to attempt to confuse parser */
/*/ hide from nav4 */
.foo {display:block;}
/* necessary comment */
/* comment to attempt to confuse parser */
/*/ feed to nav *//*/
.foo {display:crazy;}
/* necessary comment */
/* hide props from various IE/win */
div {
width: 140px;
width/* */:/**/100px;
width: /**/100px;
}
html>/**/body {}
/* Tantek's box model hack */
div {
width:400px;
voice-family: "\"}\"";
voice-family:inherit;
width:300px;
}
/* don't minimize hex colors in filters */
div {
filter:chroma(color=#aabbcc);
filter:mask(color=#000000) shadow(color=#9BAD71, direction=135) chroma(color=#000000);
}
@media screen {
/* for IE 5.x-6, hidden from IE 5 Mac */ /*\*/
* html div#page {
height: 1%;
}
/**/ /* end hidden from IE 5 Mac */
}
foo { /* filters for IE */
_height : 20px;
*height : 15px;
}
/* http://tantek.com/CSS/Examples/midpass.html */
@media tty {
i{content:"\";/*" "*/}} @import 'midpassafter.css'; /*";}
}/* */
/* leave at least 1 space between these pseudo elements and "{" for IE6: http://www.crankygeek.com/ie6pebug/ */
p:first-letter {color:red;}
p:first-line {color:red;}

4
tests/_test_files/css/hacks.min.css vendored Normal file
View File

@@ -0,0 +1,4 @@
/*\*/a{}.foo{color:red}/**/ /*\*//*/@import "ie5mac.css";/**/ /*/*/.foo{display:block}/**/ /*/*//*/.foo{display:crazy}/**/ div{width:140px;width/**/:/**/100px;width:/**/100px}html>/**/body{}div{width:400px;voice-family:"\"}\"";voice-family:inherit;width:300px}div{filter:chroma(color=#aabbcc);filter:mask(color=#000000) shadow(color=#9BAD71, direction=135) chroma(color=#000000)}@media
screen{/*\*/* html
div#page{height:1%}/**/}foo{_height:20px;*height:15px}@media
tty{i{content:"\";/*" "*/}}@import 'midpassafter.css';/*"}}/* */ p:first-letter {color:red}p:first-line {color:red}

View File

@@ -0,0 +1 @@
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; }

View File

@@ -0,0 +1 @@
.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif}

View File

@@ -0,0 +1,890 @@
/*
* DEFINITION DES STYLES DE TEXTE
*/
/*-----------------------------------------------------------------------------------*/
h1 {
color: #339933;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
font-weight: bold;
text-decoration: none;
}
h2 {
color: #339933;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
font-weight: bold;
text-decoration: none;
}
h1,h2,h3,h4,h5 {
margin: 0px;
padding: 0px;
}
.txt_10_noir {
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_noir:link,.txt_10_noir:visited,.txt_10_noir:active {
color: black;
}
.txt_10_noir:hover {
color: red;
}
.txt_11_noir {
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_noir:link,.txt_11_noir:visited,.txt_11_noir:active {
color: black;
}
.txt_11_noir:hover {
color: red;
}
.txt_12_noir {
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_noir:link,.txt_12_noir:visited,.txt_12_noir:active {
color: black;
}
.txt_12_noir:hover {
color: red;
}
.txt_14_noir {
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_noir:link,.txt_14_noir:visited,.txt_14_noir:active {
color: black;
}
.txt_14_noir:hover {
color: red;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_gris {
color: grey;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_gris:link,.txt_10_gris:visited,.txt_10_gris:active {
color: grey;
}
.txt_10_gris:hover {
color: red;
}
.txt_11_gris {
color: grey;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_gris:link,.txt_11_gris:visited,.txt_11_gris:active {
color: grey;
}
.txt_11_gris:hover {
color: red;
}
.txt_12_gris {
color: grey;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_gris:link,.txt_12_gris:visited,.txt_12_gris:active {
color: grey;
}
.txt_12_gris:hover {
color: red;
}
.txt_14_gris {
color: grey;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_gris:link,.txt_14_gris:visited,.txt_14_gris:active {
color: grey;
}
.txt_14_gris:hover {
color: red;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_blanc {
color: #FFFFFF;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_blanc:link,.txt_10_blanc:visited,.txt_10_blanc:active {
color: #FFFFFF;
}
.txt_10_blanc:hover {
color: #FF8800; /*ORANGE*/
}
.txt_11_blanc {
color: #FFFFFF;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_blanc:link,.txt_11_blanc:visited,.txt_11_blanc:active {
color: #FFFFFF;
}
.txt_11_blanc:hover {
color: #FF8800;
}
.txt_12_blanc {
color: #FFFFFF;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_blanc:link,.txt_12_blanc:visited,.txt_12_blanc:active {
color: #FFFFFF;
}
.txt_12_blanc:hover {
color: #FFAA00;
}
.txt_14_blanc {
color: #FFFFFF;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_blanc:link,.txt_14_blanc:visited,.txt_14_blanc:active {
color: #FFFFFF;
}
.txt_14_blanc:hover {
color: #FF8800;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_orange {
color: #FF8800;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_orange:link,.txt_10_orange:visited,.txt_10_orange:active {
color: #FF8800;
}
.txt_10_orange:hover {
color: darkblue
}
.txt_11_orange {
color: #FF8800;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_orange:link,.txt_11_orange:visited,.txt_11_orange:active {
color: #FF8800;
}
.txt_11_orange:hover {
color: darkblue;
}
.txt_12_orange {
color: #FF8800;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_orange:link,.txt_12_orange:visited,.txt_12_orange:active {
color: #FF8800;
}
.txt_12_orange:hover {
color: darkblue;
}
.txt_14_orange {
color: #FF8800;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_orange:link,.txt_14_orange:visited,.txt_14_orange:active {
color: #FF8800;
}
.txt_14_orange:hover {
color: darkblue;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_rouge {
color: red;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_rouge:link,.txt_10_rouge:visited,.txt_10_rouge:active {
color: red;
}
.txt_10_rouge:hover {
color: darkblue;
}
.txt_11_rouge {
color: red;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_rouge:link,.txt_11_rouge:visited,.txt_11_rouge:active {
color: red;
}
.txt_11_rouge:hover {
color: darkblue;
}
.txt_12_rouge {
color: red;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_rouge:link,.txt_12_rouge:visited,.txt_12_rouge:active {
color: red;
}
.txt_12_rouge:hover {
color: darkblue;
}
.txt_14_rouge {
color: red;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_rouge:link,.txt_14_rouge:visited,.txt_14_rouge:active {
color: red;
}
.txt_14_rouge:hover {
color: darkblue;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_bleu {
color: blue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_bleu:link,.txt_10_bleu:visited,.txt_10_bleu:active {
color: blue;
}
.txt_10_bleu:hover {
color: red;
}
.txt_11_bleu {
color: blue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_bleu:link,.txt_11_bleu:visited,.txt_11_bleu:active {
color: blue;
}
.txt_11_bleu:hover {
color: red;
}
.txt_12_bleu {
color: blue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_bleu:link,.txt_12_bleu:visited,.txt_12_bleu:active {
color: blue;
}
.txt_12_bleu:hover {
color: red;
}
.txt_14_bleu {
color: blue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_bleu:link,.txt_14_bleu:visited,.txt_14_bleu:active {
color: blue;
}
.txt_14_bleu:hover {
color: red;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_bleu_f {
color: darkblue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_bleu_f:link,.txt_10_bleu_f:visited,.txt_10_bleu_f:active {
color: darkblue;
}
.txt_10_bleu_f:hover {
color: red;
}
.txt_11_bleu_f {
color: darkblue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_bleu_f:link,.txt_11_bleu_f:visited,.txt_11_bleu_f:active {
color: darkblue;
}
.txt_11_bleu_f:hover {
color: red;
}
.txt_12_bleu_f {
color: darkblue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_bleu_f:link,.txt_12_bleu_f:visited,.txt_12_bleu_f:active {
color: darkblue;
}
.txt_12_bleu_f:hover {
color: red;
}
.txt_14_bleu_f {
color: darkblue;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_bleu_f:link,.txt_14_bleu_f:visited,.txt_14_bleu_f:active {
color: darkblue;
}
.txt_14_bleu_f:hover {
color: red;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_vert_f {
color: darkgreen;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_vert_f:link,.txt_10_vert_f:visited,.txt_10_vert_f:active {
color: darkgreen;
}
.txt_10_vert_f:hover {
color: red;
}
.txt_11_vert_f {
color: darkgreen;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_vert_f:link,.txt_11_vert_f:visited,.txt_11_vert_f:active {
color: darkgreen;
}
.txt_11_vert_f:hover {
color: red;
}
.txt_12_vert_f {
color: darkgreen;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_vert_f:link,.txt_12_vertf:visited,.txt_12_vert_f:active {
color: darkgreen;
}
.txt_12_vert_f:hover {
color: red;
}
.txt_14_vert_f {
color: darkgreen;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_vert_f:link,.txt_14_vert_f:visited,.txt_14_vert_f:active {
color: darkgreen;
}
.txt_14_vert_f:hover {
color: red;
}
/*-----------------------------------------------------------------------------------*/
.txt_10_vert {
color: green;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.txt_10_vert:link,.txt_10_vert:visited,.txt_10_vert:active {
color: green;
}
.txt_10_vert:hover {
color: red;
}
.txt_11_vert {
color: green;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.txt_11_vert:link,.txt_11_vert:visited,.txt_11_vert:active {
color: green;
}
.txt_11_vert:hover {
color: red;
}
.txt_12_vert {
color: green;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
text-decoration: none;
}
.txt_12_vert:link,.txt_12_vert:visited,.txt_12_vert:active {
color: green;
}
.txt_12_vert:hover {
color: red;
}
.txt_14_vert {
color: green;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 14px;
text-decoration: none;
}
.txt_14_vert:link,.txt_14_vert:visited,.txt_14_vert:active {
color: green;
}
.txt_14_vert:hover {
color: red;
}
/*-----------------------------------------------------------------------------------*/
.fond_blanc {
background-color: #FFFFFF;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.fond_gris_c, .fond_gris_c tr {
background-color: #FFFFFF;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
background-image: url(../images/fond_4.bmp);
background-repeat: repeat-x;
}
.fond_gris_c2, .fond_gris_c2 tr {
background-color: #FBFBFB;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.fond_bleu_c, .fond_bleu_c tr {
background-color: #D9EEF9;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
background-image: url(../images/fond_1.bmp);
}
.fond_bleu_c2 {
background-color: #ECF4FF;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.fond_bleu_f {
background-color: #003366;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.fond_orange {
background-color: #FEEFE7;
color: darkgreen;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
font-weight: bold;
text-decoration: none;
background-image: url(../images/fond_3.jpg);
}
.fond_orange_2 {
background-color: #FFF8F4;
color: darkgreen;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
font-weight: bold;
text-decoration: none;
border: 1px solid orange;
border-collapse: collapse;
}
.vccDlgBody {
border: 3px solid #336699;
border-collapse: collapse;
color: black;
background-color: #EEFFEE;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
/* DEFINITION DES STYLES DE TABLEAUX */
.bordure_0 {
border: 0px solid;
color: black;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.bordure_1_bleu {
border: 1px solid green;
border-collapse: collapse;
color: black;
background-color: #FFFFFF;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.bordure_3_bleu {
border: 3px solid #336699;
border-collapse: collapse;
color: black;
background-color: #FFFFFF;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 11px;
text-decoration: none;
}
.indent {
margin-left: 20px;
}
/* DEFINITION DES STYLES D'OBJETS DE FORMULAIRE */
.Btn {
color: #003366;
text-align: center;
font-weight: bold;
background-color: #FFFFFF;
background-image: url(../images/ongletStyle1.jpg);
background-repeat: no-repeat;
background-position: center center;
}
.Btn:hover {
color: red;
}
.menu1h {
background-color: #003366;
color: white;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
font-weight: bold;
text-decoration: none;
border-top: 1px solid #003366;
border-bottom: 1px solid #003366;
border-left: 1px solid #003366;
border-right: 1px solid white;
border-collapse: collapse;
display: block;
}
.menu1h:hover {
background-color: white;
color: red;
border: 1px solid darkgreen;
border-collapse: collapse;
}
.menu1h_f {
background-color: #003366;
color: white;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
font-weight: bold;
text-decoration: none;
border: 1px solid #003366;
display: block;
}
.menu1h_f:hover {
background-color: white;
color: red;
border: 1px solid darkgreen;
border-collapse: collapse;
}
.menu1v {
background-color: #003366;
color: white;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
font-weight: bold;
text-decoration: none;
border: 1px solid #003366;
border-collapse: collapse;
display: block;
}
.menu1v:hover {
background-color: white;
color: red;
border: 1px solid darkgreen;
border-collapse: collapse;
}
.menu2v {
background-color: #5588BB;
color: white;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 12px;
font-weight: bold;
text-decoration: none;
border: 1px solid #4277AB;
border-collapse: collapse;
float: left;
display: block;
}
.menu2v:hover {
background-color: white;
color: red;
border: 1px solid darkgreen;
border-collapse: collapse;
}
.menuEDF {
background-color: #003366;
color: white;
font-family: Verdana, Arial, Lucida, Tahoma;
font-size: 10px;
text-decoration: none;
}
.menuEDF:hover {
color: #FF8800;
}
/*bouton bleu sur blanc*/
.Bouton {
color: #003366;
text-align: center;
font-weight: bold;
/* Ricardo cursor: hand; */
cursor: pointer;
background-color: #FFFFFF;
}
input {
border: 2px solid green;
color: #003366;
background-color: #FFFFFF;
background-image: url(../images/fond_4.bmp);
background-repeat: repeat-x;
}
.disabled_input {
border: 1px solid gray;
color: grey;
background-color: #FFFFFF;
background-image: url(../images/fond_4.bmp);
background-repeat: repeat-x;
}
.input0 {
border: 0px;
color: #003366;
background-color: #FFFFFF;
background-image: url(../images/fond_4.bmp);
}
.input2 {
border: 1px solid green;
color: #003366;
background-color: #FFFFFF;
background-image: url(../images/fond_4.bmp);
background-repeat: repeat-x;
}
.input3 {
border: 1px solid black;
color: #003366;
background-color: #EEEEEE;
background-image: url();
}
.input4 {
border: 1px solid blue;
color: #003366;
background-color: #FFFFFF;
background-image: url(../images/fond_4.bmp);
background-repeat: repeat-x;
}
.input5 {
border: 1px solid darkblue;
color: #003366;
background-color: #FFFFFF;
background-image: url(../images/fond_4.bmp);
background-repeat: repeat-x;
}
.input_btn {
border: 0px;
/* cursor: hand; */
cursor: pointer;
}
textarea {
border: 2px solid green;
color: #003366;
background-color: #FFFFFF;
background-image: url(../images/fond_5.bmp);
}
.TEXTAREA3 {
border: 1px solid green;
color: #003366;
background-color: #FFFFFF;
background-image: url();
}
.TEXTAREA4 {
border: 1px solid green;
color: #003366;
background-color: #EEEEEE;
background-image: url();
}
.hand {
cursor: hand;
cursor: pointer;
}

25
tests/_test_files/css/issue62.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
@import "foo.css";
@import 'bar/foo.css' print;
@import '/css/foo.css'; /* abs, should not alter */
@import 'http://foo.com/css/foo.css'; /* abs, should not alter */
@import url(../foo.css) tv, projection;
@import url("/css/foo.css"); /* abs, should not alter */
@import url(/css2/foo.css); /* abs, should not alter */
@import url(data:image/gif;base64,AAAA); /* data, should not alter */
foo {background:url('bar/foo.png')}
foo {background:url('http://foo.com/css/foo.css');} /* abs, should not alter */
foo {background:url("//foo.com/css/foo.css");} /* protocol relative, should not alter */
foo {background:url(data:image/gif;base64,AAAA);} /* data, should not alter */

View File

@@ -0,0 +1 @@
@import "../foo.css";@import '../bar/foo.css' print;@import '/css/foo.css';@import 'http://foo.com/css/foo.css';@import url(../../foo.css) tv, projection;@import url("/css/foo.css");@import url(/css2/foo.css);@import url(data:image/gif;base64,AAAA);foo{background:url('../bar/foo.png')}foo{background:url('http://foo.com/css/foo.css')}foo{background:url("//foo.com/css/foo.css")}foo{background:url(data:image/gif;base64,AAAA)}

View File

@@ -0,0 +1,14 @@
@import "foo.css";
@import 'bar/foo.css' print;
@import '../bar/foo.css' print;
@import '../../foo.css' print;
@import '/css/foo.css'; /* abs, should not alter */
@import 'http://foo.com/css/foo.css'; /* abs, should not alter */
@import url(../foo.css) tv, projection;
@import url("/css/foo.css"); /* abs, should not alter */
@import url(/css2/foo.css); /* abs, should not alter */
@import url(data:image/gif;base64,AAAA); /* data, should not alter */
foo {background:url('bar/foo.png')}
foo {background:url('http://foo.com/css/foo.css');} /* abs, should not alter */
foo {background:url("//foo.com/css/foo.css");} /* protocol relative, should not alter */
foo {background:url(data:image/gif;base64,AAAA);} /* data, should not alter */

View File

@@ -0,0 +1 @@
@import "/_test_files/css/foo.css";@import '/_test_files/css/bar/foo.css' print;@import '/_test_files/bar/foo.css' print;@import '/foo.css' print;@import '/css/foo.css';@import 'http://foo.com/css/foo.css';@import url(/_test_files/foo.css) tv, projection;@import url("/css/foo.css");@import url(/css2/foo.css);@import url(data:image/gif;base64,AAAA);foo{background:url('/_test_files/css/bar/foo.png')}foo{background:url('http://foo.com/css/foo.css')}foo{background:url("//foo.com/css/foo.css")}foo{background:url(data:image/gif;base64,AAAA)}

View File

@@ -0,0 +1 @@
Test suite from http://search.cpan.org/~gtermars/CSS-Minifier-XS/

View File

@@ -0,0 +1,42 @@
/* http://www.w3.org/TR/css3-selectors/ */
*
E[foo]
E[foo="bar"]
E[foo~="bar"]
E[foo^="bar"]
E[foo$="bar"]
E[foo*="bar"]
E[hreflang|="en"]
E:root
E:nth-child(n)
E:nth-last-child(n)
E:nth-of-type(n)
E:nth-last-of-type(n)
E:first-child
E:last-child
E:first-of-type
E:last-of-type
E:only-child
E:only-of-type
E:empty
E:link
E:visited
E:active
E:hover
E:focus
E:target
E:lang(fr)
E:enabled
E:disabled
E:checked
E::first-line
E::first-letter
E::selection
E::before
E::after
E.warning#myid
E:not(s)
> F
+ F
~ F {color: red;}

37
tests/_test_files/css/selectors.min.css vendored Normal file
View File

@@ -0,0 +1,37 @@
*
E[foo]
E[foo="bar"]
E[foo~="bar"]
E[foo^="bar"]
E[foo$="bar"]
E[foo*="bar"]
E[hreflang|="en"]
E:root
E:nth-child(n)
E:nth-last-child(n)
E:nth-of-type(n)
E:nth-last-of-type(n)
E:first-child
E:last-child
E:first-of-type
E:last-of-type
E:only-child
E:only-of-type
E:empty
E:link
E:visited
E:active
E:hover
E:focus
E:target
E:lang(fr)
E:enabled
E:disabled
E:checked
E::first-line
E::first-letter
E::selection
E::before
E::after
E.warning#myid
E:not(s)>F+F~F{color:red}

View File

@@ -0,0 +1,33 @@
@charset "utf-8";
/* some CSS to try to exercise things in general */
@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 #00ff77;
}
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; }
}

3
tests/_test_files/css/styles.min.css vendored Normal file
View File

@@ -0,0 +1,3 @@
@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}}

View File

@@ -0,0 +1,434 @@
/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
Edited by Daz - http://www.forumimages.com - last updated 26-06-03 */
/* The content of the posts (body of text) */
/* General page style */
/* begin suggest post */
.float-l{
float: left;
}
.form-suggest{
height:200px;
background:#DEE2D0;
vertical-align: top;
}
.form-input input{
font-size: 10px;
}
.hide{
display:none;
}
.form-input textarea{
font-size: 11px;
width: 350px;
}
.form-label{
font-size: 10px;
font-weight: bold;
line-height: 25px;
padding-right: 10px;
text-align: right;
width: 100px;
color: #39738F;
}
.font-9{
font-size: 9px;
}
.form-topic{
font-weight:bold;
}
.form-error{
color:red;
}
.inline{
display: inline;
}
.space-10{
clear: both;
font-size: 10px;
height: 10px;
line-height: 10px;
}
.suggest-success{
color:green;
padding-left:10px;
font-size:11px;
font-weight:bold;
}
.top{
vertical-align: top;
}
/* end suggest post */
table td{
padding:3px;
}
a:link,a:active,a:visited,a.postlink{
color: #006699;
text-decoration: none;
}
a:hover{
color: #DD6900;
}
a.admin:hover,a.mod:hover{
color: #DD6900;
}
a.but,a.but:hover,a.but:visited{
color: #000000;
text-decoration: none;
}
a.topictitle:visited{
color: #5493B4;
}
a.topictitle:hover{
color: #DD6900;
}
body{
color: #000000;
font: 11px Verdana,Arial,Helvetica,sans-serif;
margin: 0 10px 10px 10px;
padding: 0;
overflow:auto;
}
/* General font families for common tags */
font,th,td,p{
font: 12px Verdana,Arial,Helvetica,sans-serif;
}
/* Form elements */
form{
display: inline;
}
hr{
border: 0px solid #FFFFFF;
border-top-width: 1px;
height: 0px;
}
/* Gets rid of the need for border="0" on hyperlinked images */
img{
border: 0 solid;
}
input{
font: 11px Verdana,Arial,Helvetica,sans-serif;
}
input.button,input.liteoption,.fakebut{
background: #FAFAFA;
border: 1px solid #000000;
font-size: 11px;
}
input.catbutton{
background: #FAFAFA;
border: 1px solid #000000;
font-size: 10px;
}
input.mainoption{
background: #FAFAFA;
border: 1px solid #000000;
font-size: 11px;
font-weight: bold;
}
input.post,textarea.post{
background: #FFFFFF;
border: 1px solid #000000;
font: 11px Verdana,Arial,Helvetica,sans-serif;
padding-bottom: 2px;
padding-left: 2px;
}
select{
background: #FFFFFF;
font: 11px Verdana,Arial,Helvetica,sans-serif;
}
table{
text-align: left;
}
td{
vertical-align: middle;
}
/* Category gradients*/
td.cat{
background-color: #C2C6BA;
font-weight: bold;
height: 20px;
letter-spacing: 1px;
text-indent: 4px;
}
td.genmed,.genmed{
font-size: 11px;
}
/* This is for the table cell above the Topics,Post & Last posts on the index.php */
td.rowpic{
background: #C2C6BA;
}
td.spacerow{
background: #E5E6E2;
}
/* Table Header cells */
th{
background-color: #FADD31;
background-image: url(images/cellpic3.gif);
background-repeat: repeat-x;
color: #68685E;
font-size: 11px;
font-weight: bold;
line-height:16px;
height: 16px;
padding-left: 8px;
padding-right: 8px;
text-align: center;
white-space: nowrap;
}
/* Admin & Moderator Colours MODification */
.admin,.mod{
font-size: 11px;
font-weight: bold;
}
.admin,a.admin,a.admin:visited{
color: #FFA34F;
}
/* This is the border line & background colour round the entire page */
.bodyline{
background: #FFFFFF;
border: 1px solid #98AAB1;
}
.center{
text-align: center;
}
/* Code blocks */
.code{
background: #FAFAFA;
border: 1px solid #D1D7DC;
color: #006600;
font: 12px Courier,"Courier New",sans-serif;
padding: 5px;
}
/* This is for the error messages that pop up */
.errorline{
background: #E5E6E2;
border: 1px solid #8F8B8B;
color:#D92A2A;
}
.explaintitle{
color: #5C81B1;
font-size: 11px;
font-weight: bold;
}
/* This is the outline round the main forum tables */
.forumline{
background: #FFFFFF;
}
/* General text */
.gensmall{
font-size: 10px;
}
.h1-font{
color: #006699;
display: inline;
font: bold 13px Verdana, Arial, Helvetica, sans-serif;
margin: 0;
text-decoration: none;
}
.h2-font{
display: inline;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
.height1{
height: 1px;
}
.height22{
height: 22px;
}
.height25{
height: 25px;
}
.height28{
height: 28px;
}
.height30{
height: 30px;
}
.height40{
height: 40px;
}
/* This is the line in the posting page which shows the rollover
help line. Colour value in row2 */
.helpline{
border: 0 solid;
font-size: 10px;
}
.imgfolder{
margin: 1px 4px 1px 4px;
}
.imgspace{
margin-left: 1px;
margin-right: 2px;
}
/* Specify the space around images */
.imgtopic,.imgicon{
margin-left: 3px;
}
.left{
text-align: left;
}
/* The largest text used in the index page title and toptic title etc. */
.maintitle,h1,h2{
color: #5C81B1;
font: bold 20px/120% "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;
text-decoration: none;
}
.maxwidth{
width: 100%;
}
.mod,a.mod,a.mod:visited{
color: #006600;
}
/* Name of poster in viewmsg.php and viewtopic.php and other places */
.name{
font-size: 11px;
font-weight: bold;
}
/* Used for the navigation text,(Page 1,2,3 etc) and the navigation bar when in a forum */
.nav{
font-size: 11px;
font-weight: bold;
}
.nowrap{
white-space: nowrap;
}
.postbody{
font-size: 12px;
line-height: 125%;
}
.postbody a{
text-decoration: underline;
}
/* Location,number of posts,post date etc */
.postdetails{
color: #00396A;
font-size: 10px;
}
/* Quote blocks */
.quote{
background: #F3F3EF;
border: 1px solid #C2C6BA;
color: #006699;
font-size: 11px;
line-height: 125%;
}
.right{
text-align: right;
}
/* Main table cell colours and backgrounds */
.row1{
background: #F0F0EB;
}
.row2,.helpline{
background: #E5E6E2;
}
.row3{
background: #DBDBD4;
}
.subtitle,h2{
font: bold 18px/180% "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;
text-decoration: none;
}
/* titles for the topics:could specify viewed link colour too */
.topictitle {
color: #000000;
font-size: 11px;
font-weight: bold;
}
.underline{
text-decoration: underline;
}
.top{
vertical-align:top;
}
.image-hspace{
margin-right:3px;
}
.clear{
clear:both;
}

18
tests/_test_files/css/subsilver.min.css vendored Normal file
View File

@@ -0,0 +1,18 @@
.float-l{float:left}.form-suggest{height:200px;background:#DEE2D0;vertical-align:top}.form-input
input{font-size:10px}.hide{display:none}.form-input
textarea{font-size:11px;width:350px}.form-label{font-size:10px;font-weight:bold;line-height:25px;padding-right:10px;text-align:right;width:100px;color:#39738F}.font-9{font-size:9px}.form-topic{font-weight:bold}.form-error{color:red}.inline{display:inline}.space-10{clear:both;font-size:10px;height:10px;line-height:10px}.suggest-success{color:green;padding-left:10px;font-size:11px;font-weight:bold}.top{vertical-align:top}table
td{padding:3px}a:link,a:active,a:visited,a.postlink{color:#069;text-decoration:none}a:hover{color:#DD6900}a.admin:hover,a.mod:hover{color:#DD6900}a.but,a.but:hover,a.but:visited{color:#000;text-decoration:none}a.topictitle:visited{color:#5493B4}a.topictitle:hover{color:#DD6900}body{color:#000;font:11px Verdana,Arial,Helvetica,sans-serif;margin:0
10px 10px 10px;padding:0;overflow:auto}font,th,td,p{font:12px Verdana,Arial,Helvetica,sans-serif}form{display:inline}hr{border:0px
solid #FFF;border-top-width:1px;height:0px}img{border:0
solid}input{font:11px Verdana,Arial,Helvetica,sans-serif}input.button,input.liteoption,.fakebut{background:#FAFAFA;border:1px
solid #000;font-size:11px}input.catbutton{background:#FAFAFA;border:1px
solid #000;font-size:10px}input.mainoption{background:#FAFAFA;border:1px
solid #000;font-size:11px;font-weight:bold}input.post,textarea.post{background:#FFF;border:1px
solid #000;font:11px Verdana,Arial,Helvetica,sans-serif;padding-bottom:2px;padding-left:2px}select{background:#FFF;font:11px Verdana,Arial,Helvetica,sans-serif}table{text-align:left}td{vertical-align:middle}td.cat{background-color:#C2C6BA;font-weight:bold;height:20px;letter-spacing:1px;text-indent:4px}td.genmed,.genmed{font-size:11px}td.rowpic{background:#C2C6BA}td.spacerow{background:#E5E6E2}th{background-color:#FADD31;background-image:url(images/cellpic3.gif);background-repeat:repeat-x;color:#68685E;font-size:11px;font-weight:bold;line-height:16px;height:16px;padding-left:8px;padding-right:8px;text-align:center;white-space:nowrap}.admin,.mod{font-size:11px;font-weight:bold}.admin,a.admin,a.admin:visited{color:#FFA34F}.bodyline{background:#FFF;border:1px
solid #98AAB1}.center{text-align:center}.code{background:#FAFAFA;border:1px
solid #D1D7DC;color:#060;font:12px Courier,"Courier New",sans-serif;padding:5px}.errorline{background:#E5E6E2;border:1px
solid #8F8B8B;color:#D92A2A}.explaintitle{color:#5C81B1;font-size:11px;font-weight:bold}.forumline{background:#FFF}.gensmall{font-size:10px}.h1-font{color:#069;display:inline;font:bold 13px Verdana,Arial,Helvetica,sans-serif;margin:0;text-decoration:none}.h2-font{display:inline;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px}.height1{height:1px}.height22{height:22px}.height25{height:25px}.height28{height:28px}.height30{height:30px}.height40{height:40px}.helpline{border:0
solid;font-size:10px}.imgfolder{margin:1px
4px 1px 4px}.imgspace{margin-left:1px;margin-right:2px}.imgtopic,.imgicon{margin-left:3px}.left{text-align:left}.maintitle,h1,h2{color:#5C81B1;font:bold 20px/120% "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;text-decoration:none}.maxwidth{width:100%}.mod,a.mod,a.mod:visited{color:#060}.name{font-size:11px;font-weight:bold}.nav{font-size:11px;font-weight:bold}.nowrap{white-space:nowrap}.postbody{font-size:12px;line-height:125%}.postbody
a{text-decoration:underline}.postdetails{color:#00396A;font-size:10px}.quote{background:#F3F3EF;border:1px
solid #C2C6BA;color:#069;font-size:11px;line-height:125%}.right{text-align:right}.row1{background:#F0F0EB}.row2,.helpline{background:#E5E6E2}.row3{background:#DBDBD4}.subtitle,h2{font:bold 18px/180% "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;text-decoration:none}.topictitle{color:#000;font-size:11px;font-weight:bold}.underline{text-decoration:underline}.top{vertical-align:top}.image-hspace{margin-right:3px}.clear{clear:both}

View File

@@ -0,0 +1,10 @@
/* test unusual, but valid strings in CSS */
foo[attr="multiple spaces"] {
content: "Hello World!";
}
foo[attr="Hel\
lo"] {
content: " \"World\"";
}

View File

@@ -0,0 +1,2 @@
foo[attr="multiple spaces"]{content:"Hello World!"}foo[attr="Hel\
lo"]{content:" \"World\""}

View File

@@ -0,0 +1,658 @@
/* from http://www.vladimirated.com/web-development-minify-css-using-php-and-cssmin-class */
#comments_inviter #close_me {
clear: both;
text-align: center;
border-top: 1px solid #eeeeee;
padding-top: 10px;
}
#comments_inviter #close_me span {
color: #108eed;
cursor: pointer;
font-weight: bold;
}
#comments_inviter img {
float: left;
margin-right: 3px;
margin-bottom: 10px;
}
#comments_inviter {
width: 200px;
background-color: #FFFFFF;
border: 4px solid #eeeeee;
font-size: 10px;
font-family: verdana;
padding: 10px;
color: #333333;
}
.one_com {
background-color: #FAFAFA;
padding: 10px;
margin-bottom: 20px;
border: 1px solid #EEEEEE;
}
.one_com .com_says, .one_com .com_det {
text-transform: lowercase;
color: #333333;
padding: 0px;
font-family: verdana;
margin: 0px;
font-size: 13px;
font-weight: bold;
}
.flvPlayer {
text-align: center;
border: 5px solid #dddddd;
width: 320px;
}
.one_com .com_det {
font-size: 10px;
font-weight: normal;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 8px solid #eeeeee;
}
.one_com .com_det a {
text-decoration: none;
}
.one_com .com_txt {
background-color: #ffffff;
margin-bottom: 10px;
border-bottom: 2px solid #eeeeee
}
.one_com .com_txt p {
font-family: verdana;
font-size: 13px;
color: #777777;
margin: 0px;
padding: 5px;
padding-bottom: 10px;
text-transform: lowercase;
}
.one_com .com_says a {
color: #333333;
}
.one_com .com_det a {
color: #333333;
}
.post_box .related_posts {
}
.post_box .related_posts p {
padding: 0px;
margin: 0px;
padding-bottom: 20px;
padding-left: 35px;
font-family: verdana;
}
.post_box .related_posts a {
color: #108eed;
}
.post_nav_2 p {
text-align: center;
color: #cccccc;
font-family: verdana;
}
.post_box .related_posts h3, #comments_box #respond, .comments_posted h3 {
padding: 0px;
margin: 0px;
font-size: 18px;
color: #FF8000;
padding-top: 30px;
margin-bottom: 20px;
width: 300px;
border-bottom: 5px solid #e0e0e0;
}
.comments_posted {
margin-bottom: 50px;
}
.comments_posted h3 {
padding: 0px;
margin: 0px;
margin-bottom: 20px;
}
.cmt_txtarea {
width: 300px;
height: 100px;
}
#comments_box #respond {
padding-top: 0px;
margin-bottom: 0px;
}
.pagetitle {
color: #65DA33;
text-align: center;
}
#searchform {
padding: 0px;
margin: 0px;
}
.si {
background-color: #FFFFEE;
border: 1px solid #e0e0e0;
}
#rightcol #r_news, #rightcol #linksbro, #rightcol #quick_tags {
margin-top: 30px;
padding-bottom: 10px;
}
#post_nav p {
padding: 0px;
margin: 0px;
padding-bottom: 5px;
}
#post_nav {
text-align: left;
padding-bottom: 15px;
}
#post_nav a, .post_nav_2 p a {
text-decoration: none;
font-family: Verdana;
font-size: 12px;
color: #108eed;
}
#post_nav a:hover, .post_nav_2 p a:hover {
text-decoration: underline;
color: #FF8000;
}
#rightcol #about {
padding-bottom: 10px;
}
#rightcol #r_news input {
color: #333333;
font-size: 12px;
}
#header {
height: 200px;
width: 100%;
background-image: url('images/header_bg.jpg');
background-repeat: x-repeat;
}
#header img {
float: right;
margin-right: -3px;
z-index: 100;
}
.tags {
text-transform: lowercase;
color: #333333;
font-family: arial;
font-size: 12px;
border-top: 2px dotted #EEEEEE;
width: 300px;
padding-top: 20px;
padding-bottom: 0px;
margin-top: 0px;
padding-left: 20px;
padding-right: 20px;
}
.tags a {
color: #108eed;
}
.tags p {
text-align: left;
margin: 0px;
padding: 0px;
}
blockquote strong {
font-family: verdana;
display: block;
margin-top: 10px;
color: #FF0000;
font-style: italic;
text-align: right;
}
blockquote {
margin: 0px;
background-color: #eeeeee;
border: 2px solid #dddddd;
padding: 24px;
padding-top: 10px;
padding-left: 60px;
padding-bottom: 10px;
font-size: 13px;
color: #333333;
margin-bottom: 30px;
margin-top: 10px;
}
html>body #header img { margin-right: 0px; }
#subscribe h3 {
color: #ff0000;
margin-top: 30px;
padding: 20px;
}
.post_actions a{
color: #108eed;
}
.post_actions {
border-top: 4px solid #DDDDDD;
border-bottom: 1px solid #EEEEEE;
text-align: center;
background-color: #FFFFDd;
color: #dddddd;
white-space: no-wrap;
padding-left: 20px;
padding-bottom: 5px;
text-transform: capitalize;
}
#subscribe td {
color: #333333;
font-size: 12px;
text-transform: lowercase;
}
#subscribe input {
font-size: 13px;
color: #333333;
}
.post_content {
font-size: 13px;
margin-top: 10px;
padding-bottom: 10px;
text-align: justify;
font-family: verdana;
}
.post_content p {
margin: 0px;
padding: 0px;
padding-bottom: 20px;
line-height: 20px;
}
#header h1 {
z-index: 200;
margin: 0px;
position: absolute;
float: left;
text-transform: lowercase;
padding: 0px;
font-size: 45px;
margin-top: 70px;
margin-left: 40px;
}
#header h1 a {
white-space: no-wrap;
text-decoration: none;
color: #FAFAFA;
display: block
}
#header h1 a:hover {
color: #FAFAFA;
border-bottom: 3px dotted #FAFAFA;
}
html>body #header h1 { margin-left: 60px; }
body {
margin: 0px;
padding: 0px;
height: 100%;
width: 100%;
font-family: 'Lucida Sans Unicode', 'Lucida Grande', Sans-Serif, Verdana, Arial;
font-size: 12px;
}
#leftcol {
float: left;
width: 200px;
margin-left: 0px;
margin-top: 17px;
color: #000;
padding: 3px;
height: 100%;
}
#leftcol .box_head h3 {
text-transform: uppercase;
padding: 0px;
margin: 0px;
font-family: georgia;
font-size: 18px;
color: #dddddd;
border-top: 4px solid #dddddd;
border-bottom: 4px solid #cccccc;
padding-left: 10px;
padding-top: 10px;
padding-bottom: 10px;
background-image: url('images/stripesbg.png');
margin-bottom: 10px;
}
#leftcol .box_head input {
text-transform: lowercase;
color: #333333;
}
#leftcol .box_head {
margin-left: 7px;
background-color: #ffefd4;
border-bottom: 2px solid #eeeeee;
padding-bottom: 20px;
margin-bottom: 30px;
}
#leftcol .box_head p a {
color: #0a2d4d;
display: block;
text-decoration: none;
border-bottom: 3px solid #fefefe;
padding-top: 20px;
text-transform: lowercase;
padding-bottom: 20px;
padding-left: 5px;
padding-right: 5px;
}
#leftcol .box_head p a:hover {
background-color: #fafafa;
border-bottom: 3px solid #eeeeee;
color: #000000;
}
#leftcol .box_head p {
text-align: left;
margin: 0px;
width: 170px;
padding-bottom: 0px;
padding-top: 0px;
font-size: 11px;
}
#rightcol {
position: absolute;
left: 77%;
top: 278px;
border: 3px solid #eeeeee;
width: 200px;
z-index: 3;
color: #333333;
padding: 10px;
text-transform: lowercase;
}
#rightcol p {
padding: 0px;
marging: 0px;
text-align: justify;
}
#rightcol #about img, #rightcol #linksbro img {
border: 5px solid #eeeeee;
}
#rightcol #about h3, #rightcol #r_news h3, #rightcol #linksbro h3, #rightcol #quick_tags h3 {
background-color: #fafafa;
border: 1px dotted #e0e0e0;
font-size: 14px;
color: #104bbc;
padding: 5px;
padding-top: 10px;
font-family: Arial;
padding-bottom: 10px;
}
#rightcol #about p a, #rightcol #r_news p a, #rightcol #linksbro p a {
color: #108eed;
}
#rightcol #about p, #rightcol #r_news p, #rightcol #linksbro p {
font-size: 12px;
text-align: left;
}
#content_warp {
margin: 20px 25% 0 215px;
padding: 3px;
color: #000;
background-color: #ededed;
}
#content {
margin: 5px;
background-color: #FFFFFF;
padding: 10px;
}
#footer {
width: 99%;
margin-top: 30px;
height: 98px;
background-color: #101b1d;
}
#footer td a {
color: #FF8000;
}
#footer td a img {
border: 2px solid #108eed;
}
#footer td p {
font-family: Verdana;
font-size: 10px;
color: #c0c0c0;
padding: 0px;
margin: 0px;
text-align: center;
padding-bottom: 10px;
}
.s_offer {
color: #65DA33;
font-size: 20px;
font-weight: bold;
font-style: normal;
}
.post_box {
text-transform: lowercase;
margin-bottom: 40px;
}
#newsletter_box {
text-transform: lowercase;
margin-bottom: 10px;
margin-top: 30px;
font-style: normal;
background-color: #ffffff;
border: 5px solid #dddddd;
}
#newsletter_head {
color: #EEEEEE;
font-family: Georgia;
background-image: url('images/stripesbg.png');
padding: 10px;
padding-left: 30px;
border-bottom: 5px solid #dddddd;
}
#newsletter_body {
color: #333333;
font-family: Verdana;
text-align: justify;
background-color: #FFFFFF;
padding: 10px;
font-size: 13px;
}
.s_offer {
color: #65DA33;
font-size: 26px;
font-weight: bold;
font-style: normal;
}
.post_title a {
color: #EEEEEE;
text-decoration: none;
}
.post_title a:hover {
color: #c0c0c0;
}
.post_title {
background-image: url('images/stripe_post.png');
text-transform: uppercase;
font-size: 18px;
font-family: georgia;
padding: 10px;
border-top: 4px solid #c0c0c0;
margin: 0px;
border-bottom: 2px solid #ffffdd;
}
.post_det {
text-transform: none;
margin: 0px;
border-top: 1px solid #f0f0f0;
padding: 0px;
padding-top: 5px;
color: #999999;
font-size: 10px;
font-family: verdana;
margin-bottom: 20px;
background-color: #eeeeee;
padding-bottom: 5px;
padding-left: 10px;
text-align: left;
border-bottom: 2px solid #dddddd;
}
.post_det a {
color: #999999;
text-decoration: none;
}
.subtle {
text-transform: lowercase;
font-size: 10px;
font-family: verdana;
color: #108eed;
text-align: justify;
}
#top_menu #navlist, #top_menu #navlist li {
padding:0px;
margin: 0px;
padding-top: 14px;
text-transform: lowercase;
padding-bottom: 17px;
padding-left: 30px;
border-left: 1px solid #65cdef;
}
#top_menu #navlist, #top_menu #navlist li #first {
border-left: 0px;
}
#top_menu #navlist {
padding-left: 30px;
background-color: #1dabd9;
border-top: 5px solid #0e96c3;
border-bottom: 5px solid #0e96c3;
}
#top_menu #navlist li {
color: #444444;
font-size: 10px;
display: inline;
list-style-type: none;
padding-right: 30px;
}
#top_menu #navlist li a {
text-decoration: none;
font-family: Verdana;
color: #fafafa;
font-size: 12px;
font-weight: bold;
}
#top_menu #navlist li a:hover {
color: #333333;
}
.post_content a {
color: #108eed;
}
ul#tagcloud { padding:0; margin:0; text-align:center; list-style:none; }
ul#tagcloud li { display:inline; font-size:70%; color:#ccc; background: none; padding: 0;}
ul#tagcloud li a, ul#tagcloud li a:link { text-decoration:none; }
ul#tagcloud li a:hover { text-decoration:underline; }
ul#tagcloud li.t1 a { color:#797979; font-size: 120%; }
ul#tagcloud li.t2 a { color:#6d6d6d; font-size: 160%; }
ul#tagcloud li.t3 a { color:#616161; font-size: 190%; }
ul#tagcloud li.t4 a { color:#555555; font-size: 210%; }
ul#tagcloud li.t5 a { color:#484848; font-size: 230%; }
ul#tagcloud li.t6 a { color:#3c3c3c; font-size: 250%; }
ul#tagcloud li.t7 a { color:#303030; font-size: 270%; }
ul#tagcloud li.t8 a { color:#242424; font-size: 290%; }
ul#tagcloud li.t9 a { color:#181818; font-size: 310%; }
ul#tagcloud li.t10 a { color:#0c0c0c; font-size: 330%; }

View File

@@ -0,0 +1,79 @@
#comments_inviter
#close_me{clear:both;text-align:center;border-top:1px solid #eee;padding-top:10px}#comments_inviter #close_me
span{color:#108eed;cursor:pointer;font-weight:bold}#comments_inviter
img{float:left;margin-right:3px;margin-bottom:10px}#comments_inviter{width:200px;background-color:#FFF;border:4px
solid #eee;font-size:10px;font-family:verdana;padding:10px;color:#333}.one_com{background-color:#FAFAFA;padding:10px;margin-bottom:20px;border:1px
solid #EEE}.one_com .com_says, .one_com
.com_det{text-transform:lowercase;color:#333;padding:0px;font-family:verdana;margin:0px;font-size:13px;font-weight:bold}.flvPlayer{text-align:center;border:5px
solid #ddd;width:320px}.one_com
.com_det{font-size:10px;font-weight:normal;margin-bottom:20px;padding-bottom:10px;border-bottom:8px solid #eee}.one_com .com_det
a{text-decoration:none}.one_com
.com_txt{background-color:#fff;margin-bottom:10px;border-bottom:2px solid #eee}.one_com .com_txt
p{font-family:verdana;font-size:13px;color:#777;margin:0px;padding:5px;padding-bottom:10px;text-transform:lowercase}.one_com .com_says
a{color:#333}.one_com .com_det
a{color:#333}.post_box
.related_posts{}.post_box .related_posts
p{padding:0px;margin:0px;padding-bottom:20px;padding-left:35px;font-family:verdana}.post_box .related_posts
a{color:#108eed}.post_nav_2
p{text-align:center;color:#ccc;font-family:verdana}.post_box .related_posts h3, #comments_box #respond, .comments_posted
h3{padding:0px;margin:0px;font-size:18px;color:#FF8000;padding-top:30px;margin-bottom:20px;width:300px;border-bottom:5px solid #e0e0e0}.comments_posted{margin-bottom:50px}.comments_posted
h3{padding:0px;margin:0px;margin-bottom:20px}.cmt_txtarea{width:300px;height:100px}#comments_box
#respond{padding-top:0px;margin-bottom:0px}.pagetitle{color:#65DA33;text-align:center}#searchform{padding:0px;margin:0px}.si{background-color:#FFE;border:1px
solid #e0e0e0}#rightcol #r_news, #rightcol #linksbro, #rightcol
#quick_tags{margin-top:30px;padding-bottom:10px}#post_nav
p{padding:0px;margin:0px;padding-bottom:5px}#post_nav{text-align:left;padding-bottom:15px}#post_nav a, .post_nav_2 p
a{text-decoration:none;font-family:Verdana;font-size:12px;color:#108eed}#post_nav a:hover, .post_nav_2 p a:hover{text-decoration:underline;color:#FF8000}#rightcol
#about{padding-bottom:10px}#rightcol #r_news
input{color:#333;font-size:12px}#header{height:200px;width:100%;background-image:url('images/header_bg.jpg');background-repeat:x-repeat}#header
img{float:right;margin-right:-3px;z-index:100}.tags{text-transform:lowercase;color:#333;font-family:arial;font-size:12px;border-top:2px dotted #EEE;width:300px;padding-top:20px;padding-bottom:0px;margin-top:0px;padding-left:20px;padding-right:20px}.tags
a{color:#108eed}.tags
p{text-align:left;margin:0px;padding:0px}blockquote
strong{font-family:verdana;display:block;margin-top:10px;color:#F00;font-style:italic;text-align:right}blockquote{margin:0px;background-color:#eee;border:2px
solid #ddd;padding:24px;padding-top:10px;padding-left:60px;padding-bottom:10px;font-size:13px;color:#333;margin-bottom:30px;margin-top:10px}html>body #header
img{margin-right:0px}#subscribe
h3{color:#f00;margin-top:30px;padding:20px}.post_actions
a{color:#108eed}.post_actions{border-top:4px solid #DDD;border-bottom:1px solid #EEE;text-align:center;background-color:#FFD;color:#ddd;white-space:no-wrap;padding-left:20px;padding-bottom:5px;text-transform:capitalize}#subscribe
td{color:#333;font-size:12px;text-transform:lowercase}#subscribe
input{font-size:13px;color:#333}.post_content{font-size:13px;margin-top:10px;padding-bottom:10px;text-align:justify;font-family:verdana}.post_content
p{margin:0px;padding:0px;padding-bottom:20px;line-height:20px}#header
h1{z-index:200;margin:0px;position:absolute;float:left;text-transform:lowercase;padding:0px;font-size:45px;margin-top:70px;margin-left:40px}#header h1
a{white-space:no-wrap;text-decoration:none;color:#FAFAFA;display:block}#header h1 a:hover{color:#FAFAFA;border-bottom:3px dotted #FAFAFA}html>body #header
h1{margin-left:60px}body{margin:0px;padding:0px;height:100%;width:100%;font-family:'Lucida Sans Unicode','Lucida Grande',Sans-Serif,Verdana,Arial;font-size:12px}#leftcol{float:left;width:200px;margin-left:0px;margin-top:17px;color:#000;padding:3px;height:100%}#leftcol .box_head
h3{text-transform:uppercase;padding:0px;margin:0px;font-family:georgia;font-size:18px;color:#ddd;border-top:4px solid #ddd;border-bottom:4px solid #ccc;padding-left:10px;padding-top:10px;padding-bottom:10px;background-image:url('images/stripesbg.png');margin-bottom:10px}#leftcol .box_head
input{text-transform:lowercase;color:#333}#leftcol
.box_head{margin-left:7px;background-color:#ffefd4;border-bottom:2px solid #eee;padding-bottom:20px;margin-bottom:30px}#leftcol .box_head p
a{color:#0a2d4d;display:block;text-decoration:none;border-bottom:3px solid #fefefe;padding-top:20px;text-transform:lowercase;padding-bottom:20px;padding-left:5px;padding-right:5px}#leftcol .box_head p a:hover{background-color:#fafafa;border-bottom:3px solid #eee;color:#000}#leftcol .box_head
p{text-align:left;margin:0px;width:170px;padding-bottom:0px;padding-top:0px;font-size:11px}#rightcol{position:absolute;left:77%;top:278px;border:3px
solid #eee;width:200px;z-index:3;color:#333;padding:10px;text-transform:lowercase}#rightcol
p{padding:0px;marging:0px;text-align:justify}#rightcol #about img, #rightcol #linksbro
img{border:5px
solid #eee}#rightcol #about h3, #rightcol #r_news h3, #rightcol #linksbro h3, #rightcol #quick_tags
h3{background-color:#fafafa;border:1px
dotted #e0e0e0;font-size:14px;color:#104bbc;padding:5px;padding-top:10px;font-family:Arial;padding-bottom:10px}#rightcol #about p a, #rightcol #r_news p a, #rightcol #linksbro p
a{color:#108eed}#rightcol #about p, #rightcol #r_news p, #rightcol #linksbro
p{font-size:12px;text-align:left}#content_warp{margin:20px
25% 0 215px;padding:3px;color:#000;background-color:#ededed}#content{margin:5px;background-color:#FFF;padding:10px}#footer{width:99%;margin-top:30px;height:98px;background-color:#101b1d}#footer td
a{color:#FF8000}#footer td a
img{border:2px
solid #108eed}#footer td
p{font-family:Verdana;font-size:10px;color:#c0c0c0;padding:0px;margin:0px;text-align:center;padding-bottom:10px}.s_offer{color:#65DA33;font-size:20px;font-weight:bold;font-style:normal}.post_box{text-transform:lowercase;margin-bottom:40px}#newsletter_box{text-transform:lowercase;margin-bottom:10px;margin-top:30px;font-style:normal;background-color:#fff;border:5px
solid #ddd}#newsletter_head{color:#EEE;font-family:Georgia;background-image:url('images/stripesbg.png');padding:10px;padding-left:30px;border-bottom:5px solid #ddd}#newsletter_body{color:#333;font-family:Verdana;text-align:justify;background-color:#FFF;padding:10px;font-size:13px}.s_offer{color:#65DA33;font-size:26px;font-weight:bold;font-style:normal}.post_title
a{color:#EEE;text-decoration:none}.post_title a:hover{color:#c0c0c0}.post_title{background-image:url('images/stripe_post.png');text-transform:uppercase;font-size:18px;font-family:georgia;padding:10px;border-top:4px solid #c0c0c0;margin:0px;border-bottom:2px solid #ffd}.post_det{text-transform:none;margin:0px;border-top:1px solid #f0f0f0;padding:0px;padding-top:5px;color:#999;font-size:10px;font-family:verdana;margin-bottom:20px;background-color:#eee;padding-bottom:5px;padding-left:10px;text-align:left;border-bottom:2px solid #ddd}.post_det
a{color:#999;text-decoration:none}.subtle{text-transform:lowercase;font-size:10px;font-family:verdana;color:#108eed;text-align:justify}#top_menu #navlist, #top_menu #navlist
li{padding:0px;margin:0px;padding-top:14px;text-transform:lowercase;padding-bottom:17px;padding-left:30px;border-left:1px solid #65cdef}#top_menu #navlist, #top_menu #navlist li
#first{border-left:0px}#top_menu
#navlist{padding-left:30px;background-color:#1dabd9;border-top:5px solid #0e96c3;border-bottom:5px solid #0e96c3}#top_menu #navlist
li{color:#444;font-size:10px;display:inline;list-style-type:none;padding-right:30px}#top_menu #navlist li
a{text-decoration:none;font-family:Verdana;color:#fafafa;font-size:12px;font-weight:bold}#top_menu #navlist li a:hover{color:#333}.post_content
a{color:#108eed}ul#tagcloud{padding:0;margin:0;text-align:center;list-style:none}ul#tagcloud
li{display:inline;font-size:70%;color:#ccc;background:none;padding:0}ul#tagcloud li a, ul#tagcloud li a:link{text-decoration:none}ul#tagcloud li a:hover{text-decoration:underline}ul#tagcloud li.t1
a{color:#797979;font-size:120%}ul#tagcloud li.t2
a{color:#6d6d6d;font-size:160%}ul#tagcloud li.t3
a{color:#616161;font-size:190%}ul#tagcloud li.t4
a{color:#555;font-size:210%}ul#tagcloud li.t5
a{color:#484848;font-size:230%}ul#tagcloud li.t6
a{color:#3c3c3c;font-size:250%}ul#tagcloud li.t7
a{color:#303030;font-size:270%}ul#tagcloud li.t8
a{color:#242424;font-size:290%}ul#tagcloud li.t9
a{color:#181818;font-size:310%}ul#tagcloud li.t10
a{color:#0c0c0c;font-size:330%}

View File

@@ -0,0 +1,17 @@
@import "/_test_files/css_uriRewriter/foo.css";
@import '/_test_files/css_uriRewriter/bar/foo.css' print;
@import '/_test_files/bar/foo.css' print;
@import '/foo.css' print;
@import '/css/foo.css'; /* abs, should not alter */
@import 'http://foo.com/css/foo.css'; /* scheme, should not alter */
@import url(/_test_files/foo.css) tv, projection;
@import url("/css/foo.css"); /* abs, should not alter */
@import url(/css2/foo.css); /* abs, should not alter */
@import url(foo:bar); /* scheme, should not alter */
foo {background:url('/_test_files/css_uriRewriter/bar/foo.png')}
foo {background:url('http://foo.com/css/foo.css');} /* scheme, should not alter */
foo {background:url("//foo.com/css/foo.css");} /* protocol relative, should not alter */
foo {background:url(foo:bar);} /* scheme, should not alter */
foo {background:url("/_test_files/css_uriRewriter/foo bar.jpg");}
@import url('/_test_files/css_uriRewriter/foo bar.css');
@import "/_test_files/css_uriRewriter/foo bar.css";

View File

@@ -0,0 +1,17 @@
@import "http://cnd.com/A/B/foo.css";
@import 'http://cnd.com/A/B/bar/foo.css' print;
@import 'http://cnd.com/A/bar/foo.css' print;
@import 'http://cnd.com/foo.css' print;
@import '/css/foo.css'; /* abs, should not alter */
@import 'http://foo.com/css/foo.css'; /* scheme, should not alter */
@import url(http://cnd.com/A/foo.css) tv, projection;
@import url("/css/foo.css"); /* abs, should not alter */
@import url(/css2/foo.css); /* abs, should not alter */
@import url(foo:bar); /* scheme, should not alter */
foo {background:url('http://cnd.com/A/B/bar/foo.png')}
foo {background:url('http://foo.com/css/foo.css');} /* scheme, should not alter */
foo {background:url("//foo.com/css/foo.css");} /* protocol relative, should not alter */
foo {background:url(foo:bar);} /* scheme, should not alter */
foo {background:url("http://cnd.com/A/B/foo bar.jpg");}
@import url('http://cnd.com/A/B/foo bar.css');
@import "http://cnd.com/A/B/foo bar.css";

View File

@@ -0,0 +1,17 @@
@import "//cnd.com/A/B/foo.css";
@import '//cnd.com/A/B/bar/foo.css' print;
@import '//cnd.com/A/bar/foo.css' print;
@import '//cnd.com/foo.css' print;
@import '/css/foo.css'; /* abs, should not alter */
@import 'http://foo.com/css/foo.css'; /* scheme, should not alter */
@import url(//cnd.com/A/foo.css) tv, projection;
@import url("/css/foo.css"); /* abs, should not alter */
@import url(/css2/foo.css); /* abs, should not alter */
@import url(foo:bar); /* scheme, should not alter */
foo {background:url('//cnd.com/A/B/bar/foo.png')}
foo {background:url('http://foo.com/css/foo.css');} /* scheme, should not alter */
foo {background:url("//foo.com/css/foo.css");} /* protocol relative, should not alter */
foo {background:url(foo:bar);} /* scheme, should not alter */
foo {background:url("//cnd.com/A/B/foo bar.jpg");}
@import url('//cnd.com/A/B/foo bar.css');
@import "//cnd.com/A/B/foo bar.css";

View File

@@ -0,0 +1,17 @@
@import "foo.css";
@import 'bar/foo.css' print;
@import '../bar/foo.css' print;
@import '../../foo.css' print;
@import '/css/foo.css'; /* abs, should not alter */
@import 'http://foo.com/css/foo.css'; /* scheme, should not alter */
@import url(../foo.css) tv, projection;
@import url("/css/foo.css"); /* abs, should not alter */
@import url(/css2/foo.css); /* abs, should not alter */
@import url(foo:bar); /* scheme, should not alter */
foo {background:url('bar/foo.png')}
foo {background:url('http://foo.com/css/foo.css');} /* scheme, should not alter */
foo {background:url("//foo.com/css/foo.css");} /* protocol relative, should not alter */
foo {background:url(foo:bar);} /* scheme, should not alter */
foo {background:url("foo bar.jpg");}
@import url('foo bar.css');
@import "foo bar.css";

View File

@@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<!-- comments get removed -->
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="Dave Shea" />
<!-- also whitespace around block or undisplayed elements -->
<meta name="keywords" content="design, css, cascading, style, sheets, xhtml, graphic design, w3c, web standards, visual, display" />
<meta name="description" content="A demonstration of what can be accomplished visually through CSS-based design." />
<meta name="robots" content="all" />
<title>css Zen Garden: The Beauty in CSS Design</title>
<!-- to correct the unsightly Flash of Unstyled Content. http://www.bluerobot.com/web/css/fouc.asp -->
<script type="text/javascript"><!--
// js comment inside SCRIPT element
var is = {
ie: navigator.appName == 'Microsoft Internet Explorer',
java: navigator.javaEnabled(),
ns: navigator.appName == 'Netscape',
ua: navigator.userAgent.toLowerCase(),
version: parseFloat(navigator.appVersion.substr(21)) ||
parseFloat(navigator.appVersion),
win: navigator.platform == 'Win32'
}
is.mac = is.ua.indexOf('mac') >= 0;
if (is.ua.indexOf('opera') >= 0) {
is.ie = is.ns = false;
is.opera = true;
}
if (is.ua.indexOf('gecko') >= 0) {
is.ie = is.ns = false;
is.gecko = true;
}
// --></script>
<script type="text/javascript">
//<![CDATA[
var i = 0;
while (++i < 10)
{
// ...
}
//]]>
</script>
<script type="text/javascript">
/* <![CDATA[ */ i = 1; /* ]]> */
</script>
<script type="text/javascript">
(i < 1); /* CDATA needed */
</script>
<!--[if IE 6]>
<style type="text/css">
/*! copyright: you'll need CDATA for this < & */
body {background:white;}
</style>
<![endif]-->
<style type="text/css" title="currentStyle" media="screen">
@import "/001/001.css";
/*\*/ css hack {} /* */
/* normal CSS comment */
/*/*/ css hack {} /* */
css hack {
display/**/:/**/none;
display:none;
}
</style>
<link
rel="Shortcut Icon"
type="image/x-icon"
href="http://www.csszengarden.com/favicon.ico" />
<link
rel="alternate"
type="application/rss+xml"
title="RSS"
href="http://www.csszengarden.com/zengarden.xml" />
</head>
<body id="css-zen-garden">
<!--[if !IE]>--><p>Browser != IE</p><!--<![endif]-->
<div id="container">
<div id="pageHeader">
<h1><span>css Zen Garden</span></h1>
<h2><span>The Beauty of <acronym title="Cascading Style Sheets">CSS</acronym>
Design</span></h2>
</div>
<pre>
White space is important here!
</pre>
<div id="quickSummary">
<p class="p1"><span>A demonstration of what can be accomplished visually through <acronym title="Cascading Style Sheets">CSS</acronym>-based design. Select any style sheet from the list to load it into this page.</span></p>
<p class="p2"><span>Download the sample <a href="/zengarden-sample.html" title="This page's source HTML code, not to be modified.">html file</a> and <a href="/zengarden-sample.css" title="This page's sample CSS, the file you may modify.">css file</a></span></p>
</div>
<textarea name="comment" id="comment" rows="6" class="maxwidth" cols="80">66666
1234567890<script> var Hello = 'world';</script></textarea>
</div>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" ><head><meta
http-equiv="content-type" content="text/html; charset=iso-8859-1" /><meta
name="author" content="Dave Shea" /><meta
name="keywords" content="design, css, cascading, style, sheets, xhtml, graphic design, w3c, web standards, visual, display" /><meta
name="description" content="A demonstration of what can be accomplished visually through CSS-based design." /><meta
name="robots" content="all" /><title>css Zen Garden: The Beauty in CSS Design</title> <script type="text/javascript">var is={ie:navigator.appName=='Microsoft Internet Explorer',java:navigator.javaEnabled(),ns:navigator.appName=='Netscape',ua:navigator.userAgent.toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),win:navigator.platform=='Win32'}
is.mac=is.ua.indexOf('mac')>=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;}
if(is.ua.indexOf('gecko')>=0){is.ie=is.ns=false;is.gecko=true;}</script> <script type="text/javascript">/*<![CDATA[*/var i=0;while(++i<10)
{}/*]]>*/</script> <script type="text/javascript">i=1;</script> <script type="text/javascript">/*<![CDATA[*/(i<1);/*]]>*/</script> <!--[if IE 6]><style type="text/css">/*<![CDATA[*//*! copyright: you'll need CDATA for this < & */
body{background:white}/*]]>*/</style><![endif]--><style type="text/css" title="currentStyle" media="screen">@import "/001/001.css";/*\*//**/css hack{display:none;display:none}</style><link
rel="Shortcut Icon"
type="image/x-icon"
href="http://www.csszengarden.com/favicon.ico" /><link
rel="alternate"
type="application/rss+xml"
title="RSS"
href="http://www.csszengarden.com/zengarden.xml" /></head><body
id="css-zen-garden">
<!--[if !IE]>--><p>Browser != IE</p><!--<![endif]--><div
id="container"><div
id="pageHeader"><h1><span>css Zen Garden</span></h1><h2><span>The Beauty of <acronym
title="Cascading Style Sheets">CSS</acronym>
Design</span></h2></div><pre>
White space is important here!
</pre><div
id="quickSummary"><p
class="p1"><span>A demonstration of what can be accomplished visually through <acronym
title="Cascading Style Sheets">CSS</acronym>-based design. Select any style sheet from the list to load it into this page.</span></p><p
class="p2"><span>Download the sample <a
href="/zengarden-sample.html" title="This page's source HTML code, not to be modified.">html file</a> and <a
href="/zengarden-sample.css" title="This page's sample CSS, the file you may modify.">css file</a></span></p></div><textarea name="comment" id="comment" rows="6" class="maxwidth" cols="80">66666
1234567890<script>var Hello='world';</script></textarea></div></body></html>

View File

@@ -0,0 +1,95 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<!-- comments get removed -->
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Dave Shea">
<!-- also whitespace around block or undisplayed elements -->
<meta name="keywords" content="design, css, cascading, style, sheets, xhtml, graphic design, w3c, web standards, visual, display">
<meta name="description" content="A demonstration of what can be accomplished visually through CSS-based design.">
<meta name="robots" content="all">
<title>css Zen Garden: The Beauty in CSS Design</title>
<!-- to correct the unsightly Flash of Unstyled Content. http://www.bluerobot.com/web/css/fouc.asp -->
<script type="text/javascript"><!--
// js comment inside SCRIPT element
var is = {
ie: navigator.appName == 'Microsoft Internet Explorer',
java: navigator.javaEnabled(),
ns: navigator.appName == 'Netscape',
ua: navigator.userAgent.toLowerCase(),
version: parseFloat(navigator.appVersion.substr(21)) ||
parseFloat(navigator.appVersion),
win: navigator.platform == 'Win32'
}
is.mac = is.ua.indexOf('mac') >= 0;
if (is.ua.indexOf('opera') >= 0) {
is.ie = is.ns = false;
is.opera = true;
}
if (is.ua.indexOf('gecko') >= 0) {
is.ie = is.ns = false;
is.gecko = true;
}
// --></script>
<script type="text/javascript">
var i = 0;
while (++i < 10)
{
// ...
}
</script>
<script type="text/javascript">
i = 1;
</script>
<script type="text/javascript">
(i < 1);
</script>
<!--[if IE 6]>
<style type="text/css">
/*! copyright: you'll need CDATA for this < & */
body {background:white;}
</style>
<![endif]-->
<style type="text/css" title="currentStyle" media="screen">
@import "/001/001.css";
/*\*/ css hack {} /* */
/* normal CSS comment */
/*/*/ css hack {} /* */
css hack {
display/**/:/**/none;
display:none;
}
</style>
<link
rel="Shortcut Icon"
type="image/x-icon"
href="http://www.csszengarden.com/favicon.ico">
<link
rel="alternate"
type="application/rss+xml"
title="RSS"
href="http://www.csszengarden.com/zengarden.xml">
</head>
<body id="css-zen-garden">
<!--[if !IE]>--><p>Browser != IE</p><!--<![endif]-->
<div id="container">
<div id="pageHeader">
<h1><span>css Zen Garden</span></h1>
<h2><span>The Beauty of <acronym title="Cascading Style Sheets">CSS</acronym>
Design</span></h2>
</div>
<pre>
White space is important here!
</pre>
<div id="quickSummary">
<p class="p1"><span>A demonstration of what can be accomplished visually through <acronym title="Cascading Style Sheets">CSS</acronym>-based design. Select any style sheet from the list to load it into this page.</span></p>
<p class="p2"><span>Download the sample <a href="/zengarden-sample.html" title="This page's source HTML code, not to be modified.">html file</a> and <a href="/zengarden-sample.css" title="This page's sample CSS, the file you may modify.">css file</a></span></p>
</div>
<textarea name="comment" id="comment" rows="6" class="maxwidth" cols="80">66666
1234567890</textarea>
Preserve at least 1 char of whitespace near <script type="text/javascript"></script>scripts in case of document.write().
</div>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html
lang="en"><head><meta
http-equiv="content-type" content="text/html; charset=iso-8859-1"><meta
name="author" content="Dave Shea"><meta
name="keywords" content="design, css, cascading, style, sheets, xhtml, graphic design, w3c, web standards, visual, display"><meta
name="description" content="A demonstration of what can be accomplished visually through CSS-based design."><meta
name="robots" content="all"><title>css Zen Garden: The Beauty in CSS Design</title> <script type="text/javascript">var is={ie:navigator.appName=='Microsoft Internet Explorer',java:navigator.javaEnabled(),ns:navigator.appName=='Netscape',ua:navigator.userAgent.toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),win:navigator.platform=='Win32'}
is.mac=is.ua.indexOf('mac')>=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;}
if(is.ua.indexOf('gecko')>=0){is.ie=is.ns=false;is.gecko=true;}</script> <script type="text/javascript">var i=0;while(++i<10)
{}</script> <script type="text/javascript">i=1;</script> <script type="text/javascript">(i<1);</script> <!--[if IE 6]><style type="text/css">/*! copyright: you'll need CDATA for this < & */
body{background:white}</style><![endif]--><style type="text/css" title="currentStyle" media="screen">@import "/001/001.css";/*\*//**/css hack{display:none;display:none}</style><link
rel="Shortcut Icon"
type="image/x-icon"
href="http://www.csszengarden.com/favicon.ico"><link
rel="alternate"
type="application/rss+xml"
title="RSS"
href="http://www.csszengarden.com/zengarden.xml"></head><body
id="css-zen-garden">
<!--[if !IE]>--><p>Browser != IE</p><!--<![endif]--><div
id="container"><div
id="pageHeader"><h1><span>css Zen Garden</span></h1><h2><span>The Beauty of <acronym
title="Cascading Style Sheets">CSS</acronym>
Design</span></h2></div><pre>
White space is important here!
</pre><div
id="quickSummary"><p
class="p1"><span>A demonstration of what can be accomplished visually through <acronym
title="Cascading Style Sheets">CSS</acronym>-based design. Select any style sheet from the list to load it into this page.</span></p><p
class="p2"><span>Download the sample <a
href="/zengarden-sample.html" title="This page's source HTML code, not to be modified.">html file</a> and <a
href="/zengarden-sample.css" title="This page's sample CSS, the file you may modify.">css file</a></span></p></div><textarea name="comment" id="comment" rows="6" class="maxwidth" cols="80">66666
1234567890</textarea>Preserve at least 1 char of whitespace near <script type="text/javascript"></script>scripts in case of document.write().</div></body></html>

View File

@@ -0,0 +1,8 @@
<?php
return array(
'css' => array(
'//_test_files/css/paths_prepend.css'
,'//_test_files/css/styles.css'
)
);

View File

@@ -0,0 +1,3 @@
/* @import url('bad.css' ) bad; */
adjacent2 foo { background: red url(/red.gif); }
adjacent2 bar { background: url('../green.gif') }

View File

@@ -0,0 +1,4 @@
@import url( adjacent.css ) all;
@import '../input.css';
tv foo { background: red url(/red.gif); }
tv bar { background: url('../green.gif') }

View File

@@ -0,0 +1,4 @@
@import url(../../css/styles.css);
@import url(http://example.com/hello.css);
adjacent foo { background: red url(/red.gif); }
adjacent bar { background: url('../green.gif') }

View File

@@ -0,0 +1,5 @@
@import url(adjacent.css) screen;
@import "1/tv.css" tv, projection;
@import "../lib/css/example.css";
input foo { background: red url(/red.gif); }
input bar { background: url('../green.gif') }

View File

@@ -0,0 +1,52 @@
@media screen {
@charset "utf-8";
/* some CSS to try to exercise things in general */
@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 #00ff77;
}
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; }
}
@import url(http://example.com/hello.css);
adjacent foo { background: red url(/red.gif); }
adjacent bar { background: url('../green.gif') }
}
@media tv,projection {
/* @import url('1/bad.css') bad; */
adjacent2 foo { background: red url(/red.gif); }
adjacent2 bar { background: url('green.gif') }
@import '../input.css';
tv foo { background: red url(/red.gif); }
tv bar { background: url('green.gif') }
}
input.test bar { background: url('../lib/img/green.gif') }
input foo { background: red url(/red.gif); }
input bar { background: url('../green.gif') }

View File

@@ -0,0 +1 @@
input.test bar { background: url('../img/green.gif') }

View File

@@ -0,0 +1,66 @@
/*! is.js
(c) 2001 Douglas Crockford
2001 June 3
*/
// is
// The -is- object is used to identify the browser. Every browser edition
// identifies itself, but there is no standard way of doing it, and some of
// the identification is deceptive. This is because the authors of web
// browsers are liars. For example, Microsoft's IE browsers claim to be
// Mozilla 4. Netscape 6 claims to be version 5.
var is = {
ie: navigator.appName == 'Microsoft Internet Explorer',
java: navigator.javaEnabled(),
ns: navigator.appName == 'Netscape',
ua: navigator.userAgent.toLowerCase(),
version: parseFloat(navigator.appVersion.substr(21)) ||
parseFloat(navigator.appVersion),
win: navigator.platform == 'Win32'
}
/*!*
* preserve this comment, too
*/
is.mac = is.ua.indexOf('mac') >= 0;
if (is.ua.indexOf('opera') >= 0) {
is.ie = is.ns = false;
is.opera = true;
}
if (is.ua.indexOf('gecko') >= 0) {
is.ie = is.ns = false;
is.gecko = true;
}
/*@cc_on
/*@if (@_win32)
if (is.ie && is.win)
document.write("PASS: IE/win honored conditional comment.<br>");
@else @*/
if (is.ie && is.win)
document.write("FAIL: IE/win did not honor multi-line conditional comment.<br>");
else
document.write("PASS: Non-IE/win browser ignores multi-line conditional comment.<br>");
/*@end
@*/
var recognizesCondComm = true;
//@cc_on/*
recognizesCondComm = false;
//@cc_on*/
if ((is.ie && is.win) == recognizesCondComm)
document.write("PASS: IE/win honored single-line conditional comment.<br>");
else
document.write("FAIL: Non-IE/win browser did not ignore single-line conditional comment.<br>");
// hello
//@cc_on/*
// world
//@cc_on*/
//@cc_on/*
'hello';
/*!* preserved */
/*!* preserved */

27
tests/_test_files/js/before.min.js vendored Normal file
View File

@@ -0,0 +1,27 @@
/*! is.js
(c) 2001 Douglas Crockford
2001 June 3
*/
var is={ie:navigator.appName=='Microsoft Internet Explorer',java:navigator.javaEnabled(),ns:navigator.appName=='Netscape',ua:navigator.userAgent.toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),win:navigator.platform=='Win32'}
/*!*
* preserve this comment, too
*/
is.mac=is.ua.indexOf('mac')>=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;}
if(is.ua.indexOf('gecko')>=0){is.ie=is.ns=false;is.gecko=true;}/*@cc_on
/*@if (@_win32)
if (is.ie && is.win)
document.write("PASS: IE/win honored conditional comment.<br>");
@else @*/if(is.ie&&is.win)
document.write("FAIL: IE/win did not honor multi-line conditional comment.<br>");else
document.write("PASS: Non-IE/win browser ignores multi-line conditional comment.<br>");/*@end
@*/var recognizesCondComm=true;//@cc_on/*
recognizesCondComm=false;//@cc_on*/
if((is.ie&&is.win)==recognizesCondComm)
document.write("PASS: IE/win honored single-line conditional comment.<br>");else
document.write("FAIL: Non-IE/win browser did not ignore single-line conditional comment.<br>");//@cc_on/*
//@cc_on*/
//@cc_on/*
'hello';
/*!* preserved */
/*!* preserved */

View File

@@ -0,0 +1,22 @@
/* is.js
(c) 2001 Douglas Crockford
2001 June 3
*/
var is={ie:navigator.appName=='Microsoft Internet Explorer',java:navigator.javaEnabled(),ns:navigator.appName=='Netscape',ua:navigator.userAgent.toLowerCase(),version:parseFloat(navigator.appVersion.substr(21))||parseFloat(navigator.appVersion),win:navigator.platform=='Win32'}
/**
* preserve this comment, too
*/
is.mac=is.ua.indexOf('mac')>=0;if(is.ua.indexOf('opera')>=0){is.ie=is.ns=false;is.opera=true;}
if(is.ua.indexOf('gecko')>=0){is.ie=is.ns=false;is.gecko=true;}/*@cc_on
/*@if (@_win32)
if (is.ie && is.win)
document.write("PASS: IE/win honored conditional comment.<br>");
@else @*/if(is.ie&&is.win)
document.write("FAIL: IE/win did not honor multi-line conditional comment.<br>");else
document.write("PASS: Non-IE/win browser ignores multi-line conditional comment.<br>");/*@end
@*/var recognizesCondComm=true;//@cc_on/*
recognizesCondComm=false;//@cc_on*/
if((is.ie&&is.win)==recognizesCondComm)
document.write("PASS: IE/win honored single-line conditional comment.<br>");else
document.write("FAIL: Non-IE/win browser did not ignore single-line conditional comment.<br>");

View File

@@ -0,0 +1,14 @@
var isWin;
/*@cc_on
@if (@_win32)
isWin = true;
@else @*/ isWin = false;
/*@end
@*/
isWin = /*@cc_on!*/!1;
var recognizesCondComm = true;
//@cc_on/*
recognizesCondComm = false;
//@cc_on*/

View File

@@ -0,0 +1,13 @@
var isWin;
/*@cc_on
@if (@_win32)
isWin = true;
@else @*/
isWin = false;
/*@end
@*/
var recognizesCondComm = true;
//@cc_on/*
recognizesCondComm = false;
//@cc_on*/

View File

@@ -0,0 +1,7 @@
// from jQuery tablesorter
ts.addParser({
id: "currency",
is: function(s) {
return /^[£$€?.]/.test(s);
},
});

1
tests/_test_files/js/issue132.min.js vendored Normal file
View File

@@ -0,0 +1 @@
ts.addParser({id:"currency",is:function(s){return /^[£$€?.]/.test(s);},});

3
tests/_test_files/js/issue141.min.js vendored Normal file
View File

@@ -0,0 +1,3 @@
// The MinApp controller should cause this file to not be minified
// since the basename of the filepath matches the default noMinPattern

View File

@@ -0,0 +1,9 @@
a / ++b;
a * --b;
a++ - b;
a + --b;
a - ++b;
a + -b;
a + ++b;
a + --b;
a - --b;

1
tests/_test_files/js/issue144.min.js vendored Normal file
View File

@@ -0,0 +1 @@
a/++b;a*--b;a++-b;a+--b;a-++b;a+-b;a+ ++b;a+--b;a- --b;

View File

@@ -0,0 +1,3 @@
!function(){}(window)
!function(){}(window)

2
tests/_test_files/js/issue256.min.js vendored Normal file
View File

@@ -0,0 +1,2 @@
!function(){}(window)
!function(){}(window)

3408
tests/_test_files/js/jquery-1.2.3.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
function testIssue74() {
return /'/;
}
!function(s) {
return /^[£$€?.]/.test(s);
}();
typeof
/ ' /;
x = / [/] /;
1
/ foo;
(2)
/ foo;
function(){return/foo/};
function(){return typeof/foo/};

2
tests/_test_files/js/regexes.min.js vendored Normal file
View File

@@ -0,0 +1,2 @@
function testIssue74(){return/'/;}
!function(s){return/^[£$€?.]/.test(s);}();typeof/ ' /;x=/ [/] /;1/foo;(2)/foo;function(){return/foo/};function(){return typeof/foo/};

View File

@@ -0,0 +1,168 @@
var MrClay = window.MrClay || {};
/**
* Simplified access to/manipulation of the query string
*
* Based on: http://adamv.com/dev/javascript/files/querystring.js
* Design pattern: http://www.litotes.demon.co.uk/js_info/private_static.html#wConst
*/
MrClay.QueryString = function(){
/**
* @static
* @private
*/
var parse = function(str) {
var assignments = str.split('&')
,obj = {}
,propValue;
for (var i = 0, l = assignments.length; i < l; ++i) {
propValue = assignments[i].split('=');
if (propValue.length > 2
|| -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;
};
/**
* Constructor (MrClay.QueryString becomes this)
*
* @param mixed A window object, a query string, or empty (default current window)
*/
function construct_(spec) {
spec = spec || window;
if (typeof spec == 'object') {
// get querystring from window
this.window = spec;
spec = spec.location.search.substr(1);
} else {
this.window = window;
}
this.vars = parse(spec);
}
/**
* Reload the window
*
* @static
* @public
* @param object vars Specify querystring vars only if you wish to replace them
* @param object window_ window to be reloaded (current window by default)
*/
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);
}
};
/**
* Get the value of a querystring var
*
* @static
* @public
* @param string key
* @param mixed default_ value to return if key not found
* @param object window_ window to check (current window by default)
* @return mixed
*/
construct_.get = function(key, default_, window_) {
window_ = window_ || window;
return (new MrClay.QueryString(window_)).get(key, default_);
};
/**
* Reload the page setting one or multiple querystring vars
*
* @static
* @public
* @param mixed key object of query vars/values, or a string key for a single
* assignment
* @param mixed null for multiple settings, the value to assign for single
* @param object window_ window to reload (current window by default)
*/
construct_.set = function(key, value, window_) {
window_ = window_ || window;
(new MrClay.QueryString(window_)).set(key, value).reload();
};
/**
* Convert an object of query vars/values to a querystring
*
* @static
* @public
* @param object query vars/values
* @return string
*/
construct_.toString = function(vars) {
var pieces = [];
for (var prop in vars) {
pieces.push(escape(prop) + '=' + escape(vars[prop]));
}
return pieces.join('&');
};
/**
* @public
*/
construct_.prototype.reload = function() {
MrClay.QueryString.reload(this.vars, this.window);
return this;
};
/**
* @public
*/
construct_.prototype.get = function(key, default_) {
if (typeof default_ == 'undefined') {
default_ = null;
}
return (this.vars[key] == null)
? default_
: this.vars[key];
};
/**
* @public
*/
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;
};
/**
* @public
*/
construct_.prototype.toString = function() {
return QueryString.toString(this.vars);
};
return construct_;
}(); // define and execute

View File

@@ -0,0 +1,24 @@
// http://mrclay.org/
(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++]) {
// require phrase in href property
if (m = l.href.match(reMailto)) {
l.href = 'mailto:' + m[1] + '@' + m[2];
if (reRemoveTitleIf.test(l.title)) {
l.title = '';
}
}
}
};
// end var
window.onload = function() {
oo && oo();
fixHrefs();
};
})();

View File

@@ -0,0 +1,6 @@
/*
* This file is to intentionally throw a JSMin exception
*/
function HelloWorld() {
return /regexp;
}

View File

@@ -0,0 +1,2 @@
// end in comment

View File

@@ -0,0 +1,3 @@
function h() {
}

View File

@@ -0,0 +1,7 @@
/* this { is a } comment */
@import "/1.css";
selector {
property: value;
}

View File

@@ -0,0 +1,7 @@
/* this { is a } comment */
@import "/2.css";
selector2 {
property: value;
}

View File

@@ -0,0 +1 @@
@import "/1.css";@import "/2.css";selector{property:value}selector2{property:value}

View File

@@ -0,0 +1,10 @@
// sections from Prototype 1.6.1
var xpath = ".//*[local-name()='ul' or local-name()='UL']" +
"//*[local-name()='li' or local-name()='LI']";
this.matcher = ['.//*'];
xpath = {
descendant: "//*",
child: "/*",
f: 0
};
document._getElementsByXPath('.//*' + cond, element);

View File

@@ -0,0 +1,72 @@
/* before.js */
/* 1 */ /*! is.js
/* 2 *|
/* 3 *| (c) 2001 Douglas Crockford
/* 4 *| 2001 June 3
/* 5 *| */
/* 6 */
/* 7 */ // is
/* 8 */
/* 9 */ // The -is- object is used to identify the browser. Every browser edition
/* 10 */ // identifies itself, but there is no standard way of doing it, and some of
/* 11 */ // the identification is deceptive. This is because the authors of web
/* 12 */ // browsers are liars. For example, Microsoft's IE browsers claim to be
/* 13 */ // Mozilla 4. Netscape 6 claims to be version 5.
/* 14 */
/* 15 */ var is = {
/* 16 */ ie: navigator.appName == 'Microsoft Internet Explorer',
/* 17 */ java: navigator.javaEnabled(),
/* 18 */ ns: navigator.appName == 'Netscape',
/* 19 */ ua: navigator.userAgent.toLowerCase(),
/* 20 */ version: parseFloat(navigator.appVersion.substr(21)) ||
/* 21 */ parseFloat(navigator.appVersion),
/* 22 */ win: navigator.platform == 'Win32'
/* 23 */ }
/* 24 */ /*!*
/* 25 *| * preserve this comment, too
/* 26 *| */
/* 27 */ is.mac = is.ua.indexOf('mac') >= 0;
/* 28 */ if (is.ua.indexOf('opera') >= 0) {
/* 29 */ is.ie = is.ns = false;
/* 30 */ is.opera = true;
/* 31 */ }
/* 32 */ if (is.ua.indexOf('gecko') >= 0) {
/* 33 */ is.ie = is.ns = false;
/* 34 */ is.gecko = true;
/* 35 */ }
/* 36 */
/* 37 */ /*@cc_on
/* 38 *| /*@if (@_win32)
/* 39 *| if (is.ie && is.win)
/* 40 *| document.write("PASS: IE/win honored conditional comment.<br>");
/* 41 *| @else @*/
/* 42 */ if (is.ie && is.win)
/* 43 */ document.write("FAIL: IE/win did not honor multi-line conditional comment.<br>");
/* 44 */ else
/* 45 */ document.write("PASS: Non-IE/win browser ignores multi-line conditional comment.<br>");
/* 46 */ /*@end
/* 47 *| @*/
/* 48 */
/* 49 */ var recognizesCondComm = true;
/* 50 */ //@cc_on/*
/* before.js */
/* 51 */ recognizesCondComm = false;
/* 52 */ //@cc_on*/
/* 53 */
/* 54 */ if ((is.ie && is.win) == recognizesCondComm)
/* 55 */ document.write("PASS: IE/win honored single-line conditional comment.<br>");
/* 56 */ else
/* 57 */ document.write("FAIL: Non-IE/win browser did not ignore single-line conditional comment.<br>");
/* 58 */
/* 59 */ // hello
/* 60 */ //@cc_on/*
/* 61 */ // world
/* 62 */ //@cc_on*/
/* 63 */ //@cc_on/*
/* 64 */ 'hello';
/* 65 */ /*!* preserved */
/* 66 */ /*!* preserved */

View File

@@ -0,0 +1,2 @@
@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}

View File

@@ -0,0 +1,12 @@
(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;i<l;++i){propValue=assignments[i].split('=');if(propValue.length>2||-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_;}();