yuicssmin 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +7 -0
- data/CHANGES.md +4 -0
- data/README.md +5 -1
- data/lib/yuicssmin/version.rb +1 -1
- data/spec/tests/background-position.css +2 -0
- data/spec/tests/background-position.css.min +1 -0
- data/spec/tests/border-none.css +5 -0
- data/spec/tests/border-none.css.min +1 -0
- data/spec/tests/box-model-hack.css +9 -0
- data/spec/tests/box-model-hack.css.min +1 -0
- data/spec/tests/bug2527974.css +10 -0
- data/spec/tests/bug2527974.css.min +1 -0
- data/spec/tests/bug2527991.css +19 -0
- data/spec/tests/bug2527991.css.min +1 -0
- data/spec/tests/bug2527998.css +4 -0
- data/spec/tests/bug2527998.css.min +1 -0
- data/spec/tests/bug2528034.css +5 -0
- data/spec/tests/bug2528034.css.min +1 -0
- data/spec/tests/charset-media.css +9 -0
- data/spec/tests/charset-media.css.min +1 -0
- data/spec/tests/color-simple.css +8 -0
- data/spec/tests/color-simple.css.min +1 -0
- data/spec/tests/color.css +46 -0
- data/spec/tests/color.css.min +1 -0
- data/spec/tests/comment.css +3 -0
- data/spec/tests/comment.css.min +1 -0
- data/spec/tests/concat-charset.css +15 -0
- data/spec/tests/concat-charset.css.min +1 -0
- data/spec/tests/dataurl-base64-doublequotes.css +23 -0
- data/spec/tests/dataurl-base64-doublequotes.css.min +1 -0
- data/spec/tests/dataurl-base64-eof.css +10 -0
- data/spec/tests/dataurl-base64-eof.css.min +1 -0
- data/spec/tests/dataurl-base64-linebreakindata.css +34 -0
- data/spec/tests/dataurl-base64-linebreakindata.css.min +1 -0
- data/spec/tests/dataurl-base64-noquotes.css +26 -0
- data/spec/tests/dataurl-base64-noquotes.css.min +1 -0
- data/spec/tests/dataurl-base64-singlequotes.css +23 -0
- data/spec/tests/dataurl-base64-singlequotes.css.min +1 -0
- data/spec/tests/dataurl-base64-twourls.css +27 -0
- data/spec/tests/dataurl-base64-twourls.css.min +1 -0
- data/spec/tests/dataurl-dbquote-font.css +30 -0
- data/spec/tests/dataurl-dbquote-font.css.min +5 -0
- data/spec/tests/dataurl-nonbase64-doublequotes.css +13 -0
- data/spec/tests/dataurl-nonbase64-doublequotes.css.min +1 -0
- data/spec/tests/dataurl-nonbase64-noquotes.css +11 -0
- data/spec/tests/dataurl-nonbase64-noquotes.css.min +1 -0
- data/spec/tests/dataurl-nonbase64-singlequotes.css +15 -0
- data/spec/tests/dataurl-nonbase64-singlequotes.css.min +2 -0
- data/spec/tests/dataurl-noquote-multiline-font.css +31 -0
- data/spec/tests/dataurl-noquote-multiline-font.css.min +3 -0
- data/spec/tests/dataurl-realdata-doublequotes.css +90 -0
- data/spec/tests/dataurl-realdata-doublequotes.css.min +1 -0
- data/spec/tests/dataurl-realdata-noquotes.css +90 -0
- data/spec/tests/dataurl-realdata-noquotes.css.min +1 -0
- data/spec/tests/dataurl-realdata-singlequotes.css +90 -0
- data/spec/tests/dataurl-realdata-singlequotes.css.min +1 -0
- data/spec/tests/dataurl-realdata-yuiapp.css +106 -0
- data/spec/tests/dataurl-realdata-yuiapp.css.min +1 -0
- data/spec/tests/dataurl-singlequote-font.css +30 -0
- data/spec/tests/dataurl-singlequote-font.css.min +3 -0
- data/spec/tests/decimals.css +3 -0
- data/spec/tests/decimals.css.min +1 -0
- data/spec/tests/dollar-header.css +7 -0
- data/spec/tests/dollar-header.css.min +3 -0
- data/spec/tests/font-face.css +6 -0
- data/spec/tests/font-face.css.min +1 -0
- data/spec/tests/ie5mac.css +5 -0
- data/spec/tests/ie5mac.css.min +1 -0
- data/spec/tests/media-empty-class.css +16 -0
- data/spec/tests/media-empty-class.css.min +1 -0
- data/spec/tests/media-multi.css +3 -0
- data/spec/tests/media-multi.css.min +1 -0
- data/spec/tests/media-test.css +3 -0
- data/spec/tests/media-test.css.min +1 -0
- data/spec/tests/opacity-filter.css +14 -0
- data/spec/tests/opacity-filter.css.min +1 -0
- data/spec/tests/preserve-case.css +15 -0
- data/spec/tests/preserve-case.css.min +1 -0
- data/spec/tests/preserve-new-line.css +6 -0
- data/spec/tests/preserve-new-line.css.min +3 -0
- data/spec/tests/preserve-strings.css +7 -0
- data/spec/tests/preserve-strings.css.min +1 -0
- data/spec/tests/pseudo-first.css +16 -0
- data/spec/tests/pseudo-first.css.min +1 -0
- data/spec/tests/pseudo.css +4 -0
- data/spec/tests/pseudo.css.min +1 -0
- data/spec/tests/special-comments.css +13 -0
- data/spec/tests/special-comments.css.min +9 -0
- data/spec/tests/star-underscore-hacks.css +5 -0
- data/spec/tests/star-underscore-hacks.css.min +1 -0
- data/spec/tests/string-in-comment.css +8 -0
- data/spec/tests/string-in-comment.css.min +1 -0
- data/spec/tests/webkit-transform.css +2 -0
- data/spec/tests/webkit-transform.css.min +1 -0
- data/spec/tests/zeros.css +6 -0
- data/spec/tests/zeros.css.min +1 -0
- data/spec/yuicssmin_spec.rb +28 -32
- data/yuicssmin.gemspec +3 -2
- metadata +199 -13
@@ -0,0 +1 @@
|
|
1
|
+
html{background:#fff;color:#555;height:100%}#hd,#bd,#ft{padding:0 50px}#bd{padding-bottom:50px;border-bottom:1px solid #006e9c}#ft{background:transparent no-repeat 0 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAeCAMAAAC/pnaKAAAAwFBMVEUkXIAoYYQoYYQoYYQyao02bpE6cpQ6cpREe51LgqNUiqtUiqtUiqtZj7BckrNlmrtlmrtlmrtroMB3qsp3qsp3qsp+sdCHudiHudiHudiHudiPwN+YyOaYyOaYyOaf0O2g0O6n1vOn1vOn1vOn1vOw3vu45f245f245f3B7f7K9f7K9f7K9f7X/v7X/v7p//7p//79//79//4AAABhAGMAbwBzAC4AcwB0AHIAaQBuAGcAcwABAAAAwIwmGwEAAABQQKFUAAAAQHRSTlP///////////////////////////////////////////////////////////////////8A////////////////0pfSbwAAAdtJREFUOI2NlNGqgzAMhv/ClDlQQcFdKOx4McFCKcH3f7eTtLWr07mFiUvbzz9Nk2LZGRH5937qZTiGyEx0Cr5xQpEd6xzNueCGc9SzUmAzP8cplO1zgRRutBAlM9EhZwknWj1LKXkwbOVojTqMEpKZOfeUD3OnR24VWeJf1OOBTnTgw8zZr3LyOlbdrWrdGlpG6Alz4Ni3RcT4Ldm8wHpOo9Yo5CPsdngM6D3HmLlESrgHD+YvrtEuUeLeMf7x7j23GJVgbJoHs0/cI3B7TNkfON5btsEUrvSdY694U0P9nXMp2mDsdbLmY14CN8XDjtzgo9CuqpYnGoMscDUmn08qsbOn/3Lte6rgP1eM7qQ1YMP+yPhiTmx2laDQspytgJI1MbIzZ7yHfj2/hYYtZ1xMM4dc3iTukjgJyKsrUBEH4uqFXNUh3aXxtWjbC3DpH8LRVPJ8MXLoA8fsz51ue73Q+1z7RkTEF0dWa1o5a8001C6ZbGuzh0bSTo9iS8X+C/NWbfTW5uZ9Vu4QaL20Xv3uhgyrZUXVtI2NfS3fbzgP75dNek/YbrL+k/EykecuZf6ZOzDJYsf9PCV3xhFHq7043mw+H1ylW+5Ab5jpADuPM2Z1P3POLWnUG/sHnIDsqkOjlqoAAAAASUVORK5CYII=);padding:0 0 40px 0;margin:50px}#hd,#bd{background:#f9f9f9}body{margin:0;padding:0;font:12px "Helvetica Nueue",Arial,sans-serif}#hd{color:#fff;padding-top:50px;margin:0}#hd,h1,h2,p,.color{margin:auto}h1,h2,a{color:#006e9c}h1,h2{margin-top:0}h4 .title{font-weight:bold;letter-spacing:-2px;font-size:47px;text-shadow:0 1px 0 #369;background:#006e9d;color:#fff;padding:0 10px}h4{display:block;float:right;margin:0 0 0 20px}h4 .what{display:block;padding:4px;text-align:center;font-weight:normal}h4 .version{font-size:11px;color:#ccc}h2{font-size:40px;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:300}h4,p{padding:6px 0 6px}#ft p.fine,#ft p.fine a{color:#999}#ft p.intro{font-size:12px}#bd{font-size:14px;color:#666}#ft p{font-size:11px}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/*csslint fontfamily: true*/
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Foo
|
5
|
+
*/
|
6
|
+
|
7
|
+
.y-ff-1 {
|
8
|
+
font-family:"Foo Bar",Helvetica,Arial;
|
9
|
+
text-rendering: optimizeLegibility;
|
10
|
+
}
|
11
|
+
|
12
|
+
.ua-op .y-ff-1 {
|
13
|
+
/* Some Comment */
|
14
|
+
font-family:Helvetica,Arial;
|
15
|
+
}
|
16
|
+
|
17
|
+
/*
|
18
|
+
Foo
|
19
|
+
|
20
|
+
Bar
|
21
|
+
*/
|
22
|
+
|
23
|
+
@font-face {
|
24
|
+
font-family: "Foo Bar";
|
25
|
+
src: url('data:font/truetype;base64,gRbIUFAIrsQNGditEWbAUKwAA') format("truetype"),
|
26
|
+
url("http://yuilibrary.com/fonts/foo-bar.svg#webfontse22fewwr") format("svg");
|
27
|
+
font-weight: normal;
|
28
|
+
font-style: normal;
|
29
|
+
}
|
30
|
+
|
@@ -0,0 +1,3 @@
|
|
1
|
+
.y-ff-1{font-family:"Foo Bar",Helvetica,Arial;text-rendering:optimizeLegibility}.ua-op .y-ff-1{font-family:Helvetica,Arial}@font-face{font-family:"Foo Bar";src:url('data:font/truetype;base64,gRbIUFAIrsQNGditEWbAUKwAA') format("truetype"),url("http://yuilibrary.com/fonts/foo-bar.svg#webfontse22fewwr") format("svg");font-weight:normal;font-style:normal}
|
2
|
+
|
3
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
::selection{margin:.6px .333pt 1.2em 8.8cm}
|
@@ -0,0 +1 @@
|
|
1
|
+
@font-face{font-family:'gzipper';src:url(yanone.eot);src:local('gzipper'),url(yanone.ttf) format('truetype')}
|
@@ -0,0 +1 @@
|
|
1
|
+
/*\*/.selector{color:khaki}/**/
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/*! preserved */
|
2
|
+
emptiness {}
|
3
|
+
|
4
|
+
@import "another.css";
|
5
|
+
/* I'm empty - delete me */
|
6
|
+
empty { ;}
|
7
|
+
|
8
|
+
@media print {
|
9
|
+
.noprint { display: none; }
|
10
|
+
}
|
11
|
+
|
12
|
+
@media screen {
|
13
|
+
/* this rule should be removed, not simply minified.*/
|
14
|
+
.breakme {}
|
15
|
+
.printonly { display: none; }
|
16
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
/*! preserved */@import "another.css";@media print{.noprint{display:none}}@media screen{.printonly{display:none}}
|
@@ -0,0 +1 @@
|
|
1
|
+
@media only all and (max-width:50em),only all and (max-device-width:800px),only all and (max-width:780px){some-css:here}
|
@@ -0,0 +1 @@
|
|
1
|
+
@media screen and (-webkit-min-device-pixel-ratio:0){some-css:here}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/* example from https://developer.mozilla.org/en/CSS/opacity */
|
2
|
+
pre { /* make the box translucent (80% opaque) */
|
3
|
+
border: solid red;
|
4
|
+
opacity: 0.8; /* Firefox, Safari(WebKit), Opera */
|
5
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; /* IE 8 */
|
6
|
+
filter: PROGID:DXImageTransform.Microsoft.Alpha(Opacity=80); /* IE 4-7 */
|
7
|
+
zoom: 1; /* set "zoom", "width" or "height" to trigger "hasLayout" in IE 7 and lower */
|
8
|
+
}
|
9
|
+
|
10
|
+
/** and again */
|
11
|
+
code {
|
12
|
+
-ms-filter: "PROGID:DXImageTransform.Microsoft.Alpha(Opacity=80)"; /* IE 8 */
|
13
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); /* IE 4-7 */
|
14
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
pre{border:solid red;opacity:.8;-ms-filter:"alpha(opacity=80)";filter:alpha(opacity=80);zoom:1}code{-ms-filter:"alpha(opacity=80)";filter:alpha(opacity=80)}
|
@@ -0,0 +1 @@
|
|
1
|
+
#AddAddressForm{padding:0}#AddAddressForm .messageBoxNeutral{padding:0}#FeedbackMailForm{padding:0}#FeedbackMailForm .classe{margin:0}.classes,#FeedBackMailForm{margin:0}
|
@@ -0,0 +1 @@
|
|
1
|
+
.sele{content:"\"keep \" me";something:'\\\' . . ';else:'empty{}';content:"/* test */"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/*
|
2
|
+
because of IE6 first-letter and first-line
|
3
|
+
must be followed by a space
|
4
|
+
http://reference.sitepoint.com/css/pseudoelement-firstletter
|
5
|
+
Thanks: P.Sorokin comment at http://www.phpied.com/cssmin-js/
|
6
|
+
*/
|
7
|
+
p:first-letter{
|
8
|
+
buh: hum;
|
9
|
+
}
|
10
|
+
p:first-line{
|
11
|
+
baa: 1;
|
12
|
+
}
|
13
|
+
|
14
|
+
p:first-line,a,p:first-letter,b{
|
15
|
+
color: red;
|
16
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
p:first-letter {buh:hum}p:first-line {baa:1}p:first-line ,a,p:first-letter ,b{color:red}
|
@@ -0,0 +1 @@
|
|
1
|
+
p :link{ba:zinga;foo:bar}
|
@@ -0,0 +1 @@
|
|
1
|
+
#elementarr{width:1px;*width:3pt;_width:2em}
|
@@ -0,0 +1 @@
|
|
1
|
+
a{a:1}/*!"preserve" me*/b{content:"/**/"}/*\*/c{c:3}/**/
|
@@ -0,0 +1 @@
|
|
1
|
+
c{-webkit-transform-origin:0 0}d{-moz-transform-origin:0 0}
|
@@ -0,0 +1 @@
|
|
1
|
+
a{margin:0;_padding-top:0;background-position:0 0;padding:0}
|
data/spec/yuicssmin_spec.rb
CHANGED
@@ -69,8 +69,7 @@ describe "Yuicssmin" do
|
|
69
69
|
font-weight: normal;
|
70
70
|
}
|
71
71
|
EOS
|
72
|
-
|
73
|
-
minified.should eq('.classname{font-weight:normal}')
|
72
|
+
Yuicssmin.compress(source).should eq('.classname{font-weight:normal}')
|
74
73
|
end
|
75
74
|
|
76
75
|
it "preserves special comments" do
|
@@ -83,13 +82,12 @@ describe "Yuicssmin" do
|
|
83
82
|
font-weight: normal;
|
84
83
|
}
|
85
84
|
EOS
|
86
|
-
minified = Yuicssmin.compress(source)
|
87
85
|
result = <<-EOS
|
88
86
|
/*!
|
89
87
|
(c) Very Important Comment
|
90
88
|
*/.classname{font-weight:normal}
|
91
89
|
EOS
|
92
|
-
(
|
90
|
+
(Yuicssmin.compress(source) + "\n").should eq(result)
|
93
91
|
end
|
94
92
|
|
95
93
|
it "removes last semi-colon in a block" do
|
@@ -99,8 +97,7 @@ describe "Yuicssmin" do
|
|
99
97
|
border-bottom: 2px;
|
100
98
|
}
|
101
99
|
EOS
|
102
|
-
|
103
|
-
minified.should eq('.classname{border-top:1px;border-bottom:2px}')
|
100
|
+
Yuicssmin.compress(source).should eq('.classname{border-top:1px;border-bottom:2px}')
|
104
101
|
end
|
105
102
|
|
106
103
|
it "removes extra semi-colons" do
|
@@ -110,8 +107,7 @@ describe "Yuicssmin" do
|
|
110
107
|
border-bottom: 2px;;;
|
111
108
|
}
|
112
109
|
EOS
|
113
|
-
|
114
|
-
minified.should eq('.classname{border-top:1px;border-bottom:2px}')
|
110
|
+
Yuicssmin.compress(source).should eq('.classname{border-top:1px;border-bottom:2px}')
|
115
111
|
end
|
116
112
|
|
117
113
|
it "removes empty declarations" do
|
@@ -119,8 +115,7 @@ describe "Yuicssmin" do
|
|
119
115
|
.empty { ;}
|
120
116
|
.nonempty {border: 0;}
|
121
117
|
EOS
|
122
|
-
|
123
|
-
minified.should eq('.nonempty{border:0}')
|
118
|
+
Yuicssmin.compress(source).should eq('.nonempty{border:0}')
|
124
119
|
end
|
125
120
|
|
126
121
|
it "simplifies zero values" do
|
@@ -131,8 +126,7 @@ describe "Yuicssmin" do
|
|
131
126
|
padding: 0in 0cm 0mm 0pc
|
132
127
|
}
|
133
128
|
EOS
|
134
|
-
|
135
|
-
minified.should eq('a{margin:0;background-position:0 0;padding:0}')
|
129
|
+
Yuicssmin.compress(source).should eq('a{margin:0;background-position:0 0;padding:0}')
|
136
130
|
end
|
137
131
|
|
138
132
|
it "removes leading zeros from floats" do
|
@@ -141,8 +135,7 @@ describe "Yuicssmin" do
|
|
141
135
|
margin: 0.6px 0.333pt 1.2em 8.8cm;
|
142
136
|
}
|
143
137
|
EOS
|
144
|
-
|
145
|
-
minified.should eq('.classname{margin:.6px .333pt 1.2em 8.8cm}')
|
138
|
+
Yuicssmin.compress(source).should eq('.classname{margin:.6px .333pt 1.2em 8.8cm}')
|
146
139
|
end
|
147
140
|
|
148
141
|
it "simplifies color values but preserves filter properties, RGBa values and ID strings" do
|
@@ -153,8 +146,7 @@ describe "Yuicssmin" do
|
|
153
146
|
background: none repeat scroll 0 0 rgb(255, 0,0);
|
154
147
|
}
|
155
148
|
EOS
|
156
|
-
|
157
|
-
minified.should eq('.color-me{color:#7b7b7b;border-color:#fed;background:none repeat scroll 0 0 #f00}')
|
149
|
+
Yuicssmin.compress(source).should eq('.color-me{color:#7b7b7b;border-color:#fed;background:none repeat scroll 0 0 #f00}')
|
158
150
|
|
159
151
|
source = <<-EOS
|
160
152
|
#AABBCC {
|
@@ -162,8 +154,7 @@ describe "Yuicssmin" do
|
|
162
154
|
filter: chroma(color="#FFFFFF");
|
163
155
|
}
|
164
156
|
EOS
|
165
|
-
|
166
|
-
minified.should eq('#AABBCC{color:rgba(1,2,3,4);filter:chroma(color="#FFFFFF")}')
|
157
|
+
Yuicssmin.compress(source).should eq('#AABBCC{color:rgba(1,2,3,4);filter:chroma(color="#FFFFFF")}')
|
167
158
|
end
|
168
159
|
|
169
160
|
it "only keeps the first charset declaration" do
|
@@ -179,8 +170,7 @@ describe "Yuicssmin" do
|
|
179
170
|
border-width: 10px;
|
180
171
|
}
|
181
172
|
EOS
|
182
|
-
|
183
|
-
minified.should eq('@charset "utf-8";#foo{border-width:1px}#bar{border-width:10px}')
|
173
|
+
Yuicssmin.compress(source).should eq('@charset "utf-8";#foo{border-width:1px}#bar{border-width:10px}')
|
184
174
|
end
|
185
175
|
|
186
176
|
it "simplifies the IE opacity filter syntax" do
|
@@ -190,8 +180,7 @@ describe "Yuicssmin" do
|
|
190
180
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); /* IE < 8 */
|
191
181
|
}
|
192
182
|
EOS
|
193
|
-
|
194
|
-
minified.should eq('.classname{-ms-filter:"alpha(opacity=80)";filter:alpha(opacity=80)}')
|
183
|
+
Yuicssmin.compress(source).should eq('.classname{-ms-filter:"alpha(opacity=80)";filter:alpha(opacity=80)}')
|
195
184
|
end
|
196
185
|
|
197
186
|
it "replaces 'none' values with 0 where allowed" do
|
@@ -202,8 +191,7 @@ describe "Yuicssmin" do
|
|
202
191
|
outline: none;
|
203
192
|
}
|
204
193
|
EOS
|
205
|
-
|
206
|
-
minified.should eq('.classname{border:0;background:0;outline:0}')
|
194
|
+
Yuicssmin.compress(source).should eq('.classname{border:0;background:0;outline:0}')
|
207
195
|
end
|
208
196
|
|
209
197
|
it "tolerates underscore/star hacks" do
|
@@ -214,8 +202,7 @@ describe "Yuicssmin" do
|
|
214
202
|
_width: 3px;
|
215
203
|
}
|
216
204
|
EOS
|
217
|
-
|
218
|
-
minified.should eq('#element{width:1px;*width:2px;_width:3px}')
|
205
|
+
Yuicssmin.compress(source).should eq('#element{width:1px;*width:2px;_width:3px}')
|
219
206
|
end
|
220
207
|
|
221
208
|
it "tolerates child selector hacks" do
|
@@ -224,8 +211,7 @@ describe "Yuicssmin" do
|
|
224
211
|
color: blue;
|
225
212
|
}
|
226
213
|
EOS
|
227
|
-
|
228
|
-
minified.should eq('html>/**/body p{color:blue}')
|
214
|
+
Yuicssmin.compress(source).should eq('html>/**/body p{color:blue}')
|
229
215
|
end
|
230
216
|
|
231
217
|
it "tolerates IE5/Mac hacks" do
|
@@ -236,8 +222,7 @@ describe "Yuicssmin" do
|
|
236
222
|
}
|
237
223
|
/* Stop ignoring in IE mac */
|
238
224
|
EOS
|
239
|
-
|
240
|
-
minified.should eq('/*\*/.selector{color:khaki}/**/')
|
225
|
+
Yuicssmin.compress(source).should eq('/*\*/.selector{color:khaki}/**/')
|
241
226
|
end
|
242
227
|
|
243
228
|
it "tolerates box model hacks" do
|
@@ -252,8 +237,19 @@ describe "Yuicssmin" do
|
|
252
237
|
width: 200px; /* others */
|
253
238
|
}
|
254
239
|
EOS
|
255
|
-
|
256
|
-
|
240
|
+
Yuicssmin.compress(source).should eq('#elem{width:100px;voice-family:"\"}\"";voice-family:inherit;width:200px}html>body #elem{width:200px}')
|
241
|
+
end
|
242
|
+
|
243
|
+
it "should pass all the original tests included in the YUI compressor package" do
|
244
|
+
puts "Now running original YUI compressor test files:"
|
245
|
+
|
246
|
+
files = Dir.glob(File.join(File.dirname(__FILE__), 'tests', '*.css'))
|
247
|
+
|
248
|
+
for file in files do
|
249
|
+
print " -- testing #{file} ..."
|
250
|
+
Yuicssmin.compress(File.read(file)).chomp.strip.should eq(File.read(file + '.min').chomp.strip)
|
251
|
+
print "successful\n"
|
252
|
+
end
|
257
253
|
end
|
258
254
|
|
259
255
|
end
|