test_bench-fixture 1.4.0.1 → 2.1.0.0.pre1
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/lib/test_bench/fixture/actuate/class.rb +95 -0
- data/lib/test_bench/fixture/actuate/object.rb +91 -0
- data/lib/test_bench/fixture/controls/exception.rb +7 -0
- data/lib/test_bench/fixture/controls/fixture/class.rb +86 -0
- data/lib/test_bench/fixture/controls/fixture/object/modules.rb +39 -0
- data/lib/test_bench/fixture/controls/fixture/object.rb +31 -0
- data/lib/test_bench/fixture/controls/fixture.rb +8 -66
- data/lib/test_bench/fixture/controls/output.rb +1 -58
- data/lib/test_bench/fixture/controls/random.rb +7 -0
- data/lib/test_bench/fixture/controls/result.rb +1 -17
- data/lib/test_bench/fixture/controls/title.rb +7 -0
- data/lib/test_bench/fixture/controls.rb +9 -9
- data/lib/test_bench/fixture/evaluate.rb +29 -0
- data/lib/test_bench/fixture/fixture.rb +117 -128
- data/lib/test_bench/fixture.rb +5 -18
- metadata +29 -22
- data/lib/test_bench/fixture/assertion_failure.rb +0 -19
- data/lib/test_bench/fixture/controls/caller_location.rb +0 -66
- data/lib/test_bench/fixture/controls/error/backtrace.rb +0 -31
- data/lib/test_bench/fixture/controls/error.rb +0 -52
- data/lib/test_bench/fixture/controls/output/log.rb +0 -45
- data/lib/test_bench/fixture/controls/test_file.rb +0 -77
- data/lib/test_bench/fixture/error_policy.rb +0 -75
- data/lib/test_bench/fixture/output/capture.rb +0 -131
- data/lib/test_bench/fixture/output/log.rb +0 -142
- data/lib/test_bench/fixture/output/multiple.rb +0 -42
- data/lib/test_bench/fixture/output/null.rb +0 -9
- data/lib/test_bench/fixture/output/substitute/scope.rb +0 -26
- data/lib/test_bench/fixture/output/substitute.rb +0 -114
- data/lib/test_bench/fixture/output.rb +0 -57
- data/lib/test_bench/fixture/session/substitute.rb +0 -127
- data/lib/test_bench/fixture/session.rb +0 -249
@@ -1,198 +1,187 @@
|
|
1
1
|
module TestBench
|
2
2
|
module Fixture
|
3
|
-
|
4
|
-
|
5
|
-
def self.build(cls, *args, session: nil, output: nil, error_policy: nil, factory_method: nil, **kwargs, &block)
|
6
|
-
assure_fixture(cls)
|
7
|
-
|
8
|
-
factory_method = factory_method(cls)
|
9
|
-
|
10
|
-
if kwargs.empty?
|
11
|
-
instance = factory_method.(*args, &block)
|
12
|
-
else
|
13
|
-
instance = factory_method.(*args, **kwargs, &block)
|
14
|
-
end
|
15
|
-
|
16
|
-
Session.configure(instance, session: session, output: output, error_policy: error_policy)
|
17
|
-
|
18
|
-
instance
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.assure_fixture(cls)
|
22
|
-
unless cls.included_modules.include?(self)
|
23
|
-
raise Error, "Not a fixture class (Class: #{cls.inspect})"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.factory_method(cls)
|
28
|
-
if cls.respond_to?(:build)
|
29
|
-
cls.method(:build)
|
30
|
-
elsif cls.respond_to?(:new)
|
31
|
-
cls.method(:new)
|
32
|
-
else
|
33
|
-
raise Error, "Must be given a class (Argument: #{cls.inspect})"
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.call(cls, *args, **kwargs, &block)
|
38
|
-
factory_method = factory_method(cls)
|
39
|
-
|
40
|
-
if factory_method.name == :new
|
41
|
-
last_parameter_type, _ = cls.instance_method(:initialize).parameters.last
|
42
|
-
else
|
43
|
-
last_parameter_type, _ = factory_method.parameters.last
|
44
|
-
end
|
45
|
-
|
46
|
-
if last_parameter_type == :block
|
47
|
-
instance = build(cls, *args, **kwargs, &block)
|
48
|
-
block = nil
|
49
|
-
else
|
50
|
-
instance = build(cls, *args, **kwargs)
|
51
|
-
end
|
52
|
-
|
53
|
-
instance.test_session.fixture(instance, &block)
|
54
|
-
|
55
|
-
instance
|
56
|
-
end
|
3
|
+
include TestBench::Session::Events
|
57
4
|
|
58
5
|
def test_session
|
59
6
|
@test_session ||= Session::Substitute.build
|
60
7
|
end
|
61
8
|
attr_writer :test_session
|
62
|
-
alias_method :session, :test_session
|
63
|
-
alias_method :session=, :test_session=
|
64
9
|
|
65
|
-
def
|
66
|
-
|
67
|
-
|
68
|
-
self.test_session = "(not inspected; class is #{original_test_session.class})"
|
69
|
-
|
70
|
-
begin
|
71
|
-
super
|
72
|
-
ensure
|
73
|
-
self.test_session = original_test_session
|
74
|
-
end
|
10
|
+
def fixture_passed?
|
11
|
+
test_session.passed?
|
75
12
|
end
|
13
|
+
alias :passed? :fixture_passed?
|
76
14
|
|
77
|
-
def comment(
|
78
|
-
|
79
|
-
|
80
|
-
additional_lines.each do |text|
|
81
|
-
test_session.comment(text)
|
82
|
-
end
|
15
|
+
def comment(...)
|
16
|
+
Fixture.comment(test_session.telemetry, Commented, ...)
|
83
17
|
end
|
84
18
|
|
85
|
-
def detail(
|
86
|
-
test_session.
|
19
|
+
def detail(...)
|
20
|
+
Fixture.comment(test_session.telemetry, Detailed, ...)
|
21
|
+
end
|
87
22
|
|
88
|
-
|
89
|
-
|
23
|
+
def assert(result)
|
24
|
+
if not [true, false, nil].include?(result)
|
25
|
+
raise TypeError, "Value #{result.inspect} isn't a boolean"
|
90
26
|
end
|
91
|
-
end
|
92
27
|
|
93
|
-
|
94
|
-
caller_location ||= caller[0]
|
28
|
+
result = false if result.nil?
|
95
29
|
|
96
|
-
test_session.assert(
|
30
|
+
test_session.assert(result)
|
97
31
|
end
|
98
32
|
|
99
|
-
def refute(
|
100
|
-
|
33
|
+
def refute(result)
|
34
|
+
if not [true, false, nil].include?(result)
|
35
|
+
raise TypeError, "Value #{result.inspect} isn't a boolean"
|
36
|
+
end
|
101
37
|
|
102
|
-
|
38
|
+
negated_result = !result
|
39
|
+
|
40
|
+
test_session.assert(negated_result)
|
103
41
|
end
|
104
42
|
|
105
|
-
def assert_raises(
|
106
|
-
if
|
43
|
+
def assert_raises(exception_class=nil, message=nil, strict: nil, &block)
|
44
|
+
if exception_class.nil?
|
107
45
|
strict ||= false
|
108
|
-
|
46
|
+
exception_class = StandardError
|
109
47
|
else
|
110
48
|
strict = true if strict.nil?
|
111
49
|
end
|
112
50
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
51
|
+
detail "Expected exception: #{exception_class}#{' (strict)' if strict}"
|
52
|
+
if not message.nil?
|
53
|
+
detail "Expected message: #{message.inspect}"
|
54
|
+
end
|
117
55
|
|
118
56
|
block.()
|
119
57
|
|
120
|
-
detail "(No
|
58
|
+
detail "(No exception was raised)"
|
121
59
|
|
122
|
-
rescue
|
60
|
+
rescue exception_class => exception
|
123
61
|
|
124
|
-
detail "Raised
|
62
|
+
detail "Raised exception: #{exception.inspect}#{" (subclass of #{exception_class})" if exception.class < exception_class}"
|
125
63
|
|
126
|
-
if strict && !
|
127
|
-
raise
|
64
|
+
if strict && !exception.instance_of?(exception_class)
|
65
|
+
raise exception
|
128
66
|
end
|
129
67
|
|
130
68
|
if message.nil?
|
131
69
|
result = true
|
132
70
|
else
|
133
|
-
result =
|
71
|
+
result = exception.message == message
|
134
72
|
end
|
135
73
|
|
136
|
-
assert(result
|
137
|
-
|
74
|
+
assert(result)
|
138
75
|
else
|
139
|
-
assert(false
|
76
|
+
assert(false)
|
140
77
|
end
|
141
78
|
|
142
|
-
def refute_raises(
|
143
|
-
if
|
79
|
+
def refute_raises(exception_class=nil, strict: nil, &block)
|
80
|
+
if exception_class.nil?
|
144
81
|
strict ||= false
|
145
|
-
|
82
|
+
exception_class = StandardError
|
146
83
|
else
|
147
84
|
strict = true if strict.nil?
|
148
85
|
end
|
149
86
|
|
150
|
-
|
151
|
-
|
152
|
-
detail "Prohibited Error: #{error_class}#{' (strict)' if strict}"
|
87
|
+
detail "Prohibited exception: #{exception_class}#{' (strict)' if strict}"
|
153
88
|
|
154
89
|
block.()
|
155
90
|
|
156
|
-
detail "(No
|
157
|
-
|
158
|
-
result = true
|
91
|
+
detail "(No exception was raised)"
|
159
92
|
|
160
|
-
rescue
|
93
|
+
rescue exception_class => exception
|
161
94
|
|
162
|
-
detail "Raised
|
95
|
+
detail "Raised exception: #{exception.inspect}#{" (subclass of #{exception_class})" if exception.class < exception_class}"
|
163
96
|
|
164
|
-
if strict && !
|
165
|
-
raise
|
97
|
+
if strict && !exception.instance_of?(exception_class)
|
98
|
+
raise exception
|
166
99
|
end
|
167
100
|
|
168
|
-
|
101
|
+
assert(false)
|
102
|
+
else
|
103
|
+
assert(true)
|
104
|
+
end
|
105
|
+
|
106
|
+
def context(title=nil, &block)
|
107
|
+
test_session.context(title, &block)
|
108
|
+
end
|
169
109
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
110
|
+
def context!(title=nil, &block)
|
111
|
+
test_session.context!(title, &block)
|
112
|
+
end
|
113
|
+
|
114
|
+
def test(title=nil, &block)
|
115
|
+
test_session.test(title, &block)
|
116
|
+
end
|
117
|
+
|
118
|
+
def test!(title=nil, &block)
|
119
|
+
test_session.test!(title, &block)
|
174
120
|
end
|
175
121
|
|
176
|
-
def
|
177
|
-
test_session.
|
122
|
+
def fail(message=nil)
|
123
|
+
test_session.fail(message)
|
178
124
|
end
|
179
125
|
|
180
|
-
def
|
181
|
-
test_session
|
126
|
+
def fixture(fixture_class_or_object, *, **, &)
|
127
|
+
session = self.test_session
|
128
|
+
|
129
|
+
Fixture.(fixture_class_or_object, *, session:, **, &)
|
182
130
|
end
|
183
131
|
|
184
|
-
def
|
185
|
-
|
132
|
+
def self.comment(telemetry, event_class, text, *additional_texts, heading: nil, quote: nil)
|
133
|
+
texts = [text, *additional_texts]
|
186
134
|
|
187
|
-
|
188
|
-
|
135
|
+
if quote.nil?
|
136
|
+
quote = texts.last.end_with?("\n")
|
189
137
|
end
|
190
138
|
|
191
|
-
|
139
|
+
if quote
|
140
|
+
if heading.nil?
|
141
|
+
heading = !text.end_with?("\n")
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
if heading
|
146
|
+
heading = texts.shift
|
147
|
+
else
|
148
|
+
heading = nil
|
149
|
+
end
|
150
|
+
|
151
|
+
if quote
|
152
|
+
text = texts.join
|
153
|
+
else
|
154
|
+
text = texts.first
|
155
|
+
end
|
156
|
+
|
157
|
+
event = event_class.new
|
158
|
+
event.text = text
|
159
|
+
event.quote = quote
|
160
|
+
event.heading = heading
|
161
|
+
|
162
|
+
telemetry.record(event)
|
163
|
+
|
164
|
+
if not quote
|
165
|
+
texts[1..-1].each do |text|
|
166
|
+
comment(telemetry, event_class, text, heading: false, quote: false)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def self.output(fixture, styling: nil)
|
172
|
+
session = fixture.test_session
|
173
|
+
|
174
|
+
TestBench::Session::Output::Get.(session, styling:)
|
192
175
|
end
|
193
176
|
|
194
|
-
def
|
195
|
-
|
177
|
+
def self.call(fixture_class_or_object, ...)
|
178
|
+
if fixture_class_or_object.instance_of?(Class)
|
179
|
+
fixture_class = fixture_class_or_object
|
180
|
+
Actuate::Class.(fixture_class, ...)
|
181
|
+
else
|
182
|
+
object = fixture_class_or_object
|
183
|
+
Actuate::Object.(object, ...)
|
184
|
+
end
|
196
185
|
end
|
197
186
|
end
|
198
187
|
end
|
data/lib/test_bench/fixture.rb
CHANGED
@@ -1,21 +1,8 @@
|
|
1
|
-
|
2
|
-
require 'logger'
|
3
|
-
require 'stringio'
|
4
|
-
end
|
1
|
+
require 'test_bench/session'
|
5
2
|
|
6
|
-
require 'test_bench/fixture/
|
7
|
-
|
8
|
-
require 'test_bench/fixture/output'
|
9
|
-
require 'test_bench/fixture/output/null'
|
10
|
-
require 'test_bench/fixture/output/log'
|
11
|
-
require 'test_bench/fixture/output/capture'
|
12
|
-
require 'test_bench/fixture/output/substitute'
|
13
|
-
require 'test_bench/fixture/output/substitute/scope'
|
14
|
-
require 'test_bench/fixture/output/multiple'
|
15
|
-
|
16
|
-
require 'test_bench/fixture/error_policy'
|
17
|
-
|
18
|
-
require 'test_bench/fixture/session'
|
19
|
-
require 'test_bench/fixture/session/substitute'
|
3
|
+
require 'test_bench/fixture/actuate/class'
|
4
|
+
require 'test_bench/fixture/actuate/object'
|
20
5
|
|
21
6
|
require 'test_bench/fixture/fixture'
|
7
|
+
|
8
|
+
require 'test_bench/fixture/evaluate'
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test_bench-fixture
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 2.1.0.0.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Ladd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: test_bench-session
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: test_bench-bootstrap
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -31,27 +45,20 @@ extensions: []
|
|
31
45
|
extra_rdoc_files: []
|
32
46
|
files:
|
33
47
|
- lib/test_bench/fixture.rb
|
34
|
-
- lib/test_bench/fixture/
|
48
|
+
- lib/test_bench/fixture/actuate/class.rb
|
49
|
+
- lib/test_bench/fixture/actuate/object.rb
|
35
50
|
- lib/test_bench/fixture/controls.rb
|
36
|
-
- lib/test_bench/fixture/controls/
|
37
|
-
- lib/test_bench/fixture/controls/error.rb
|
38
|
-
- lib/test_bench/fixture/controls/error/backtrace.rb
|
51
|
+
- lib/test_bench/fixture/controls/exception.rb
|
39
52
|
- lib/test_bench/fixture/controls/fixture.rb
|
53
|
+
- lib/test_bench/fixture/controls/fixture/class.rb
|
54
|
+
- lib/test_bench/fixture/controls/fixture/object.rb
|
55
|
+
- lib/test_bench/fixture/controls/fixture/object/modules.rb
|
40
56
|
- lib/test_bench/fixture/controls/output.rb
|
41
|
-
- lib/test_bench/fixture/controls/
|
57
|
+
- lib/test_bench/fixture/controls/random.rb
|
42
58
|
- lib/test_bench/fixture/controls/result.rb
|
43
|
-
- lib/test_bench/fixture/controls/
|
44
|
-
- lib/test_bench/fixture/
|
59
|
+
- lib/test_bench/fixture/controls/title.rb
|
60
|
+
- lib/test_bench/fixture/evaluate.rb
|
45
61
|
- lib/test_bench/fixture/fixture.rb
|
46
|
-
- lib/test_bench/fixture/output.rb
|
47
|
-
- lib/test_bench/fixture/output/capture.rb
|
48
|
-
- lib/test_bench/fixture/output/log.rb
|
49
|
-
- lib/test_bench/fixture/output/multiple.rb
|
50
|
-
- lib/test_bench/fixture/output/null.rb
|
51
|
-
- lib/test_bench/fixture/output/substitute.rb
|
52
|
-
- lib/test_bench/fixture/output/substitute/scope.rb
|
53
|
-
- lib/test_bench/fixture/session.rb
|
54
|
-
- lib/test_bench/fixture/session/substitute.rb
|
55
62
|
homepage: https://github.com/test-bench/test-bench-fixture
|
56
63
|
licenses:
|
57
64
|
- MIT
|
@@ -67,12 +74,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
74
|
version: '0'
|
68
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
76
|
requirements:
|
70
|
-
- - "
|
77
|
+
- - ">"
|
71
78
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
79
|
+
version: 1.3.1
|
73
80
|
requirements: []
|
74
|
-
rubygems_version: 3.
|
81
|
+
rubygems_version: 3.4.10
|
75
82
|
signing_key:
|
76
83
|
specification_version: 4
|
77
|
-
summary:
|
84
|
+
summary: ruby
|
78
85
|
test_files: []
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
module Fixture
|
3
|
-
class AssertionFailure < RuntimeError
|
4
|
-
def self.build(caller_location=nil)
|
5
|
-
caller_location ||= caller[0]
|
6
|
-
|
7
|
-
backtrace = [caller_location.to_s]
|
8
|
-
|
9
|
-
instance = new(message)
|
10
|
-
instance.set_backtrace(backtrace)
|
11
|
-
instance
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.message
|
15
|
-
'Assertion failed'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
module Fixture
|
3
|
-
module Controls
|
4
|
-
module CallerLocation
|
5
|
-
def self.example(file: nil, line_number: nil, label: nil)
|
6
|
-
file ||= self.file
|
7
|
-
line_number ||= self.line_number
|
8
|
-
label ||= self.label
|
9
|
-
|
10
|
-
"#{file}:#{line_number}:in `#{label}'"
|
11
|
-
end
|
12
|
-
|
13
|
-
def self.file
|
14
|
-
'lib/some_dir/some_file.rb'
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.line_number
|
18
|
-
11
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.label
|
22
|
-
'some_method'
|
23
|
-
end
|
24
|
-
|
25
|
-
module Alternate
|
26
|
-
def self.example(line_number: nil)
|
27
|
-
line_number ||= self.line_number
|
28
|
-
|
29
|
-
CallerLocation.example(file: file, line_number: line_number)
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.file
|
33
|
-
'lib/other_dir/other_file.rb'
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.line_number
|
37
|
-
111
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
Implementation = self
|
42
|
-
|
43
|
-
module Test
|
44
|
-
def self.example(file: nil, line_number: nil)
|
45
|
-
file ||= self.file
|
46
|
-
line_number ||= self.line_number
|
47
|
-
|
48
|
-
TOPLEVEL_BINDING.receiver.instance_eval 'proc { caller[0] }.call', file, line_number
|
49
|
-
end
|
50
|
-
|
51
|
-
def self.file
|
52
|
-
'test/some_dir/some_test_file.rb'
|
53
|
-
end
|
54
|
-
|
55
|
-
def self.line_number
|
56
|
-
22
|
57
|
-
end
|
58
|
-
|
59
|
-
def self.label
|
60
|
-
'block in <main>'
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
module Fixture
|
3
|
-
module Controls
|
4
|
-
module Error
|
5
|
-
module Backtrace
|
6
|
-
def self.example(depth: nil)
|
7
|
-
depth ||= self.depth
|
8
|
-
|
9
|
-
controls = [
|
10
|
-
CallerLocation,
|
11
|
-
CallerLocation::Alternate,
|
12
|
-
CallerLocation::Alternate
|
13
|
-
].cycle.first(depth)
|
14
|
-
|
15
|
-
controls.map.with_index do |control, index|
|
16
|
-
line_number = index + 1
|
17
|
-
|
18
|
-
caller_location = control.example(line_number: line_number)
|
19
|
-
|
20
|
-
caller_location.to_s
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.depth
|
25
|
-
3
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
module Fixture
|
3
|
-
module Controls
|
4
|
-
module Error
|
5
|
-
def self.example(message=nil, backtrace: nil, backtrace_depth: nil, cause: nil, cls: nil)
|
6
|
-
message ||= self.message
|
7
|
-
cls ||= Example
|
8
|
-
|
9
|
-
if backtrace == :none
|
10
|
-
backtrace = []
|
11
|
-
else
|
12
|
-
backtrace ||= Backtrace.example(depth: backtrace_depth)
|
13
|
-
end
|
14
|
-
|
15
|
-
if cause == true
|
16
|
-
cause = Cause.example
|
17
|
-
end
|
18
|
-
|
19
|
-
error = cls.new(message)
|
20
|
-
error.set_backtrace(backtrace)
|
21
|
-
|
22
|
-
if cause
|
23
|
-
begin
|
24
|
-
begin
|
25
|
-
raise cause
|
26
|
-
rescue cause.class
|
27
|
-
raise error
|
28
|
-
end
|
29
|
-
rescue cls
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
error
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.message
|
37
|
-
'Some error'
|
38
|
-
end
|
39
|
-
|
40
|
-
Example = Class.new(RuntimeError)
|
41
|
-
|
42
|
-
module Cause
|
43
|
-
def self.example
|
44
|
-
Error.example("Some cause", cls: Example)
|
45
|
-
end
|
46
|
-
|
47
|
-
Example = Class.new(RuntimeError)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
module TestBench
|
2
|
-
module Fixture
|
3
|
-
module Controls
|
4
|
-
module Output
|
5
|
-
module Log
|
6
|
-
module Level
|
7
|
-
def self.example
|
8
|
-
fatal
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.unknown
|
12
|
-
:unknown
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.fatal
|
16
|
-
:fatal
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.error
|
20
|
-
:error
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.warning
|
24
|
-
:warning
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.info
|
28
|
-
:info
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.debug
|
32
|
-
:debug
|
33
|
-
end
|
34
|
-
|
35
|
-
module Invalid
|
36
|
-
def self.example
|
37
|
-
:not_a_log_level
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|