chop 0.38.3 → 0.38.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 618c4cce433e28b5660405cd4878afb4b00972e21937fd47e62c3935248eb0ff
4
- data.tar.gz: 129ea76c1600fce10a1f3cb138c0c4d66e1d0ec5b0e32f5412ea645f3dd1b835
3
+ metadata.gz: 19069d46a77d04e6bf1d99596712c1d5bcc62d5a89b96db39f746699f3c98903
4
+ data.tar.gz: 252c293990b8573d74f9d36954ad21a3f8769a228d9f4f2c877188a1d8b90001
5
5
  SHA512:
6
- metadata.gz: c653b65e17c6f08dc2bd114f39b0b8302784468396314b4abb42c64c7c4cf0dc93398d4971e56f33206dd261671d9cfef137998be5e0b7b00a29eefbfd9fcf60
7
- data.tar.gz: 112902163bd81452fa61e1c9d5e08d8b4cbef341e1798b75020adab9fd201df5026af7096f60aa4adb96c6858c5d7769e9e643d6ea9d09d504cf32cc57bf920b
6
+ metadata.gz: 694e7b17b0a80ea2e2e7eaa908c3fcb84592f1657c6dd2503932d136705d6be534124ae801c5a2081cdc5a2715256dd96fc8d22909f1e6dd550fdcc0c62c51a0
7
+ data.tar.gz: abec46fe2ef62213c6fb48657c18bceb0e0d83314b4be199851890d6c4f854c1b77a0d6ac0d8aa94d50a2bc0348471393948fc54583a927baa488b50daf7bb8d
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/form.rb CHANGED
@@ -85,11 +85,11 @@ module Chop
85
85
 
86
86
  def find_by_wrapping_label
87
87
  wrapping_label = @session.all("label", text: @locator, visible: :all, minimum: 0, wait: 0.1).find do |label|
88
- label.find(@css_selector, visible: :all, minimum: 0, wait: 0.1)
88
+ label.find(@css_selector, visible: :all, wait: 0.1)
89
89
  rescue Capybara::ElementNotFound
90
90
  false
91
91
  end
92
- wrapping_label&.find(@css_selector, visible: :all, minimum: 0, wait: 0.1)
92
+ wrapping_label&.find(@css_selector, visible: :all, wait: 0.1)
93
93
  end
94
94
 
95
95
  def raise_not_found
data/lib/chop/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Chop
2
- VERSION = "0.38.3"
2
+ VERSION = "0.38.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
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.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-09 00:00:00.000000000 Z
11
+ date: 2026-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord