html-proofer 2.3.0 → 2.4.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/bin/htmlproof +4 -2
  4. data/html-proofer.gemspec +1 -0
  5. data/lib/html/proofer.rb +5 -2
  6. data/lib/html/proofer/check_runner.rb +3 -2
  7. data/lib/html/proofer/checks/html.rb +7 -3
  8. data/lib/html/proofer/version.rb +1 -1
  9. data/spec/html/proofer/fixtures/html/ignore_script_embeds.html +3 -0
  10. data/spec/html/proofer/fixtures/links/linkWithRedirect.html +2 -0
  11. data/spec/html/proofer/fixtures/vcr_cassettes/images/existingImageExternal_html.yml +62 -0
  12. data/spec/html/proofer/fixtures/vcr_cassettes/images/ignoreAltButNotLink_html_alt_ignore_/_/_.yml +45 -0
  13. data/spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_invalid_html.yml +117 -0
  14. data/spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_valid_html.yml +62 -0
  15. data/spec/html/proofer/fixtures/vcr_cassettes/images/missingImageExternal_html.yml +45 -0
  16. data/spec/html/proofer/fixtures/vcr_cassettes/links/attributeWithDash_html.yml +73 -0
  17. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html.yml +56 -0
  18. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_check_external_hash_true_.yml +719 -0
  19. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_only_4xx_true_.yml +56 -0
  20. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenLinkExternal_html.yml +96 -0
  21. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenUnixLinks_html.yml +156 -0
  22. data/spec/html/proofer/fixtures/vcr_cassettes/links/checkSSLLinks_html.yml +50 -0
  23. data/spec/html/proofer/fixtures/vcr_cassettes/links/ensure_typhoeus_options_html_typhoeus_ssl_verifypeer_false_.yml +40 -0
  24. data/spec/html/proofer/fixtures/vcr_cassettes/links/escape_pipes_html.yml +52 -0
  25. data/spec/html/proofer/fixtures/vcr_cassettes/links/file_foo_ext_foo_.yml +96 -0
  26. data/spec/html/proofer/fixtures/vcr_cassettes/links/githubHash_html.yml +73 -0
  27. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithHttps_html.yml +73 -0
  28. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html.yml +236 -0
  29. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_only_4xx_true_typhoeus_followlocation_false_.yml +318 -0
  30. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_typhoeus_followlocation_false_.yml +318 -0
  31. data/spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_invalid_html.yml +45 -0
  32. data/spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_valid_html.yml +73 -0
  33. data/spec/html/proofer/fixtures/vcr_cassettes/links/nodupe_html.yml +182 -0
  34. data/spec/html/proofer/fixtures/vcr_cassettes/links/non_standard_characters_html.yml +113 -0
  35. data/spec/html/proofer/fixtures/vcr_cassettes/links/redirected_error_html.yml +1044 -0
  36. data/spec/html/proofer/fixtures/vcr_cassettes/links/utf8Link_html.yml +113 -0
  37. data/spec/html/proofer/fixtures/vcr_cassettes/scripts/script_broken_external_html.yml +45 -0
  38. data/spec/html/proofer/fixtures/vcr_cassettes/sorting/status_typhoeus_followlocation_false_error_sort_status_.yml +244 -0
  39. data/spec/html/proofer/fixtures/vcr_cassettes/www_garbalarba_com_href_swap_/garbalarba/_github_.yml +73 -0
  40. data/spec/html/proofer/fixtures/vcr_cassettes/www_github_com_foofoofoo_biz.yml +115 -0
  41. data/spec/html/proofer/html_spec.rb +12 -5
  42. data/spec/html/proofer/images_spec.rb +3 -3
  43. data/spec/html/proofer/links_spec.rb +6 -6
  44. data/spec/html/proofer/scripts_spec.rb +1 -2
  45. data/spec/html/proofer_spec.rb +3 -3
  46. data/spec/spec_helper.rb +27 -5
  47. metadata +78 -2
@@ -0,0 +1,115 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: foofoofoo.biz
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
12
+ response:
13
+ status:
14
+ code: 0
15
+ message:
16
+ headers: {}
17
+ body:
18
+ encoding: UTF-8
19
+ string: ''
20
+ http_version:
21
+ adapter_metadata:
22
+ effective_url: HTTP://foofoofoo.biz/
23
+ recorded_at: Mon, 06 Jul 2015 05:10:19 GMT
24
+ - request:
25
+ method: get
26
+ uri: foofoofoo.biz
27
+ body:
28
+ encoding: US-ASCII
29
+ string: ''
30
+ headers:
31
+ User-Agent:
32
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
33
+ response:
34
+ status:
35
+ code: 0
36
+ message:
37
+ headers: {}
38
+ body:
39
+ encoding: UTF-8
40
+ string: ''
41
+ http_version:
42
+ adapter_metadata:
43
+ effective_url: HTTP://foofoofoo.biz/
44
+ recorded_at: Mon, 06 Jul 2015 05:10:19 GMT
45
+ - request:
46
+ method: head
47
+ uri: www.github.com
48
+ body:
49
+ encoding: US-ASCII
50
+ string: ''
51
+ headers:
52
+ User-Agent:
53
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
54
+ response:
55
+ status:
56
+ code: 200
57
+ message: OK
58
+ headers:
59
+ Server:
60
+ - GitHub.com
61
+ Date:
62
+ - Mon, 06 Jul 2015 05:10:21 GMT
63
+ Content-Type:
64
+ - text/html; charset=utf-8
65
+ Status:
66
+ - 200 OK
67
+ Content-Security-Policy:
68
+ - 'default-src *; script-src assets-cdn.github.com collector-cdn.github.com;
69
+ object-src assets-cdn.github.com; style-src ''self'' ''unsafe-inline'' ''unsafe-eval''
70
+ assets-cdn.github.com; img-src ''self'' data: assets-cdn.github.com identicons.github.com
71
+ www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com
72
+ *.wp.com; media-src ''none''; frame-src ''self'' render.githubusercontent.com
73
+ gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src
74
+ assets-cdn.github.com; connect-src ''self'' live.github.com wss://live.github.com
75
+ uploads.github.com status.github.com api.github.com www.google-analytics.com
76
+ github-cloud.s3.amazonaws.com'
77
+ Public-Key-Pins:
78
+ - max-age=300; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=";
79
+ includeSubDomains
80
+ Cache-Control:
81
+ - no-cache
82
+ Vary:
83
+ - X-PJAX
84
+ - Accept-Encoding
85
+ X-UA-Compatible:
86
+ - IE=Edge,chrome=1
87
+ Set-Cookie:
88
+ - logged_in=no; domain=.github.com; path=/; expires=Fri, 06 Jul 2035 05:10:21
89
+ -0000; secure; HttpOnly
90
+ - _gh_sess=eyJzZXNzaW9uX2lkIjoiYjVmM2Q3ZjFhODQxMWIxNjdhODIyNWQ5ZGI1ZDNlMDkiLCJfY3NyZl90b2tlbiI6IlE5R1lsT3pFWW9Fb2VJWndZVGJUQ1ZodzJCeXZsclBzYmVEc1JvdVU1VE09In0%3D--afddd987025ba23ca6db5388811d74e15126663a;
91
+ path=/; secure; HttpOnly
92
+ X-Request-Id:
93
+ - cfa6252fd906896bc99fa744471f06af
94
+ X-Runtime:
95
+ - '0.009622'
96
+ X-GitHub-Request-Id:
97
+ - 490F8465:506E:3EED418:559A0DBD
98
+ Strict-Transport-Security:
99
+ - max-age=31536000; includeSubdomains; preload
100
+ X-Content-Type-Options:
101
+ - nosniff
102
+ X-XSS-Protection:
103
+ - 1; mode=block
104
+ X-Frame-Options:
105
+ - deny
106
+ X-Served-By:
107
+ - a22dbcbd09a98eacdd14ac7804a635dd
108
+ body:
109
+ encoding: UTF-8
110
+ string: ''
111
+ http_version: '1.1'
112
+ adapter_metadata:
113
+ effective_url: https://github.com/
114
+ recorded_at: Mon, 06 Jul 2015 05:10:21 GMT
115
+ recorded_with: VCR 2.9.3
@@ -22,19 +22,19 @@ describe 'Html test' do
22
22
  it 'fails for an invalid tag' do
23
23
  html = "#{FIXTURES_DIR}/html/invalid_tag.html"
24
24
  proofer = run_proofer(html, { :check_html => true })
25
- expect(proofer.failed_tests.first).to match(/Tag myfancytag invalid/)
25
+ expect(proofer.failed_tests.first).to match(/Tag myfancytag invalid \(line 2\)/)
26
26
  end
27
27
 
28
28
  it 'fails for an unmatched end tag' do
29
29
  html = "#{FIXTURES_DIR}/html/unmatched_end_tag.html"
30
30
  proofer = run_proofer(html, { :check_html => true })
31
- expect(proofer.failed_tests.first).to match(/Unexpected end tag : div/)
31
+ expect(proofer.failed_tests.first).to match(/Unexpected end tag : div \(line 3\)/)
32
32
  end
33
33
 
34
34
  it 'fails for an unescaped ampersand in attribute' do
35
35
  html = "#{FIXTURES_DIR}/html/unescaped_ampersand_in_attribute.html"
36
36
  proofer = run_proofer(html, { :check_html => true })
37
- expect(proofer.failed_tests.first).to match(/htmlParseEntityRef: expecting ';'/)
37
+ expect(proofer.failed_tests.first).to match(/htmlParseEntityRef: expecting ';' \(line 2\)/)
38
38
  end
39
39
 
40
40
  it 'fails for mismatch between opening and ending tag' do
@@ -46,12 +46,19 @@ describe 'Html test' do
46
46
  it 'fails for div inside head' do
47
47
  html = "#{FIXTURES_DIR}/html/div_inside_head.html"
48
48
  proofer = run_proofer(html, { :check_html => true })
49
- expect(proofer.failed_tests.first).to match(/Unexpected end tag : head/)
49
+ expect(proofer.failed_tests.first).to match(/Unexpected end tag : head \(line 5\)/)
50
50
  end
51
51
 
52
52
  it 'fails for missing closing quotation mark in href' do
53
53
  html = "#{FIXTURES_DIR}/html/missing_closing_quotes.html"
54
54
  proofer = run_proofer(html, { :check_html => true })
55
- expect(proofer.failed_tests.to_s).to match(/Couldn't find end of Start Tag a/)
55
+ expect(proofer.failed_tests.to_s).to match(/Couldn't find end of Start Tag a \(line 6\)/)
56
+ end
57
+
58
+ it 'ignores embeded scripts when asked' do
59
+ opts = { :check_html => true, :validation => { :ignore_script_embeds => true } }
60
+ ignorableScript = "#{FIXTURES_DIR}/html/ignore_script_embeds.html"
61
+ proofer = run_proofer(ignorableScript, opts)
62
+ expect(proofer.failed_tests).to eq []
56
63
  end
57
64
  end
@@ -35,7 +35,7 @@ describe 'Images test' do
35
35
  it 'fails for missing external images' do
36
36
  externalImageFilepath = "#{FIXTURES_DIR}/images/missingImageExternal.html"
37
37
  proofer = run_proofer(externalImageFilepath)
38
- expect(proofer.failed_tests.first).to match(/failed: 0 Couldn't resolve host/)
38
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
39
39
  end
40
40
 
41
41
  it 'fails for missing internal images' do
@@ -87,7 +87,7 @@ describe 'Images test' do
87
87
  it 'fails for invalid images missing the protocol' do
88
88
  missingProtocolLink = "#{FIXTURES_DIR}/images/image_missing_protocol_invalid.html"
89
89
  proofer = run_proofer(missingProtocolLink)
90
- expect(proofer.failed_tests.first).to match(/404 No error/)
90
+ expect(proofer.failed_tests.first).to match(/failed: 404/)
91
91
  end
92
92
 
93
93
  it 'properly checks relative links' do
@@ -105,7 +105,7 @@ describe 'Images test' do
105
105
  it 'properly ignores missing alt tags, but not all URLs, when asked' do
106
106
  ignorableLinks = "#{FIXTURES_DIR}/images/ignoreAltButNotLink.html"
107
107
  proofer = run_proofer(ignorableLinks, {:alt_ignore => [/.*/]})
108
- expect(proofer.failed_tests.first).to match(/Couldn't resolve host name/)
108
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
109
109
  expect(proofer.failed_tests.first).to_not match /does not have an alt attribute/
110
110
  end
111
111
 
@@ -42,7 +42,7 @@ describe 'Links test' do
42
42
  it 'fails for broken external links' do
43
43
  brokenLinkExternalFilepath = "#{FIXTURES_DIR}/links/brokenLinkExternal.html"
44
44
  proofer = run_proofer(brokenLinkExternalFilepath)
45
- expect(proofer.failed_tests.first).to match(/failed: 0 Couldn't resolve host name/)
45
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
46
46
  end
47
47
 
48
48
  it 'passes for different filename without option' do
@@ -55,7 +55,7 @@ describe 'Links test' do
55
55
  options = { :ext => '.foo' }
56
56
  brokenLinkExternalFilepath = "#{FIXTURES_DIR}/links/file.foo"
57
57
  proofer = run_proofer(brokenLinkExternalFilepath, options)
58
- expect(proofer.failed_tests.first).to match(/failed: 0 Couldn't resolve host name/)
58
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
59
59
  end
60
60
 
61
61
  it 'fails for broken internal links' do
@@ -79,7 +79,7 @@ describe 'Links test' do
79
79
  it 'fails on redirects if not following' do
80
80
  linkWithRedirectFilepath = "#{FIXTURES_DIR}/links/linkWithRedirect.html"
81
81
  proofer = run_proofer(linkWithRedirectFilepath, :typhoeus => { :followlocation => false })
82
- expect(proofer.failed_tests.first).to match(/failed: 301 No error/)
82
+ expect(proofer.failed_tests.first).to match(/failed: 301/)
83
83
  end
84
84
 
85
85
  it "does not fail on redirects we're not following" do
@@ -199,7 +199,7 @@ describe 'Links test' do
199
199
  it 'fails for invalid links missing the protocol' do
200
200
  missingProtocolLink = "#{FIXTURES_DIR}/links/link_missing_protocol_invalid.html"
201
201
  proofer = run_proofer(missingProtocolLink)
202
- expect(proofer.failed_tests.first).to match(/Couldn't resolve host name/)
202
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
203
203
  end
204
204
 
205
205
  it 'works for valid href within link elements' do
@@ -236,7 +236,7 @@ describe 'Links test' do
236
236
 
237
237
  it 'works for array of links' do
238
238
  proofer = run_proofer(['www.github.com', 'foofoofoo.biz'])
239
- expect(proofer.failed_tests.first).to match(/failed: 0 Couldn't resolve host name/)
239
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
240
240
  end
241
241
 
242
242
  it 'works for broken anchors within pre' do
@@ -353,7 +353,7 @@ describe 'Links test' do
353
353
  it 'reports failures for the original link, not the redirection' do
354
354
  fixture = "#{FIXTURES_DIR}/links/redirected_error.html"
355
355
  proofer = run_proofer(fixture)
356
- expect(proofer.failed_tests.first).to match(/post.htm\?id=63009224 failed: 404 No error/)
356
+ expect(proofer.failed_tests.first).to match(/failed: 404/)
357
357
  end
358
358
 
359
359
  it 'does not complain for files with attributes containing dashes' do
@@ -5,7 +5,7 @@ describe 'Scripts test' do
5
5
  it 'fails for broken external src' do
6
6
  file = "#{FIXTURES_DIR}/scripts/script_broken_external.html"
7
7
  proofer = run_proofer(file)
8
- expect(proofer.failed_tests.first).to match(/failed: 0 Couldn't resolve host name/)
8
+ expect(proofer.failed_tests.first).to match(/failed: 0/)
9
9
  end
10
10
 
11
11
  it 'works for valid internal src' do
@@ -43,5 +43,4 @@ describe 'Scripts test' do
43
43
  proofer = run_proofer(ignorableLinks, { :url_ignore => [/\/assets\/.*(js|css|png|svg)/] })
44
44
  expect(proofer.failed_tests).to eq []
45
45
  end
46
-
47
46
  end
@@ -65,12 +65,12 @@ describe HTML::Proofer do
65
65
 
66
66
  it 'understands sorting by status' do
67
67
  output = send_proofer_output("#{FIXTURES_DIR}/sorting/status", :typhoeus => { :followlocation => false }, :error_sort => :status)
68
- expect(output.strip).to eq('''
68
+ expect(output.gsub(/\s*$/, '')).to eq('''
69
69
  - -1
70
70
  * spec/html/proofer/fixtures/sorting/status/broken_link.html: internally linking to nowhere.fooof, which does not exist (line 3)
71
71
  - 301
72
- * spec/html/proofer/fixtures/sorting/status/a_404.html: External link http://upload.wikimedia.org/wikipedia/en/thumb/not_here.png failed: 301 No error
73
- * spec/html/proofer/fixtures/sorting/status/broken_link.html: External link http://upload.wikimedia.org/wikipedia/en/thumb/fooooof.png failed: 301 No error
72
+ * spec/html/proofer/fixtures/sorting/status/a_404.html: External link http://upload.wikimedia.org/wikipedia/en/thumb/not_here.png failed: 301
73
+ * spec/html/proofer/fixtures/sorting/status/broken_link.html: External link http://upload.wikimedia.org/wikipedia/en/thumb/fooooof.png failed: 301
74
74
  '''.strip)
75
75
  end
76
76
  end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,8 @@
1
1
  require 'bundler/setup'
2
- require_relative "../lib/html/proofer"
2
+ require 'vcr'
3
+ require_relative '../lib/html/proofer'
3
4
 
4
- FIXTURES_DIR = "spec/html/proofer/fixtures"
5
+ FIXTURES_DIR = 'spec/html/proofer/fixtures'
5
6
 
6
7
  RSpec.configure do |config|
7
8
  # Use color in STDOUT
@@ -37,16 +38,37 @@ def make_proofer(file, opts)
37
38
  end
38
39
 
39
40
  def run_proofer(file, opts = {})
41
+ cassette_name = make_cassette_name(file, opts)
40
42
  proofer = make_proofer(file, opts)
41
- capture_stderr { proofer.run }
42
- proofer
43
+ VCR.use_cassette(cassette_name, :record => :new_episodes) do
44
+ capture_stderr { proofer.run }
45
+ proofer
46
+ end
43
47
  end
44
48
 
45
49
  def send_proofer_output(file, opts = {})
50
+ cassette_name = make_cassette_name(file, opts)
46
51
  proofer = make_proofer(file, opts)
47
- capture_stderr { proofer.run }
52
+ VCR.use_cassette(cassette_name, :record => :new_episodes) do
53
+ capture_stderr { proofer.run }
54
+ end
48
55
  end
49
56
 
50
57
  def make_bin(cmd, path=nil)
51
58
  `bin/htmlproof #{cmd} #{path}`
52
59
  end
60
+
61
+ def make_cassette_name(file, opts)
62
+ filename = if file.is_a? Array
63
+ file.join('_')
64
+ else
65
+ file.split('/')[-2..-1].join('/')
66
+ end
67
+ (filename += opts.inspect) unless opts.empty?
68
+ filename
69
+ end
70
+
71
+ VCR.configure do |config|
72
+ config.cassette_library_dir = "#{FIXTURES_DIR}/vcr_cassettes"
73
+ config.hook_into :typhoeus
74
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html-proofer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-01 00:00:00.000000000 Z
11
+ date: 2015-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mercenary
@@ -164,6 +164,20 @@ dependencies:
164
164
  - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: vcr
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.9'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '2.9'
167
181
  description: Test your rendered HTML files to make sure they're accurate.
168
182
  email:
169
183
  - gjtorikian@gmail.com
@@ -205,6 +219,7 @@ files:
205
219
  - spec/html/proofer/fixtures/favicon/favicon_present_shortcut.html
206
220
  - spec/html/proofer/fixtures/html/div_inside_head.html
207
221
  - spec/html/proofer/fixtures/html/html5_tags.html
222
+ - spec/html/proofer/fixtures/html/ignore_script_embeds.html
208
223
  - spec/html/proofer/fixtures/html/invalid_tag.html
209
224
  - spec/html/proofer/fixtures/html/missing_closing_quotes.html
210
225
  - spec/html/proofer/fixtures/html/opening_and_ending_tag_mismatch.html
@@ -318,6 +333,36 @@ files:
318
333
  - spec/html/proofer/fixtures/sorting/status/broken_link.html
319
334
  - spec/html/proofer/fixtures/sorting/status/missing_redirect.html
320
335
  - spec/html/proofer/fixtures/utils/lang-jp.html
336
+ - spec/html/proofer/fixtures/vcr_cassettes/images/existingImageExternal_html.yml
337
+ - spec/html/proofer/fixtures/vcr_cassettes/images/ignoreAltButNotLink_html_alt_ignore_/_/_.yml
338
+ - spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_invalid_html.yml
339
+ - spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_valid_html.yml
340
+ - spec/html/proofer/fixtures/vcr_cassettes/images/missingImageExternal_html.yml
341
+ - spec/html/proofer/fixtures/vcr_cassettes/links/attributeWithDash_html.yml
342
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html.yml
343
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_check_external_hash_true_.yml
344
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_only_4xx_true_.yml
345
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenLinkExternal_html.yml
346
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenUnixLinks_html.yml
347
+ - spec/html/proofer/fixtures/vcr_cassettes/links/checkSSLLinks_html.yml
348
+ - spec/html/proofer/fixtures/vcr_cassettes/links/ensure_typhoeus_options_html_typhoeus_ssl_verifypeer_false_.yml
349
+ - spec/html/proofer/fixtures/vcr_cassettes/links/escape_pipes_html.yml
350
+ - spec/html/proofer/fixtures/vcr_cassettes/links/file_foo_ext_foo_.yml
351
+ - spec/html/proofer/fixtures/vcr_cassettes/links/githubHash_html.yml
352
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithHttps_html.yml
353
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html.yml
354
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_only_4xx_true_typhoeus_followlocation_false_.yml
355
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_typhoeus_followlocation_false_.yml
356
+ - spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_invalid_html.yml
357
+ - spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_valid_html.yml
358
+ - spec/html/proofer/fixtures/vcr_cassettes/links/nodupe_html.yml
359
+ - spec/html/proofer/fixtures/vcr_cassettes/links/non_standard_characters_html.yml
360
+ - spec/html/proofer/fixtures/vcr_cassettes/links/redirected_error_html.yml
361
+ - spec/html/proofer/fixtures/vcr_cassettes/links/utf8Link_html.yml
362
+ - spec/html/proofer/fixtures/vcr_cassettes/scripts/script_broken_external_html.yml
363
+ - spec/html/proofer/fixtures/vcr_cassettes/sorting/status_typhoeus_followlocation_false_error_sort_status_.yml
364
+ - spec/html/proofer/fixtures/vcr_cassettes/www_garbalarba_com_href_swap_/garbalarba/_github_.yml
365
+ - spec/html/proofer/fixtures/vcr_cassettes/www_github_com_foofoofoo_biz.yml
321
366
  - spec/html/proofer/html_spec.rb
322
367
  - spec/html/proofer/images_spec.rb
323
368
  - spec/html/proofer/links_spec.rb
@@ -363,6 +408,7 @@ test_files:
363
408
  - spec/html/proofer/fixtures/favicon/favicon_present_shortcut.html
364
409
  - spec/html/proofer/fixtures/html/div_inside_head.html
365
410
  - spec/html/proofer/fixtures/html/html5_tags.html
411
+ - spec/html/proofer/fixtures/html/ignore_script_embeds.html
366
412
  - spec/html/proofer/fixtures/html/invalid_tag.html
367
413
  - spec/html/proofer/fixtures/html/missing_closing_quotes.html
368
414
  - spec/html/proofer/fixtures/html/opening_and_ending_tag_mismatch.html
@@ -476,6 +522,36 @@ test_files:
476
522
  - spec/html/proofer/fixtures/sorting/status/broken_link.html
477
523
  - spec/html/proofer/fixtures/sorting/status/missing_redirect.html
478
524
  - spec/html/proofer/fixtures/utils/lang-jp.html
525
+ - spec/html/proofer/fixtures/vcr_cassettes/images/existingImageExternal_html.yml
526
+ - spec/html/proofer/fixtures/vcr_cassettes/images/ignoreAltButNotLink_html_alt_ignore_/_/_.yml
527
+ - spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_invalid_html.yml
528
+ - spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_valid_html.yml
529
+ - spec/html/proofer/fixtures/vcr_cassettes/images/missingImageExternal_html.yml
530
+ - spec/html/proofer/fixtures/vcr_cassettes/links/attributeWithDash_html.yml
531
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html.yml
532
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_check_external_hash_true_.yml
533
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_only_4xx_true_.yml
534
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenLinkExternal_html.yml
535
+ - spec/html/proofer/fixtures/vcr_cassettes/links/brokenUnixLinks_html.yml
536
+ - spec/html/proofer/fixtures/vcr_cassettes/links/checkSSLLinks_html.yml
537
+ - spec/html/proofer/fixtures/vcr_cassettes/links/ensure_typhoeus_options_html_typhoeus_ssl_verifypeer_false_.yml
538
+ - spec/html/proofer/fixtures/vcr_cassettes/links/escape_pipes_html.yml
539
+ - spec/html/proofer/fixtures/vcr_cassettes/links/file_foo_ext_foo_.yml
540
+ - spec/html/proofer/fixtures/vcr_cassettes/links/githubHash_html.yml
541
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithHttps_html.yml
542
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html.yml
543
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_only_4xx_true_typhoeus_followlocation_false_.yml
544
+ - spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_typhoeus_followlocation_false_.yml
545
+ - spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_invalid_html.yml
546
+ - spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_valid_html.yml
547
+ - spec/html/proofer/fixtures/vcr_cassettes/links/nodupe_html.yml
548
+ - spec/html/proofer/fixtures/vcr_cassettes/links/non_standard_characters_html.yml
549
+ - spec/html/proofer/fixtures/vcr_cassettes/links/redirected_error_html.yml
550
+ - spec/html/proofer/fixtures/vcr_cassettes/links/utf8Link_html.yml
551
+ - spec/html/proofer/fixtures/vcr_cassettes/scripts/script_broken_external_html.yml
552
+ - spec/html/proofer/fixtures/vcr_cassettes/sorting/status_typhoeus_followlocation_false_error_sort_status_.yml
553
+ - spec/html/proofer/fixtures/vcr_cassettes/www_garbalarba_com_href_swap_/garbalarba/_github_.yml
554
+ - spec/html/proofer/fixtures/vcr_cassettes/www_github_com_foofoofoo_biz.yml
479
555
  - spec/html/proofer/html_spec.rb
480
556
  - spec/html/proofer/images_spec.rb
481
557
  - spec/html/proofer/links_spec.rb