assert 2.4.0 → 2.5.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.
- data/README.md +8 -8
- data/lib/assert.rb +9 -62
- data/lib/assert/assert_runner.rb +15 -30
- data/lib/assert/assertions.rb +105 -41
- data/lib/assert/cli.rb +1 -1
- data/lib/assert/config.rb +56 -0
- data/lib/assert/context.rb +44 -150
- data/lib/assert/context/setup_dsl.rb +70 -0
- data/lib/assert/context/subject_dsl.rb +39 -0
- data/lib/assert/context/suite_dsl.rb +20 -0
- data/lib/assert/context/test_dsl.rb +51 -0
- data/lib/assert/runner.rb +8 -2
- data/lib/assert/suite.rb +33 -12
- data/lib/assert/test.rb +11 -8
- data/lib/assert/utils.rb +23 -11
- data/lib/assert/version.rb +1 -1
- data/lib/assert/view.rb +9 -7
- data/lib/assert/view/base.rb +26 -4
- data/lib/assert/view/default_view.rb +1 -1
- data/lib/assert/view/helpers/ansi_styles.rb +1 -1
- data/lib/assert/view/helpers/common.rb +16 -6
- data/test/helper.rb +1 -94
- data/test/support/factory.rb +70 -0
- data/test/system/running_tests.rb +55 -28
- data/test/unit/assert_tests.rb +6 -33
- data/test/unit/assertions/assert_block_tests.rb +3 -3
- data/test/unit/assertions/assert_empty_tests.rb +6 -4
- data/test/unit/assertions/assert_equal_tests.rb +19 -22
- data/test/unit/assertions/assert_file_exists_tests.rb +6 -4
- data/test/unit/assertions/assert_includes_tests.rb +8 -4
- data/test/unit/assertions/assert_instance_of_tests.rb +8 -6
- data/test/unit/assertions/assert_kind_of_tests.rb +8 -5
- data/test/unit/assertions/assert_match_tests.rb +8 -4
- data/test/unit/assertions/assert_nil_tests.rb +6 -4
- data/test/unit/assertions/assert_raises_tests.rb +2 -2
- data/test/unit/assertions/assert_respond_to_tests.rb +7 -5
- data/test/unit/assertions/assert_same_tests.rb +75 -6
- data/test/unit/assertions/assert_true_false_tests.rb +116 -0
- data/test/unit/assertions_tests.rb +7 -5
- data/test/unit/config_tests.rb +58 -0
- data/test/unit/context/{setup_teardown_singleton_tests.rb → setup_dsl_tests.rb} +17 -19
- data/test/unit/context/subject_dsl_tests.rb +78 -0
- data/test/unit/context/suite_dsl_tests.rb +47 -0
- data/test/unit/context/{test_should_singleton_tests.rb → test_dsl_tests.rb} +33 -34
- data/test/unit/context_tests.rb +19 -15
- data/test/unit/runner_tests.rb +9 -3
- data/test/unit/suite_tests.rb +20 -23
- data/test/unit/test_tests.rb +22 -14
- data/test/unit/utils_tests.rb +15 -21
- data/test/unit/view_tests.rb +12 -5
- metadata +23 -10
- data/test/unit/context/basic_singleton_tests.rb +0 -86
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'assert'
|
2
|
+
require 'assert/context/suite_dsl'
|
3
|
+
|
4
|
+
require 'assert/suite'
|
5
|
+
|
6
|
+
module Assert::Context::SuiteDSL
|
7
|
+
|
8
|
+
class UnitTests < Assert::Context
|
9
|
+
desc "Assert::Context::SuiteDSL"
|
10
|
+
setup do
|
11
|
+
@custom_suite = Factory.modes_off_suite
|
12
|
+
@context_class = Factory.context_class
|
13
|
+
end
|
14
|
+
subject{ @context_class }
|
15
|
+
|
16
|
+
should "use `Assert.suite` by default" do
|
17
|
+
assert_equal Assert.suite, subject.suite
|
18
|
+
end
|
19
|
+
|
20
|
+
should "use any given custom suite" do
|
21
|
+
subject.suite(@custom_suite)
|
22
|
+
assert_equal @custom_suite, subject.suite
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
class SuiteFromParentTests < UnitTests
|
28
|
+
desc "`suite` method using parent context"
|
29
|
+
setup do
|
30
|
+
@parent_class = Factory.context_class
|
31
|
+
@parent_class.suite(@custom_suite)
|
32
|
+
@context_class = Factory.context_class(@parent_class)
|
33
|
+
end
|
34
|
+
|
35
|
+
should "default to it's parents subject block" do
|
36
|
+
assert_equal @custom_suite, subject.suite
|
37
|
+
end
|
38
|
+
|
39
|
+
should "use any given custom suite" do
|
40
|
+
another_suite = Factory.modes_off_suite
|
41
|
+
subject.suite(another_suite)
|
42
|
+
assert_equal another_suite, subject.suite
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -1,25 +1,23 @@
|
|
1
1
|
require 'assert'
|
2
|
-
require 'assert/context'
|
2
|
+
require 'assert/context/test_dsl'
|
3
3
|
|
4
|
-
|
4
|
+
module Assert::Context::TestDSL
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
desc "test and should methods"
|
6
|
+
class UnitTests < Assert::Context
|
7
|
+
desc "Assert::Context::TestDSL"
|
9
8
|
setup do
|
10
|
-
@test_count_before = Assert.suite.tests.size
|
11
9
|
@test_desc = "be true"
|
12
10
|
@test_block = ::Proc.new{ assert(true) }
|
13
11
|
end
|
14
12
|
|
15
13
|
should "build a test using `test` with a desc and code block" do
|
16
14
|
d, b = @test_desc, @test_block
|
17
|
-
Factory.
|
15
|
+
context_class = Factory.modes_off_context_class{ test(d, &b) }
|
18
16
|
|
19
|
-
assert_equal
|
17
|
+
assert_equal 1, context_class.suite.tests.size
|
20
18
|
|
21
19
|
exp_test_name = @test_desc
|
22
|
-
built_test =
|
20
|
+
built_test = context_class.suite.tests.first
|
23
21
|
assert_kind_of Assert::Test, built_test
|
24
22
|
assert_equal exp_test_name, built_test.name
|
25
23
|
assert_equal @test_block, built_test.code
|
@@ -27,12 +25,12 @@ class Assert::Context
|
|
27
25
|
|
28
26
|
should "build a test using `should` with a desc and code block" do
|
29
27
|
d, b = @test_desc, @test_block
|
30
|
-
Factory.
|
28
|
+
context_class = Factory.modes_off_context_class{ should(d, &b) }
|
31
29
|
|
32
|
-
assert_equal
|
30
|
+
assert_equal 1, context_class.suite.tests.size
|
33
31
|
|
34
32
|
exp_test_name = "should #{@test_desc}"
|
35
|
-
built_test =
|
33
|
+
built_test = context_class.suite.tests.last
|
36
34
|
assert_kind_of Assert::Test, built_test
|
37
35
|
assert_equal exp_test_name, built_test.name
|
38
36
|
assert_equal @test_block, built_test.code
|
@@ -42,10 +40,10 @@ class Assert::Context
|
|
42
40
|
d, b = @test_desc, @test_block
|
43
41
|
context = build_eval_context{ test_eventually(d, &b) }
|
44
42
|
err = capture_err(Assert::Result::TestSkipped) do
|
45
|
-
context.instance_eval(&
|
43
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
46
44
|
end
|
47
45
|
|
48
|
-
assert_equal
|
46
|
+
assert_equal 1, context.class.suite.tests.size
|
49
47
|
assert_equal "", err.message
|
50
48
|
end
|
51
49
|
|
@@ -53,10 +51,10 @@ class Assert::Context
|
|
53
51
|
d, b = @test_desc, @test_block
|
54
52
|
context = build_eval_context{ should_eventually(d, &b) }
|
55
53
|
err = capture_err(Assert::Result::TestSkipped) do
|
56
|
-
context.instance_eval(&
|
54
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
57
55
|
end
|
58
56
|
|
59
|
-
assert_equal
|
57
|
+
assert_equal 1, context.class.suite.tests.size
|
60
58
|
assert_equal "", err.message
|
61
59
|
end
|
62
60
|
|
@@ -64,10 +62,10 @@ class Assert::Context
|
|
64
62
|
d = @test_desc
|
65
63
|
context = build_eval_context { test(d) } # no block passed
|
66
64
|
err = capture_err(Assert::Result::TestSkipped) do
|
67
|
-
context.instance_eval(&
|
65
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
68
66
|
end
|
69
67
|
|
70
|
-
assert_equal
|
68
|
+
assert_equal 1, context.class.suite.tests.size
|
71
69
|
assert_equal "TODO", err.message
|
72
70
|
end
|
73
71
|
|
@@ -75,10 +73,10 @@ class Assert::Context
|
|
75
73
|
d = @test_desc
|
76
74
|
context = build_eval_context { should(d) } # no block passed
|
77
75
|
err = capture_err(Assert::Result::TestSkipped) do
|
78
|
-
context.instance_eval(&
|
76
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
79
77
|
end
|
80
78
|
|
81
|
-
assert_equal
|
79
|
+
assert_equal 1, context.class.suite.tests.size
|
82
80
|
assert_equal "TODO", err.message
|
83
81
|
end
|
84
82
|
|
@@ -86,10 +84,10 @@ class Assert::Context
|
|
86
84
|
d = @test_desc
|
87
85
|
context = build_eval_context{ test_eventually(d) } # no block given
|
88
86
|
err = capture_err(Assert::Result::TestSkipped) do
|
89
|
-
context.instance_eval(&
|
87
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
90
88
|
end
|
91
89
|
|
92
|
-
assert_equal
|
90
|
+
assert_equal 1, context.class.suite.tests.size
|
93
91
|
assert_equal "TODO", err.message
|
94
92
|
end
|
95
93
|
|
@@ -97,27 +95,27 @@ class Assert::Context
|
|
97
95
|
d = @test_desc
|
98
96
|
context = build_eval_context{ should_eventually(d) } # no block given
|
99
97
|
err = capture_err(Assert::Result::TestSkipped) do
|
100
|
-
context.instance_eval(&
|
98
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
101
99
|
end
|
102
100
|
|
103
|
-
assert_equal
|
101
|
+
assert_equal 1, context.class.suite.tests.size
|
104
102
|
assert_equal "TODO", err.message
|
105
103
|
end
|
106
104
|
|
107
105
|
should "build a test from a macro using `test`" do
|
108
106
|
d, b = @test_desc, @test_block
|
109
107
|
m = Assert::Macro.new{ test(d, &b); test(d, &b) }
|
110
|
-
Factory.
|
108
|
+
context_class = Factory.modes_off_context_class{ test(m) }
|
111
109
|
|
112
|
-
assert_equal
|
110
|
+
assert_equal 2, context_class.suite.tests.size
|
113
111
|
end
|
114
112
|
|
115
113
|
should "build a test from a macro using `should`" do
|
116
114
|
d, b = @test_desc, @test_block
|
117
115
|
m = Assert::Macro.new{ should(d, &b); should(d, &b) }
|
118
|
-
Factory.
|
116
|
+
context_class = Factory.modes_off_context_class{ should(m) }
|
119
117
|
|
120
|
-
assert_equal
|
118
|
+
assert_equal 2, context_class.suite.tests.size
|
121
119
|
end
|
122
120
|
|
123
121
|
should "build a test that skips from a macro using `test_eventually`" do
|
@@ -125,9 +123,9 @@ class Assert::Context
|
|
125
123
|
m = Assert::Macro.new{ test(d, &b); test(d, &b) }
|
126
124
|
context = build_eval_context{ test_eventually(m) }
|
127
125
|
|
128
|
-
assert_equal
|
126
|
+
assert_equal 1, context.class.suite.tests.size
|
129
127
|
assert_raises(Assert::Result::TestSkipped) do
|
130
|
-
context.instance_eval(&
|
128
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
131
129
|
end
|
132
130
|
end
|
133
131
|
|
@@ -136,9 +134,9 @@ class Assert::Context
|
|
136
134
|
m = Assert::Macro.new{ should(d, &b); should(d, &b) }
|
137
135
|
context = build_eval_context{ should_eventually(m) }
|
138
136
|
|
139
|
-
assert_equal
|
137
|
+
assert_equal 1, context.class.suite.tests.size
|
140
138
|
assert_raises(Assert::Result::TestSkipped) do
|
141
|
-
context.instance_eval(&
|
139
|
+
context.instance_eval(&context.class.suite.tests.last.code)
|
142
140
|
end
|
143
141
|
|
144
142
|
end
|
@@ -146,9 +144,10 @@ class Assert::Context
|
|
146
144
|
private
|
147
145
|
|
148
146
|
def build_eval_context(&build_block)
|
149
|
-
context_class = Factory.
|
147
|
+
context_class = Factory.modes_off_context_class &build_block
|
150
148
|
context_info = Factory.context_info(context_class)
|
151
|
-
|
149
|
+
test = Factory.test("whatever", context_info)
|
150
|
+
context_class.new(test, test.config)
|
152
151
|
end
|
153
152
|
|
154
153
|
def capture_err(err_class, &block)
|
data/test/unit/context_tests.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'assert'
|
2
2
|
require 'assert/context'
|
3
3
|
|
4
|
+
require 'assert/config'
|
4
5
|
require 'assert/utils'
|
5
6
|
|
6
7
|
class Assert::Context
|
@@ -10,13 +11,19 @@ class Assert::Context
|
|
10
11
|
setup do
|
11
12
|
@test = Factory.test
|
12
13
|
@context_class = @test.context_class
|
13
|
-
@context = @context_class.new(@test)
|
14
|
-
end
|
15
|
-
teardown do
|
16
|
-
TEST_ASSERT_SUITE.tests.clear
|
14
|
+
@context = @context_class.new(@test, @test.config)
|
17
15
|
end
|
18
16
|
subject{ @context }
|
19
17
|
|
18
|
+
# DSL methods
|
19
|
+
should have_cmeths :description, :desc, :describe, :subject, :suite
|
20
|
+
should have_cmeths :setup_once, :before_once, :startup
|
21
|
+
should have_cmeths :teardown_once, :after_once, :shutdown
|
22
|
+
should have_cmeths :setup, :before, :setups
|
23
|
+
should have_cmeths :teardown, :after, :teardowns
|
24
|
+
should have_cmeths :test, :test_eventually, :test_skip
|
25
|
+
should have_cmeths :should, :should_eventually, :should_skip
|
26
|
+
|
20
27
|
should have_imeths :assert, :assert_not, :refute
|
21
28
|
should have_imeths :skip, :pass, :fail, :flunk, :ignore
|
22
29
|
should have_imeths :with_backtrace, :subject
|
@@ -115,16 +122,13 @@ class Assert::Context
|
|
115
122
|
class HaltOnFailTests < FailTests
|
116
123
|
desc "when halting on fails"
|
117
124
|
setup do
|
118
|
-
@
|
125
|
+
@halt_config = Assert::Config.new(:halt_on_fail => true)
|
126
|
+
@context = @context_class.new(@test, @halt_config)
|
119
127
|
@fail_msg = "something failed"
|
120
128
|
end
|
121
|
-
teardown do
|
122
|
-
Assert.config.halt_on_fail @orig_halt_fail
|
123
|
-
end
|
124
129
|
subject{ @result }
|
125
130
|
|
126
131
|
should "raise an exception with the failure's message" do
|
127
|
-
Assert.config.halt_on_fail true
|
128
132
|
err = begin
|
129
133
|
@context.fail @fail_msg
|
130
134
|
rescue Exception => exception
|
@@ -158,10 +162,10 @@ class Assert::Context
|
|
158
162
|
end
|
159
163
|
|
160
164
|
should "pp the assertion value in the fail message by default" do
|
161
|
-
|
165
|
+
exp_def_what = "Failed assert: assertion was `#{Assert::U.show(false, @test.config)}`."
|
162
166
|
result = subject.assert(false, @fail_desc)
|
163
167
|
|
164
|
-
assert_equal [@fail_desc,
|
168
|
+
assert_equal [@fail_desc, exp_def_what].join("\n"), result.message
|
165
169
|
end
|
166
170
|
|
167
171
|
should "use a custom fail message if one is given" do
|
@@ -197,10 +201,10 @@ class Assert::Context
|
|
197
201
|
end
|
198
202
|
|
199
203
|
should "pp the assertion value in the fail message by default" do
|
200
|
-
|
204
|
+
exp_def_what = "Failed assert_not: assertion was `#{Assert::U.show(true, @test.config)}`."
|
201
205
|
result = subject.assert_not(true, @fail_desc)
|
202
206
|
|
203
|
-
assert_equal [@fail_desc,
|
207
|
+
assert_equal [@fail_desc, exp_def_what].join("\n"), result.message
|
204
208
|
end
|
205
209
|
|
206
210
|
should "return a fail result given a \"truthy\" assertion" do
|
@@ -217,10 +221,10 @@ class Assert::Context
|
|
217
221
|
desc "subject method"
|
218
222
|
setup do
|
219
223
|
expected = @expected = "amazing"
|
220
|
-
@context_class = Factory.
|
224
|
+
@context_class = Factory.modes_off_context_class do
|
221
225
|
subject{ @something = expected }
|
222
226
|
end
|
223
|
-
@context = @context_class.new
|
227
|
+
@context = @context_class.new(@test, @test.config)
|
224
228
|
@subject = @context.subject
|
225
229
|
end
|
226
230
|
subject{ @subject }
|
data/test/unit/runner_tests.rb
CHANGED
@@ -8,13 +8,19 @@ class Assert::Runner
|
|
8
8
|
class BasicTests < Assert::Context
|
9
9
|
desc "a basic runner"
|
10
10
|
setup do
|
11
|
-
@
|
11
|
+
@config = Factory.modes_off_config
|
12
|
+
@suite = Assert::Suite.new(@config)
|
12
13
|
@view = Assert::View::Base.new(StringIO.new("", "w+"), @suite)
|
13
|
-
@runner = Assert::Runner.new
|
14
|
+
@runner = Assert::Runner.new(@config)
|
14
15
|
end
|
15
16
|
subject { @runner }
|
16
17
|
|
17
|
-
should
|
18
|
+
should have_readers :config
|
19
|
+
should have_imeths :run
|
20
|
+
|
21
|
+
should "know its config" do
|
22
|
+
assert_equal @config, subject.config
|
23
|
+
end
|
18
24
|
|
19
25
|
should "return an integer exit code" do
|
20
26
|
assert_equal 0, subject.run(@suite, @view)
|
data/test/unit/suite_tests.rb
CHANGED
@@ -5,17 +5,19 @@ require 'test/support/inherited_stuff'
|
|
5
5
|
|
6
6
|
class Assert::Suite
|
7
7
|
|
8
|
-
class
|
9
|
-
desc "
|
8
|
+
class UnitTests < Assert::Context
|
9
|
+
desc "Assert::Suite"
|
10
10
|
setup do
|
11
|
-
@
|
11
|
+
@config = Factory.modes_off_config
|
12
|
+
@suite = Assert::Suite.new(@config)
|
12
13
|
end
|
13
14
|
subject{ @suite }
|
14
15
|
|
15
|
-
should
|
16
|
+
should have_accessors :config, :tests, :test_methods, :start_time, :end_time
|
17
|
+
should have_imeths :ordered_tests, :results, :ordered_results
|
18
|
+
should have_imeths :run_time, :test_rate, :result_rate
|
16
19
|
should have_imeths :count, :test_count, :result_count
|
17
20
|
should have_imeths :setup, :startup, :teardown, :shutdown
|
18
|
-
should have_accessors :tests, :test_methods, :start_time, :end_time
|
19
21
|
|
20
22
|
should "determine a klass' local public test methods" do
|
21
23
|
exp = ["test_subclass_stuff", "test_mixin_stuff", "test_repeated"].sort
|
@@ -23,17 +25,18 @@ class Assert::Suite
|
|
23
25
|
assert_equal(exp, act)
|
24
26
|
end
|
25
27
|
|
26
|
-
should "have zero
|
28
|
+
should "have a zero run time, test rate and result by default" do
|
27
29
|
assert_equal 0, subject.run_time
|
30
|
+
assert_equal 0, subject.test_rate
|
31
|
+
assert_equal 0, subject.result_rate
|
28
32
|
end
|
29
33
|
|
30
34
|
end
|
31
35
|
|
32
|
-
class WithTestsTests <
|
36
|
+
class WithTestsTests < UnitTests
|
33
37
|
desc "a suite with tests"
|
34
38
|
setup do
|
35
|
-
ci = Factory.context_info(Factory.
|
36
|
-
@suite = Assert::Suite.new
|
39
|
+
ci = Factory.context_info(Factory.modes_off_context_class)
|
37
40
|
@suite.tests = [
|
38
41
|
Factory.test("should nothing", ci){ },
|
39
42
|
Factory.test("should pass", ci){ assert(1==1); refute(1==0) },
|
@@ -44,7 +47,6 @@ class Assert::Suite
|
|
44
47
|
]
|
45
48
|
@suite.tests.each(&:run)
|
46
49
|
end
|
47
|
-
subject{ @suite }
|
48
50
|
|
49
51
|
should "build test instances to run" do
|
50
52
|
assert_kind_of Assert::Test, subject.tests.first
|
@@ -121,37 +123,33 @@ class Assert::Suite
|
|
121
123
|
|
122
124
|
end
|
123
125
|
|
124
|
-
class SetupTests <
|
126
|
+
class SetupTests < UnitTests
|
125
127
|
desc "a suite with a setup block"
|
126
128
|
setup do
|
127
129
|
@setup_status = nil
|
128
|
-
@suite = Assert::Suite.new
|
129
130
|
@setup_blocks = []
|
130
131
|
@setup_blocks << ::Proc.new{ @setup_status = "setup" }
|
131
132
|
@setup_blocks << ::Proc.new{ @setup_status += " has been run" }
|
132
133
|
@setup_blocks.each{ |setup_block| @suite.setup(&setup_block) }
|
133
134
|
end
|
134
|
-
subject{ @setup_status }
|
135
135
|
|
136
136
|
should "set the setup status to the correct message" do
|
137
|
-
|
138
|
-
assert_equal "setup has been run",
|
137
|
+
subject.setup
|
138
|
+
assert_equal "setup has been run", @setup_status
|
139
139
|
end
|
140
140
|
|
141
141
|
should "return the setup blocks with the #setups method" do
|
142
|
-
setups = @suite.send(:setups)
|
143
142
|
@setup_blocks.each do |setup_block|
|
144
|
-
assert_includes setup_block, setups
|
143
|
+
assert_includes setup_block, subject.send(:setups)
|
145
144
|
end
|
146
145
|
end
|
147
146
|
|
148
147
|
end
|
149
148
|
|
150
|
-
class TeardownTests <
|
149
|
+
class TeardownTests < UnitTests
|
151
150
|
desc "a suite with a teardown"
|
152
151
|
setup do
|
153
152
|
@teardown_status = nil
|
154
|
-
@suite = Assert::Suite.new
|
155
153
|
@teardown_blocks = []
|
156
154
|
@teardown_blocks << ::Proc.new{ @teardown_status += " has been run" }
|
157
155
|
@teardown_blocks << ::Proc.new{ @teardown_status = "teardown" }
|
@@ -159,20 +157,19 @@ class Assert::Suite
|
|
159
157
|
end
|
160
158
|
|
161
159
|
should "set the teardown status to the correct message" do
|
162
|
-
|
160
|
+
subject.teardown
|
163
161
|
assert_equal "teardown has been run", @teardown_status
|
164
162
|
end
|
165
163
|
|
166
164
|
should "return the teardown blocks with the #teardowns method" do
|
167
|
-
teardowns = @suite.send(:teardowns)
|
168
165
|
@teardown_blocks.each do |setup_block|
|
169
|
-
assert_includes setup_block, teardowns
|
166
|
+
assert_includes setup_block, subject.send(:teardowns)
|
170
167
|
end
|
171
168
|
end
|
172
169
|
|
173
170
|
end
|
174
171
|
|
175
|
-
class ContextInfoTests <
|
172
|
+
class ContextInfoTests < UnitTests
|
176
173
|
desc "a suite's context info"
|
177
174
|
setup do
|
178
175
|
@caller = caller
|