pagetience 0.4.2 → 0.4.3

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: 047639c7bb485cabfaede710c9398d3d9f469fcc
4
- data.tar.gz: cf3130de096efde5b85cfb5776213a3b1160161d
3
+ metadata.gz: 5eac7b7a1c4e399056163e220d41dad6229c4d98
4
+ data.tar.gz: 642e76f08a4f94ada3105ceb28bddad504839497
5
5
  SHA512:
6
- metadata.gz: 77dddb513326bd516ccb69b36fc101182afb900b105fe4eb9288dbc794e4528a3f4d6d13ce2461a3b050dbcea5de2b19b87cc46ce9336e30f707e3c97b85c5f9
7
- data.tar.gz: b7fe6cfc8b03af4fa6f83769b6ecd0bd7c99bcf037dbed82f2ef85ca5e25845b4d1abbfa92aa1690f66638cbd27b62758826b7202ce8533b58ac3256ab917fd3
6
+ metadata.gz: 38f2d56062f34381671157714cb75984718b70c1de58f09a949ada684b7a7a09c16b445caa14033a8aae4d08fb5cbd2c21c027a37296853879dd0b83be0de47c
7
+ data.tar.gz: 41bed978caa6b10c4941671d6a56a4d71a0f6df27caa908d25828857fe33aad5444c24126339c80220dbcf6413032b9dbe14edb5c49224dd82111dd680f58201
@@ -60,6 +60,8 @@ module Pagetience
60
60
  @_waiting_timeout = _waiting_timeout || Pagetience.config.timeout
61
61
  @_waiting_polling = _waiting_polling || Pagetience.config.polling
62
62
  @_required_elements = _required_elements || []
63
+ @_present_elements = []
64
+ @_missing_elements = []
63
65
  wait_for_required_elements
64
66
  end
65
67
 
@@ -71,13 +73,22 @@ module Pagetience
71
73
  # @param [Fixnum] timeout Time to wait in seconds
72
74
  # @param [Fixnum] polling How often to poll
73
75
  def wait_for_required_elements(timeout=nil, polling=nil)
74
- opts = {
75
- timeout: timeout,
76
- polling: polling,
77
- msg: "Timed out after polling every #{:polling}s for #{:timeout}s waiting for the page to be loaded."
78
- }
76
+ msg = -> do
77
+ %{Timed out after polling every #{@_waiting_polling}s for #{@_waiting_timeout}s waiting for the page to be loaded.
78
+ Elements present: #{@_present_elements}
79
+ Elements missing: #{@_missing_elements}}
80
+ end
81
+
82
+ opts = { timeout: timeout, polling: polling, msg: msg }
79
83
  wait_for(opts) do
80
- @loaded = true unless @_required_elements.any? { |e| !@element_platform.is_element_present? e }
84
+ @_missing_elements = []
85
+ @_required_elements.each do |e|
86
+ if !@element_platform.is_element_present?(e) && !@_missing_elements.include?(e)
87
+ @_missing_elements << e
88
+ @_present_elements = @_required_elements - @_missing_elements
89
+ end
90
+ end
91
+ @loaded = @_missing_elements.empty?
81
92
  end
82
93
  end
83
94
 
@@ -29,6 +29,7 @@ module Pagetience
29
29
  @timeout = @timeout - @polling
30
30
  end
31
31
 
32
+ msg = msg.send(:call) if msg.is_a? Proc
32
33
  raise Pagetience::TimeoutError, msg unless @latest_result == expected
33
34
 
34
35
  @latest_result
@@ -1,3 +1,3 @@
1
1
  module Pagetience
2
- VERSION = '0.4.2'
2
+ VERSION = '0.4.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pagetience
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek McNeil
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-31 00:00:00.000000000 Z
11
+ date: 2016-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler