rack-pagespeed 0.1.0 → 0.2.0

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 CHANGED
@@ -3,7 +3,6 @@ source :rubygems
3
3
  gem 'nokogiri', '1.4.4'
4
4
  gem 'rack', '1.2.1'
5
5
  gem 'memcached', '1.0.2'
6
- gem 'mime-types', '1.16'
7
6
  gem 'jsmin', '1.0.1'
8
7
 
9
8
  group :test do
data/Gemfile.lock CHANGED
@@ -52,7 +52,6 @@ DEPENDENCIES
52
52
  capybara (= 0.4.0)
53
53
  jsmin (= 1.0.1)
54
54
  memcached (= 1.0.2)
55
- mime-types (= 1.16)
56
55
  nokogiri (= 1.4.4)
57
56
  rack (= 1.2.1)
58
57
  rspec (= 2.3.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -1,6 +1,5 @@
1
1
  require 'rack'
2
2
  require 'nokogiri'
3
- require 'mime/types'
4
3
 
5
4
  module Rack
6
5
  class PageSpeed
@@ -35,7 +34,7 @@ module Rack
35
34
  if asset = store[asset_id]
36
35
  [
37
36
  200,
38
- { 'Content-Type' => (MIME::Types.type_for(asset_id).first.content_type rescue 'text/plain') },
37
+ { 'Content-Type' => (Rack::Mime.mime_type(::File.extname(asset_id))) },
39
38
  [asset]
40
39
  ]
41
40
  else
@@ -5,3 +5,4 @@ require "#{lib}/filters/inline_css.rb"
5
5
  require "#{lib}/filters/combine_javascripts.rb"
6
6
  require "#{lib}/filters/combine_css.rb"
7
7
  require "#{lib}/filters/minify_javascripts.rb"
8
+ require "#{lib}/filters/inline_images.rb"
@@ -44,8 +44,15 @@ module Rack::PageSpeed::Filters
44
44
 
45
45
  private
46
46
  def file_for node
47
- path = ::File.join(options[:public], node[node.name == 'script' ? 'src' : 'href'])
48
- ::File.open path if ::File.exists? path
47
+ path = ::File.join options[:public], case node.name
48
+ when 'script'
49
+ node['src']
50
+ when 'img'
51
+ node['src']
52
+ when 'link'
53
+ node['href']
54
+ end
55
+ ::File.open path if ::File.exists? path
49
56
  end
50
57
  end
51
58
  # shortcut
@@ -4,7 +4,7 @@ rescue LoadError
4
4
  require 'digest/md5'
5
5
  end
6
6
 
7
- class Rack::PageSpeed::Filters::CombineCSS < Rack::PageSpeed::Filters::Base
7
+ class Rack::PageSpeed::Filters::CombineCSS < Rack::PageSpeed::Filter
8
8
  requires_store
9
9
  priority 9
10
10
 
@@ -4,7 +4,7 @@ rescue LoadError
4
4
  require 'digest/md5'
5
5
  end
6
6
 
7
- class Rack::PageSpeed::Filters::CombineJavaScripts < Rack::PageSpeed::Filters::Base
7
+ class Rack::PageSpeed::Filters::CombineJavaScripts < Rack::PageSpeed::Filter
8
8
  requires_store
9
9
  name 'combine_javascripts'
10
10
  priority 2
@@ -1,4 +1,4 @@
1
- class Rack::PageSpeed::Filters::InlineCSS < Rack::PageSpeed::Filters::Base
1
+ class Rack::PageSpeed::Filters::InlineCSS < Rack::PageSpeed::Filter
2
2
  priority 10
3
3
 
4
4
  def execute! document
@@ -0,0 +1,17 @@
1
+ class Rack::PageSpeed::Filters::InlineImages < Rack::PageSpeed::Filter
2
+ priority 8
3
+
4
+ def execute! document
5
+ nodes = document.css('img')
6
+ return false unless nodes.count > 0
7
+ nodes.each do |node|
8
+ file = file_for node
9
+ next if !file or file.stat.size > (@options[:max_size] or 1024)
10
+ img = node.clone
11
+ img['src'] = "data:#{Rack::Mime.mime_type(File.extname(file.path))};base64,#{[file.read].pack('m')}"
12
+ img['alt'] = node['alt'] if node['alt']
13
+ node.before img
14
+ node.remove
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,152 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rack-pagespeed}
8
+ s.version = "0.2.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Julio Cesar Ody"]
12
+ s.date = %q{2011-01-10}
13
+ s.description = %q{Web page speed optimizations at the Rack level}
14
+ s.email = %q{julio@awesomebydesign.com}
15
+ s.extra_rdoc_files = [
16
+ "README.md"
17
+ ]
18
+ s.files = [
19
+ "Gemfile",
20
+ "Gemfile.lock",
21
+ "README.md",
22
+ "Rakefile",
23
+ "VERSION",
24
+ "lib/rack-pagespeed.rb",
25
+ "lib/rack/pagespeed.rb",
26
+ "lib/rack/pagespeed/config.rb",
27
+ "lib/rack/pagespeed/filters/all.rb",
28
+ "lib/rack/pagespeed/filters/base.rb",
29
+ "lib/rack/pagespeed/filters/combine_css.rb",
30
+ "lib/rack/pagespeed/filters/combine_javascripts.rb",
31
+ "lib/rack/pagespeed/filters/inline_css.rb",
32
+ "lib/rack/pagespeed/filters/inline_images.rb",
33
+ "lib/rack/pagespeed/filters/inline_javascripts.rb",
34
+ "lib/rack/pagespeed/filters/minify_javascripts.rb",
35
+ "lib/rack/pagespeed/store/all.rb",
36
+ "lib/rack/pagespeed/store/disk.rb",
37
+ "lib/rack/pagespeed/store/memcached.rb",
38
+ "rack-pagespeed.gemspec",
39
+ "spec/config_spec.rb",
40
+ "spec/filters/combine_css_spec.rb",
41
+ "spec/filters/combine_javascripts_spec.rb",
42
+ "spec/filters/filter_spec.rb",
43
+ "spec/filters/inline_css_spec.rb",
44
+ "spec/filters/inline_images_spec.rb",
45
+ "spec/filters/inline_javascript_spec.rb",
46
+ "spec/filters/minify_javascript_spec.rb",
47
+ "spec/fixtures/all-small-dog-breeds.jpg",
48
+ "spec/fixtures/complex.html",
49
+ "spec/fixtures/foo.js",
50
+ "spec/fixtures/hh-reset.css",
51
+ "spec/fixtures/huge.css",
52
+ "spec/fixtures/iphone.css",
53
+ "spec/fixtures/jquery-1.4.1.min.js",
54
+ "spec/fixtures/medialess1.css",
55
+ "spec/fixtures/medialess2.css",
56
+ "spec/fixtures/mylib.js",
57
+ "spec/fixtures/noexternalcss.html",
58
+ "spec/fixtures/noscripts.html",
59
+ "spec/fixtures/ohno.js",
60
+ "spec/fixtures/reset.css",
61
+ "spec/fixtures/screen.css",
62
+ "spec/fixtures/styles.html",
63
+ "spec/fixtures/zecoolwebsite/css/awesomebydesign.css",
64
+ "spec/fixtures/zecoolwebsite/css/reset.css",
65
+ "spec/fixtures/zecoolwebsite/img/bg-idevice.png",
66
+ "spec/fixtures/zecoolwebsite/img/bg.png",
67
+ "spec/fixtures/zecoolwebsite/img/bottom-left-arrow.png",
68
+ "spec/fixtures/zecoolwebsite/img/bottom-right-arrow.png",
69
+ "spec/fixtures/zecoolwebsite/img/consulting-arrow.png",
70
+ "spec/fixtures/zecoolwebsite/img/design-arrow.png",
71
+ "spec/fixtures/zecoolwebsite/img/prototyping-arrow.png",
72
+ "spec/fixtures/zecoolwebsite/img/top-left-arrow.png",
73
+ "spec/fixtures/zecoolwebsite/img/top-right-arrow.png",
74
+ "spec/fixtures/zecoolwebsite/img/webdev-arrow.png",
75
+ "spec/fixtures/zecoolwebsite/index.html",
76
+ "spec/fixtures/zecoolwebsite/js/awesomebydesign.js",
77
+ "spec/fixtures/zecoolwebsite/js/jquery-1.4.2.min.js",
78
+ "spec/fixtures/zecoolwebsite/js/modernizr-1.5.min.js",
79
+ "spec/fixtures/zecoolwebsite/js/sayhi.js",
80
+ "spec/integration/integration_spec.rb",
81
+ "spec/pagespeed_spec.rb",
82
+ "spec/spec_helper.rb",
83
+ "spec/store/disk_spec.rb",
84
+ "spec/store/memcached_spec.rb"
85
+ ]
86
+ s.homepage = %q{http://github.com/juliocesar/rack-pagespeed}
87
+ s.require_paths = ["lib"]
88
+ s.rubygems_version = %q{1.3.7}
89
+ s.summary = %q{Web page speed optimizations at the Rack level}
90
+ s.test_files = [
91
+ "spec/config_spec.rb",
92
+ "spec/filters/combine_css_spec.rb",
93
+ "spec/filters/combine_javascripts_spec.rb",
94
+ "spec/filters/filter_spec.rb",
95
+ "spec/filters/inline_css_spec.rb",
96
+ "spec/filters/inline_images_spec.rb",
97
+ "spec/filters/inline_javascript_spec.rb",
98
+ "spec/filters/minify_javascript_spec.rb",
99
+ "spec/integration/integration_spec.rb",
100
+ "spec/pagespeed_spec.rb",
101
+ "spec/spec_helper.rb",
102
+ "spec/store/disk_spec.rb",
103
+ "spec/store/memcached_spec.rb"
104
+ ]
105
+
106
+ if s.respond_to? :specification_version then
107
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
108
+ s.specification_version = 3
109
+
110
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
111
+ s.add_runtime_dependency(%q<nokogiri>, ["= 1.4.4"])
112
+ s.add_runtime_dependency(%q<rack>, ["= 1.2.1"])
113
+ s.add_runtime_dependency(%q<memcached>, ["= 1.0.2"])
114
+ s.add_runtime_dependency(%q<jsmin>, ["= 1.0.1"])
115
+ s.add_runtime_dependency(%q<nokogiri>, ["= 1.4.4"])
116
+ s.add_runtime_dependency(%q<rack>, ["= 1.2.1"])
117
+ s.add_runtime_dependency(%q<memcached>, ["= 1.0.2"])
118
+ s.add_runtime_dependency(%q<mime-types>, ["= 1.16"])
119
+ s.add_runtime_dependency(%q<jsmin>, ["= 1.0.1"])
120
+ s.add_development_dependency(%q<rspec>, ["= 2.1.0"])
121
+ s.add_development_dependency(%q<steak>, ["= 1.0.0"])
122
+ s.add_development_dependency(%q<capybara>, ["= 0.4.0"])
123
+ else
124
+ s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
125
+ s.add_dependency(%q<rack>, ["= 1.2.1"])
126
+ s.add_dependency(%q<memcached>, ["= 1.0.2"])
127
+ s.add_dependency(%q<jsmin>, ["= 1.0.1"])
128
+ s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
129
+ s.add_dependency(%q<rack>, ["= 1.2.1"])
130
+ s.add_dependency(%q<memcached>, ["= 1.0.2"])
131
+ s.add_dependency(%q<mime-types>, ["= 1.16"])
132
+ s.add_dependency(%q<jsmin>, ["= 1.0.1"])
133
+ s.add_dependency(%q<rspec>, ["= 2.1.0"])
134
+ s.add_dependency(%q<steak>, ["= 1.0.0"])
135
+ s.add_dependency(%q<capybara>, ["= 0.4.0"])
136
+ end
137
+ else
138
+ s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
139
+ s.add_dependency(%q<rack>, ["= 1.2.1"])
140
+ s.add_dependency(%q<memcached>, ["= 1.0.2"])
141
+ s.add_dependency(%q<jsmin>, ["= 1.0.1"])
142
+ s.add_dependency(%q<nokogiri>, ["= 1.4.4"])
143
+ s.add_dependency(%q<rack>, ["= 1.2.1"])
144
+ s.add_dependency(%q<memcached>, ["= 1.0.2"])
145
+ s.add_dependency(%q<mime-types>, ["= 1.16"])
146
+ s.add_dependency(%q<jsmin>, ["= 1.0.1"])
147
+ s.add_dependency(%q<rspec>, ["= 2.1.0"])
148
+ s.add_dependency(%q<steak>, ["= 1.0.0"])
149
+ s.add_dependency(%q<capybara>, ["= 0.4.0"])
150
+ end
151
+ end
152
+
@@ -8,20 +8,20 @@ describe 'the base filter class' do
8
8
  end
9
9
 
10
10
  it 'when subclassing, it adds the new class to the #available_filters list' do
11
- class Moo < Rack::PageSpeed::Filters::Base; end
11
+ class Moo < Rack::PageSpeed::Filter; end
12
12
  Rack::PageSpeed::Filters::Base.available_filters.should include(Moo)
13
13
  end
14
14
 
15
15
  context 'the #name declaration, which can be used to declare a name which the filter can be called upon' do
16
16
  it 'can be called from inside the class' do
17
- class Boo < Rack::PageSpeed::Filters::Base
17
+ class Boo < Rack::PageSpeed::Filter
18
18
  name 'mooers'
19
19
  end
20
20
  Boo.name.should == 'mooers'
21
21
  end
22
22
 
23
23
  it 'defaults to the class name if not called' do
24
- class BananaSmoothie < Rack::PageSpeed::Filters::Base; end
24
+ class BananaSmoothie < Rack::PageSpeed::Filter; end
25
25
  BananaSmoothie.name.should == 'banana_smoothie'
26
26
  end
27
27
  end
@@ -53,5 +53,10 @@ describe 'the base filter class' do
53
53
  style = Fixtures.complex.at_css('link')
54
54
  @base.send(:file_for, style).stat.size.should == File.size(File.join(Fixtures.path, 'reset.css'))
55
55
  end
56
+
57
+ it "for an image" do
58
+ image = Fixtures.complex.at_css('img[src="all-small-dog-breeds.jpg"]')
59
+ @base.send(:file_for, image).stat.size.should == File.size(File.join(Fixtures.path, 'all-small-dog-breeds.jpg'))
60
+ end
56
61
  end
57
62
  end
@@ -0,0 +1,28 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe 'the inline_css filter' do
4
+ it "is called \"inline_images\" as far as Config is concerned" do
5
+ Rack::PageSpeed::Filters::InlineImages.name.should == 'inline_images'
6
+ end
7
+
8
+ it "is a priority 8 filter" do
9
+ Rack::PageSpeed::Filters::InlineImages.priority.should == 8
10
+ end
11
+
12
+ context "#execute!" do
13
+ before :each do
14
+ @filter = Rack::PageSpeed::Filters::InlineImages.new :public => Fixtures.path, :max_size => 2048
15
+ @document = Fixtures.complex
16
+ @filter.execute! @document
17
+ end
18
+
19
+ it "returns false if there are no images in the document" do
20
+ Rack::PageSpeed::Filters::InlineImages.new(:public => Fixtures.path).execute!(Fixtures.noexternalcss).should be_false
21
+ end
22
+
23
+ it 'inlines images files that are smaller than 1kb in size by default using data URI' do
24
+ image = fixture 'all-small-dog-breeds.jpg'
25
+ @document.at_css('img:last')['src'].should == "data:image/jpeg;base64,#{[image].pack('m')}"
26
+ end
27
+ end
28
+ end
@@ -15,7 +15,7 @@
15
15
  <p>A fixture page</p>
16
16
  <p>With 2 paragraphs<p>
17
17
  <img src="/foobar.jpg" />
18
- <img src="/dog.jpg" />
18
+ <img src="all-small-dog-breeds.jpg" />
19
19
  <p id="test">A test paragraph</p>
20
20
  <p id="foo">Foo bar</p>
21
21
  <div id="footer">And a footer, in poorly semantic HTML</div>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-pagespeed
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Julio Cesar Ody
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-23 00:00:00 +11:00
18
+ date: 2011-01-10 00:00:00 +11:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -66,25 +66,10 @@ dependencies:
66
66
  version: 1.0.2
67
67
  type: :runtime
68
68
  version_requirements: *id003
69
- - !ruby/object:Gem::Dependency
70
- name: mime-types
71
- prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - "="
76
- - !ruby/object:Gem::Version
77
- hash: 47
78
- segments:
79
- - 1
80
- - 16
81
- version: "1.16"
82
- type: :runtime
83
- version_requirements: *id004
84
69
  - !ruby/object:Gem::Dependency
85
70
  name: jsmin
86
71
  prerelease: false
87
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: &id004 !ruby/object:Gem::Requirement
88
73
  none: false
89
74
  requirements:
90
75
  - - "="
@@ -96,11 +81,11 @@ dependencies:
96
81
  - 1
97
82
  version: 1.0.1
98
83
  type: :runtime
99
- version_requirements: *id005
84
+ version_requirements: *id004
100
85
  - !ruby/object:Gem::Dependency
101
86
  name: nokogiri
102
87
  prerelease: false
103
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ requirement: &id005 !ruby/object:Gem::Requirement
104
89
  none: false
105
90
  requirements:
106
91
  - - "="
@@ -112,11 +97,11 @@ dependencies:
112
97
  - 4
113
98
  version: 1.4.4
114
99
  type: :runtime
115
- version_requirements: *id006
100
+ version_requirements: *id005
116
101
  - !ruby/object:Gem::Dependency
117
102
  name: rack
118
103
  prerelease: false
119
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ requirement: &id006 !ruby/object:Gem::Requirement
120
105
  none: false
121
106
  requirements:
122
107
  - - "="
@@ -128,11 +113,11 @@ dependencies:
128
113
  - 1
129
114
  version: 1.2.1
130
115
  type: :runtime
131
- version_requirements: *id007
116
+ version_requirements: *id006
132
117
  - !ruby/object:Gem::Dependency
133
118
  name: memcached
134
119
  prerelease: false
135
- requirement: &id008 !ruby/object:Gem::Requirement
120
+ requirement: &id007 !ruby/object:Gem::Requirement
136
121
  none: false
137
122
  requirements:
138
123
  - - "="
@@ -144,11 +129,11 @@ dependencies:
144
129
  - 2
145
130
  version: 1.0.2
146
131
  type: :runtime
147
- version_requirements: *id008
132
+ version_requirements: *id007
148
133
  - !ruby/object:Gem::Dependency
149
134
  name: mime-types
150
135
  prerelease: false
151
- requirement: &id009 !ruby/object:Gem::Requirement
136
+ requirement: &id008 !ruby/object:Gem::Requirement
152
137
  none: false
153
138
  requirements:
154
139
  - - "="
@@ -159,11 +144,11 @@ dependencies:
159
144
  - 16
160
145
  version: "1.16"
161
146
  type: :runtime
162
- version_requirements: *id009
147
+ version_requirements: *id008
163
148
  - !ruby/object:Gem::Dependency
164
149
  name: jsmin
165
150
  prerelease: false
166
- requirement: &id010 !ruby/object:Gem::Requirement
151
+ requirement: &id009 !ruby/object:Gem::Requirement
167
152
  none: false
168
153
  requirements:
169
154
  - - "="
@@ -175,11 +160,11 @@ dependencies:
175
160
  - 1
176
161
  version: 1.0.1
177
162
  type: :runtime
178
- version_requirements: *id010
163
+ version_requirements: *id009
179
164
  - !ruby/object:Gem::Dependency
180
165
  name: rspec
181
166
  prerelease: false
182
- requirement: &id011 !ruby/object:Gem::Requirement
167
+ requirement: &id010 !ruby/object:Gem::Requirement
183
168
  none: false
184
169
  requirements:
185
170
  - - "="
@@ -191,11 +176,11 @@ dependencies:
191
176
  - 0
192
177
  version: 2.1.0
193
178
  type: :development
194
- version_requirements: *id011
179
+ version_requirements: *id010
195
180
  - !ruby/object:Gem::Dependency
196
181
  name: steak
197
182
  prerelease: false
198
- requirement: &id012 !ruby/object:Gem::Requirement
183
+ requirement: &id011 !ruby/object:Gem::Requirement
199
184
  none: false
200
185
  requirements:
201
186
  - - "="
@@ -207,11 +192,11 @@ dependencies:
207
192
  - 0
208
193
  version: 1.0.0
209
194
  type: :development
210
- version_requirements: *id012
195
+ version_requirements: *id011
211
196
  - !ruby/object:Gem::Dependency
212
197
  name: capybara
213
198
  prerelease: false
214
- requirement: &id013 !ruby/object:Gem::Requirement
199
+ requirement: &id012 !ruby/object:Gem::Requirement
215
200
  none: false
216
201
  requirements:
217
202
  - - "="
@@ -223,7 +208,7 @@ dependencies:
223
208
  - 0
224
209
  version: 0.4.0
225
210
  type: :development
226
- version_requirements: *id013
211
+ version_requirements: *id012
227
212
  description: Web page speed optimizations at the Rack level
228
213
  email: julio@awesomebydesign.com
229
214
  executables: []
@@ -246,18 +231,22 @@ files:
246
231
  - lib/rack/pagespeed/filters/combine_css.rb
247
232
  - lib/rack/pagespeed/filters/combine_javascripts.rb
248
233
  - lib/rack/pagespeed/filters/inline_css.rb
234
+ - lib/rack/pagespeed/filters/inline_images.rb
249
235
  - lib/rack/pagespeed/filters/inline_javascripts.rb
250
236
  - lib/rack/pagespeed/filters/minify_javascripts.rb
251
237
  - lib/rack/pagespeed/store/all.rb
252
238
  - lib/rack/pagespeed/store/disk.rb
253
239
  - lib/rack/pagespeed/store/memcached.rb
240
+ - rack-pagespeed.gemspec
254
241
  - spec/config_spec.rb
255
242
  - spec/filters/combine_css_spec.rb
256
243
  - spec/filters/combine_javascripts_spec.rb
257
244
  - spec/filters/filter_spec.rb
258
245
  - spec/filters/inline_css_spec.rb
246
+ - spec/filters/inline_images_spec.rb
259
247
  - spec/filters/inline_javascript_spec.rb
260
248
  - spec/filters/minify_javascript_spec.rb
249
+ - spec/fixtures/all-small-dog-breeds.jpg
261
250
  - spec/fixtures/complex.html
262
251
  - spec/fixtures/foo.js
263
252
  - spec/fixtures/hh-reset.css
@@ -335,6 +324,7 @@ test_files:
335
324
  - spec/filters/combine_javascripts_spec.rb
336
325
  - spec/filters/filter_spec.rb
337
326
  - spec/filters/inline_css_spec.rb
327
+ - spec/filters/inline_images_spec.rb
338
328
  - spec/filters/inline_javascript_spec.rb
339
329
  - spec/filters/minify_javascript_spec.rb
340
330
  - spec/integration/integration_spec.rb