psyho_juicer 1.0.0 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/Gemfile +11 -0
  2. data/History.txt +33 -0
  3. data/Readme.rdoc +16 -4
  4. data/VERSION +1 -1
  5. data/lib/juicer/asset/path.rb +6 -10
  6. data/lib/juicer/cache_buster.rb +53 -13
  7. data/lib/juicer/command/merge.rb +14 -6
  8. data/lib/juicer/css_cache_buster.rb +6 -4
  9. data/lib/juicer/dependency_resolver/css_dependency_resolver.rb +1 -1
  10. data/lib/juicer/image_embed.rb +18 -20
  11. data/lib/juicer/install/yui_compressor_installer.rb +2 -1
  12. data/lib/juicer/merger/stylesheet_merger.rb +5 -5
  13. data/lib/juicer/minifyer/closure_compiler.rb +1 -1
  14. data/lib/juicer.rb +1 -1
  15. data/lib/psyho_juicer.rb +1 -0
  16. data/test/data/Changelog.txt +10 -0
  17. data/test/data/a.css +3 -0
  18. data/test/data/a.js +5 -0
  19. data/test/data/a1.css +5 -0
  20. data/test/data/b.css +1 -0
  21. data/test/data/b.js +5 -0
  22. data/test/data/b1.css +5 -0
  23. data/test/data/b2.css +5 -0
  24. data/test/data/c1.css +3 -0
  25. data/test/data/css/2.gif +1 -0
  26. data/test/data/css/test.css +15 -0
  27. data/test/data/css/test2.css +1 -0
  28. data/test/data/css/test3.css +12 -0
  29. data/test/data/d1.css +3 -0
  30. data/test/data/images/1.png +1 -0
  31. data/test/data/my_app.js +2 -0
  32. data/test/data/not-ok.js +2 -0
  33. data/test/data/ok.js +3 -0
  34. data/test/data/path_test.css +5 -0
  35. data/test/data/path_test2.css +14 -0
  36. data/test/data/pkg/module/moda.js +2 -0
  37. data/test/data/pkg/module/modb.js +3 -0
  38. data/test/data/pkg/pkg.js +1 -0
  39. data/test/fixtures/git-tracked-file.txt +1 -0
  40. data/test/fixtures/yui-download.html +103 -243
  41. data/test/test_helper.rb +27 -1
  42. data/test/unit/juicer/asset/path_test.rb +7 -1
  43. data/test/unit/juicer/cache_buster_test.rb +95 -5
  44. data/test/unit/juicer/command/util_test.rb +1 -1
  45. data/test/unit/juicer/css_cache_buster_test.rb +127 -32
  46. data/test/unit/juicer/image_embed_test.rb +35 -0
  47. data/test/unit/juicer/merger/stylesheet_merger_test.rb +175 -109
  48. data/test/unit/juicer/minifyer/closure_compressor_test.rb +3 -3
  49. 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
- def test_init
19
- Juicer::Merger::StylesheetMerger.publicize_methods do
20
- assert_equal Juicer::CssDependencyResolver, @file_merger.dependency_resolver.class
21
- end
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
- def test_merge
25
- Juicer::Merger::StylesheetMerger.publicize_methods do
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
- def test_constructor
33
- file_merger = Juicer::Merger::StylesheetMerger.new(path('a.css'))
34
- assert_equal 2, file_merger.files.length
35
- end
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
- def test_append
38
- @file_merger << path('a.css')
39
- assert_equal 2, @file_merger.files.length
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
- def test_save
43
- a_css = path('a.css')
44
- b_css = path('b.css')
45
- merged = <<EOF
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
- @file_merger << a_css
55
- ios = StringIO.new
56
- @file_merger.save(ios)
57
- assert_equal merged, ios.string
60
+ @file_merger << a_css
61
+ ios = StringIO.new
62
+ @file_merger.save(ios)
63
+ assert_equal merged, ios.string
58
64
 
59
- output_file = path('test_out.css')
60
- @file_merger.save(output_file)
65
+ output_file = path('test_out.css')
66
+ @file_merger.save(output_file)
61
67
 
62
- assert_equal merged, IO.read(output_file)
63
- end
68
+ assert_equal merged, IO.read(output_file)
69
+ end
64
70
 
65
- def test_included_files_should_have_referenced_relative_urls_rereferenced
66
- @file_merger << path("path_test.css")
67
- ios = StringIO.new
68
- @file_merger.save(ios)
69
- files = ios.string.scan(/url\(([^\)]*)\)/).collect { |f| f.first }.uniq.sort
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
79
- assert_equal url, merger.resolve_path(url, nil)
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
- def test_resolve_path_error_when_relative_missing_document_root
84
- merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
87
- assert_raise ArgumentError do
88
- merger.resolve_path("/some/url", nil)
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
- def test_resolve_path_should_make_absolute_urls_relative
94
- merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true, :document_root => "/home/usr"
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
97
- merger.instance_eval { @root = Pathname.new "/home/usr/design" }
98
- assert_equal "../some/url", merger.resolve_path("/some/url", nil)
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
- def test_resolve_path_should_leave_full_urls
103
- merger = Juicer::Merger::StylesheetMerger.new []
104
- url = "http://test.com"
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
107
- merger.instance_eval { @root = Pathname.new "/home/usr/design" }
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
- def test_resolve_path_error_when_missing_absolute_document_root
113
- merger = Juicer::Merger::StylesheetMerger.new [], :absolute_urls => true
146
+ should "error when missing document root for absolute urls" do
147
+ merger = Juicer::Merger::StylesheetMerger.new [], :absolute_urls => true
114
148
 
115
- Juicer::Merger::StylesheetMerger.publicize_methods do
116
- assert_raise ArgumentError do
117
- merger.resolve_path("../some/url", nil)
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
- def test_resolve_path_should_make_relative_urls_absolute
123
- merger = Juicer::Merger::StylesheetMerger.new [], :absolute_urls => true, :document_root => "/home/usr"
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
126
- merger.instance_eval { @root = Pathname.new "/home/usr/design" }
127
- assert_equal "/design/images/1.png", merger.resolve_path("../images/1.png", "/home/usr/design/css")
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
- def test_resolve_path_should_redefine_relative_urls
132
- merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true
167
+ should "redefine relative urls" do
168
+ merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true
133
169
 
134
- Juicer::Merger::StylesheetMerger.publicize_methods do
135
- merger.instance_eval { @root = Pathname.new "/home/usr/design2/css" }
136
- assert_equal "../../design/images/1.png", merger.resolve_path("../images/1.png", "/home/usr/design/css")
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
- def test_resolve_path_should_redefine_absolute_urls
141
- merger = Juicer::Merger::StylesheetMerger.new [], :relative_urls => true, :document_root => "/home/usr"
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
144
- merger.instance_eval { @root = Pathname.new "/home/usr/design2/css" }
145
- assert_equal "../../images/1.png", merger.resolve_path("/images/1.png", "/home/usr/design/css")
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
- def test_resolve_path_with_hosts_should_cycle_asset_hosts
150
- merger = Juicer::Merger::StylesheetMerger.new [], :hosts => ["http://assets1", "http://assets2", "http://assets3"]
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
153
- merger.instance_eval { @root = Pathname.new "/home/usr/design2/css" }
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
- def test_resolve_paths_should_handle_relative_document_roots
162
- merger = Juicer::Merger::StylesheetMerger.new [], :document_root => "test/data", :relative_urls => true
163
- merger << File.expand_path("css/test2.css")
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
- Juicer::Merger::StylesheetMerger.publicize_methods do
166
- merger.instance_eval { @root = Pathname.new File.expand_path("test/data/css") }
167
- assert_equal "../images/1.png", merger.resolve_path("/images/1.png", nil)
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
- def test_cycle_asset_hosts_should_use_same_host_for_same_url
172
- @file_merger = Juicer::Merger::StylesheetMerger.new nil, :hosts => ["http://assets1", "http://assets2", "http://assets3"]
173
- @file_merger << path("path_test2.css")
174
- ios = StringIO.new
175
- @file_merger.save(ios)
176
- files = ios.string.scan(/url\(([^\)]*)\)/).collect { |f| f.first }
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
- 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("::")
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 -js_output_file "#@output" -js "#@output"})
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 -js_output_file "#@output" -js "#@input"})
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 -js_output_file "#{output}/file.css" -js "#@input"})
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
- - 0
9
- version: 1.0.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-03-01 00:00:00 +01:00
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.6
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/command/install_test.rb
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/install/rhino_installer_test.rb
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/minifyer/yui_compressor_test.rb
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/asset/path_test.rb
276
- - test/unit/juicer/asset/path_resolver_test.rb
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