spreewald 4.4.0 → 4.4.1
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 +4 -4
- data/CHANGELOG.md +11 -4
- data/README.md +1 -1
- data/lib/spreewald/time_steps.rb +9 -1
- data/lib/spreewald/web_steps.rb +2 -1
- data/lib/spreewald_support/path_selector_fallbacks.rb +19 -1
- data/lib/spreewald_support/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: 892a8b1fc2985989a10ad303aa6be9a65a4ea3542bea9c5d9311fb0f1463b73a
|
|
4
|
+
data.tar.gz: 2031b66e60406bd9205204a6355fc0f745eed30abf3b14095121f9b04290610e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e7c84b276c5b1cca99a3beac23d656d206ae68cc8f74b17ca3b316b59703249611c226c85d1cc17305faf588e56a1b689d213b916251db4e876c3644c48ee893
|
|
7
|
+
data.tar.gz: a61b5d8dd7bf93dca91ea19a69d77de47ddb79b251bacf4ed37b79b1cab91972ea5c2f995d05f9ccf2d83f5a6f37b36882a14ffba178399380da192495a7ac34
|
data/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@ All notable changes to this project will be documented in this file.
|
|
|
3
3
|
|
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
5
5
|
|
|
6
|
+
## 4.4.1
|
|
7
|
+
- Fix deprecation warning for `ActiveRecord::Base.default_timezone` when running with Rails 7.0 ([#191](https://github.com/makandra/spreewald/issues/191))
|
|
8
|
+
- Fix deprecation warning for using keyword arguments as last argument when running with ruby 2.7 ([#192](https://github.com/makandra/spreewald/issues/192))
|
|
9
|
+
|
|
10
|
+
## 4.4.0
|
|
11
|
+
- Add support for Rails 7.0
|
|
12
|
+
|
|
6
13
|
## 4.3.6
|
|
7
14
|
- Use capybara's `make_visible` [option](https://github.com/teamcapybara/capybara/blob/0468de5a810aae75ab9de20447e246c5c35473f0/lib/capybara/node/actions.rb#L279) in step `I attach the file "..." to "..."`
|
|
8
15
|
- This will make CSS-Hacks like setting the opacity in tests obsolete
|
|
@@ -33,8 +40,8 @@ did not find the correct elements
|
|
|
33
40
|
- The search via `spreewald some query here` includes steps with optional negation now.
|
|
34
41
|
|
|
35
42
|
## 4.2.2
|
|
36
|
-
- Fixes the "Show me the email" step (#171)
|
|
37
|
-
- Fixes the "I follow the link in the email" step. (#172, #173)
|
|
43
|
+
- Fixes the "Show me the email" step ([#171](https://github.com/makandra/spreewald/issues/171))
|
|
44
|
+
- Fixes the "I follow the link in the email" step. ([#172](https://github.com/makandra/spreewald/issues/172), [#173](https://github.com/makandra/spreewald/issues/173))
|
|
38
45
|
- It works for emails with and without explicit html parts
|
|
39
46
|
- There's a better error message if no links are found
|
|
40
47
|
|
|
@@ -42,7 +49,7 @@ did not find the correct elements
|
|
|
42
49
|
- Multiple invocations of console don't raise anymore
|
|
43
50
|
|
|
44
51
|
## 4.1.1
|
|
45
|
-
- The step `I open .. in a new browser tab` is now using the `noopener` option (see issue [#174])
|
|
52
|
+
- The step `I open .. in a new browser tab` is now using the `noopener` option (see issue [#174](https://github.com/makandra/spreewald/issues/174))
|
|
46
53
|
|
|
47
54
|
## 4.1.0
|
|
48
55
|
|
|
@@ -218,7 +225,7 @@ The "it should work" step now takes an optional reason.
|
|
|
218
225
|
The word "within" can now be used in arguments for other steps without causing errors ([Issue #53](https://github.com/makandra/spreewald/issues/80))
|
|
219
226
|
|
|
220
227
|
## 1.12.3
|
|
221
|
-
Prevent wall of warnings when `Then console` is used multiple times in on test run ([issue](https://github.com/makandra/spreewald/issues/80))
|
|
228
|
+
Prevent wall of warnings when `Then console` is used multiple times in on test run ([issue #80](https://github.com/makandra/spreewald/issues/80))
|
|
222
229
|
|
|
223
230
|
## 1.12.2
|
|
224
231
|
Always check the current driver by its class (see [issue](https://github.com/makandra/spreewald/issues/74))
|
data/README.md
CHANGED
|
@@ -6,7 +6,7 @@ You can find a list of all contained steps at the end of this README.
|
|
|
6
6
|
|
|
7
7
|
## Supported versions
|
|
8
8
|
|
|
9
|
-
Spreewald is currently tested against and Ruby 2.6.6 and 3.0.0 with Rails
|
|
9
|
+
Spreewald is currently tested against and Ruby 2.6.6 and 3.0.0 with Rails 7 and Capybara 3.
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
data/lib/spreewald/time_steps.rb
CHANGED
|
@@ -22,7 +22,7 @@ if defined?(Timecop) || is_at_least_rails_4_1
|
|
|
22
22
|
|
|
23
23
|
def use_timezones?
|
|
24
24
|
active_record_loaded = defined?(ActiveRecord::Base)
|
|
25
|
-
(!active_record_loaded ||
|
|
25
|
+
(!active_record_loaded || default_timezone != :local) && Time.zone
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
def parse_time(str)
|
|
@@ -41,6 +41,14 @@ if defined?(Timecop) || is_at_least_rails_4_1
|
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
+
def default_timezone
|
|
45
|
+
if ActiveRecord.respond_to?(:default_timezone)
|
|
46
|
+
ActiveRecord.default_timezone
|
|
47
|
+
else
|
|
48
|
+
ActiveRecord::Base.default_timezone
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
44
52
|
if defined?(Timecop)
|
|
45
53
|
# Emulate ActiveSupport time helper methods with Timecop - don't rename these methods
|
|
46
54
|
def travel(duration)
|
data/lib/spreewald/web_steps.rb
CHANGED
|
@@ -48,7 +48,8 @@ When /^(.*) within (.*[^:])$/ do |nested_step, parent|
|
|
|
48
48
|
selector = _selector_for(parent)
|
|
49
49
|
if selector.is_a?(String) || selector.is_a?(Array) # could also be a Capybara::Node::Element
|
|
50
50
|
patiently do
|
|
51
|
-
|
|
51
|
+
args, kwargs = deconstruct_selector(selector)
|
|
52
|
+
expect(page).to have_selector(*args, **kwargs)
|
|
52
53
|
end
|
|
53
54
|
end
|
|
54
55
|
patiently do
|
|
@@ -31,7 +31,25 @@ World(PathSelectorFallbacks)
|
|
|
31
31
|
|
|
32
32
|
module WithinHelpers
|
|
33
33
|
def with_scope(locator)
|
|
34
|
-
|
|
34
|
+
if locator
|
|
35
|
+
selector = _selector_for(locator)
|
|
36
|
+
args, kwargs = deconstruct_selector(selector)
|
|
37
|
+
within(*args, **kwargs) { yield }
|
|
38
|
+
else
|
|
39
|
+
yield
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def deconstruct_selector(selector)
|
|
44
|
+
if selector.is_a?(Array)
|
|
45
|
+
if selector[-1].is_a?(Hash) # selector with keyword arguments, e.g. ['.foo', { text: 'bar', visible: :all }]
|
|
46
|
+
[selector[0...-1], **selector[-1]]
|
|
47
|
+
else # xpath selector, e.g. [:xpath, '//header']
|
|
48
|
+
[selector, {}]
|
|
49
|
+
end
|
|
50
|
+
else # String or Capybara::Node::Element
|
|
51
|
+
[selector, {}]
|
|
52
|
+
end
|
|
35
53
|
end
|
|
36
54
|
end
|
|
37
55
|
World(WithinHelpers)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spreewald
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.4.
|
|
4
|
+
version: 4.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tobias Kraze
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-06-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cucumber
|