superbara 0.11.1 → 0.12.0
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/Gemfile.lock +1 -1
- data/bin/tests +13 -0
- data/lib/superbara.rb +1 -0
- data/lib/superbara/context.rb +21 -4
- data/lib/superbara/dsl.rb +10 -7
- data/lib/superbara/errors/export_stops_error.rb +6 -0
- data/lib/superbara/version.rb +1 -1
- data/tests/envs/on_error/main.rb +6 -6
- data/tests/envs/on_error/second_ok.rb +1 -0
- data/{examples → tests}/tags/block.rb +2 -0
- data/tests/tags/fails.rb +8 -0
- data/tests/tags/main.rb +16 -0
- data/tests/tags/notags.rb +3 -0
- data/{examples → tests}/tags/simple.rb +3 -0
- metadata +8 -5
- data/examples/tags/main.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2238d76a17abb6017288ec127e19d7e38da5a3a450aab924ccab843358408b82
|
4
|
+
data.tar.gz: d197b4816a25d7af7d3846bfd46410091e6aa6dceb3d513991868ea995f51f8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9519813335ccff5a615278d1cc00c838af1855d32fa78df72c741b13c8d3893a8eb8e940daa8d4a67a4fb3a32d41b807fa71d09735c147e25efdd9d513a71fd
|
7
|
+
data.tar.gz: bfc6174d941af1012e1361a24bf3531cc3ef841d0ad6d3aaf582df0ec19f15fc0eb06afaf86c6639e9bf8642324d84109fa3aa3ab8941f305ae0867e74a0cb42
|
data/Gemfile.lock
CHANGED
data/bin/tests
CHANGED
@@ -44,4 +44,17 @@ if [ "$exit_status" != 1 ]; then
|
|
44
44
|
exit 1
|
45
45
|
fi
|
46
46
|
|
47
|
+
SUPERBARA_TAGS=example exe/superbara run tests/tags
|
48
|
+
|
49
|
+
set +e
|
50
|
+
SUPERBARA_TAGS=fails exe/superbara run tests/tags
|
51
|
+
exit_status=$?
|
52
|
+
set -e
|
53
|
+
|
54
|
+
if [ "$exit_status" != 1 ]; then
|
55
|
+
echo "err! tests/tags when fails"
|
56
|
+
exit 1
|
57
|
+
fi
|
58
|
+
|
59
|
+
|
47
60
|
echo "success!"
|
data/lib/superbara.rb
CHANGED
@@ -231,6 +231,7 @@ require_relative "superbara/cli"
|
|
231
231
|
require_relative "superbara/context"
|
232
232
|
require_relative "superbara/web"
|
233
233
|
require_relative "superbara/errors/not_desired_tag_error"
|
234
|
+
require_relative "superbara/errors/export_stops_error"
|
234
235
|
|
235
236
|
trap "SIGINT" do
|
236
237
|
puts "
|
data/lib/superbara/context.rb
CHANGED
@@ -23,14 +23,31 @@ sleep 0.0001
|
|
23
23
|
Superbara.main.instance_eval "@#{k} = #{eval}"
|
24
24
|
end
|
25
25
|
|
26
|
+
not_desired_tag_error_occurred = false
|
27
|
+
export_stops_error = nil
|
26
28
|
begin
|
27
29
|
load path, true
|
28
|
-
rescue Superbara::Errors::
|
29
|
-
|
30
|
+
rescue Superbara::Errors::ExportStopsError => ex
|
31
|
+
export_stops_error = ex
|
32
|
+
rescue Superbara::Errors::NotDesiredTagError => ex
|
33
|
+
not_desired_tag_error_occurred = true
|
34
|
+
test_tags = Marshal.load(ex.message).join(",")
|
35
|
+
allowed_tags = Superbara.config.tags.join(",")
|
36
|
+
Superbara.output " ..skipped due to test tags (#{test_tags}) not found in current tags: #{allowed_tags}"
|
37
|
+
ensure
|
38
|
+
params.each_pair do |k,v|
|
39
|
+
Superbara.main.instance_eval "remove_instance_variable '@#{k}'"
|
40
|
+
end
|
30
41
|
end
|
31
42
|
|
32
|
-
|
33
|
-
|
43
|
+
if export_stops_error
|
44
|
+
# sending it forward for run to return what's inside
|
45
|
+
raise export_stops_error
|
46
|
+
end
|
47
|
+
|
48
|
+
if not_desired_tag_error_occurred
|
49
|
+
# FAKENEWS: sending it forward for run to return false
|
50
|
+
raise Superbara::Errors::NotDesiredTagError
|
34
51
|
end
|
35
52
|
end
|
36
53
|
|
data/lib/superbara/dsl.rb
CHANGED
@@ -86,6 +86,10 @@ return Array.from(
|
|
86
86
|
e.click
|
87
87
|
end
|
88
88
|
|
89
|
+
def export(e)
|
90
|
+
raise Superbara::Errors::ExportStopsError, Marshal.dump(e)
|
91
|
+
end
|
92
|
+
|
89
93
|
@@once_runs = []
|
90
94
|
def run(what, once: false, **params, &block)
|
91
95
|
if once
|
@@ -117,9 +121,12 @@ return Array.from(
|
|
117
121
|
Superbara.project_path = File.dirname(better_what)
|
118
122
|
end
|
119
123
|
|
120
|
-
|
124
|
+
export_object = nil
|
121
125
|
begin
|
122
126
|
Superbara.current_context.__superbara_load(better_what, params)
|
127
|
+
rescue Superbara::Errors::NotDesiredTagError
|
128
|
+
rescue Superbara::Errors::ExportStopsError => ex
|
129
|
+
export_object = Marshal.load ex.message
|
123
130
|
rescue Exception => ex
|
124
131
|
if ENV["SUPERBARA_ON_ERROR"] == "continue"
|
125
132
|
colored_output = " ERROR: ".colorize(:red)
|
@@ -135,11 +142,7 @@ return Array.from(
|
|
135
142
|
|
136
143
|
Superbara.project_path = old_project_path
|
137
144
|
|
138
|
-
|
139
|
-
false
|
140
|
-
else
|
141
|
-
true
|
142
|
-
end
|
145
|
+
export_object
|
143
146
|
end
|
144
147
|
|
145
148
|
def visit(visit_uri_or_domain_or_path)
|
@@ -234,7 +237,7 @@ return Array.from(
|
|
234
237
|
return value
|
235
238
|
end
|
236
239
|
else
|
237
|
-
raise Superbara::Errors::NotDesiredTagError
|
240
|
+
raise Superbara::Errors::NotDesiredTagError, Marshal.dump(tags)
|
238
241
|
end
|
239
242
|
end
|
240
243
|
|
data/lib/superbara/version.rb
CHANGED
data/tests/envs/on_error/main.rb
CHANGED
@@ -2,14 +2,14 @@ first = run "first_failing"
|
|
2
2
|
second = run "second_ok"
|
3
3
|
third = run "third_failing"
|
4
4
|
|
5
|
-
assert do
|
6
|
-
first ==
|
5
|
+
assert "first" do
|
6
|
+
first == nil
|
7
7
|
end
|
8
8
|
|
9
|
-
assert do
|
10
|
-
second ==
|
9
|
+
assert "second" do
|
10
|
+
second == "second"
|
11
11
|
end
|
12
12
|
|
13
|
-
assert do
|
14
|
-
third ==
|
13
|
+
assert "third" do
|
14
|
+
third == nil
|
15
15
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
export "second"
|
data/tests/tags/fails.rb
ADDED
data/tests/tags/main.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: superbara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matti Paksula
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -318,9 +318,6 @@ files:
|
|
318
318
|
- examples/login-and-logout/using-params/main.rb
|
319
319
|
- examples/sites/pharos.sh/main.rb
|
320
320
|
- examples/sites/vr.fi/helsinki-tampere/main.rb
|
321
|
-
- examples/tags/block.rb
|
322
|
-
- examples/tags/main.rb
|
323
|
-
- examples/tags/simple.rb
|
324
321
|
- exe/superbara
|
325
322
|
- lib/capybara_monkey.rb
|
326
323
|
- lib/pry_monkey.rb
|
@@ -331,6 +328,7 @@ files:
|
|
331
328
|
- lib/superbara/config.rb
|
332
329
|
- lib/superbara/context.rb
|
333
330
|
- lib/superbara/dsl.rb
|
331
|
+
- lib/superbara/errors/export_stops_error.rb
|
334
332
|
- lib/superbara/errors/not_desired_tag_error.rb
|
335
333
|
- lib/superbara/helpers.rb
|
336
334
|
- lib/superbara/rspec.rb
|
@@ -357,6 +355,11 @@ files:
|
|
357
355
|
- tests/run/has_instance_variables.rb
|
358
356
|
- tests/run/has_no_instance_variables.rb
|
359
357
|
- tests/run/main.rb
|
358
|
+
- tests/tags/block.rb
|
359
|
+
- tests/tags/fails.rb
|
360
|
+
- tests/tags/main.rb
|
361
|
+
- tests/tags/notags.rb
|
362
|
+
- tests/tags/simple.rb
|
360
363
|
- vendor/chromedriver/linux64/.gitkeep
|
361
364
|
- vendor/chromedriver/linux64/chromedriver
|
362
365
|
- vendor/chromedriver/mac64/.gitkeep
|
data/examples/tags/main.rb
DELETED