capybara-lockstep 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +11 -0
- data/lib/capybara-lockstep/configuration.rb +14 -0
- data/lib/capybara-lockstep/lockstep.rb +5 -2
- data/lib/capybara-lockstep/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5496cc79e785bf2ce69669e7a8a6d8ae6f862289f5151487c27a33caa20aa9f7
|
4
|
+
data.tar.gz: 635cb396a2ceccbf550a44b2331b3cf1a2340f555557c3eac9440cc6231f5033
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e69a2f28e913cef9913825fe1b2594bda44ad31af54a1041978adcd437e8f17518d91d8b3b4e4c0dc71f4259780427288db9ba474f39607e39f60e362a143a9f
|
7
|
+
data.tar.gz: 2bb6122c49734c852b3ed64486cbe00dc0c10d51d9de8311c7c11ce5aff85482b97105e2d8c4d6acccfb70efbd2f6855526c8a7d58e36e10237e49a15b746af8
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -345,6 +345,17 @@ Waiting additional tasks will have a negative performance impact on your test su
|
|
345
345
|
> **Note:** When capybara-lockstep detects jQuery on the page, it will automatically patch [`$.ajax()`](https://api.jquery.com/jQuery.ajax/) to wait an additional task after the response was received. If your only concern is callbacks to `$.ajax()` you do not need so set `Capybara::Lockstep.wait_tasks`.
|
346
346
|
|
347
347
|
|
348
|
+
## Running code after synchronization
|
349
|
+
|
350
|
+
You can configure a proc to run after successful synchronization:
|
351
|
+
|
352
|
+
```ruby
|
353
|
+
Capybara::Lockstep.after_synchronize do
|
354
|
+
puts "Synchronized!"
|
355
|
+
end
|
356
|
+
````
|
357
|
+
|
358
|
+
|
348
359
|
## Contributing
|
349
360
|
|
350
361
|
Pull requests are welcome on GitHub at <https://github.com/makandra/capybara-lockstep>.
|
@@ -77,8 +77,22 @@ module Capybara
|
|
77
77
|
@wait_tasks
|
78
78
|
end
|
79
79
|
|
80
|
+
def after_synchronize(&callback)
|
81
|
+
after_synchronize_callbacks << callback
|
82
|
+
end
|
83
|
+
|
80
84
|
private
|
81
85
|
|
86
|
+
def after_synchronize_callbacks
|
87
|
+
@before_synchronize_callbacks ||= []
|
88
|
+
end
|
89
|
+
|
90
|
+
def run_after_synchronize_callbacks
|
91
|
+
after_synchronize_callbacks.each do |callback|
|
92
|
+
instance_eval(&callback)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
82
96
|
def javascript_driver?
|
83
97
|
driver.is_a?(Capybara::Selenium::Driver)
|
84
98
|
end
|
@@ -53,6 +53,8 @@ module Capybara
|
|
53
53
|
end
|
54
54
|
|
55
55
|
synchronize_now(log: log)
|
56
|
+
|
57
|
+
run_after_synchronize_callbacks
|
56
58
|
end
|
57
59
|
|
58
60
|
# Automatic synchronization from within the capybara-lockstep should always call #auto_synchronize.
|
@@ -136,9 +138,10 @@ module Capybara
|
|
136
138
|
end
|
137
139
|
rescue StandardError => e
|
138
140
|
unhandled_synchronize_error(e)
|
139
|
-
ensure
|
140
|
-
self.synchronizing = false
|
141
141
|
end
|
142
|
+
|
143
|
+
ensure
|
144
|
+
self.synchronizing = false
|
142
145
|
end
|
143
146
|
|
144
147
|
def unhandled_synchronize_error(e)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-lockstep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henning Koch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|