w3clove 0.7.4 → 0.7.5

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.
@@ -74,7 +74,7 @@ module W3Clove
74
74
  # Tells if the given url looks like an HTML page.
75
75
  # That is, it does not look like javascript, image, pdf...
76
76
  def looks_like_html?(url)
77
- u = URI.parse(url)
77
+ u = URI.parse(URI.encode(url))
78
78
  scheme = u.scheme
79
79
  extension = u.path.split(".").last
80
80
 
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  module W3Clove
4
- VERSION = "0.7.4"
4
+ VERSION = "0.7.5"
5
5
  end
@@ -0,0 +1,21 @@
1
+ HTTP/1.1 200 OK
2
+ Server: nginx/0.7.67
3
+ Date: Fri, 18 Nov 2011 21:46:46 GMT
4
+ Content-Type: text/html
5
+ Connection: keep-alive
6
+ Last-Modified: Mon, 14 Nov 2011 16:53:18 GMT
7
+ Content-Length: 4987
8
+ X-Varnish: 2000423390
9
+ Age: 0
10
+ Via: 1.1 varnish
11
+
12
+ <html>
13
+ <head>
14
+ <title>Sample file with unencoded URLs in links, like international or white space</title>
15
+ </head>
16
+ <body>
17
+ <a href="http://example.com/international">index</a>
18
+ <a href="http://example.com/romanée">Romanée</a>
19
+ <a href="http://example.com/españa">España</a>
20
+ </body>
21
+ </html>
data/spec/sitemap_spec.rb CHANGED
@@ -12,6 +12,7 @@ describe W3Clove::Sitemap do
12
12
  @sitemap_with_protocol_relative_https = W3Clove::Sitemap.new('https://protocol-relative.com')
13
13
  @sitemap_for_exclusions = W3Clove::Sitemap.new('http://example.com/exclusions')
14
14
  @sitemap_for_absolute_urls = W3Clove::Sitemap.new('http://w3clove.com/faqs')
15
+ @sitemap_international = W3Clove::Sitemap.new('http://example.com/international')
15
16
 
16
17
  MarkupValidator.any_instance.stubs(:validate_uri).returns(stubbed_validator_results)
17
18
  end
@@ -104,6 +105,13 @@ describe W3Clove::Sitemap do
104
105
  @sitemap_for_exclusions.pages[2].url.should == 'http://example.com/faqs'
105
106
  end
106
107
 
108
+ it "should not crash when URLs have international characters" do
109
+ @sitemap_international.pages.length.should == 3
110
+ @sitemap_international.pages[0].url.should == 'http://example.com/international'
111
+ @sitemap_international.pages[1].url.should == 'http://example.com/romanée'
112
+ @sitemap_international.pages[2].url.should == 'http://example.com/españa'
113
+ end
114
+
107
115
  context "protocol-relative links" do
108
116
  it "should include only internal links" do
109
117
  @sitemap_with_protocol_relative.pages.size.should == 3
@@ -143,4 +151,4 @@ describe W3Clove::Sitemap do
143
151
  end
144
152
  end
145
153
  end
146
- end
154
+ end# -*- encoding: utf-8 -*-
data/spec/spec_helper.rb CHANGED
@@ -15,6 +15,7 @@ FakeWeb.register_uri(:get, "http://protocol-relative.com", :response => open("#{
15
15
  FakeWeb.register_uri(:get, "https://protocol-relative.com", :response => open("#{$samples_dir}/protocol_relative.html").read)
16
16
  FakeWeb.register_uri(:get, "http://example.com/exclusions", :response => open("#{$samples_dir}/exclusions.html").read)
17
17
  FakeWeb.register_uri(:get, "http://w3clove.com/faqs", :response => open("#{$samples_dir}/w3clove_faqs.response").read)
18
+ FakeWeb.register_uri(:get, "http://example.com/international", :response => open("#{$samples_dir}/international.response").read)
18
19
 
19
20
  def message_text(message_id)
20
21
  message_texts = {
metadata CHANGED
@@ -1,145 +1,138 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: w3clove
3
- version: !ruby/object:Gem::Version
4
- hash: 11
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.5
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 7
9
- - 4
10
- version: 0.7.4
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jaime Iniesta
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-07-23 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-08-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: w3c_validators
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 11
29
- segments:
30
- - 1
31
- - 2
32
- version: "1.2"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.2'
33
22
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: nokogiri
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.2'
30
+ - !ruby/object:Gem::Dependency
31
+ name: nokogiri
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
- requirements:
34
+ requirements:
41
35
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 5
44
- segments:
45
- - 1
46
- - 5
47
- - 3
36
+ - !ruby/object:Gem::Version
48
37
  version: 1.5.3
49
38
  type: :runtime
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: metainspector
53
39
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.3
46
+ - !ruby/object:Gem::Dependency
47
+ name: metainspector
48
+ requirement: !ruby/object:Gem::Requirement
55
49
  none: false
56
- requirements:
57
- - - "="
58
- - !ruby/object:Gem::Version
59
- hash: 59
60
- segments:
61
- - 1
62
- - 9
63
- - 4
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
64
53
  version: 1.9.4
65
54
  type: :runtime
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: rspec
69
55
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
71
57
  none: false
72
- requirements:
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.9.4
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
73
67
  - - ~>
74
- - !ruby/object:Gem::Version
75
- hash: 27
76
- segments:
77
- - 2
78
- - 5
79
- - 0
68
+ - !ruby/object:Gem::Version
80
69
  version: 2.5.0
81
70
  type: :development
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: mocha
85
71
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
87
73
  none: false
88
- requirements:
74
+ requirements:
89
75
  - - ~>
90
- - !ruby/object:Gem::Version
91
- hash: 59
92
- segments:
93
- - 0
94
- - 11
95
- - 4
76
+ - !ruby/object:Gem::Version
77
+ version: 2.5.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: mocha
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
96
85
  version: 0.11.4
97
86
  type: :development
98
- version_requirements: *id005
99
- - !ruby/object:Gem::Dependency
100
- name: rake
101
87
  prerelease: false
102
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
103
89
  none: false
104
- requirements:
90
+ requirements:
105
91
  - - ~>
106
- - !ruby/object:Gem::Version
107
- hash: 63
108
- segments:
109
- - 0
110
- - 9
111
- - 2
92
+ - !ruby/object:Gem::Version
93
+ version: 0.11.4
94
+ - !ruby/object:Gem::Dependency
95
+ name: rake
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
112
101
  version: 0.9.2
113
102
  type: :development
114
- version_requirements: *id006
115
- - !ruby/object:Gem::Dependency
116
- name: fakeweb
117
103
  prerelease: false
118
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
119
105
  none: false
120
- requirements:
106
+ requirements:
121
107
  - - ~>
122
- - !ruby/object:Gem::Version
123
- hash: 27
124
- segments:
125
- - 1
126
- - 3
127
- - 0
108
+ - !ruby/object:Gem::Version
109
+ version: 0.9.2
110
+ - !ruby/object:Gem::Dependency
111
+ name: fakeweb
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
128
117
  version: 1.3.0
129
118
  type: :development
130
- version_requirements: *id007
131
- description: |-
132
- this tool allows you to check the markup validation of a whole site,
133
- and outputs a detailed report with all errors and warnings
134
- email:
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 1.3.0
126
+ description: ! 'this tool allows you to check the markup validation of a whole site,
127
+
128
+ and outputs a detailed report with all errors and warnings'
129
+ email:
135
130
  - jaimeiniesta@gmail.com
136
- executables:
131
+ executables:
137
132
  - w3clove
138
133
  extensions: []
139
-
140
134
  extra_rdoc_files: []
141
-
142
- files:
135
+ files:
143
136
  - .gitignore
144
137
  - .rvmrc.example
145
138
  - .travis.yml
@@ -163,6 +156,7 @@ files:
163
156
  - spec/samples/eparreno.com.html
164
157
  - spec/samples/exclusions.html
165
158
  - spec/samples/guides.rubyonrails.org.html
159
+ - spec/samples/international.response
166
160
  - spec/samples/protocol_relative.html
167
161
  - spec/samples/sitemap.xml
168
162
  - spec/samples/w3clove_faqs.response
@@ -172,36 +166,27 @@ files:
172
166
  - w3clove.gemspec
173
167
  homepage: https://github.com/jaimeiniesta/w3clove/
174
168
  licenses: []
175
-
176
169
  post_install_message:
177
170
  rdoc_options: []
178
-
179
- require_paths:
171
+ require_paths:
180
172
  - lib
181
- required_ruby_version: !ruby/object:Gem::Requirement
173
+ required_ruby_version: !ruby/object:Gem::Requirement
182
174
  none: false
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- hash: 3
187
- segments:
188
- - 0
189
- version: "0"
190
- required_rubygems_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ! '>='
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
180
  none: false
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- hash: 3
196
- segments:
197
- - 0
198
- version: "0"
181
+ requirements:
182
+ - - ! '>='
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
199
185
  requirements: []
200
-
201
186
  rubyforge_project:
202
- rubygems_version: 1.8.15
187
+ rubygems_version: 1.8.24
203
188
  signing_key:
204
189
  specification_version: 3
205
- summary: command-line tool to validate the markup of a whole site against the W3C validator
190
+ summary: command-line tool to validate the markup of a whole site against the W3C
191
+ validator
206
192
  test_files: []
207
-