headhunter 0.1.7 → 0.1.8

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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +28 -3
  5. data/lib/headhunter.rb +11 -5
  6. data/lib/headhunter/css_hunter.rb +4 -3
  7. data/lib/headhunter/css_validator.rb +21 -15
  8. data/lib/headhunter/engine.rb +11 -0
  9. data/lib/headhunter/html_validator.rb +8 -6
  10. data/lib/headhunter/rails.rb +10 -12
  11. data/lib/headhunter/runner.rb +1 -1
  12. data/lib/headhunter/version.rb +1 -1
  13. data/lib/tasks/headhunter_tasks.rake +4 -0
  14. data/lib/tidy/{tidy → tidy2} +0 -0
  15. data/spec/dummy/Gemfile +9 -0
  16. data/spec/dummy/Gemfile.lock +178 -0
  17. data/spec/dummy/README.rdoc +28 -0
  18. data/spec/dummy/Rakefile +13 -0
  19. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  20. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  21. data/spec/dummy/app/assets/stylesheets/scaffold.css +56 -0
  22. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  23. data/spec/dummy/app/controllers/posts_controller.rb +5 -0
  24. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/spec/dummy/app/views/posts/index.html.erb +21 -0
  27. data/spec/dummy/bin/bundle +3 -0
  28. data/spec/dummy/bin/rails +4 -0
  29. data/spec/dummy/bin/rake +4 -0
  30. data/spec/dummy/config.ru +4 -0
  31. data/spec/dummy/config/application.rb +26 -0
  32. data/spec/dummy/config/boot.rb +5 -0
  33. data/spec/dummy/config/database.yml +25 -0
  34. data/spec/dummy/config/environment.rb +5 -0
  35. data/spec/dummy/config/environments/development.rb +26 -0
  36. data/spec/dummy/config/environments/production.rb +80 -0
  37. data/spec/dummy/config/environments/test.rb +36 -0
  38. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  39. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  40. data/spec/dummy/config/initializers/inflections.rb +16 -0
  41. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  42. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  43. data/spec/dummy/config/initializers/session_store.rb +3 -0
  44. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  45. data/spec/dummy/config/locales/en.yml +23 -0
  46. data/spec/dummy/config/routes.rb +58 -0
  47. data/spec/dummy/log/development.log +247 -0
  48. data/spec/dummy/log/test.log +452 -0
  49. data/spec/dummy/public/404.html +58 -0
  50. data/spec/dummy/public/422.html +58 -0
  51. data/spec/dummy/public/500.html +57 -0
  52. data/spec/dummy/public/favicon.ico +0 -0
  53. data/spec/dummy/spec/features/bla_spec.rb +9 -0
  54. data/spec/dummy/spec/spec_helper.rb +16 -0
  55. data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  56. data/spec/dummy/tmp/cache/assets/development/sprockets/1e8f75a6b5b33970fb8e397347caa0a1 +0 -0
  57. data/spec/dummy/tmp/cache/assets/development/sprockets/24204f742af588c8166d3160b500d20f +0 -0
  58. data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sprockets/416150dc3ac35079c94273cc46e90aa6 +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5 +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sprockets/5384ad85f52d3272dbc64d46ef3876a4 +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sprockets/c85016e7bbd4f3adbb7635d01f85d39b +0 -0
  66. data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  67. data/spec/dummy/tmp/cache/assets/development/sprockets/d066c004d1fd26ae76a61303a7a18145 +0 -0
  68. data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  69. data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  70. data/spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  71. data/spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  72. data/spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  73. data/spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  74. data/spec/dummy/tmp/cache/assets/test/sprockets/416150dc3ac35079c94273cc46e90aa6 +0 -0
  75. data/spec/dummy/tmp/cache/assets/test/sprockets/5384ad85f52d3272dbc64d46ef3876a4 +0 -0
  76. data/spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  77. data/spec/dummy/tmp/cache/assets/test/sprockets/c85016e7bbd4f3adbb7635d01f85d39b +0 -0
  78. data/spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  79. data/spec/dummy/tmp/cache/assets/test/sprockets/d066c004d1fd26ae76a61303a7a18145 +0 -0
  80. data/spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  81. data/spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  82. data/spec/files/css_hunter/valid.html +15 -0
  83. data/spec/files/css_validator/invalid.css +42 -0
  84. data/spec/files/css_validator/invalid_response.xml +40 -0
  85. data/spec/files/css_validator/valid.css +39 -0
  86. data/spec/files/css_validator/valid_response.xml +23 -0
  87. data/spec/files/html_validator/invalid.html +15 -0
  88. data/spec/files/html_validator/invalid_response.txt +1 -0
  89. data/spec/files/html_validator/valid.html +15 -0
  90. data/spec/files/html_validator/valid_response.txt +0 -0
  91. data/spec/files/html_with_srcset.html +14 -0
  92. data/spec/files/html_without_srcset.html +14 -0
  93. data/spec/files/invalid2.html +16 -0
  94. data/spec/files/valid-1.css +31 -0
  95. data/spec/files/valid-2.css +42 -0
  96. data/spec/files/valid-3.css +48 -0
  97. data/spec/files/valid.html5 +14 -0
  98. data/spec/files/valid_with_cache_busters.html +16 -0
  99. data/spec/files/valid_without_cache_busters.html +16 -0
  100. data/spec/lib/headhunter/css_hunter_spec.rb +83 -0
  101. data/spec/lib/headhunter/css_validator_spec.rb +196 -0
  102. data/spec/lib/headhunter/html_validator_spec.rb +143 -0
  103. data/spec/spec_helper.rb +25 -0
  104. metadata +193 -86
  105. data/Gemfile +0 -4
  106. data/Gemfile.lock +0 -78
  107. data/README.md +0 -78
  108. data/docs/headhunter.png +0 -0
  109. data/docs/money.png +0 -0
  110. data/docs/screenshot.png +0 -0
@@ -0,0 +1,143 @@
1
+ require 'spec_helper'
2
+
3
+ describe Headhunter::HtmlValidator do
4
+ describe '#validate' do
5
+ subject { described_class.new }
6
+
7
+ it 'returns a local response when calling the validator succeeds' do
8
+ expect {
9
+ subject.validate('invalid.html', read_file('html_validator/invalid.html'))
10
+ }.to change { subject.responses.count }.by 1
11
+ end
12
+
13
+ it 'throws an exception when calling the validator fails'
14
+ end
15
+
16
+ describe '#x_pages_be' do
17
+ subject { described_class.new }
18
+
19
+ it "creates a grammatically correct sentence when there is no page" do
20
+ expect(subject.x_pages_be(0)).to eq '0 page is'
21
+ end
22
+
23
+ it "creates a grammatically correct sentence when there is only one page" do
24
+ expect(subject.x_pages_be(1)).to eq '1 page is'
25
+ end
26
+
27
+ it "creates a grammatically correct sentence when there is more than one page" do
28
+ expect(subject.x_pages_be(2)).to eq '2 pages are'
29
+ end
30
+ end
31
+
32
+ describe '#statistics' do
33
+ context 'for valid HTML' do
34
+ subject do
35
+ validator = described_class.new
36
+ validator.validate('valid.html', read_file('html_validator/valid.html'))
37
+ validator.statistics
38
+ end
39
+
40
+ it "returns a text with nice statistics" do
41
+ expect(subject).to match 'Validated 1 page.'
42
+ expect(subject).to match 'All pages are valid.'
43
+ end
44
+ end
45
+
46
+ context 'for invalid HTML' do
47
+ subject do
48
+ validator = described_class.new
49
+ validator.validate('invalid.html', read_file('html_validator/invalid.html'))
50
+ validator.statistics
51
+ end
52
+
53
+ it "returns a text with nice statistics" do
54
+ expect(subject).to match 'Validated 1 page.'
55
+ expect(subject).to match '1 page is invalid.'
56
+ expect(subject).to match 'invalid.html:'
57
+ expect(subject).to match 'Line 12, column 6: Warning: missing </b> before </p>.'
58
+ expect(subject).to match 'Line 12, column 54: Warning: discarding unexpected </b>.'
59
+ end
60
+ end
61
+ end
62
+
63
+ describe '#valid_responses' do
64
+ subject do
65
+ validator = described_class.new
66
+ validator.validate('valid.html', read_file('html_validator/valid.html'))
67
+ validator
68
+ end
69
+
70
+ it 'returns all valid responses' do
71
+ expect(subject.valid_responses.size).to eq 1
72
+ expect(subject.invalid_responses.size).to eq 0
73
+ end
74
+ end
75
+
76
+ describe '#invalid_responses' do
77
+ subject do
78
+ validator = described_class.new
79
+ validator.validate('invalid.html', read_file('html_validator/invalid.html'))
80
+ validator
81
+ end
82
+
83
+ it 'returns all valid responses' do
84
+ expect(subject.invalid_responses.size).to eq 1
85
+ expect(subject.valid_responses.size).to eq 0
86
+ end
87
+ end
88
+ end
89
+
90
+ describe Headhunter::HtmlValidator::Response do
91
+ describe '#initialize' do
92
+ context 'valid response' do
93
+ subject { described_class.new(read_file('html_validator/valid_response.txt'), 'some-path.html') }
94
+
95
+ it { should be_valid }
96
+ end
97
+
98
+ context 'invalid response' do
99
+ subject { described_class.new(read_file('html_validator/invalid_response.txt'), 'some-path.html') }
100
+
101
+ it { should_not be_valid }
102
+ end
103
+ end
104
+
105
+ describe '#errors' do
106
+ context 'valid response' do
107
+ subject { described_class.new(read_file('html_validator/valid_response.txt'), 'some-path.html') }
108
+
109
+ it 'returns an empty array' do
110
+ expect(subject.errors).to eq []
111
+ end
112
+ end
113
+
114
+ context 'invalid response' do
115
+ subject { described_class.new(read_file('html_validator/invalid_response.txt'), 'some-path.html') }
116
+
117
+ it 'returns an array of errors' do
118
+ expect(subject.errors.size).to eq 1
119
+ expect(subject.errors.first).to be_a Headhunter::HtmlValidator::Response::Error
120
+ end
121
+ end
122
+ end
123
+
124
+ describe '#uri' do
125
+ subject { described_class.new(read_file('html_validator/valid_response.txt'), 'some-path.html') }
126
+
127
+ it "returns the validated uri's path" do
128
+ expect(subject.send :uri).to eq 'some-path.html'
129
+ end
130
+ end
131
+ end
132
+
133
+ describe Headhunter::HtmlValidator::Response::Error do
134
+ describe '#initialize' do
135
+ subject { described_class.new(123, "Attribute xyz doesn't exist", context: 'something', anything_else: 'bla') }
136
+
137
+ it 'assigns the passed params correctly' do
138
+ expect(subject.line).to eq 123
139
+ expect(subject.message).to eq "Attribute xyz doesn't exist"
140
+ expect(subject.details).to eq context: 'something', anything_else: 'bla'
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,25 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
3
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+ require 'pry'
7
+
8
+ Rails.backtrace_cleaner.remove_silencers!
9
+
10
+ # Load support files
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
12
+
13
+ RSpec.configure do |config|
14
+ config.mock_with :rspec
15
+ config.infer_base_class_for_anonymous_controllers = false
16
+ config.order = 'random'
17
+ end
18
+
19
+ def path_to_file(name)
20
+ File.join(File.dirname(__FILE__), 'files', name)
21
+ end
22
+
23
+ def read_file(name)
24
+ File.read(path_to_file(name))
25
+ end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: headhunter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Muheim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-13 00:00:00.000000000 Z
11
+ date: 2014-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: nokogiri
14
+ name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - '>='
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.6
41
- - !ruby/object:Gem::Dependency
42
- name: html_validation
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: colorize
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -67,55 +53,13 @@ dependencies:
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: fuubar
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: pry
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: coolline
56
+ name: nokogiri
113
57
  requirement: !ruby/object:Gem::Requirement
114
58
  requirements:
115
59
  - - '>='
116
60
  - !ruby/object:Gem::Version
117
61
  version: '0'
118
- type: :development
62
+ type: :runtime
119
63
  prerelease: false
120
64
  version_requirements: !ruby/object:Gem::Requirement
121
65
  requirements:
@@ -123,7 +67,7 @@ dependencies:
123
67
  - !ruby/object:Gem::Version
124
68
  version: '0'
125
69
  - !ruby/object:Gem::Dependency
126
- name: awesome_print
70
+ name: rspec-rails
127
71
  requirement: !ruby/object:Gem::Requirement
128
72
  requirements:
129
73
  - - '>='
@@ -137,7 +81,7 @@ dependencies:
137
81
  - !ruby/object:Gem::Version
138
82
  version: '0'
139
83
  - !ruby/object:Gem::Dependency
140
- name: gem-release
84
+ name: capybara
141
85
  requirement: !ruby/object:Gem::Requirement
142
86
  requirements:
143
87
  - - '>='
@@ -151,7 +95,7 @@ dependencies:
151
95
  - !ruby/object:Gem::Version
152
96
  version: '0'
153
97
  - !ruby/object:Gem::Dependency
154
- name: rake
98
+ name: jazz_hands
155
99
  requirement: !ruby/object:Gem::Requirement
156
100
  requirements:
157
101
  - - '>='
@@ -164,20 +108,6 @@ dependencies:
164
108
  - - '>='
165
109
  - !ruby/object:Gem::Version
166
110
  version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: rspec
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - '>='
172
- - !ruby/object:Gem::Version
173
- version: '2.0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - '>='
179
- - !ruby/object:Gem::Version
180
- version: '2.0'
181
111
  description: Headhunter is an HTML and CSS validation tool that injects itself into
182
112
  your Rails feature tests and automagically checks all your generated HTML and CSS
183
113
  for validity. In addition, it also looks out for unused (and therefore superfluous)
@@ -194,6 +124,7 @@ files:
194
124
  - lib/css-validator/lib/velocity-1.7.jar
195
125
  - lib/headhunter/css_hunter.rb
196
126
  - lib/headhunter/css_validator.rb
127
+ - lib/headhunter/engine.rb
197
128
  - lib/headhunter/html_validator.rb
198
129
  - lib/headhunter/rack/capturing_middleware.rb
199
130
  - lib/headhunter/rails.rb
@@ -202,14 +133,100 @@ files:
202
133
  - lib/headhunter/templates/results.html
203
134
  - lib/headhunter/version.rb
204
135
  - lib/headhunter.rb
205
- - lib/tidy/tidy
206
- - Gemfile
207
- - Gemfile.lock
136
+ - lib/tasks/headhunter_tasks.rake
137
+ - lib/tidy/tidy2
138
+ - MIT-LICENSE
208
139
  - Rakefile
209
- - README.md
210
- - docs/headhunter.png
211
- - docs/money.png
212
- - docs/screenshot.png
140
+ - README.rdoc
141
+ - spec/dummy/app/assets/javascripts/application.js
142
+ - spec/dummy/app/assets/stylesheets/application.css
143
+ - spec/dummy/app/assets/stylesheets/scaffold.css
144
+ - spec/dummy/app/controllers/application_controller.rb
145
+ - spec/dummy/app/controllers/posts_controller.rb
146
+ - spec/dummy/app/helpers/application_helper.rb
147
+ - spec/dummy/app/views/layouts/application.html.erb
148
+ - spec/dummy/app/views/posts/index.html.erb
149
+ - spec/dummy/bin/bundle
150
+ - spec/dummy/bin/rails
151
+ - spec/dummy/bin/rake
152
+ - spec/dummy/config/application.rb
153
+ - spec/dummy/config/boot.rb
154
+ - spec/dummy/config/database.yml
155
+ - spec/dummy/config/environment.rb
156
+ - spec/dummy/config/environments/development.rb
157
+ - spec/dummy/config/environments/production.rb
158
+ - spec/dummy/config/environments/test.rb
159
+ - spec/dummy/config/initializers/backtrace_silencers.rb
160
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
161
+ - spec/dummy/config/initializers/inflections.rb
162
+ - spec/dummy/config/initializers/mime_types.rb
163
+ - spec/dummy/config/initializers/secret_token.rb
164
+ - spec/dummy/config/initializers/session_store.rb
165
+ - spec/dummy/config/initializers/wrap_parameters.rb
166
+ - spec/dummy/config/locales/en.yml
167
+ - spec/dummy/config/routes.rb
168
+ - spec/dummy/config.ru
169
+ - spec/dummy/Gemfile
170
+ - spec/dummy/Gemfile.lock
171
+ - spec/dummy/log/development.log
172
+ - spec/dummy/log/test.log
173
+ - spec/dummy/public/404.html
174
+ - spec/dummy/public/422.html
175
+ - spec/dummy/public/500.html
176
+ - spec/dummy/public/favicon.ico
177
+ - spec/dummy/Rakefile
178
+ - spec/dummy/README.rdoc
179
+ - spec/dummy/spec/features/bla_spec.rb
180
+ - spec/dummy/spec/spec_helper.rb
181
+ - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
182
+ - spec/dummy/tmp/cache/assets/development/sprockets/1e8f75a6b5b33970fb8e397347caa0a1
183
+ - spec/dummy/tmp/cache/assets/development/sprockets/24204f742af588c8166d3160b500d20f
184
+ - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
185
+ - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
186
+ - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
187
+ - spec/dummy/tmp/cache/assets/development/sprockets/416150dc3ac35079c94273cc46e90aa6
188
+ - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
189
+ - spec/dummy/tmp/cache/assets/development/sprockets/5384ad85f52d3272dbc64d46ef3876a4
190
+ - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
191
+ - spec/dummy/tmp/cache/assets/development/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
192
+ - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
193
+ - spec/dummy/tmp/cache/assets/development/sprockets/d066c004d1fd26ae76a61303a7a18145
194
+ - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
195
+ - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
196
+ - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
197
+ - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
198
+ - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
199
+ - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
200
+ - spec/dummy/tmp/cache/assets/test/sprockets/416150dc3ac35079c94273cc46e90aa6
201
+ - spec/dummy/tmp/cache/assets/test/sprockets/5384ad85f52d3272dbc64d46ef3876a4
202
+ - spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
203
+ - spec/dummy/tmp/cache/assets/test/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
204
+ - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
205
+ - spec/dummy/tmp/cache/assets/test/sprockets/d066c004d1fd26ae76a61303a7a18145
206
+ - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
207
+ - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
208
+ - spec/files/css_hunter/valid.html
209
+ - spec/files/css_validator/invalid.css
210
+ - spec/files/css_validator/invalid_response.xml
211
+ - spec/files/css_validator/valid.css
212
+ - spec/files/css_validator/valid_response.xml
213
+ - spec/files/html_validator/invalid.html
214
+ - spec/files/html_validator/invalid_response.txt
215
+ - spec/files/html_validator/valid.html
216
+ - spec/files/html_validator/valid_response.txt
217
+ - spec/files/html_with_srcset.html
218
+ - spec/files/html_without_srcset.html
219
+ - spec/files/invalid2.html
220
+ - spec/files/valid-1.css
221
+ - spec/files/valid-2.css
222
+ - spec/files/valid-3.css
223
+ - spec/files/valid.html5
224
+ - spec/files/valid_with_cache_busters.html
225
+ - spec/files/valid_without_cache_busters.html
226
+ - spec/lib/headhunter/css_hunter_spec.rb
227
+ - spec/lib/headhunter/css_validator_spec.rb
228
+ - spec/lib/headhunter/html_validator_spec.rb
229
+ - spec/spec_helper.rb
213
230
  homepage: http://github.com/jmuheim/headhunter
214
231
  licenses:
215
232
  - MIT
@@ -234,4 +251,94 @@ rubygems_version: 2.1.11
234
251
  signing_key:
235
252
  specification_version: 4
236
253
  summary: Zero config HTML & CSS validation tool for Rails apps
237
- test_files: []
254
+ test_files:
255
+ - spec/dummy/app/assets/javascripts/application.js
256
+ - spec/dummy/app/assets/stylesheets/application.css
257
+ - spec/dummy/app/assets/stylesheets/scaffold.css
258
+ - spec/dummy/app/controllers/application_controller.rb
259
+ - spec/dummy/app/controllers/posts_controller.rb
260
+ - spec/dummy/app/helpers/application_helper.rb
261
+ - spec/dummy/app/views/layouts/application.html.erb
262
+ - spec/dummy/app/views/posts/index.html.erb
263
+ - spec/dummy/bin/bundle
264
+ - spec/dummy/bin/rails
265
+ - spec/dummy/bin/rake
266
+ - spec/dummy/config/application.rb
267
+ - spec/dummy/config/boot.rb
268
+ - spec/dummy/config/database.yml
269
+ - spec/dummy/config/environment.rb
270
+ - spec/dummy/config/environments/development.rb
271
+ - spec/dummy/config/environments/production.rb
272
+ - spec/dummy/config/environments/test.rb
273
+ - spec/dummy/config/initializers/backtrace_silencers.rb
274
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
275
+ - spec/dummy/config/initializers/inflections.rb
276
+ - spec/dummy/config/initializers/mime_types.rb
277
+ - spec/dummy/config/initializers/secret_token.rb
278
+ - spec/dummy/config/initializers/session_store.rb
279
+ - spec/dummy/config/initializers/wrap_parameters.rb
280
+ - spec/dummy/config/locales/en.yml
281
+ - spec/dummy/config/routes.rb
282
+ - spec/dummy/config.ru
283
+ - spec/dummy/Gemfile
284
+ - spec/dummy/Gemfile.lock
285
+ - spec/dummy/log/development.log
286
+ - spec/dummy/log/test.log
287
+ - spec/dummy/public/404.html
288
+ - spec/dummy/public/422.html
289
+ - spec/dummy/public/500.html
290
+ - spec/dummy/public/favicon.ico
291
+ - spec/dummy/Rakefile
292
+ - spec/dummy/README.rdoc
293
+ - spec/dummy/spec/features/bla_spec.rb
294
+ - spec/dummy/spec/spec_helper.rb
295
+ - spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
296
+ - spec/dummy/tmp/cache/assets/development/sprockets/1e8f75a6b5b33970fb8e397347caa0a1
297
+ - spec/dummy/tmp/cache/assets/development/sprockets/24204f742af588c8166d3160b500d20f
298
+ - spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
299
+ - spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
300
+ - spec/dummy/tmp/cache/assets/development/sprockets/371bf96e99717688ed7313a0c53f4212
301
+ - spec/dummy/tmp/cache/assets/development/sprockets/416150dc3ac35079c94273cc46e90aa6
302
+ - spec/dummy/tmp/cache/assets/development/sprockets/510da110ae528e2d22533be39ff696c5
303
+ - spec/dummy/tmp/cache/assets/development/sprockets/5384ad85f52d3272dbc64d46ef3876a4
304
+ - spec/dummy/tmp/cache/assets/development/sprockets/6fc757c2c8329244ca95d6909865bbc2
305
+ - spec/dummy/tmp/cache/assets/development/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
306
+ - spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
307
+ - spec/dummy/tmp/cache/assets/development/sprockets/d066c004d1fd26ae76a61303a7a18145
308
+ - spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
309
+ - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
310
+ - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
311
+ - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
312
+ - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
313
+ - spec/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212
314
+ - spec/dummy/tmp/cache/assets/test/sprockets/416150dc3ac35079c94273cc46e90aa6
315
+ - spec/dummy/tmp/cache/assets/test/sprockets/5384ad85f52d3272dbc64d46ef3876a4
316
+ - spec/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2
317
+ - spec/dummy/tmp/cache/assets/test/sprockets/c85016e7bbd4f3adbb7635d01f85d39b
318
+ - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
319
+ - spec/dummy/tmp/cache/assets/test/sprockets/d066c004d1fd26ae76a61303a7a18145
320
+ - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
321
+ - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
322
+ - spec/files/css_hunter/valid.html
323
+ - spec/files/css_validator/invalid.css
324
+ - spec/files/css_validator/invalid_response.xml
325
+ - spec/files/css_validator/valid.css
326
+ - spec/files/css_validator/valid_response.xml
327
+ - spec/files/html_validator/invalid.html
328
+ - spec/files/html_validator/invalid_response.txt
329
+ - spec/files/html_validator/valid.html
330
+ - spec/files/html_validator/valid_response.txt
331
+ - spec/files/html_with_srcset.html
332
+ - spec/files/html_without_srcset.html
333
+ - spec/files/invalid2.html
334
+ - spec/files/valid-1.css
335
+ - spec/files/valid-2.css
336
+ - spec/files/valid-3.css
337
+ - spec/files/valid.html5
338
+ - spec/files/valid_with_cache_busters.html
339
+ - spec/files/valid_without_cache_busters.html
340
+ - spec/lib/headhunter/css_hunter_spec.rb
341
+ - spec/lib/headhunter/css_validator_spec.rb
342
+ - spec/lib/headhunter/html_validator_spec.rb
343
+ - spec/spec_helper.rb
344
+ has_rdoc: