w3c_validators 1.3.1 → 1.3.6
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.
- checksums.yaml +5 -13
- data/.gitignore +1 -1
- data/.travis.yml +6 -4
- data/CHANGELOG +22 -0
- data/README.md +30 -0
- data/lib/w3c_validators/css_validator.rb +1 -1
- data/lib/w3c_validators/markup_validator.rb +4 -3
- data/lib/w3c_validators/nu_validator.rb +4 -6
- data/lib/w3c_validators/validator.rb +9 -3
- data/lib/w3c_validators/version.rb +1 -1
- data/test/http_recording/css_context.yml +24 -7
- data/test/http_recording/css_overriding_css_profile.yml +27 -10
- data/test/http_recording/css_skippedstring.yml +24 -7
- data/test/http_recording/css_validating_big_file.yml +398 -519
- data/test/http_recording/css_validating_file.yml +24 -7
- data/test/http_recording/css_validating_text.yml +27 -10
- data/test/http_recording/css_validating_text_via_file.yml +24 -7
- data/test/http_recording/css_validating_uri.yml +31 -13
- data/test/http_recording/css_vendor_extensions_as_errors.yml +22 -5
- data/test/http_recording/css_vendor_extensions_as_warnings.yml +23 -6
- data/test/http_recording/css_vendor_extensions_default.yml +23 -6
- data/test/http_recording/html5_getting_request_data.yml +25 -14
- data/test/http_recording/html5_validating_file.yml +18 -34
- data/test/http_recording/html5_validating_text.yml +18 -34
- data/test/http_recording/html5_validating_text_via_file.yml +18 -34
- data/test/http_recording/html5_validating_uri.yml +18 -36
- data/test/test_exceptions.rb +1 -1
- data/w3c_validators.gemspec +3 -2
- metadata +35 -22
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YTQwZjFlNWI4MWViYzhlZmQwYmY5ZmUxODJhMTU0YjJlZmUyN2I0NA==
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 93c24630d8eff576b83949a26d71d048d5a126bc17829576c3fbe00f7715239f
|
4
|
+
data.tar.gz: 25513e9917618bdc76488ffe559a5366c2ebe87f465d53babedcac4467fe4d81
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YTFjMDI5NWZjZGU3ZTUyOTc3NDcwZTFlNWI1OWRkNjZlOTE3OTFlY2Y4OTY0
|
11
|
-
OWJhOTVhZWU5NWMwY2VlNGI2OTM5NmQyYTA1MjZjNGU3ZGVlYjU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
OTE1OGJhNzhhYWYwYTNjOGEyYThkMmZhZTU1Nzg5ODFlNWYzNGNhZGJhMWNk
|
14
|
-
Nzk5MDRlYzRhYWE4NWE5Zjk3N2U1Njg0MDY0MGE5MDJlZjY2OGI1NzdmZmY1
|
15
|
-
ZjhmYWI2NmViMzViYjBiNGU0ZjliNmVmOGQwY2Y4MGExMGZkNzI=
|
6
|
+
metadata.gz: 60350bd80921cabf33d2b7407b89c9f42cf141df15089549f4a7d088a78be6fbf6393506c4ca0d65b497558eb41c3e93407d130430b493834853244386b55b05
|
7
|
+
data.tar.gz: 6a135e36f46733b84ccfae834a7e1c4ac69734bc69735ff9ee81ac2af72225df823651e05655d6836993afc48ab42377f5f91c3c0357b186795dc777e4dd5c8a
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG
CHANGED
@@ -54,3 +54,25 @@
|
|
54
54
|
* update gemspec
|
55
55
|
* update test to point to project gh-pages
|
56
56
|
|
57
|
+
== Version 1.3.2
|
58
|
+
* relax constraint on json gem to >=1.8 instead of ~>2.0
|
59
|
+
* add test of ruby 2.4.0 + drop test of ruby 2.0.0
|
60
|
+
|
61
|
+
== Version 1.3.3
|
62
|
+
* add deprecation warning for class MarkupValidator
|
63
|
+
* raise ValidatorUnavailable when connection to uri is refused
|
64
|
+
* Change the Nu Validator URL to "https://validator.w3.org/nu/" (https://validator.nu is returning 502)
|
65
|
+
|
66
|
+
== Version 1.3.4
|
67
|
+
* migrate css validator to https (instead of http)
|
68
|
+
* add test of ruby 2.5
|
69
|
+
* remove unused variable in nu validator code
|
70
|
+
|
71
|
+
== Version 1.3.5
|
72
|
+
* replace Net::HTTPServerException (deprecated) by Net::HTTPClientException
|
73
|
+
* fix bad indentation of rescue in validators classes
|
74
|
+
* add test for ruby 2.6, update 2.5, 2.4, 2.3 tested version and remove 2.2 and 2.1 versions
|
75
|
+
|
76
|
+
== Version 1.3.6
|
77
|
+
* update README to clarify usage with Ruby frameworks
|
78
|
+
* update dependencies to be ready for ruby 3.0
|
data/README.md
CHANGED
@@ -148,6 +148,36 @@ You can use a proxy server by passing in its information in the contructor.
|
|
148
148
|
puts "#{key}: #{value}"
|
149
149
|
end
|
150
150
|
```
|
151
|
+
|
152
|
+
### Examples with Ruby Frameworks
|
153
|
+
|
154
|
+
```
|
155
|
+
# you can easily incorporate this in your ruby based frameworks:
|
156
|
+
|
157
|
+
# Gemfile
|
158
|
+
group :test do
|
159
|
+
gem 'w3c_validators'
|
160
|
+
end
|
161
|
+
|
162
|
+
# And in your relevant test file:
|
163
|
+
|
164
|
+
require 'w3c_validators'
|
165
|
+
|
166
|
+
class FoosControllerTest < ActionDispatch::IntegrationTest
|
167
|
+
setup do
|
168
|
+
@validator = W3CValidators::NuValidator.new
|
169
|
+
end
|
170
|
+
|
171
|
+
test "index" do
|
172
|
+
get foos_url
|
173
|
+
assert_equal 0, @validator.validate_text(response.body).errors.length
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
# granted it's not perfect, but hopefully that will at least get you going
|
178
|
+
# you might want to customise things so that it delivers a particular output in case an error shows up.
|
179
|
+
```
|
180
|
+
|
151
181
|
### Tests
|
152
182
|
|
153
183
|
Run unit tests using <tt>rake test</tt>. Note that there is a one second delay
|
@@ -14,6 +14,7 @@ module W3CValidators
|
|
14
14
|
#
|
15
15
|
# See Validator#new for proxy server options.
|
16
16
|
def initialize(options = {})
|
17
|
+
puts "The MarkupValidator class is deprecated (cf. https://validator.w3.org/docs/obsolete-api.html) as it cannot process HTML5 documents.\nPlease prefer the NuValidator class instead."
|
17
18
|
if options[:validator_uri]
|
18
19
|
@validator_uri = URI.parse(options[:validator_uri])
|
19
20
|
options.delete(options[:validator_uri])
|
@@ -153,7 +154,7 @@ protected
|
|
153
154
|
|
154
155
|
# Convert booleans to integers
|
155
156
|
[:fbc, :fbd, :verbose, :debug, :ss, :outline].each do |k|
|
156
|
-
if options.has_key?(k) and not options[k].kind_of?(
|
157
|
+
if options.has_key?(k) and not options[k].kind_of?(Integer)
|
157
158
|
options[k] = options[k] ? 1 : 0
|
158
159
|
end
|
159
160
|
end
|
@@ -201,8 +202,8 @@ protected
|
|
201
202
|
end
|
202
203
|
return results
|
203
204
|
|
204
|
-
|
205
|
-
|
205
|
+
rescue Exception => e
|
206
|
+
handle_exception e
|
206
207
|
end
|
207
208
|
|
208
209
|
# Parse the HEAD response into HTMLValidator::Results.
|
@@ -2,7 +2,7 @@ require 'json'
|
|
2
2
|
|
3
3
|
module W3CValidators
|
4
4
|
class NuValidator < Validator
|
5
|
-
MARKUP_VALIDATOR_URI = 'https://validator.nu/'
|
5
|
+
MARKUP_VALIDATOR_URI = 'https://validator.w3.org/nu/'
|
6
6
|
|
7
7
|
# Create a new instance of the NuValidator.
|
8
8
|
#
|
@@ -44,17 +44,15 @@ module W3CValidators
|
|
44
44
|
|
45
45
|
# Validate the markup of a local file.
|
46
46
|
#
|
47
|
-
# +
|
47
|
+
# +file+ may be either the fully-expanded path to the file or
|
48
48
|
# an IO object (like File).
|
49
49
|
#
|
50
50
|
# Returns W3CValidators::Results.
|
51
51
|
def validate_file(file)
|
52
52
|
if file.respond_to? :read
|
53
53
|
src = file.read
|
54
|
-
file_path = file.path ||= nil
|
55
54
|
else
|
56
55
|
src = read_local_file(file)
|
57
|
-
file_path = file
|
58
56
|
end
|
59
57
|
|
60
58
|
return validate_text(src)
|
@@ -142,8 +140,8 @@ protected
|
|
142
140
|
|
143
141
|
return results
|
144
142
|
|
145
|
-
|
146
|
-
|
143
|
+
rescue Exception => e
|
144
|
+
handle_exception e
|
147
145
|
end
|
148
146
|
end
|
149
147
|
end
|
@@ -16,6 +16,7 @@ module W3CValidators
|
|
16
16
|
HEAD_STATUS_HEADER = 'X-W3C-Validator-Status'
|
17
17
|
HEAD_ERROR_COUNT_HEADER = 'X-W3C-Validator-Errors'
|
18
18
|
SOAP_OUTPUT_PARAM = 'soap12'
|
19
|
+
USE_NEW_EXCEPTION = Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6')
|
19
20
|
|
20
21
|
attr_reader :results, :validator_uri
|
21
22
|
|
@@ -112,8 +113,8 @@ module W3CValidators
|
|
112
113
|
response.value
|
113
114
|
return response
|
114
115
|
|
115
|
-
|
116
|
-
|
116
|
+
rescue Exception => e
|
117
|
+
handle_exception e
|
117
118
|
end
|
118
119
|
|
119
120
|
def create_multipart_data(options) # :nodoc:
|
@@ -173,8 +174,13 @@ module W3CValidators
|
|
173
174
|
# Big thanks to ara.t.howard and Joel VanderWerf on Ruby-Talk for the exception handling help.
|
174
175
|
#++
|
175
176
|
def handle_exception(e, msg = '') # :nodoc:
|
177
|
+
if USE_NEW_EXCEPTION
|
178
|
+
http_exception = Net::HTTPClientException
|
179
|
+
else
|
180
|
+
http_exception = Net::HTTPServerException
|
181
|
+
end
|
176
182
|
case e
|
177
|
-
when
|
183
|
+
when http_exception, SocketError, Errno::ECONNREFUSED
|
178
184
|
msg = "unable to connect to the validator at #{@validator_uri} (response was #{e.message})."
|
179
185
|
raise ValidatorUnavailable, msg, caller
|
180
186
|
when JSON::ParserError, Nokogiri::XML::SyntaxError
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri:
|
5
|
+
uri: https://jigsaw.w3.org/css-validator/validator
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: "--349832898984244898448024464570528145\r\nContent-Disposition: form-data;
|
@@ -27,7 +27,7 @@ http_interactions:
|
|
27
27
|
Cache-Control:
|
28
28
|
- no-cache
|
29
29
|
Date:
|
30
|
-
-
|
30
|
+
- Fri, 10 Aug 2018 19:59:10 GMT
|
31
31
|
Pragma:
|
32
32
|
- no-cache
|
33
33
|
Transfer-Encoding:
|
@@ -37,20 +37,37 @@ http_interactions:
|
|
37
37
|
Content-Type:
|
38
38
|
- application/soap+xml;charset=utf-8
|
39
39
|
Server:
|
40
|
-
- Jigsaw/2.3.0-
|
40
|
+
- Jigsaw/2.3.0-beta3
|
41
41
|
Vary:
|
42
42
|
- Accept-Language
|
43
|
+
Access-Control-Allow-Origin:
|
44
|
+
- "*"
|
45
|
+
Access-Control-Allow-Headers:
|
46
|
+
- content-type,accept-charset
|
47
|
+
Access-Control-Allow-Methods:
|
48
|
+
- GET, HEAD, POST, OPTIONS
|
49
|
+
Access-Control-Max-Age:
|
50
|
+
- '600'
|
43
51
|
X-W3c-Validator-Errors:
|
44
52
|
- '1'
|
45
53
|
X-W3c-Validator-Status:
|
46
54
|
- Invalid
|
55
|
+
Strict-Transport-Security:
|
56
|
+
- max-age=15552015; includeSubDomains; preload
|
57
|
+
Public-Key-Pins:
|
58
|
+
- pin-sha256="cN0QSpPIkuwpT6iP2YjEo1bEwGpH/yiUn6yhdy+HNto="; pin-sha256="WGJkyYjx1QMdMe0UqlyOKXtydPDVrk7sl2fV+nNm1r4=";
|
59
|
+
pin-sha256="LrKdTxZLRTvyHM4/atX2nquX9BeHRZMCxg3cf4rhc2I="; max-age=864000
|
60
|
+
X-Frame-Options:
|
61
|
+
- deny
|
62
|
+
X-Xss-Protection:
|
63
|
+
- 1; mode=block
|
47
64
|
body:
|
48
65
|
encoding: UTF-8
|
49
66
|
string: "<?xml version='1.0' encoding=\"utf-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n
|
50
67
|
\ <env:Body>\n <m:cssvalidationresponse\n env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\"\n
|
51
68
|
\ xmlns:m=\"http://www.w3.org/2005/07/css-validator\">\n <m:uri>TextArea</m:uri>\n
|
52
69
|
\ <m:checkedby>http://jigsaw.w3.org/css-validator/</m:checkedby>\n
|
53
|
-
\ <m:csslevel>css3</m:csslevel>\n <m:date>
|
70
|
+
\ <m:csslevel>css3</m:csslevel>\n <m:date>2018-08-10T07:59:10Z</m:date>\n
|
54
71
|
\ <m:validity>false</m:validity>\n <m:result>\n <m:errors
|
55
72
|
xml:lang=\"en\">\n <m:errorcount>1</m:errorcount>\n \n
|
56
73
|
\ <m:errorlist>\n <m:uri>file://localhost/TextArea</m:uri>\n
|
@@ -61,12 +78,12 @@ http_interactions:
|
|
61
78
|
\ blue\n </m:skippedstring>\n
|
62
79
|
\ <m:type>value</m:type>\n \n <m:message>\n
|
63
80
|
\ \n Value Error : margin (nullbox.html#propdef-margin)\n
|
64
|
-
\ \n blue is not a margin
|
65
|
-
\
|
81
|
+
\ \n “blue” is not a “margin”
|
82
|
+
value : \n </m:message>\n </m:error>\n
|
66
83
|
\ \n </m:errorlist>\n \n </m:errors>\n
|
67
84
|
\ <m:warnings xml:lang=\"en\">\n <m:warningcount>0</m:warningcount>\n
|
68
85
|
\ </m:warnings>\n </m:result>\n </m:cssvalidationresponse>\n
|
69
86
|
\ </env:Body>\n</env:Envelope>\n\n"
|
70
87
|
http_version:
|
71
|
-
recorded_at:
|
88
|
+
recorded_at: Fri, 10 Aug 2018 19:59:10 GMT
|
72
89
|
recorded_with: VCR 3.0.3
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri:
|
5
|
+
uri: https://jigsaw.w3.org/css-validator/validator?output=soap12&profile=css21&text=%20%20%20%20a%20%7B%20color:%20white%3B%20%7D%0A%20%20%20%20body%20%7B%20margin:%20blue%3B%20%7D%0A%20%20%20%20%0A
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -10,7 +10,7 @@ http_interactions:
|
|
10
10
|
Accept-Encoding:
|
11
11
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
12
|
Accept:
|
13
|
-
-
|
13
|
+
- "*/*"
|
14
14
|
User-Agent:
|
15
15
|
- Ruby
|
16
16
|
response:
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Cache-Control:
|
22
22
|
- no-cache
|
23
23
|
Date:
|
24
|
-
-
|
24
|
+
- Fri, 10 Aug 2018 19:59:11 GMT
|
25
25
|
Pragma:
|
26
26
|
- no-cache
|
27
27
|
Transfer-Encoding:
|
@@ -34,17 +34,34 @@ http_interactions:
|
|
34
34
|
- Jigsaw/2.3.0-beta3
|
35
35
|
Vary:
|
36
36
|
- Accept-Language
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Access-Control-Allow-Headers:
|
40
|
+
- content-type,accept-charset
|
41
|
+
Access-Control-Allow-Methods:
|
42
|
+
- GET, HEAD, POST, OPTIONS
|
43
|
+
Access-Control-Max-Age:
|
44
|
+
- '600'
|
37
45
|
X-W3c-Validator-Errors:
|
38
46
|
- '1'
|
39
47
|
X-W3c-Validator-Status:
|
40
48
|
- Invalid
|
49
|
+
Strict-Transport-Security:
|
50
|
+
- max-age=15552015; includeSubDomains; preload
|
51
|
+
Public-Key-Pins:
|
52
|
+
- pin-sha256="cN0QSpPIkuwpT6iP2YjEo1bEwGpH/yiUn6yhdy+HNto="; pin-sha256="WGJkyYjx1QMdMe0UqlyOKXtydPDVrk7sl2fV+nNm1r4=";
|
53
|
+
pin-sha256="LrKdTxZLRTvyHM4/atX2nquX9BeHRZMCxg3cf4rhc2I="; max-age=864000
|
54
|
+
X-Frame-Options:
|
55
|
+
- deny
|
56
|
+
X-Xss-Protection:
|
57
|
+
- 1; mode=block
|
41
58
|
body:
|
42
|
-
encoding:
|
43
|
-
string:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: "<?xml version='1.0' encoding=\"utf-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n
|
44
61
|
\ <env:Body>\n <m:cssvalidationresponse\n env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\"\n
|
45
62
|
\ xmlns:m=\"http://www.w3.org/2005/07/css-validator\">\n <m:uri>file://localhost/TextArea</m:uri>\n
|
46
63
|
\ <m:checkedby>http://jigsaw.w3.org/css-validator/</m:checkedby>\n
|
47
|
-
\ <m:csslevel>css21</m:csslevel>\n <m:date>
|
64
|
+
\ <m:csslevel>css21</m:csslevel>\n <m:date>2018-08-10T07:59:11Z</m:date>\n
|
48
65
|
\ <m:validity>false</m:validity>\n <m:result>\n <m:errors
|
49
66
|
xml:lang=\"en\">\n <m:errorcount>1</m:errorcount>\n \n
|
50
67
|
\ <m:errorlist>\n <m:uri>file://localhost/TextArea</m:uri>\n
|
@@ -54,13 +71,13 @@ http_interactions:
|
|
54
71
|
\ </m:errorsubtype>\n <m:skippedstring>\n
|
55
72
|
\ blue\n </m:skippedstring>\n
|
56
73
|
\ <m:type>value</m:type>\n \n <m:message>\n
|
57
|
-
\ \n Value Error : margin (
|
58
|
-
\ \n blue is not a margin
|
59
|
-
\
|
74
|
+
\ \n Value Error : margin ([error]box.html#propdef-margin)\n
|
75
|
+
\ \n “blue” is not a “margin”
|
76
|
+
value : \n </m:message>\n </m:error>\n
|
60
77
|
\ \n </m:errorlist>\n \n </m:errors>\n
|
61
78
|
\ <m:warnings xml:lang=\"en\">\n <m:warningcount>0</m:warningcount>\n
|
62
79
|
\ </m:warnings>\n </m:result>\n </m:cssvalidationresponse>\n
|
63
80
|
\ </env:Body>\n</env:Envelope>\n\n"
|
64
81
|
http_version:
|
65
|
-
recorded_at:
|
82
|
+
recorded_at: Fri, 10 Aug 2018 19:59:11 GMT
|
66
83
|
recorded_with: VCR 3.0.3
|
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri:
|
5
|
+
uri: https://jigsaw.w3.org/css-validator/validator
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: "--349832898984244898448024464570528145\r\nContent-Disposition: form-data;
|
@@ -27,7 +27,7 @@ http_interactions:
|
|
27
27
|
Cache-Control:
|
28
28
|
- no-cache
|
29
29
|
Date:
|
30
|
-
-
|
30
|
+
- Fri, 10 Aug 2018 19:59:12 GMT
|
31
31
|
Pragma:
|
32
32
|
- no-cache
|
33
33
|
Transfer-Encoding:
|
@@ -37,20 +37,37 @@ http_interactions:
|
|
37
37
|
Content-Type:
|
38
38
|
- application/soap+xml;charset=utf-8
|
39
39
|
Server:
|
40
|
-
- Jigsaw/2.3.0-
|
40
|
+
- Jigsaw/2.3.0-beta4
|
41
41
|
Vary:
|
42
42
|
- Accept-Language
|
43
|
+
Access-Control-Allow-Origin:
|
44
|
+
- "*"
|
45
|
+
Access-Control-Allow-Headers:
|
46
|
+
- content-type,accept-charset
|
47
|
+
Access-Control-Allow-Methods:
|
48
|
+
- GET, HEAD, POST, OPTIONS
|
49
|
+
Access-Control-Max-Age:
|
50
|
+
- '600'
|
43
51
|
X-W3c-Validator-Errors:
|
44
52
|
- '1'
|
45
53
|
X-W3c-Validator-Status:
|
46
54
|
- Invalid
|
55
|
+
Strict-Transport-Security:
|
56
|
+
- max-age=15552015; includeSubDomains; preload
|
57
|
+
Public-Key-Pins:
|
58
|
+
- pin-sha256="cN0QSpPIkuwpT6iP2YjEo1bEwGpH/yiUn6yhdy+HNto="; pin-sha256="WGJkyYjx1QMdMe0UqlyOKXtydPDVrk7sl2fV+nNm1r4=";
|
59
|
+
pin-sha256="LrKdTxZLRTvyHM4/atX2nquX9BeHRZMCxg3cf4rhc2I="; max-age=864000
|
60
|
+
X-Frame-Options:
|
61
|
+
- deny
|
62
|
+
X-Xss-Protection:
|
63
|
+
- 1; mode=block
|
47
64
|
body:
|
48
65
|
encoding: UTF-8
|
49
66
|
string: "<?xml version='1.0' encoding=\"utf-8\"?>\n<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\n
|
50
67
|
\ <env:Body>\n <m:cssvalidationresponse\n env:encodingStyle=\"http://www.w3.org/2003/05/soap-encoding\"\n
|
51
68
|
\ xmlns:m=\"http://www.w3.org/2005/07/css-validator\">\n <m:uri>TextArea</m:uri>\n
|
52
69
|
\ <m:checkedby>http://jigsaw.w3.org/css-validator/</m:checkedby>\n
|
53
|
-
\ <m:csslevel>css3</m:csslevel>\n <m:date>
|
70
|
+
\ <m:csslevel>css3</m:csslevel>\n <m:date>2018-08-10T07:59:12Z</m:date>\n
|
54
71
|
\ <m:validity>false</m:validity>\n <m:result>\n <m:errors
|
55
72
|
xml:lang=\"en\">\n <m:errorcount>1</m:errorcount>\n \n
|
56
73
|
\ <m:errorlist>\n <m:uri>file://localhost/TextArea</m:uri>\n
|
@@ -61,12 +78,12 @@ http_interactions:
|
|
61
78
|
\ blue\n </m:skippedstring>\n
|
62
79
|
\ <m:type>value</m:type>\n \n <m:message>\n
|
63
80
|
\ \n Value Error : margin (nullbox.html#propdef-margin)\n
|
64
|
-
\ \n blue is not a margin
|
65
|
-
\
|
81
|
+
\ \n “blue” is not a “margin”
|
82
|
+
value : \n </m:message>\n </m:error>\n
|
66
83
|
\ \n </m:errorlist>\n \n </m:errors>\n
|
67
84
|
\ <m:warnings xml:lang=\"en\">\n <m:warningcount>0</m:warningcount>\n
|
68
85
|
\ </m:warnings>\n </m:result>\n </m:cssvalidationresponse>\n
|
69
86
|
\ </env:Body>\n</env:Envelope>\n\n"
|
70
87
|
http_version:
|
71
|
-
recorded_at:
|
88
|
+
recorded_at: Fri, 10 Aug 2018 19:59:12 GMT
|
72
89
|
recorded_with: VCR 3.0.3
|