w3c_validators 1.2 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
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