psyho_juicer 1.0.0 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +11 -0
- data/History.txt +33 -0
- data/Readme.rdoc +16 -4
- data/VERSION +1 -1
- data/lib/juicer/asset/path.rb +6 -10
- data/lib/juicer/cache_buster.rb +53 -13
- data/lib/juicer/command/merge.rb +14 -6
- data/lib/juicer/css_cache_buster.rb +6 -4
- data/lib/juicer/dependency_resolver/css_dependency_resolver.rb +1 -1
- data/lib/juicer/image_embed.rb +18 -20
- data/lib/juicer/install/yui_compressor_installer.rb +2 -1
- data/lib/juicer/merger/stylesheet_merger.rb +5 -5
- data/lib/juicer/minifyer/closure_compiler.rb +1 -1
- data/lib/juicer.rb +1 -1
- data/lib/psyho_juicer.rb +1 -0
- data/test/data/Changelog.txt +10 -0
- data/test/data/a.css +3 -0
- data/test/data/a.js +5 -0
- data/test/data/a1.css +5 -0
- data/test/data/b.css +1 -0
- data/test/data/b.js +5 -0
- data/test/data/b1.css +5 -0
- data/test/data/b2.css +5 -0
- data/test/data/c1.css +3 -0
- data/test/data/css/2.gif +1 -0
- data/test/data/css/test.css +15 -0
- data/test/data/css/test2.css +1 -0
- data/test/data/css/test3.css +12 -0
- data/test/data/d1.css +3 -0
- data/test/data/images/1.png +1 -0
- data/test/data/my_app.js +2 -0
- data/test/data/not-ok.js +2 -0
- data/test/data/ok.js +3 -0
- data/test/data/path_test.css +5 -0
- data/test/data/path_test2.css +14 -0
- data/test/data/pkg/module/moda.js +2 -0
- data/test/data/pkg/module/modb.js +3 -0
- data/test/data/pkg/pkg.js +1 -0
- data/test/fixtures/git-tracked-file.txt +1 -0
- data/test/fixtures/yui-download.html +103 -243
- data/test/test_helper.rb +27 -1
- data/test/unit/juicer/asset/path_test.rb +7 -1
- data/test/unit/juicer/cache_buster_test.rb +95 -5
- data/test/unit/juicer/command/util_test.rb +1 -1
- data/test/unit/juicer/css_cache_buster_test.rb +127 -32
- data/test/unit/juicer/image_embed_test.rb +35 -0
- data/test/unit/juicer/merger/stylesheet_merger_test.rb +175 -109
- data/test/unit/juicer/minifyer/closure_compressor_test.rb +3 -3
- metadata +68 -21
@@ -1,7 +1,6 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
3
|
class TestStylesheetMerger < Test::Unit::TestCase
|
4
|
-
|
5
4
|
def setup
|
6
5
|
@file_merger = Juicer::Merger::StylesheetMerger.new
|
7
6
|
Juicer::Test::FileSetup.new.create
|
@@ -15,34 +14,41 @@ class TestStylesheetMerger < Test::Unit::TestCase
|
|
15
14
|
Dir.chdir(@cwd)
|
16
15
|
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
17
|
+
context "stylesheet merger" do
|
18
|
+
should "keep reference to css dependency resolver" do
|
19
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
20
|
+
resolver = @file_merger.dependency_resolver
|
23
21
|
|
24
|
-
|
25
|
-
|
26
|
-
a_content = "\n\n/* Dette er a.css */\n"
|
27
|
-
content = @file_merger.merge(path('a.css'))
|
28
|
-
assert_equal a_content + "\n", content
|
22
|
+
assert_equal Juicer::CssDependencyResolver, resolver.class
|
23
|
+
end
|
29
24
|
end
|
30
|
-
end
|
31
25
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
26
|
+
should "merge single file" do
|
27
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
28
|
+
a_content = "\n\n/* Dette er a.css */\n"
|
29
|
+
content = @file_merger.merge(path('a.css'))
|
30
|
+
|
31
|
+
assert_equal a_content + "\n", content
|
32
|
+
end
|
33
|
+
end
|
36
34
|
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
should "recognize all files" do
|
36
|
+
file_merger = Juicer::Merger::StylesheetMerger.new(path('a.css'))
|
37
|
+
|
38
|
+
assert_equal 2, file_merger.files.length
|
39
|
+
end
|
40
|
+
|
41
|
+
should "not append existing file" do
|
42
|
+
@file_merger << path('a.css')
|
43
|
+
assert_equal 2, @file_merger.files.length
|
44
|
+
end
|
40
45
|
end
|
41
46
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
47
|
+
context "saving files" do
|
48
|
+
should "merge files and strip @includes" do
|
49
|
+
a_css = path('a.css')
|
50
|
+
b_css = path('b.css')
|
51
|
+
merged = <<EOF
|
46
52
|
/* Dette er b.css */
|
47
53
|
|
48
54
|
|
@@ -51,130 +57,190 @@ class TestStylesheetMerger < Test::Unit::TestCase
|
|
51
57
|
|
52
58
|
EOF
|
53
59
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
60
|
+
@file_merger << a_css
|
61
|
+
ios = StringIO.new
|
62
|
+
@file_merger.save(ios)
|
63
|
+
assert_equal merged, ios.string
|
58
64
|
|
59
|
-
|
60
|
-
|
65
|
+
output_file = path('test_out.css')
|
66
|
+
@file_merger.save(output_file)
|
61
67
|
|
62
|
-
|
63
|
-
|
68
|
+
assert_equal merged, IO.read(output_file)
|
69
|
+
end
|
64
70
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
71
|
+
should "strip @includes for quoted urls" do
|
72
|
+
css = path('b2.css')
|
73
|
+
|
74
|
+
merged = <<EOF
|
75
|
+
h2 {
|
76
|
+
font-size: 10px;
|
77
|
+
}
|
70
78
|
|
71
|
-
assert_equal "a1.css::css/2.gif::images/1.png", files.join("::")
|
72
|
-
end
|
73
79
|
|
74
|
-
def test_resolve_path_should_leave_absolute_urls
|
75
|
-
merger = Juicer::Merger::StylesheetMerger.new
|
76
|
-
url = "/some/url"
|
77
80
|
|
78
|
-
|
79
|
-
|
81
|
+
html {
|
82
|
+
background: red;
|
83
|
+
}
|
84
|
+
|
85
|
+
EOF
|
86
|
+
|
87
|
+
@file_merger << css
|
88
|
+
ios = StringIO.new
|
89
|
+
@file_merger.save(ios)
|
90
|
+
assert_equal merged, ios.string
|
80
91
|
end
|
81
92
|
end
|
82
93
|
|
83
|
-
|
84
|
-
|
94
|
+
context "resolving paths" do
|
95
|
+
should "re-reference relative paths" do
|
96
|
+
@file_merger << path("path_test.css")
|
97
|
+
ios = StringIO.new
|
98
|
+
@file_merger.save(ios)
|
99
|
+
files = ios.string.scan(/url\(([^\)]*)\)/).collect { |f| f.first }.uniq.sort
|
100
|
+
|
101
|
+
assert_equal "a1.css::css/2.gif::images/1.png", files.join("::")
|
102
|
+
end
|
85
103
|
|
86
|
-
|
87
|
-
|
88
|
-
|
104
|
+
should "not touch absolute urls" do
|
105
|
+
merger = Juicer::Merger::StylesheetMerger.new
|
106
|
+
url = "/some/url"
|
107
|
+
|
108
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
109
|
+
assert_equal url, merger.resolve_path(url, nil)
|
89
110
|
end
|
90
111
|
end
|
91
|
-
end
|
92
112
|
|
93
|
-
|
94
|
-
|
113
|
+
should "raise when mapping absolute to relative path without document root" do
|
114
|
+
merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true
|
95
115
|
|
96
|
-
|
97
|
-
|
98
|
-
|
116
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
117
|
+
assert_raise ArgumentError do
|
118
|
+
merger.resolve_path("/some/url", nil)
|
119
|
+
end
|
120
|
+
end
|
99
121
|
end
|
100
|
-
end
|
101
122
|
|
102
|
-
|
103
|
-
|
104
|
-
|
123
|
+
should "make absolute urls relative" do
|
124
|
+
merger = Juicer::Merger::StylesheetMerger.new([],
|
125
|
+
:relative_urls => true,
|
126
|
+
:document_root => "/home/usr")
|
127
|
+
|
128
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
129
|
+
merger.instance_eval { @root = Pathname.new "/home/usr/design" }
|
130
|
+
|
131
|
+
assert_equal "../some/url", merger.resolve_path("/some/url", nil)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
should "should leave full urls" do
|
136
|
+
merger = Juicer::Merger::StylesheetMerger.new []
|
137
|
+
url = "http://test.com"
|
138
|
+
|
139
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
140
|
+
merger.instance_eval { @root = Pathname.new "/home/usr/design" }
|
105
141
|
|
106
|
-
|
107
|
-
|
108
|
-
assert_equal url, merger.resolve_path(url, nil)
|
142
|
+
assert_equal url, merger.resolve_path(url, nil)
|
143
|
+
end
|
109
144
|
end
|
110
|
-
end
|
111
145
|
|
112
|
-
|
113
|
-
|
146
|
+
should "error when missing document root for absolute urls" do
|
147
|
+
merger = Juicer::Merger::StylesheetMerger.new [], :absolute_urls => true
|
114
148
|
|
115
|
-
|
116
|
-
|
117
|
-
|
149
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
150
|
+
assert_raise ArgumentError do
|
151
|
+
merger.resolve_path("../some/url", nil)
|
152
|
+
end
|
118
153
|
end
|
119
154
|
end
|
120
|
-
end
|
121
155
|
|
122
|
-
|
123
|
-
|
156
|
+
should "make relative urls absolute" do
|
157
|
+
merger = Juicer::Merger::StylesheetMerger.new([],
|
158
|
+
:absolute_urls => true,
|
159
|
+
:document_root => "/home/usr")
|
124
160
|
|
125
|
-
|
126
|
-
|
127
|
-
|
161
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
162
|
+
merger.instance_eval { @root = Pathname.new "/home/usr/design" }
|
163
|
+
assert_equal "/design/images/1.png", merger.resolve_path("../images/1.png", "/home/usr/design/css")
|
164
|
+
end
|
128
165
|
end
|
129
|
-
end
|
130
166
|
|
131
|
-
|
132
|
-
|
167
|
+
should "redefine relative urls" do
|
168
|
+
merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true
|
133
169
|
|
134
|
-
|
135
|
-
|
136
|
-
|
170
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
171
|
+
merger.instance_eval { @root = Pathname.new "/home/usr/design2/css" }
|
172
|
+
assert_equal "../../design/images/1.png", merger.resolve_path("../images/1.png", "/home/usr/design/css")
|
173
|
+
end
|
137
174
|
end
|
138
|
-
end
|
139
175
|
|
140
|
-
|
141
|
-
|
176
|
+
should "redefine absolute urls" do
|
177
|
+
merger = Juicer::Merger::StylesheetMerger.new([],
|
178
|
+
:relative_urls => true,
|
179
|
+
:document_root => "/home/usr")
|
180
|
+
|
181
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
182
|
+
merger.instance_eval { @root = Pathname.new "/home/usr/design2/css" }
|
183
|
+
result = merger.resolve_path("/images/1.png", "/home/usr/design/css")
|
184
|
+
|
185
|
+
assert_equal "../../images/1.png", result
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
189
|
+
should "cycle asset hosts" do
|
190
|
+
hosts = ["http://assets1", "http://assets2", "http://assets3"]
|
191
|
+
merger = Juicer::Merger::StylesheetMerger.new([], :hosts => hosts)
|
192
|
+
|
193
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
194
|
+
merger.instance_eval do
|
195
|
+
@root = Pathname.new "/home/usr/design2/css"
|
196
|
+
end
|
142
197
|
|
143
|
-
|
144
|
-
|
145
|
-
|
198
|
+
assert_equal "http://assets1/images/1.png", merger.resolve_path("/images/1.png", nil)
|
199
|
+
assert_equal "http://assets2/images/1.png", merger.resolve_path("/images/1.png", nil)
|
200
|
+
assert_equal "http://assets3/images/1.png", merger.resolve_path("/images/1.png", nil)
|
201
|
+
assert_equal "http://assets1/images/1.png", merger.resolve_path("/images/1.png", nil)
|
202
|
+
end
|
146
203
|
end
|
147
|
-
end
|
148
204
|
|
149
|
-
|
150
|
-
|
205
|
+
should "handle relative document roots" do
|
206
|
+
merger = Juicer::Merger::StylesheetMerger.new([],
|
207
|
+
:document_root => "test/data",
|
208
|
+
:relative_urls => true)
|
209
|
+
merger << File.expand_path("css/test2.css")
|
210
|
+
|
211
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
212
|
+
merger.instance_eval do
|
213
|
+
@root = Pathname.new File.expand_path("test/data/css")
|
214
|
+
end
|
151
215
|
|
152
|
-
|
153
|
-
|
154
|
-
assert_equal "http://assets1/images/1.png", merger.resolve_path("/images/1.png", nil)
|
155
|
-
assert_equal "http://assets2/images/1.png", merger.resolve_path("/images/1.png", nil)
|
156
|
-
assert_equal "http://assets3/images/1.png", merger.resolve_path("/images/1.png", nil)
|
157
|
-
assert_equal "http://assets1/images/1.png", merger.resolve_path("/images/1.png", nil)
|
216
|
+
assert_equal "../images/1.png", merger.resolve_path("/images/1.png", nil)
|
217
|
+
end
|
158
218
|
end
|
159
|
-
end
|
160
219
|
|
161
|
-
|
162
|
-
|
163
|
-
|
220
|
+
should "cycle hosts for relative urls" do
|
221
|
+
merger = Juicer::Merger::StylesheetMerger.new([],
|
222
|
+
:document_root => "test/data",
|
223
|
+
:hosts => ["http://assets1/"])
|
224
|
+
merger << File.expand_path("path_test2.css")
|
225
|
+
|
226
|
+
Juicer::Merger::StylesheetMerger.publicize_methods do
|
227
|
+
merger.instance_eval do
|
228
|
+
@root = Pathname.new(File.expand_path("test/data/css"))
|
229
|
+
end
|
164
230
|
|
165
|
-
|
166
|
-
|
167
|
-
|
231
|
+
expected = "http://assets1/images/1.png"
|
232
|
+
assert_equal expected, merger.resolve_path("../images/1.png", "test/data/css")
|
233
|
+
end
|
168
234
|
end
|
169
|
-
end
|
170
235
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
236
|
+
should "use same host for same url when cycling asset hosts" do
|
237
|
+
@file_merger = Juicer::Merger::StylesheetMerger.new nil, :hosts => ["http://assets1", "http://assets2", "http://assets3"]
|
238
|
+
@file_merger << path("path_test2.css")
|
239
|
+
ios = StringIO.new
|
240
|
+
@file_merger.save(ios)
|
241
|
+
files = ios.string.scan(/url\(([^\)]*)\)/).collect { |f| f.first }
|
177
242
|
|
178
|
-
|
243
|
+
assert_equal "1/images/1.png::2/css/2.gif::3/a1.css::2/css/2.gif::1/a2.css".gsub(/(\d\/)/, 'http://assets\1'), files.join("::")
|
244
|
+
end
|
179
245
|
end
|
180
246
|
end
|
@@ -13,18 +13,18 @@ class ClosureCompilerTest < Test::Unit::TestCase
|
|
13
13
|
|
14
14
|
context "#save" do
|
15
15
|
should "overwrite existing file" do
|
16
|
-
@closure.expects(:execute).with(%Q{#@cmd
|
16
|
+
@closure.expects(:execute).with(%Q{#@cmd --js_output_file "#@output" --js "#@output"})
|
17
17
|
@closure.save(@output, @output)
|
18
18
|
end
|
19
19
|
|
20
20
|
should "write compressed input to output" do
|
21
|
-
@closure.expects(:execute).with(%Q{#@cmd
|
21
|
+
@closure.expects(:execute).with(%Q{#@cmd --js_output_file "#@output" --js "#@input"})
|
22
22
|
@closure.save(@input, @output)
|
23
23
|
end
|
24
24
|
|
25
25
|
should "create non-existant path" do
|
26
26
|
output = "some/nested/directory"
|
27
|
-
@closure.expects(:execute).with(%Q{#@cmd
|
27
|
+
@closure.expects(:execute).with(%Q{#@cmd --js_output_file "#{output}/file.css" --js "#@input"})
|
28
28
|
FileUtils.expects(:mkdir_p).with(output)
|
29
29
|
@closure.save(@input, "#{output}/file.css")
|
30
30
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: psyho_juicer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 25
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
9
|
+
- 7
|
10
|
+
version: 1.0.7
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Christian Johansen
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-08-23 00:00:00 +02:00
|
18
19
|
default_executable: juicer
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: shoulda
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 35
|
27
30
|
segments:
|
28
31
|
- 2
|
29
32
|
- 10
|
@@ -35,9 +38,11 @@ dependencies:
|
|
35
38
|
name: mocha
|
36
39
|
prerelease: false
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
43
|
- - ">="
|
40
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 43
|
41
46
|
segments:
|
42
47
|
- 0
|
43
48
|
- 9
|
@@ -49,9 +54,11 @@ dependencies:
|
|
49
54
|
name: fakefs
|
50
55
|
prerelease: false
|
51
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
59
|
- - ">="
|
54
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 21
|
55
62
|
segments:
|
56
63
|
- 0
|
57
64
|
- 2
|
@@ -63,9 +70,11 @@ dependencies:
|
|
63
70
|
name: jeweler
|
64
71
|
prerelease: false
|
65
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
66
74
|
requirements:
|
67
75
|
- - ">="
|
68
76
|
- !ruby/object:Gem::Version
|
77
|
+
hash: 21
|
69
78
|
segments:
|
70
79
|
- 0
|
71
80
|
- 2
|
@@ -77,9 +86,11 @@ dependencies:
|
|
77
86
|
name: redgreen
|
78
87
|
prerelease: false
|
79
88
|
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
80
90
|
requirements:
|
81
91
|
- - ">="
|
82
92
|
- !ruby/object:Gem::Version
|
93
|
+
hash: 27
|
83
94
|
segments:
|
84
95
|
- 1
|
85
96
|
- 2
|
@@ -91,9 +102,11 @@ dependencies:
|
|
91
102
|
name: cmdparse
|
92
103
|
prerelease: false
|
93
104
|
requirement: &id006 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
94
106
|
requirements:
|
95
107
|
- - ">="
|
96
108
|
- !ruby/object:Gem::Version
|
109
|
+
hash: 3
|
97
110
|
segments:
|
98
111
|
- 0
|
99
112
|
version: "0"
|
@@ -103,9 +116,11 @@ dependencies:
|
|
103
116
|
name: nokogiri
|
104
117
|
prerelease: false
|
105
118
|
requirement: &id007 !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
106
120
|
requirements:
|
107
121
|
- - ">="
|
108
122
|
- !ruby/object:Gem::Version
|
123
|
+
hash: 3
|
109
124
|
segments:
|
110
125
|
- 0
|
111
126
|
version: "0"
|
@@ -115,9 +130,11 @@ dependencies:
|
|
115
130
|
name: rubyzip
|
116
131
|
prerelease: false
|
117
132
|
requirement: &id008 !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
118
134
|
requirements:
|
119
135
|
- - ">="
|
120
136
|
- !ruby/object:Gem::Version
|
137
|
+
hash: 3
|
121
138
|
segments:
|
122
139
|
- 0
|
123
140
|
version: "0"
|
@@ -132,6 +149,7 @@ extensions: []
|
|
132
149
|
extra_rdoc_files: []
|
133
150
|
|
134
151
|
files:
|
152
|
+
- Gemfile
|
135
153
|
- History.txt
|
136
154
|
- Manifest.txt
|
137
155
|
- Rakefile
|
@@ -171,6 +189,7 @@ files:
|
|
171
189
|
- lib/juicer/minifyer/closure_compiler.rb
|
172
190
|
- lib/juicer/minifyer/java_base.rb
|
173
191
|
- lib/juicer/minifyer/yui_compressor.rb
|
192
|
+
- lib/psyho_juicer.rb
|
174
193
|
- test/bin/jslint-1.0.js
|
175
194
|
- test/bin/jslint.js
|
176
195
|
- test/bin/rhino1_7R1.zip
|
@@ -180,6 +199,30 @@ files:
|
|
180
199
|
- test/bin/yuicompressor-2.3.5.zip
|
181
200
|
- test/bin/yuicompressor-2.4.2.jar
|
182
201
|
- test/bin/yuicompressor-2.4.2.zip
|
202
|
+
- test/data/Changelog.txt
|
203
|
+
- test/data/a.css
|
204
|
+
- test/data/a.js
|
205
|
+
- test/data/a1.css
|
206
|
+
- test/data/b.css
|
207
|
+
- test/data/b.js
|
208
|
+
- test/data/b1.css
|
209
|
+
- test/data/b2.css
|
210
|
+
- test/data/c1.css
|
211
|
+
- test/data/css/2.gif
|
212
|
+
- test/data/css/test.css
|
213
|
+
- test/data/css/test2.css
|
214
|
+
- test/data/css/test3.css
|
215
|
+
- test/data/d1.css
|
216
|
+
- test/data/images/1.png
|
217
|
+
- test/data/my_app.js
|
218
|
+
- test/data/not-ok.js
|
219
|
+
- test/data/ok.js
|
220
|
+
- test/data/path_test.css
|
221
|
+
- test/data/path_test2.css
|
222
|
+
- test/data/pkg/module/moda.js
|
223
|
+
- test/data/pkg/module/modb.js
|
224
|
+
- test/data/pkg/pkg.js
|
225
|
+
- test/fixtures/git-tracked-file.txt
|
183
226
|
- test/fixtures/yui-download.html
|
184
227
|
- test/test_helper.rb
|
185
228
|
- test/unit/juicer/asset/path_resolver_test.rb
|
@@ -227,52 +270,56 @@ rdoc_options:
|
|
227
270
|
require_paths:
|
228
271
|
- lib
|
229
272
|
required_ruby_version: !ruby/object:Gem::Requirement
|
273
|
+
none: false
|
230
274
|
requirements:
|
231
275
|
- - ">="
|
232
276
|
- !ruby/object:Gem::Version
|
277
|
+
hash: 3
|
233
278
|
segments:
|
234
279
|
- 0
|
235
280
|
version: "0"
|
236
281
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
282
|
+
none: false
|
237
283
|
requirements:
|
238
284
|
- - ">="
|
239
285
|
- !ruby/object:Gem::Version
|
286
|
+
hash: 3
|
240
287
|
segments:
|
241
288
|
- 0
|
242
289
|
version: "0"
|
243
290
|
requirements: []
|
244
291
|
|
245
292
|
rubyforge_project: juicer
|
246
|
-
rubygems_version: 1.3.
|
293
|
+
rubygems_version: 1.3.7
|
247
294
|
signing_key:
|
248
295
|
specification_version: 3
|
249
296
|
summary: Command line tool for CSS and JavaScript developers
|
250
297
|
test_files:
|
251
298
|
- test/unit/juicer_test.rb
|
252
|
-
- test/unit/juicer/
|
253
|
-
- test/unit/juicer/command/merge_test.rb
|
254
|
-
- test/unit/juicer/command/verify_test.rb
|
255
|
-
- test/unit/juicer/command/list_test.rb
|
256
|
-
- test/unit/juicer/command/util_test.rb
|
257
|
-
- test/unit/juicer/ext/string_test.rb
|
258
|
-
- test/unit/juicer/ext/symbol_test.rb
|
259
|
-
- test/unit/juicer/image_embed_test.rb
|
260
|
-
- test/unit/juicer/chainable_test.rb
|
261
|
-
- test/unit/juicer/dependency_resolver/css_dependency_resolver_test.rb
|
299
|
+
- test/unit/juicer/cache_buster_test.rb
|
262
300
|
- test/unit/juicer/dependency_resolver/javascript_dependency_resolver_test.rb
|
263
|
-
- test/unit/juicer/
|
301
|
+
- test/unit/juicer/dependency_resolver/css_dependency_resolver_test.rb
|
302
|
+
- test/unit/juicer/jslint_test.rb
|
264
303
|
- test/unit/juicer/install/installer_base_test.rb
|
265
304
|
- test/unit/juicer/install/jslint_installer_test.rb
|
266
305
|
- test/unit/juicer/install/yui_compressor_test.rb
|
306
|
+
- test/unit/juicer/install/rhino_installer_test.rb
|
307
|
+
- test/unit/juicer/asset/path_test.rb
|
308
|
+
- test/unit/juicer/asset/path_resolver_test.rb
|
267
309
|
- test/unit/juicer/datafy_test.rb
|
268
|
-
- test/unit/juicer/jslint_test.rb
|
269
|
-
- test/unit/juicer/cache_buster_test.rb
|
270
|
-
- test/unit/juicer/merger/stylesheet_merger_test.rb
|
271
310
|
- test/unit/juicer/merger/base_test.rb
|
272
311
|
- test/unit/juicer/merger/javascript_merger_test.rb
|
273
|
-
- test/unit/juicer/
|
312
|
+
- test/unit/juicer/merger/stylesheet_merger_test.rb
|
313
|
+
- test/unit/juicer/chainable_test.rb
|
314
|
+
- test/unit/juicer/image_embed_test.rb
|
315
|
+
- test/unit/juicer/ext/symbol_test.rb
|
316
|
+
- test/unit/juicer/ext/string_test.rb
|
274
317
|
- test/unit/juicer/minifyer/closure_compressor_test.rb
|
275
|
-
- test/unit/juicer/
|
276
|
-
- test/unit/juicer/
|
318
|
+
- test/unit/juicer/minifyer/yui_compressor_test.rb
|
319
|
+
- test/unit/juicer/command/merge_test.rb
|
320
|
+
- test/unit/juicer/command/verify_test.rb
|
321
|
+
- test/unit/juicer/command/util_test.rb
|
322
|
+
- test/unit/juicer/command/list_test.rb
|
323
|
+
- test/unit/juicer/command/install_test.rb
|
277
324
|
- test/unit/juicer/css_cache_buster_test.rb
|
278
325
|
- test/test_helper.rb
|