pickles 0.2.2 → 0.2.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: b746089e7f029550a9e14d08b69364b0c50d0ac7
4
- data.tar.gz: 825badd42378c243944baec9593407ea1ae8463b
3
+ metadata.gz: 133b4adeb408fceb495f86eaa9331e277bb4c684
4
+ data.tar.gz: 11b8af9c0ff9438bcd04f96960beafee5d9b3f37
5
5
  SHA512:
6
- metadata.gz: 0cb28a5d19919cb9b0213bebc6a40c1e93242323e0a49795e5e0ac808a307d06ad4e6c8ba7c42281e33f4aace0c419ded5355d06369fe67bd03203dc6c1ed16c
7
- data.tar.gz: ec85c96a5f7924d10cc5d017bab1be715c2a3035665444705437d9fc9d672e177f9d6f992acd709cb972a19868ba7ae563b8159f71e49a85189d0ce9eec5806d
6
+ metadata.gz: f4254e7ac1c0c28bfc235d30791db7016d2087e2440fed0dbc849705577cc932844e71b4a51b10b20b1f73a156d2f62d12c82672dc2e695613ba133a72607f79
7
+ data.tar.gz: 7bb8bf6bb981989c6e56f4ea42d2feb4f88c744db9ea096a67d76b7e261cc5f05541ea7945b25509bedebc6e6dc117383b2e8b59860147ae69e1efae6e3e7d74
@@ -13,14 +13,21 @@ module NodeFinders
13
13
  def find_node(locator, within: nil)
14
14
  within ||= Capybara.current_session
15
15
 
16
+ options = { visible: false }
17
+
16
18
  locator, index = Locator::Index.execute(locator)
19
+ locator, wait = Locator::Wait.execute(locator)
17
20
  locator, xpath = Locator::Equal.execute(locator)
18
21
 
19
22
  if index
20
23
  xpath = "(#{xpath})[#{index}]"
21
24
  end
22
25
 
23
- _rescued_find([:xpath, xpath, wait: 0, visible: false], locator, within: within, message: "find_node") do
26
+ if wait
27
+ options[:wait] = wait
28
+ end
29
+
30
+ _rescued_find([:xpath, xpath, options], locator, within: within, message: "find_node") do
24
31
  raise Capybara::ElementNotFound,
25
32
  "Unable to find node by locator #{locator}",
26
33
  caller
@@ -124,12 +124,12 @@ module Waiter
124
124
 
125
125
  module_function
126
126
 
127
- def wait
127
+ def wait(errors = [Capybara::ElementNotFound])
128
128
  wait_for_ajax
129
129
 
130
130
  return unless block_given?
131
131
 
132
- page.document.synchronize do
132
+ page.document.synchronize(Capybara.default_max_wait_time, errors: errors) do
133
133
  yield
134
134
  end
135
135
  end
@@ -1,32 +1,22 @@
1
- def wait_flags(text)
2
- if text.starts_with?('>')
3
- text = text[1..-1]
4
-
5
- Waiter.wait_for_ajax
6
-
7
- js_wait = true
8
- end
9
-
10
- if text.ends_with?('>')
11
- text = text.chomp('>')
12
-
13
- ajax_wait = true
14
- end
15
-
16
- [js_wait, text, ajax_wait]
17
- end
18
-
19
1
  def trigger(text, event, within)
20
2
 
21
- js_wait, text, ajax_wait = wait_flags(text)
3
+ locator, wait_time = Locator::Wait.execute(text)
22
4
 
23
- if js_wait
24
- Waiter.wait { Pickles.find_node(text, within: within).public_send(event) }
5
+ if wait_time.nil? || wait_time > 0
6
+ Waiter.wait do
7
+ Pickles.trigger(
8
+ Pickles.find_node(text, within: within),
9
+ event
10
+ )
11
+ end
25
12
  else
26
- Pickles.find_node(text, within: within).public_send(event)
13
+ Pickles.trigger(
14
+ Pickles.find_node(text, within: within),
15
+ event
16
+ )
27
17
  end
28
18
 
29
- Waiter.wait_for_ajax if ajax_wait
19
+ Waiter.wait_for_ajax
30
20
 
31
21
  end
32
22
 
@@ -53,8 +43,6 @@ When /^I (?:click|navigate) "([^"]*)"( within (?:.*))?$/ do |click_text, within|
53
43
  Waiter.wait_for_ajax
54
44
 
55
45
  click_text.split(/,|->/).each do |text|
56
- pry binding if text['pry']
57
-
58
46
  trigger(text, 'click', within)
59
47
  end
60
48
 
@@ -70,7 +58,6 @@ end
70
58
  #
71
59
  When /^I (?:click|navigate):( within (?:.*))?$/ do |within, table|
72
60
  do_click = -> (event, text) do
73
- pry binding if text['pry']
74
61
  event = 'click' if event.strip.blank?
75
62
 
76
63
  trigger(text, event, within)
@@ -1,3 +1,3 @@
1
1
  module Pickles
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pickles
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - vs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-11 00:00:00.000000000 Z
11
+ date: 2017-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara