w3c_validators 1.2 → 1.3

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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/.travis.yml +7 -0
  4. data/CHANGELOG +14 -2
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +43 -0
  7. data/{README.rdoc → README.md} +41 -29
  8. data/Rakefile +64 -0
  9. data/lib/w3c_validators.rb +2 -1
  10. data/lib/w3c_validators/css_validator.rb +23 -16
  11. data/lib/w3c_validators/feed_validator.rb +4 -4
  12. data/lib/w3c_validators/markup_validator.rb +29 -29
  13. data/lib/w3c_validators/message.rb +6 -2
  14. data/lib/w3c_validators/nu_validator.rb +2 -2
  15. data/lib/w3c_validators/validator.rb +48 -43
  16. data/lib/w3c_validators/version.rb +3 -0
  17. data/test/fixtures/bootstrap.min.css +6 -0
  18. data/test/fixtures/invalid_css.css +2 -0
  19. data/test/fixtures/invalid_encoding.html +10 -0
  20. data/test/fixtures/invalid_feed.xml +19 -0
  21. data/test/fixtures/invalid_html5.html +16 -0
  22. data/test/fixtures/invalid_markup.html +11 -0
  23. data/test/fixtures/valid_css.css +2 -0
  24. data/test/fixtures/valid_feed.xml +20 -0
  25. data/test/fixtures/valid_html5.html +16 -0
  26. data/test/fixtures/valid_markup.html +11 -0
  27. data/test/http_recording/css_context.yml +72 -0
  28. data/test/http_recording/css_overriding_css_profile.yml +66 -0
  29. data/test/http_recording/css_skippedstring.yml +72 -0
  30. data/test/http_recording/css_validating_big_file.yml +1423 -0
  31. data/test/http_recording/css_validating_file.yml +72 -0
  32. data/test/http_recording/css_validating_text.yml +66 -0
  33. data/test/http_recording/css_validating_text_via_file.yml +72 -0
  34. data/test/http_recording/css_validating_uri.yml +65 -0
  35. data/test/http_recording/css_vendor_extensions_as_errors.yml +65 -0
  36. data/test/http_recording/css_vendor_extensions_as_warnings.yml +62 -0
  37. data/test/http_recording/css_vendor_extensions_default.yml +62 -0
  38. data/test/http_recording/feed_validating_file.yml +49 -0
  39. data/test/http_recording/feed_validating_text.yml +46 -0
  40. data/test/http_recording/feed_validating_text_via_file.yml +49 -0
  41. data/test/http_recording/feed_validating_uri_with_soap.yml +50 -0
  42. data/test/http_recording/html5_getting_request_data.yml +51 -0
  43. data/test/http_recording/html5_validating_uri.yml +74 -0
  44. data/test/http_recording/markup_debugging_uri.yml +83 -0
  45. data/test/http_recording/markup_overriding_charset.yml +125 -0
  46. data/test/http_recording/markup_overriding_charset_for_fallback_only.yml +76 -0
  47. data/test/http_recording/markup_overriding_doctype.yml +208 -0
  48. data/test/http_recording/markup_overriding_doctype_for_fallback_only.yml +84 -0
  49. data/test/http_recording/markup_validating_file.yml +93 -0
  50. data/test/http_recording/markup_validating_text.yml +67 -0
  51. data/test/http_recording/markup_validating_text_via_file.yml +93 -0
  52. data/test/http_recording/markup_validating_uri_with_head_request.yml +38 -0
  53. data/test/http_recording/markup_validating_uri_with_soap.yml +76 -0
  54. data/test/http_recording/markup_validator_abort.yml +50 -0
  55. data/test/http_recording/markup_validator_contains_details_of_error_conditions.yml +76 -0
  56. data/test/test_css_validator.rb +78 -17
  57. data/test/test_exceptions.rb +11 -8
  58. data/test/test_feed_validator.rb +42 -39
  59. data/test/test_helper.rb +7 -2
  60. data/test/test_html5_validator.rb +42 -34
  61. data/test/test_markup_validator.rb +75 -52
  62. data/test/test_proxy.rb +5 -2
  63. data/w3c_validators.gemspec +24 -0
  64. metadata +154 -68
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://validator.w3.org/feed/check.cgi
6
+ body:
7
+ encoding: UTF-8
8
+ string: rawdata=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%3E%0A%3Cfeed+xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2005%2FAtom%22%3E%0A+%3Ctitle%3EExample+Feed%3C%2Ftitle%3E%0A+%3Csubtitle%3EA+subtitle.%3C%2Fsubtitle%3E%0A+%3Clink+href%3D%22http%3A%2F%2Fexample.org%2Ffeed%2F%22+rel%3D%22self%22%2F%3E%0A+%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F%22%2F%3E%0A+%3Cupdated%3E2003-12-13T18%3A30%3A02Z%3C%2Fupdated%3E%0A+%3Cauthor%3E%0A+++%3Cemail%3Ejohndoe%40example.com%3C%2Femail%3E%0A+%3C%2Fauthor%3E%0A+%3Cid%3Eurn%3Auuid%3A60a76c80-d399-11d9-b91C-0003939e0af6%3C%2Fid%3E%0A+%3Centry%3E%0A+++%3Ctitle%3EAtom-Powered+Robots+Run+Amok%3C%2Ftitle%3E%0A+++%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F2003%2F12%2F13%2Fatom03%22%2F%3E%0A+++%3Cid%3Eurn%3Auuid%3A1225c695-cfb8-4ebb-aaaa-80da344efa6a%3C%2Fid%3E%0A+++%3Cupdated%3E2003-12-13T18%3A30%3A02Z%3C%2Fupdated%3E%0A+++%3Csummary%3ESome+text.%3C%2Fsummary%3E%0A+%3C%2Fentry%3E%0A%3C%2Ffeed%3E%0A&output=soap12&
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 30 Oct 2016 19:24:57 GMT
23
+ Server:
24
+ - Apache/2.4.10 (Debian)
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Content-Type:
28
+ - application/soap+xml; charset=UTF-8
29
+ body:
30
+ encoding: UTF-8
31
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:feedvalidationresponse
32
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/feed-validator\">\n
33
+ \ <m:uri></m:uri> \n <m:checkedby>http://validator.w3.org/feed/check.cgi</m:checkedby>\n
34
+ \ <m:date>2016-10-30T19:24:57.751195</m:date>\n <m:validity>false</m:validity>\n
35
+ \ <m:errors>\n <m:errorcount>1</m:errorcount>\n <m:errorlist><error>\n
36
+ \ <level>error</level>\n <type>MissingElement</type>\n <line>10</line>\n
37
+ \ <column>1</column>\n <text>Missing author element: name</text>\n <msgcount>1</msgcount>\n
38
+ \ <backupcolumn>1</backupcolumn>\n <backupline>10</backupline>\n <element>name</element>\n
39
+ \ <parent>author</parent>\n</error>\n</m:errorlist>\n </m:errors>\n <m:warnings>\n
40
+ \ <m:warningcount>1</m:warningcount>\n\t<m:warninglist><warning>\n <level>warning</level>\n
41
+ \ <type>SelfDoesntMatchLocation</type>\n <line>5</line>\n <column>51</column>\n
42
+ \ <text>Self reference doesn&apos;t match document location</text>\n <msgcount>1</msgcount>\n
43
+ \ <backupcolumn>51</backupcolumn>\n <backupline>5</backupline>\n <element>href</element>\n
44
+ \ <parent>feed</parent>\n</warning>\n</m:warninglist>\n </m:warnings>\n
45
+ \ <m:informations>\n\t<m:infocount>0</m:infocount>\n\t<m:infolist></m:infolist>\n
46
+ \ </m:informations>\n</m:feedvalidationresponse>\n</env:Body>\n</env:Envelope>\n\n"
47
+ http_version:
48
+ recorded_at: Sun, 30 Oct 2016 19:24:56 GMT
49
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://validator.w3.org/feed/check.cgi
6
+ body:
7
+ encoding: UTF-8
8
+ string: rawdata=++++++%3C%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%3E%0A++++++%3Cfeed+xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2005%2FAtom%22%3E%0A+++++++%3Ctitle%3EExample+Feed%3C%2Ftitle%3E%0A+++++++%3Csubtitle%3EA+subtitle.%3C%2Fsubtitle%3E%0A+++++++%3Clink+href%3D%22http%3A%2F%2Fexample.org%2Ffeed%2F%22+rel%3D%22self%22%2F%3E%0A+++++++%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F%22%2F%3E%0A+++++++%3Cupdated%3E2003-12-13T18%3A30%3A02Z%3C%2Fupdated%3E%0A+++++++%3Cauthor%3E%0A+++++++++%3Cemail%3Ejohndoe%40example.com%3C%2Femail%3E%0A+++++++%3C%2Fauthor%3E%0A+++++++%3Cid%3Eurn%3Auuid%3A60a76c80-d399-11d9-b91C-0003939e0af6%3C%2Fid%3E%0A+++++++%3Centry%3E%0A+++++++++%3Ctitle%3EAtom-Powered+Robots+Run+Amok%3C%2Ftitle%3E%0A+++++++++%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F2003%2F12%2F13%2Fatom03%22%2F%3E%0A+++++++++%3Cid%3Eurn%3Auuid%3A1225c695-cfb8-4ebb-aaaa-80da344efa6a%3C%2Fid%3E%0A+++++++++%3Cupdated%3E2003-12-13T18%3A30%3A02Z%3C%2Fupdated%3E%0A+++++++++%3Csummary%3ESome+text.%3C%2Fsummary%3E%0A+++++++%3C%2Fentry%3E%0A++++++%3C%2Ffeed%3E%0A&output=soap12&
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 30 Oct 2016 19:24:58 GMT
23
+ Server:
24
+ - Apache/2.4.10 (Debian)
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Content-Type:
28
+ - application/soap+xml; charset=UTF-8
29
+ body:
30
+ encoding: UTF-8
31
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:feedvalidationresponse
32
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/feed-validator\">\n
33
+ \ <m:uri></m:uri> \n <m:checkedby>http://validator.w3.org/feed/check.cgi</m:checkedby>\n
34
+ \ <m:date>2016-10-30T19:24:59.069709</m:date>\n <m:validity>false</m:validity>\n
35
+ \ <m:errors>\n <m:errorcount>1</m:errorcount>\n <m:errorlist><error>\n
36
+ \ <level>error</level>\n <type>SAXError</type>\n <line>1</line>\n <column>6</column>\n
37
+ \ <text>XML parsing error: &lt;unknown&gt;:1:6: XML or text declaration not
38
+ at start of entity</text>\n <msgcount>1</msgcount>\n <backupcolumn>0</backupcolumn>\n
39
+ \ <backupline>1</backupline>\n <exception>&lt;unknown&gt;:1:6: XML or text
40
+ declaration not at start of entity</exception>\n</error>\n</m:errorlist>\n
41
+ \ </m:errors>\n <m:warnings>\n <m:warningcount>0</m:warningcount>\n\t<m:warninglist></m:warninglist>\n
42
+ \ </m:warnings>\n <m:informations>\n\t<m:infocount>0</m:infocount>\n\t<m:infolist></m:infolist>\n
43
+ \ </m:informations>\n</m:feedvalidationresponse>\n</env:Body>\n</env:Envelope>\n\n"
44
+ http_version:
45
+ recorded_at: Sun, 30 Oct 2016 19:24:58 GMT
46
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://validator.w3.org/feed/check.cgi
6
+ body:
7
+ encoding: UTF-8
8
+ string: rawdata=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%3E%0A%3Cfeed+xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2005%2FAtom%22%3E%0A+%3Ctitle%3EExample+Feed%3C%2Ftitle%3E%0A+%3Csubtitle%3EA+subtitle.%3C%2Fsubtitle%3E%0A+%3Clink+href%3D%22http%3A%2F%2Fexample.org%2Ffeed%2F%22+rel%3D%22self%22%2F%3E%0A+%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F%22%2F%3E%0A+%3Cupdated%3E2003-12-13T18%3A30%3A02Z%3C%2Fupdated%3E%0A+%3Cauthor%3E%0A+++%3Cemail%3Ejohndoe%40example.com%3C%2Femail%3E%0A+%3C%2Fauthor%3E%0A+%3Cid%3Eurn%3Auuid%3A60a76c80-d399-11d9-b91C-0003939e0af6%3C%2Fid%3E%0A+%3Centry%3E%0A+++%3Ctitle%3EAtom-Powered+Robots+Run+Amok%3C%2Ftitle%3E%0A+++%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F2003%2F12%2F13%2Fatom03%22%2F%3E%0A+++%3Cid%3Eurn%3Auuid%3A1225c695-cfb8-4ebb-aaaa-80da344efa6a%3C%2Fid%3E%0A+++%3Cupdated%3E2003-12-13T18%3A30%3A02Z%3C%2Fupdated%3E%0A+++%3Csummary%3ESome+text.%3C%2Fsummary%3E%0A+%3C%2Fentry%3E%0A%3C%2Ffeed%3E%0A&output=soap12&
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 30 Oct 2016 19:25:00 GMT
23
+ Server:
24
+ - Apache/2.4.10 (Debian)
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Content-Type:
28
+ - application/soap+xml; charset=UTF-8
29
+ body:
30
+ encoding: UTF-8
31
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:feedvalidationresponse
32
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/feed-validator\">\n
33
+ \ <m:uri></m:uri> \n <m:checkedby>http://validator.w3.org/feed/check.cgi</m:checkedby>\n
34
+ \ <m:date>2016-10-30T19:25:00.462764</m:date>\n <m:validity>false</m:validity>\n
35
+ \ <m:errors>\n <m:errorcount>1</m:errorcount>\n <m:errorlist><error>\n
36
+ \ <level>error</level>\n <type>MissingElement</type>\n <line>10</line>\n
37
+ \ <column>1</column>\n <text>Missing author element: name</text>\n <msgcount>1</msgcount>\n
38
+ \ <backupcolumn>1</backupcolumn>\n <backupline>10</backupline>\n <element>name</element>\n
39
+ \ <parent>author</parent>\n</error>\n</m:errorlist>\n </m:errors>\n <m:warnings>\n
40
+ \ <m:warningcount>1</m:warningcount>\n\t<m:warninglist><warning>\n <level>warning</level>\n
41
+ \ <type>SelfDoesntMatchLocation</type>\n <line>5</line>\n <column>51</column>\n
42
+ \ <text>Self reference doesn&apos;t match document location</text>\n <msgcount>1</msgcount>\n
43
+ \ <backupcolumn>51</backupcolumn>\n <backupline>5</backupline>\n <element>href</element>\n
44
+ \ <parent>feed</parent>\n</warning>\n</m:warninglist>\n </m:warnings>\n
45
+ \ <m:informations>\n\t<m:infocount>0</m:infocount>\n\t<m:infolist></m:infolist>\n
46
+ \ </m:informations>\n</m:feedvalidationresponse>\n</env:Body>\n</env:Envelope>\n\n"
47
+ http_version:
48
+ recorded_at: Sun, 30 Oct 2016 19:24:59 GMT
49
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://validator.w3.org/feed/check.cgi?output=soap12&url=https://doc75.github.io/w3c_validators_tests/invalid_feed.xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 30 Oct 2016 19:25:01 GMT
23
+ Server:
24
+ - Apache/2.4.10 (Debian)
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Content-Type:
28
+ - application/soap+xml; charset=UTF-8
29
+ body:
30
+ encoding: UTF-8
31
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:feedvalidationresponse
32
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/feed-validator\">\n
33
+ \ <m:uri>https://doc75.github.io/w3c_validators_tests/invalid_feed.xml</m:uri>
34
+ \n <m:checkedby>http://validator.w3.org/feed/check.cgi</m:checkedby>\n
35
+ \ <m:date>2016-10-30T19:25:01.893976</m:date>\n <m:validity>false</m:validity>\n
36
+ \ <m:errors>\n <m:errorcount>1</m:errorcount>\n <m:errorlist><error>\n
37
+ \ <level>error</level>\n <type>MissingElement</type>\n <line>10</line>\n
38
+ \ <column>1</column>\n <text>Missing author element: name</text>\n <msgcount>1</msgcount>\n
39
+ \ <backupcolumn>1</backupcolumn>\n <backupline>10</backupline>\n <element>name</element>\n
40
+ \ <parent>author</parent>\n</error>\n</m:errorlist>\n </m:errors>\n <m:warnings>\n
41
+ \ <m:warningcount>1</m:warningcount>\n\t<m:warninglist><warning>\n <level>warning</level>\n
42
+ \ <type>SelfDoesntMatchLocation</type>\n <line>5</line>\n <column>51</column>\n
43
+ \ <text>Self reference doesn&apos;t match document location</text>\n <msgcount>1</msgcount>\n
44
+ \ <backupcolumn>51</backupcolumn>\n <backupline>5</backupline>\n <element>href</element>\n
45
+ \ <parent>feed</parent>\n</warning>\n</m:warninglist>\n </m:warnings>\n
46
+ \ <m:informations>\n\t<m:infocount>0</m:infocount>\n\t<m:infolist></m:infolist>\n
47
+ \ </m:informations>\n</m:feedvalidationresponse>\n</env:Body>\n</env:Envelope>\n\n"
48
+ http_version:
49
+ recorded_at: Sun, 30 Oct 2016 19:25:00 GMT
50
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,51 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://validator.nu/?doc=https://doc75.github.io/w3c_validators_tests/valid_html5.html&out=json&parser=html&showsource=yes
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.11.5
23
+ Date:
24
+ - Sun, 30 Oct 2016 20:00:01 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Accept-Encoding:
32
+ - gzip
33
+ Access-Control-Allow-Origin:
34
+ - "*"
35
+ Access-Control-Allow-Headers:
36
+ - content-type
37
+ Expires:
38
+ - Thu, 01 Jan 1970 00:00:00 GMT
39
+ Cache-Control:
40
+ - no-cache
41
+ Vary:
42
+ - Accept-Encoding, User-Agent
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubDomains; preload
45
+ body:
46
+ encoding: ASCII-8BIT
47
+ string: |
48
+ {"url":"https://doc75.github.io/w3c_validators_tests/valid_html5.html","messages":[],"source":{"type":"text/html","encoding":"utf-8","code":"<!DOCTYPE html>\n<html lang=\"en-ca\">\n <head>\n\t<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">\n <title>HTML 5 Example</title>\n </head>\n <body>\n <p>This is a sample HTML 5 document.</p>\n <section>\n\t <h1>Example of paragraphs</h1>\n\t This is the <em>first</em> paragraph in this example.\n\t <p>This is the second.</p>\n\t <!-- This is not a paragraph. -->\n\t</section>\n </body>\n</html>"}}
49
+ http_version:
50
+ recorded_at: Sun, 30 Oct 2016 20:00:01 GMT
51
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,74 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://validator.nu/?doc=https://doc75.github.io/w3c_validators_tests/invalid_html5.html&out=json&parser=html&showsource=yes
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.11.5
23
+ Date:
24
+ - Sun, 30 Oct 2016 20:00:05 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Accept-Encoding:
32
+ - gzip
33
+ Access-Control-Allow-Origin:
34
+ - "*"
35
+ Access-Control-Allow-Headers:
36
+ - content-type
37
+ Expires:
38
+ - Thu, 01 Jan 1970 00:00:00 GMT
39
+ Cache-Control:
40
+ - no-cache
41
+ Vary:
42
+ - Accept-Encoding, User-Agent
43
+ Strict-Transport-Security:
44
+ - max-age=31536000; includeSubDomains; preload
45
+ body:
46
+ encoding: ASCII-8BIT
47
+ string: !binary |-
48
+ eyJ1cmwiOiJodHRwczovL2RvYzc1LmdpdGh1Yi5pby93M2NfdmFsaWRhdG9y
49
+ c190ZXN0cy9pbnZhbGlkX2h0bWw1Lmh0bWwiLCJtZXNzYWdlcyI6W3sidHlw
50
+ ZSI6ImVycm9yIiwibGFzdExpbmUiOjE1LCJsYXN0Q29sdW1uIjo5LCJmaXJz
51
+ dENvbHVtbiI6MywibWVzc2FnZSI6IkVuZCB0YWcgZm9yICDigJxib2R54oCd
52
+ IHNlZW4sIGJ1dCB0aGVyZSB3ZXJlIHVuY2xvc2VkIGVsZW1lbnRzLiIsImV4
53
+ dHJhY3QiOiJlc3Q8L3A+XG4gIDwvYm9keT5cbjwvaHRtIiwiaGlsaXRlU3Rh
54
+ cnQiOjEwLCJoaWxpdGVMZW5ndGgiOjd9LHsidHlwZSI6ImVycm9yIiwibGFz
55
+ dExpbmUiOjEwLCJsYXN0Q29sdW1uIjoxMywiZmlyc3RDb2x1bW4iOjUsIm1l
56
+ c3NhZ2UiOiJVbmNsb3NlZCBlbGVtZW50IOKAnHNlY3Rpb27igJ0uIiwiZXh0
57
+ cmFjdCI6Ii48L3A+XG4gICAgPHNlY3Rpb24+XG5cdCAgPGgiLCJoaWxpdGVT
58
+ dGFydCI6MTAsImhpbGl0ZUxlbmd0aCI6OX1dLCJzb3VyY2UiOnsidHlwZSI6
59
+ InRleHQvaHRtbCIsImVuY29kaW5nIjoidXRmLTgiLCJjb2RlIjoiPCFET0NU
60
+ WVBFIGh0bWw+XG48aHRtbCBsYW5nPVwiZW4tY2FcIj5cbiAgPGhlYWQ+XG4g
61
+ ICAgPCEtLTxtZXRhIGh0dHAtZXF1aXY9XCJDb250ZW50LXR5cGVcIiBjb250
62
+ ZW50PVwidGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTFcIj4tLT5cbiAg
63
+ ICA8dGl0bGU+SFRNTCA1IEV4YW1wbGU8L3RpdGxlPlxuICA8L2hlYWQ+XG4g
64
+ IDxib2R5PlxuICBcdDwhLS0gc2hvdWxkIGhhdmUgb25lIGVycm9yIChtaXNz
65
+ aW5nIDwvc2VjdGlvbj4pIGFuZCBvbmUgd2FybmluZyAobm8gY29udGVudCB0
66
+ eXBlKSAtLT5cbiAgICA8cD5UaGlzIGlzIGEgc2FtcGxlIEhUTUwgNSBkb2N1
67
+ bWVudC48L3A+XG4gICAgPHNlY3Rpb24+XG5cdCAgPGgxPkV4YW1wbGUgb2Yg
68
+ cGFyYWdyYXBoczwvaDE+XG5cdCAgVGhpcyBpcyB0aGUgPGVtPmZpcnN0PC9l
69
+ bT4gcGFyYWdyYXBoIGluIHRoaXMgZXhhbXBsZS5cblx0ICA8cD5UaGlzIGlz
70
+ IHRoZSBzZWNvbmQuPC9wPlxuXHQgIDxwPlRlc3Q8YnI+dGVzdDwvcD5cbiAg
71
+ PC9ib2R5PlxuPC9odG1sPiJ9fQo=
72
+ http_version:
73
+ recorded_at: Sun, 30 Oct 2016 20:00:05 GMT
74
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,83 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://validator.w3.org/check?debug=1&output=soap12&uri=https://doc75.github.io/w3c_validators_tests/invalid_markup_6.html
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 30 Oct 2016 17:10:26 GMT
23
+ Server:
24
+ - Apache
25
+ X-W3c-Validator-Recursion:
26
+ - '1'
27
+ X-W3c-Validator-Status:
28
+ - Invalid
29
+ X-W3c-Validator-Errors:
30
+ - '1'
31
+ X-W3c-Validator-Warnings:
32
+ - '0'
33
+ Transfer-Encoding:
34
+ - chunked
35
+ Content-Type:
36
+ - application/soap+xml; charset=UTF-8
37
+ body:
38
+ encoding: UTF-8
39
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n<env:Body>\n<m:markupvalidationresponse
40
+ env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\" xmlns:m=\"http://www.w3.org/2005/10/markup-validator\">\n
41
+ \ <m:debug name=\"no_proxy\">(undefined)</m:debug>\n <m:debug name=\"http_proxy\">(undefined)</m:debug>\n
42
+ \ <m:debug name=\"https_proxy\">(undefined)</m:debug>\n <m:debug name=\"ftp_proxy\">(undefined)</m:debug>\n
43
+ \ <m:debug name=\"FTP_PASSIVE\">(undefined)</m:debug>\n <m:debug name=\"Content-Encoding\">(undefined)</m:debug>\n
44
+ \ <m:debug name=\"Content-Language\">(undefined)</m:debug>\n <m:debug
45
+ name=\"Content-Location\">(undefined)</m:debug>\n <m:debug name=\"Transfer-Encoding\">(undefined)</m:debug>\n
46
+ \ <m:debug name=\"Parse Mode\">DTD+XML</m:debug>\n <m:debug name=\"Parse
47
+ Mode Factor\">Doctype</m:debug>\n <m:debug name=\"Parsers Used\">OpenSP
48
+ (valid non-sgml-char-ref no-duplicate xml)</m:debug>\n \n <m:uri>https://doc75.github.io/w3c_validators_tests/invalid_markup_6.html</m:uri>\n
49
+ \ <m:checkedby>https://validator.w3.org/</m:checkedby>\n
50
+ \ <m:doctype>-//W3C//DTD XHTML 1.0 Transitional//EN</m:doctype>\n <m:charset>utf-8</m:charset>\n
51
+ \ <m:validity>false</m:validity>\n <m:errors>\n <m:errorcount>1</m:errorcount>\n
52
+ \ <m:errorlist>\n \n <m:error>\n <m:line>8</m:line>\n
53
+ \ <m:col>13</m:col>\n <m:message>there is no
54
+ attribute &quot;unknown6&quot;</m:message>\n <m:messageid>108</m:messageid>\n
55
+ \ <m:explanation> <![CDATA[\n <p class=\"helpwanted\">\n
56
+ \ <a\n href=\"feedback.html?uri=https%3A%2F%2Fdoc75.github.io%2Fw3c_validators_tests%2Finvalid_markup_6.html;errmsg_id=108#errormsg\"\n\ttitle=\"Suggest
57
+ improvements on this error message through our feedback channels\" \n >&#x2709;</a>\n
58
+ \ </p>\n\n <div class=\"ve mid-108\">\n <p>\n You have used the
59
+ attribute named above in your document, but the\n document type you are
60
+ using does not support that attribute for this\n element. This error
61
+ is often caused by incorrect use of the \"Strict\"\n document type with
62
+ a document that uses frames (e.g. you must use\n the \"Transitional\"
63
+ document type to get the \"target\" attribute), or\n by using vendor
64
+ proprietary extensions such as \"marginheight\" (this\n is usually fixed
65
+ by using CSS to achieve the desired effect instead).\n </p>\n <p>\n
66
+ \ This error may also result if the element itself is not supported in\n
67
+ \ the document type you are using, as an undefined element will have no\n
68
+ \ supported attributes; in this case, see the element-undefined error\n
69
+ \ message for further information.\n </p>\n <p>\n How to fix:
70
+ check the spelling and case of the element and attribute, \n (Remember
71
+ XHTML is all lower-case) and/or \n check that they are both allowed in
72
+ the chosen document type, and/or\n use CSS instead of this attribute.
73
+ If you received this error when using the \n &lt;embed&gt; element to
74
+ incorporate flash media in a Web page, see the \n <a href=\"docs/help.html#faq-flash\">FAQ
75
+ item on valid flash</a>.\n </p>\n </div>\n\n ]]>\n </m:explanation>\n
76
+ \ <m:source><![CDATA[&#60;p unknown6=<strong title=\"Position
77
+ where error was detected.\">&#34;</strong>true&#34;&#62;Invalid!&#60;/p&#62;]]></m:source>\n
78
+ \ </m:error>\n \n </m:errorlist>\n </m:errors>\n
79
+ \ <m:warnings>\n <m:warningcount>0</m:warningcount>\n <m:warninglist>\n
80
+ \ \n \n </m:warninglist>\n </m:warnings>\n</m:markupvalidationresponse>\n</env:Body>\n</env:Envelope>\n"
81
+ http_version:
82
+ recorded_at: Sun, 30 Oct 2016 17:10:27 GMT
83
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,125 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://validator.w3.org/check?charset=utf-16&fbc=0&output=soap12&uri=https://doc75.github.io/w3c_validators_tests/invalid_markup_2.html
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 27 Oct 2016 19:48:23 GMT
23
+ Server:
24
+ - Apache/2.4.10 (Debian)
25
+ X-W3c-Validator-Recursion:
26
+ - '1'
27
+ X-W3c-Validator-Status:
28
+ - Invalid
29
+ X-W3c-Validator-Errors:
30
+ - '2'
31
+ X-W3c-Validator-Warnings:
32
+ - '2'
33
+ Transfer-Encoding:
34
+ - chunked
35
+ Content-Type:
36
+ - application/soap+xml; charset=UTF-8
37
+ Strict-Transport-Security:
38
+ - max-age=15552015; preload
39
+ Public-Key-Pins:
40
+ - pin-sha256="cN0QSpPIkuwpT6iP2YjEo1bEwGpH/yiUn6yhdy+HNto="; pin-sha256="WGJkyYjx1QMdMe0UqlyOKXtydPDVrk7sl2fV+nNm1r4=";
41
+ pin-sha256="LrKdTxZLRTvyHM4/atX2nquX9BeHRZMCxg3cf4rhc2I="; max-age=864000
42
+ X-Frame-Options:
43
+ - deny
44
+ X-Xss-Protection:
45
+ - 1; mode=block
46
+ body:
47
+ encoding: ASCII-8BIT
48
+ string: !binary |-
49
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGVudjpF
50
+ bnZlbG9wZSB4bWxuczplbnY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvMDUv
51
+ c29hcC1lbnZlbG9wZSI+CjxlbnY6Qm9keT4KPG06bWFya3VwdmFsaWRhdGlv
52
+ bnJlc3BvbnNlIGVudjplbmNvZGluZ1N0eWxlPSJodHRwOi8vd3d3LnczLm9y
53
+ Zy8yMDAzLzA1L3NvYXAtZW5jb2RpbmciIHhtbG5zOm09Imh0dHA6Ly93d3cu
54
+ dzMub3JnLzIwMDUvMTAvbWFya3VwLXZhbGlkYXRvciI+CiAgICAKICAgIDxt
55
+ OnVyaT5odHRwczovL2RvYzc1LmdpdGh1Yi5pby93M2NfdmFsaWRhdG9yc190
56
+ ZXN0cy9pbnZhbGlkX21hcmt1cF8yLmh0bWw8L206dXJpPgogICAgPG06Y2hl
57
+ Y2tlZGJ5Pmh0dHA6Ly92YWxpZGF0b3IudzMub3JnLzwvbTpjaGVja2VkYnk+
58
+ CiAgICA8bTpkb2N0eXBlPjwvbTpkb2N0eXBlPgogICAgPG06Y2hhcnNldD51
59
+ dGYtMTY8L206Y2hhcnNldD4KICAgIDxtOnZhbGlkaXR5PmZhbHNlPC9tOnZh
60
+ bGlkaXR5PgogICAgPG06d2FybmluZ3M+CiAgICAgICAgPG06d2FybmluZ2Nv
61
+ dW50PjI8L206d2FybmluZ2NvdW50PgogICAgICAgIDxtOndhcm5pbmdsaXN0
62
+ PgogICAgICAgICAgIAoKCgogIDxtOndhcm5pbmc+PG06bWVzc2FnZWlkPlcw
63
+ MzwvbTptZXNzYWdlaWQ+PG06bWVzc2FnZT5DaGFyYWN0ZXIgRW5jb2Rpbmcg
64
+ T3ZlcnJpZGUgaW4gZWZmZWN0ITwvbTptZXNzYWdlPjwvbTp3YXJuaW5nPgoK
65
+ CgoKICA8bTp3YXJuaW5nPjxtOm1lc3NhZ2VpZD5XMDY8L206bWVzc2FnZWlk
66
+ PjxtOm1lc3NhZ2U+VW5hYmxlIHRvIERldGVybWluZSBQYXJzZSBNb2RlITwv
67
+ bTptZXNzYWdlPjwvbTp3YXJuaW5nPgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
68
+ CgoKCgoKCiAgICAgICAgPC9tOndhcm5pbmdsaXN0PgogICAgPC9tOndhcm5p
69
+ bmdzPgogICAgPG06ZXJyb3JzPgogICAgICAgIDxtOmVycm9yY291bnQ+Mjwv
70
+ bTplcnJvcmNvdW50PgogICAgICAgIDxtOmVycm9ybGlzdD4KCiAgICAgICAg
71
+ ICAgIDxtOmVycm9yPgogICAgICAgICAgICAgICAgPG06bGluZT4xPC9tOmxp
72
+ bmU+CiAgICAgICAgICAgICAgICA8bTpjb2w+MTwvbTpjb2w+CiAgICAgICAg
73
+ ICAgICAgICA8bTptZXNzYWdlPmNoYXJhY3RlciAmcXVvdDvjsKEmcXVvdDsg
74
+ bm90IGFsbG93ZWQgaW4gcHJvbG9nPC9tOm1lc3NhZ2U+CiAgICAgICAgICAg
75
+ ICAgICA8bTptZXNzYWdlaWQ+NDY8L206bWVzc2FnZWlkPgogICAgICAgICAg
76
+ ICAgICAgPG06ZXhwbGFuYXRpb24+ICA8IVtDREFUQVsKICAgICAgICAgICAg
77
+ ICAgICAgICAgIDxwIGNsYXNzPSJoZWxwd2FudGVkIj4KICAgICAgPGEKICAg
78
+ ICAgICBocmVmPSJmZWVkYmFjay5odG1sP3VyaT1odHRwcyUzQSUyRiUyRmRv
79
+ Yzc1LmdpdGh1Yi5pbyUyRnczY192YWxpZGF0b3JzX3Rlc3RzJTJGaW52YWxp
80
+ ZF9tYXJrdXBfMi5odG1sO2Vycm1zZ19pZD00NiNlcnJvcm1zZyIKCXRpdGxl
81
+ PSJTdWdnZXN0IGltcHJvdmVtZW50cyBvbiB0aGlzIGVycm9yIG1lc3NhZ2Ug
82
+ dGhyb3VnaCBvdXIgZmVlZGJhY2sgY2hhbm5lbHMiIAogICAgICA+JiN4Mjcw
83
+ OTs8L2E+CiAgICA8L3A+CgogICAgICAgICAgICAgICAgICBdXT4KICAgICAg
84
+ ICAgICAgICAgIDwvbTpleHBsYW5hdGlvbj4KICAgICAgICAgICAgICAgIDxt
85
+ OnNvdXJjZT48IVtDREFUQVs8c3Ryb25nIHRpdGxlPSJQb3NpdGlvbiB3aGVy
86
+ ZSBlcnJvciB3YXMgZGV0ZWN0ZWQuIj7jsKE8L3N0cm9uZz7kkY/kjZTlpZDk
87
+ lKDmobTmtazigZDllYLksYnkjKDiiK3ivK/lnLPkjK/ivYTlkYTigZjkoZTk
88
+ tYzigLHiuLDigZTniaHmubPmpbTmpa/muaHmsK/ivYXkuKLigKLmobTnkbDj
89
+ qK/ivbfnnbfiubfjjK7mvbLmnK/lkZLivbjmobTmtazjhK/kkZTkkK/noajn
90
+ ka3msLHitbTniaHmubPmpbTmpa/muaHmsK7mkbTmkKLjuIrjsajnka3msKDn
91
+ oa3msa7njL3iiajnkbTngLrivK/nnbfnnK7nnLPiua/niafivLHjpLnjpK/i
92
+ gKZdXT48L206c291cmNlPgogICAgICAgICAgICA8L206ZXJyb3I+CiAgICAg
93
+ ICAgICAgCiAgICAgICAgICAgIDxtOmVycm9yPgogICAgICAgICAgICAgICAg
94
+ PG06bGluZT4xPC9tOmxpbmU+CiAgICAgICAgICAgICAgICA8bTpjb2w+MjEw
95
+ PC9tOmNvbD4KICAgICAgICAgICAgICAgIDxtOm1lc3NhZ2U+ZW5kIG9mIGRv
96
+ Y3VtZW50IGluIHByb2xvZzwvbTptZXNzYWdlPgogICAgICAgICAgICAgICAg
97
+ PG06bWVzc2FnZWlkPjQ3PC9tOm1lc3NhZ2VpZD4KICAgICAgICAgICAgICAg
98
+ IDxtOmV4cGxhbmF0aW9uPiAgPCFbQ0RBVEFbCiAgICAgICAgICAgICAgICAg
99
+ ICAgICA8cCBjbGFzcz0iaGVscHdhbnRlZCI+CiAgICAgIDxhCiAgICAgICAg
100
+ aHJlZj0iZmVlZGJhY2suaHRtbD91cmk9aHR0cHMlM0ElMkYlMkZkb2M3NS5n
101
+ aXRodWIuaW8lMkZ3M2NfdmFsaWRhdG9yc190ZXN0cyUyRmludmFsaWRfbWFy
102
+ a3VwXzIuaHRtbDtlcnJtc2dfaWQ9NDcjZXJyb3Jtc2ciCgl0aXRsZT0iU3Vn
103
+ Z2VzdCBpbXByb3ZlbWVudHMgb24gdGhpcyBlcnJvciBtZXNzYWdlIHRocm91
104
+ Z2ggb3VyIGZlZWRiYWNrIGNoYW5uZWxzIiAKICAgICAgPiYjeDI3MDk7PC9h
105
+ PgogICAgPC9wPgoKICAgIDxkaXYgY2xhc3M9InZlIG1pZC00NyI+CiAgPHA+
106
+ CiAgICAgIFRoaXMgZXJyb3IgbWF5IGFwcGVhciB3aGVuIHRoZSB2YWxpZGF0
107
+ b3IgcmVjZWl2ZXMgYW4gZW1wdHkgZG9jdW1lbnQuIFBsZWFzZSBtYWtlIHN1
108
+ cmUgdGhhdCB0aGUgZG9jdW1lbnQgeW91IGFyZSB1cGxvYWRpbmcgaXMgbm90
109
+ IGVtcHR5LCBhbmQgPGEgaHJlZj0iZmVlZGJhY2suaHRtbCI+cmVwb3J0PC9h
110
+ PiBhbnkgZGlzY3JlcGFuY3kuCiAgPC9wPgo8L2Rpdj4KCiAgICAgICAgICAg
111
+ ICAgICAgIF1dPgogICAgICAgICAgICAgICAgPC9tOmV4cGxhbmF0aW9uPgog
112
+ ICAgICAgICAgICAgICAgPG06c291cmNlPjwhW0NEQVRBW+KApueNpeeQveeV
113
+ tOaYreOgouKAr+O4iuCkvOeRqeeRrOaUvuWcs+SMoOWZoeaxqeaRoeeRr+eJ
114
+ s+KAreK0oOSlrueZoeaxqeaQoOWRpeeNtOKBkOaFp+aUoOOwr+eRqeeRrOaU
115
+ vuCovOK9qOaVoeaQvuCovOaJr+aRueO4iuOxsOKBtea5q+a5r+edruO0oueR
116
+ sueVpeKIvuSlrueZoeaxqeaQoeOwr+eAvuCovOKEreK0oOOEoOaVsueJr+eI
117
+ u+KAsOKBt+aFsua5qea5p+eMoOK0reO4iuOwr+aJr+aRueO4iuOwr+ahtOa1
118
+ rDxzdHJvbmcgdGl0bGU9IlBvc2l0aW9uIHdoZXJlIGVycm9yIHdhcyBkZXRl
119
+ Y3RlZC4iPuO4ijwvc3Ryb25nPl1dPjwvbTpzb3VyY2U+CiAgICAgICAgICAg
120
+ IDwvbTplcnJvcj4KICAgICAgICAgICAKICAgICAgICA8L206ZXJyb3JsaXN0
121
+ PgogICAgPC9tOmVycm9ycz4KPC9tOm1hcmt1cHZhbGlkYXRpb25yZXNwb25z
122
+ ZT4KPC9lbnY6Qm9keT4KPC9lbnY6RW52ZWxvcGU+Cg==
123
+ http_version:
124
+ recorded_at: Thu, 27 Oct 2016 19:48:24 GMT
125
+ recorded_with: VCR 3.0.3