chop 0.38.3 → 0.38.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 618c4cce433e28b5660405cd4878afb4b00972e21937fd47e62c3935248eb0ff
4
- data.tar.gz: 129ea76c1600fce10a1f3cb138c0c4d66e1d0ec5b0e32f5412ea645f3dd1b835
3
+ metadata.gz: 300fb8ac4550a733af68e3cab0ee51b43f436dd1ce0d29d3b22b0ddd2e053213
4
+ data.tar.gz: 07c6fdd1a3b15e83478049e3494eae28bc8430855cfd3c8bbb17e5a2279d555a
5
5
  SHA512:
6
- metadata.gz: c653b65e17c6f08dc2bd114f39b0b8302784468396314b4abb42c64c7c4cf0dc93398d4971e56f33206dd261671d9cfef137998be5e0b7b00a29eefbfd9fcf60
7
- data.tar.gz: 112902163bd81452fa61e1c9d5e08d8b4cbef341e1798b75020adab9fd201df5026af7096f60aa4adb96c6858c5d7769e9e643d6ea9d09d504cf32cc57bf920b
6
+ metadata.gz: c194a8ed998d2ac0d9621fce2bdb8a84a357d90fc2e574328d17044062272d70f600ed502434adf41bd3ea13ed685d507cda86f7498af229ce7c392bdcfa60f2
7
+ data.tar.gz: b98b7a9654c28976a919a5d2e15c17d8762d3ebedf871cede4de73c1df9f8e0ca4eeee09064d1de69fd525522f6bc2162718fbea1bb79553172dd589a8f18b6e
data/lib/chop/diff.rb CHANGED
@@ -10,10 +10,15 @@ module Chop
10
10
  def self.diff! selector, table, session: Capybara.current_session, timeout: Capybara.default_max_wait_time, atomic: Chop.atomic_diff, errors: [], **kwargs, &block
11
11
  errors += session.driver.invalid_element_errors
12
12
  errors += [Cucumber::MultilineArgument::DataTable::Different]
13
- session.document.synchronize timeout, errors: errors do
13
+ timer = Capybara::Helpers.timer(expire_in: timeout)
14
+ begin
14
15
  instance = new(selector, table, session, timeout, block)
15
16
  instance.instance_variable_set(:@atomic, atomic)
16
17
  instance.diff! **kwargs
18
+ rescue *errors => e
19
+ raise e if timer.expired?
20
+ sleep session.config.default_retry_interval
21
+ retry
17
22
  end
18
23
  end
19
24
 
data/lib/chop/dsl.rb CHANGED
@@ -14,8 +14,10 @@ module Chop
14
14
  elsif selector.respond_to?(:tag_name)
15
15
  selector.tag_name
16
16
  else
17
- session.document.synchronize(timeout || Capybara.default_max_wait_time, errors: session.driver.invalid_element_errors) do
17
+ begin
18
18
  session.find(selector).tag_name
19
+ rescue *session.driver.invalid_element_errors
20
+ retry
19
21
  end
20
22
  end.camelize
21
23
  klass = const_get("Chop::#{class_name}")
data/lib/chop/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Chop
2
- VERSION = "0.38.3"
2
+ VERSION = "0.38.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.38.3
4
+ version: 0.38.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel