grell 1.6.7 → 1.6.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 416346b7f2b8e8fe95ce0269599227929be4360f
4
- data.tar.gz: 98b06e25d9d87e926a263d28023a2e0f5a22c24e
3
+ metadata.gz: 4fcc56b727dfa90261c133037100f70617f15fed
4
+ data.tar.gz: 3e7d2a46160b4d8406a76b9190b8fdb64e4a0cf4
5
5
  SHA512:
6
- metadata.gz: c435a95ee0d6a6116999e7d916db607ae16eab5f6cdad379d04fdc6e7160b1ff5420460b6c06c87bd39f1ee27a4451e22f10c565ea756690b1833afb093a8c4d
7
- data.tar.gz: 65766dbde21e449906daaf5661d2a74064f05b286033461461196db11345df31bb7a7ca130e6d9b29e6384019fc32d6ea2b27fbe87215f9fb18111e5f475c0f9
6
+ metadata.gz: 1cd4529624bd1d7d8482ab3d30c408c9a3452af73375ab2688e07d361b0c5cd1246dbcfcf0152b9e4ede8ab1b8e7d568733822471d2df8e815bc8e4e48cbad83
7
+ data.tar.gz: 95c2005f0edf3fcd191fa8f16e23d049f68eb4074cd720042eadbb982ffe7d1947b1bba9fe3737800f5252d504d0eaaed8d6ea1be51c4991231b0f2e453d8c5b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 1.6.8
2
+ * Avoid following disabled links
3
+
1
4
  # 1.6.7
2
5
  * Increment '@times_visited' first to avoid infinite retries when rescuing errors
3
6
 
data/grell.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.required_ruby_version = '>= 1.9.3'
23
23
 
24
24
  spec.add_dependency 'capybara', '~> 2.7'
25
- spec.add_dependency 'poltergeist', '~> 1.9'
25
+ spec.add_dependency 'poltergeist', '~> 1.10'
26
26
 
27
27
  spec.add_development_dependency "bundler", "~> 1.6"
28
28
  spec.add_development_dependency "byebug", "~> 4.0"
data/lib/grell/page.rb CHANGED
@@ -206,9 +206,12 @@ module Grell
206
206
  private
207
207
  def all_links
208
208
  # <link> can only be used in the <head> as of: https://developer.mozilla.org/en/docs/Web/HTML/Element/link
209
- anchors_in_body = @rawpage.all_anchors.reject{|anchor| anchor.tag_name == 'link' }
209
+ anchors_in_body = @rawpage.all_anchors.reject { |anchor| anchor.tag_name == 'link' }
210
210
 
211
- unique_links = anchors_in_body.map do |anchor|
211
+ # Do not follow disabled links
212
+ enabled_links = anchors_in_body.reject { |anchor| anchor.disabled? }
213
+
214
+ unique_links = enabled_links.map do |anchor|
212
215
  anchor['href'] || anchor['data-href']
213
216
  end.compact
214
217
 
data/lib/grell/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Grell
2
- VERSION = "1.6.7".freeze
2
+ VERSION = "1.6.8".freeze
3
3
  end
@@ -243,6 +243,29 @@ RSpec.describe Grell::Page do
243
243
  end
244
244
  end
245
245
 
246
+
247
+ context 'navigating to the URL we get page with disabled links' do
248
+ let(:visited) { true }
249
+ let(:status) { 200 }
250
+ let(:body) do
251
+ "<html><head></head><body>
252
+ Hello world!
253
+ <a href=\"/trusmis.html\">trusmis</a>
254
+ <a href=\"/help.html\">help</a>
255
+ <a href=\"javascript: void(0)\">help</a>
256
+ </body></html>"
257
+ end
258
+ let(:links) { ['http://www.example.com/trusmis.html', 'http://www.example.com/help.html'] }
259
+ let(:expected_headers) { returned_headers }
260
+
261
+ before do
262
+ proxy.stub(url).and_return(body: body, code: status, headers: returned_headers.dup)
263
+ page.navigate
264
+ end
265
+
266
+ it_behaves_like 'a grell page'
267
+ end
268
+
246
269
  context 'navigating to the URL we get page with links with absolute links' do
247
270
  let(:visited) { true }
248
271
  let(:status) { 200 }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grell
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.7
4
+ version: 1.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordi Polo Carres
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-14 00:00:00.000000000 Z
11
+ date: 2016-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.9'
33
+ version: '1.10'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.9'
40
+ version: '1.10'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement