assert 2.18.3 → 2.18.4
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/assert/context.rb +5 -2
- data/lib/assert/context/let_dsl.rb +3 -3
- data/lib/assert/context/subject_dsl.rb +23 -24
- data/lib/assert/version.rb +1 -1
- data/test/system/stub_tests.rb +101 -117
- data/test/system/test_tests.rb +21 -33
- data/test/unit/assert_tests.rb +3 -1
- data/test/unit/assertions/assert_block_tests.rb +6 -8
- data/test/unit/assertions/assert_empty_tests.rb +10 -12
- data/test/unit/assertions/assert_equal_tests.rb +12 -18
- data/test/unit/assertions/assert_file_exists_tests.rb +10 -12
- data/test/unit/assertions/assert_includes_tests.rb +10 -12
- data/test/unit/assertions/assert_instance_of_tests.rb +10 -12
- data/test/unit/assertions/assert_kind_of_tests.rb +10 -12
- data/test/unit/assertions/assert_match_tests.rb +10 -12
- data/test/unit/assertions/assert_nil_tests.rb +10 -12
- data/test/unit/assertions/assert_raises_tests.rb +6 -8
- data/test/unit/assertions/assert_respond_to_tests.rb +10 -12
- data/test/unit/assertions/assert_same_tests.rb +16 -22
- data/test/unit/assertions/assert_true_false_tests.rb +20 -24
- data/test/unit/assertions_tests.rb +1 -2
- data/test/unit/config_helpers_tests.rb +8 -4
- data/test/unit/config_tests.rb +7 -2
- data/test/unit/context/setup_dsl_tests.rb +3 -3
- data/test/unit/context/subject_dsl_tests.rb +1 -2
- data/test/unit/context/suite_dsl_tests.rb +1 -2
- data/test/unit/context_info_tests.rb +9 -2
- data/test/unit/context_tests.rb +65 -73
- data/test/unit/default_suite_tests.rb +8 -2
- data/test/unit/factory_tests.rb +3 -1
- data/test/unit/file_line_tests.rb +8 -8
- data/test/unit/macro_tests.rb +10 -5
- data/test/unit/result_tests.rb +34 -45
- data/test/unit/runner_tests.rb +10 -10
- data/test/unit/suite_tests.rb +9 -9
- data/test/unit/test_tests.rb +32 -39
- data/test/unit/utils_tests.rb +3 -1
- data/test/unit/view_helpers_tests.rb +6 -7
- data/test/unit/view_tests.rb +4 -3
- metadata +2 -2
data/test/unit/config_tests.rb
CHANGED
@@ -10,9 +10,14 @@ require "assert/runner"
|
|
10
10
|
class Assert::Config
|
11
11
|
class UnitTests < Assert::Context
|
12
12
|
desc "Assert::Config"
|
13
|
-
subject {
|
13
|
+
subject { unit_class }
|
14
14
|
|
15
|
-
let(:
|
15
|
+
let(:unit_class) { Assert::Config }
|
16
|
+
end
|
17
|
+
|
18
|
+
class InitTests < UnitTests
|
19
|
+
desc "when init"
|
20
|
+
subject { unit_class.new }
|
16
21
|
|
17
22
|
should have_imeths :view, :suite, :runner
|
18
23
|
should have_imeths :test_dir, :test_helper, :test_file_suffixes
|
@@ -4,10 +4,9 @@ require "assert/context/setup_dsl"
|
|
4
4
|
module Assert::Context::SetupDSL
|
5
5
|
class UnitTests < Assert::Context
|
6
6
|
desc "Assert::Context::SetupDSL"
|
7
|
-
subject {
|
7
|
+
subject { Factory.modes_off_context_class }
|
8
8
|
|
9
9
|
let(:block1) { ::Proc.new {} }
|
10
|
-
let(:context_class1) { Factory.modes_off_context_class }
|
11
10
|
end
|
12
11
|
|
13
12
|
class SetupTeardownOnceMethodsTests < UnitTests
|
@@ -49,8 +48,9 @@ module Assert::Context::SetupDSL
|
|
49
48
|
end
|
50
49
|
|
51
50
|
class ParentContextClassTests < UnitTests
|
51
|
+
subject { Factory.modes_off_context_class(parent_class1) }
|
52
|
+
|
52
53
|
let(:parent_class1) { Factory.modes_off_context_class }
|
53
|
-
let(:context_class1) { Factory.modes_off_context_class(parent_class1) }
|
54
54
|
end
|
55
55
|
|
56
56
|
class SetupTeardownMultipleTests < ParentContextClassTests
|
@@ -4,10 +4,9 @@ require "assert/context/subject_dsl"
|
|
4
4
|
module Assert::Context::SubjectDSL
|
5
5
|
class UnitTests < Assert::Context
|
6
6
|
desc "Assert::Context::SubjectDSL"
|
7
|
-
subject {
|
7
|
+
subject { Factory.modes_off_context_class(parent_class1) }
|
8
8
|
|
9
9
|
let(:parent_class1) { Factory.modes_off_context_class }
|
10
|
-
let(:context_class1) { Factory.modes_off_context_class(parent_class1) }
|
11
10
|
let(:subject_block1) { Proc.new {} }
|
12
11
|
end
|
13
12
|
|
@@ -6,10 +6,9 @@ require "assert/suite"
|
|
6
6
|
module Assert::Context::SuiteDSL
|
7
7
|
class UnitTests < Assert::Context
|
8
8
|
desc "Assert::Context::SuiteDSL"
|
9
|
-
subject {
|
9
|
+
subject { Factory.context_class(parent_class1) }
|
10
10
|
|
11
11
|
let(:parent_class1) { Factory.context_class }
|
12
|
-
let(:context_class1) { Factory.context_class(parent_class1) }
|
13
12
|
let(:custom_suite1) { Factory.modes_off_suite }
|
14
13
|
|
15
14
|
should "use `Assert.suite` by default" do
|
@@ -6,13 +6,20 @@ require "assert/context"
|
|
6
6
|
class Assert::ContextInfo
|
7
7
|
class UnitTests < Assert::Context
|
8
8
|
desc "Assert::ContextInfo"
|
9
|
+
subject { unit_class }
|
10
|
+
|
11
|
+
let(:unit_class) { Assert::ContextInfo }
|
12
|
+
end
|
13
|
+
|
14
|
+
class InitTests < UnitTests
|
15
|
+
desc "when init"
|
16
|
+
subject { unit_class.new(context1, nil, @caller.first) }
|
17
|
+
|
9
18
|
setup do
|
10
19
|
@caller = caller
|
11
20
|
end
|
12
|
-
subject { info1 }
|
13
21
|
|
14
22
|
let(:context1) { Assert::Context }
|
15
|
-
let(:info1) { Assert::ContextInfo.new(context1, nil, @caller.first) }
|
16
23
|
|
17
24
|
should have_readers :called_from, :klass, :file
|
18
25
|
should have_imeths :test_name
|
data/test/unit/context_tests.rb
CHANGED
@@ -8,7 +8,24 @@ require "assert/utils"
|
|
8
8
|
class Assert::Context
|
9
9
|
class UnitTests < Assert::Context
|
10
10
|
desc "Assert::Context"
|
11
|
-
subject {
|
11
|
+
subject { unit_class }
|
12
|
+
|
13
|
+
let(:unit_class) { Assert::Context }
|
14
|
+
|
15
|
+
# DSL methods
|
16
|
+
should have_imeths :description, :desc, :describe, :subject, :suite, :let
|
17
|
+
should have_imeths :setup_once, :before_once, :startup
|
18
|
+
should have_imeths :teardown_once, :after_once, :shutdown
|
19
|
+
should have_imeths :setup, :before, :setups, :run_setups
|
20
|
+
should have_imeths :teardown, :after, :teardowns, :run_teardowns
|
21
|
+
should have_imeths :around, :arounds, :run_arounds
|
22
|
+
should have_imeths :test, :test_eventually, :test_skip
|
23
|
+
should have_imeths :should, :should_eventually, :should_skip
|
24
|
+
end
|
25
|
+
|
26
|
+
class InitTests < UnitTests
|
27
|
+
desc "when init"
|
28
|
+
subject { context_class1.new(test1, test1.config, result_callback1) }
|
12
29
|
|
13
30
|
setup do
|
14
31
|
@callback_result = nil
|
@@ -20,20 +37,9 @@ class Assert::Context
|
|
20
37
|
let(:result_callback1) {
|
21
38
|
proc { |result| @callback_result = result; test_results1 << result }
|
22
39
|
}
|
23
|
-
let(:context1) { context_class1.new(test1, test1.config, result_callback1) }
|
24
40
|
let(:halt_config1) { Assert::Config.new(:halt_on_fail => true) }
|
25
41
|
let(:msg1) { Factory.string }
|
26
42
|
|
27
|
-
# DSL methods
|
28
|
-
should have_cmeths :description, :desc, :describe, :subject, :suite, :let
|
29
|
-
should have_cmeths :setup_once, :before_once, :startup
|
30
|
-
should have_cmeths :teardown_once, :after_once, :shutdown
|
31
|
-
should have_cmeths :setup, :before, :setups, :run_setups
|
32
|
-
should have_cmeths :teardown, :after, :teardowns, :run_teardowns
|
33
|
-
should have_cmeths :around, :arounds, :run_arounds
|
34
|
-
should have_cmeths :test, :test_eventually, :test_skip
|
35
|
-
should have_cmeths :should, :should_eventually, :should_skip
|
36
|
-
|
37
43
|
should have_imeths :assert, :assert_not, :refute, :assert_that
|
38
44
|
should have_imeths :pass, :ignore, :fail, :flunk, :skip
|
39
45
|
should have_imeths :pending, :with_backtrace, :subject
|
@@ -68,19 +74,18 @@ class Assert::Context
|
|
68
74
|
end
|
69
75
|
end
|
70
76
|
|
71
|
-
class SkipTests <
|
77
|
+
class SkipTests < InitTests
|
72
78
|
desc "skip method"
|
73
|
-
subject { @result }
|
74
79
|
|
75
80
|
setup do
|
76
|
-
begin;
|
81
|
+
begin; subject.skip(msg1); rescue StandardError => @exception; end
|
77
82
|
@result = Factory.skip_result(@exception)
|
78
83
|
end
|
79
84
|
|
80
85
|
should "raise a test skipped exception and set its message" do
|
81
86
|
assert_that(@exception).is_kind_of(Assert::Result::TestSkipped)
|
82
87
|
assert_that(@exception.message).equals(msg1)
|
83
|
-
assert_that(
|
88
|
+
assert_that(@result.message).equals(msg1)
|
84
89
|
end
|
85
90
|
|
86
91
|
should "not call the result callback" do
|
@@ -91,23 +96,22 @@ class Assert::Context
|
|
91
96
|
assert_that(@exception.backtrace.size).does_not_equal(1)
|
92
97
|
|
93
98
|
called_from = Factory.string
|
94
|
-
begin;
|
99
|
+
begin; subject.skip(msg1, called_from); rescue StandardError => exception; end
|
95
100
|
assert_that(exception.backtrace.size).equals(1)
|
96
101
|
assert_that(exception.backtrace.first).equals(called_from)
|
97
102
|
end
|
98
103
|
end
|
99
104
|
|
100
|
-
class IgnoreTests <
|
105
|
+
class IgnoreTests < InitTests
|
101
106
|
desc "ignore method"
|
102
|
-
subject { @result }
|
103
107
|
|
104
108
|
setup do
|
105
|
-
@result =
|
109
|
+
@result = subject.ignore(msg1)
|
106
110
|
end
|
107
111
|
|
108
112
|
should "create an ignore result and set its message" do
|
109
|
-
assert_that(
|
110
|
-
assert_that(
|
113
|
+
assert_that(@result).is_kind_of(Assert::Result::Ignore)
|
114
|
+
assert_that(@result.message).equals(msg1)
|
111
115
|
end
|
112
116
|
|
113
117
|
should "call the result callback" do
|
@@ -115,17 +119,16 @@ class Assert::Context
|
|
115
119
|
end
|
116
120
|
end
|
117
121
|
|
118
|
-
class PassTests <
|
122
|
+
class PassTests < InitTests
|
119
123
|
desc "pass method"
|
120
|
-
subject { @result }
|
121
124
|
|
122
125
|
setup do
|
123
|
-
@result =
|
126
|
+
@result = subject.pass(msg1)
|
124
127
|
end
|
125
128
|
|
126
129
|
should "create a pass result and set its message" do
|
127
|
-
assert_that(
|
128
|
-
assert_that(
|
130
|
+
assert_that(@result).is_kind_of(Assert::Result::Pass)
|
131
|
+
assert_that(@result.message).equals(msg1)
|
129
132
|
end
|
130
133
|
|
131
134
|
should "call the result callback" do
|
@@ -133,17 +136,16 @@ class Assert::Context
|
|
133
136
|
end
|
134
137
|
end
|
135
138
|
|
136
|
-
class FlunkTests <
|
139
|
+
class FlunkTests < InitTests
|
137
140
|
desc "flunk method"
|
138
|
-
subject { @result }
|
139
141
|
|
140
142
|
setup do
|
141
|
-
@result =
|
143
|
+
@result = subject.flunk(msg1)
|
142
144
|
end
|
143
145
|
|
144
146
|
should "create a fail result and set its message" do
|
145
|
-
assert_that(
|
146
|
-
assert_that(
|
147
|
+
assert_that(@result).is_kind_of(Assert::Result::Fail)
|
148
|
+
assert_that(@result.message).equals(msg1)
|
147
149
|
end
|
148
150
|
|
149
151
|
should "call the result callback" do
|
@@ -151,22 +153,21 @@ class Assert::Context
|
|
151
153
|
end
|
152
154
|
end
|
153
155
|
|
154
|
-
class FailTests <
|
156
|
+
class FailTests < InitTests
|
155
157
|
desc "fail method"
|
156
|
-
subject { @result }
|
157
158
|
|
158
159
|
setup do
|
159
|
-
@result =
|
160
|
+
@result = subject.fail
|
160
161
|
end
|
161
162
|
|
162
163
|
should "create a fail result and set its backtrace" do
|
163
|
-
assert_that(
|
164
|
-
assert_that(
|
165
|
-
assert_that(
|
164
|
+
assert_that(@result).is_kind_of(Assert::Result::Fail)
|
165
|
+
assert_that(@result.trace).equals(@result.backtrace.filtered.first.to_s)
|
166
|
+
assert_that(@result.backtrace).is_kind_of(Array)
|
166
167
|
end
|
167
168
|
|
168
169
|
should "set any given result message" do
|
169
|
-
result =
|
170
|
+
result = subject.fail(msg1)
|
170
171
|
assert_that(result.message).equals(msg1)
|
171
172
|
end
|
172
173
|
|
@@ -175,14 +176,12 @@ class Assert::Context
|
|
175
176
|
end
|
176
177
|
end
|
177
178
|
|
178
|
-
class HaltOnFailTests <
|
179
|
+
class HaltOnFailTests < InitTests
|
179
180
|
desc "failing when halting on fails"
|
180
|
-
subject {
|
181
|
-
|
182
|
-
let(:context1) { context_class1.new(test1, halt_config1, result_callback1) }
|
181
|
+
subject { context_class1.new(test1, halt_config1, result_callback1) }
|
183
182
|
|
184
183
|
should "raise an exception with the failure's message" do
|
185
|
-
begin;
|
184
|
+
begin; subject.fail(msg1); rescue StandardError => err; end
|
186
185
|
assert_that(err).is_kind_of(Assert::Result::TestFailure)
|
187
186
|
assert_that(err.message).equals(msg1)
|
188
187
|
|
@@ -195,7 +194,7 @@ class Assert::Context
|
|
195
194
|
end
|
196
195
|
end
|
197
196
|
|
198
|
-
class AssertTests <
|
197
|
+
class AssertTests < InitTests
|
199
198
|
desc "assert method"
|
200
199
|
|
201
200
|
let(:what_failed) { Factory.string }
|
@@ -232,7 +231,7 @@ class Assert::Context
|
|
232
231
|
end
|
233
232
|
end
|
234
233
|
|
235
|
-
class AssertNotTests <
|
234
|
+
class AssertNotTests < InitTests
|
236
235
|
desc "assert_not method"
|
237
236
|
|
238
237
|
should "return a pass result given a `false` assertion" do
|
@@ -262,7 +261,7 @@ class Assert::Context
|
|
262
261
|
end
|
263
262
|
end
|
264
263
|
|
265
|
-
class AssertThatTests <
|
264
|
+
class AssertThatTests < InitTests
|
266
265
|
desc "`assert_that` method"
|
267
266
|
|
268
267
|
setup do
|
@@ -276,39 +275,38 @@ class Assert::Context
|
|
276
275
|
should "build an Assert::ActualValue" do
|
277
276
|
assert_instance_of Assert::ActualValue, subject.assert_that(actual_value)
|
278
277
|
assert_equal [actual_value], @actual_value_new_call.pargs
|
279
|
-
assert_equal({ context:
|
278
|
+
assert_equal({ context: subject }, @actual_value_new_call.kargs)
|
280
279
|
end
|
281
280
|
end
|
282
281
|
|
283
|
-
class SubjectTests <
|
282
|
+
class SubjectTests < InitTests
|
284
283
|
desc "subject method"
|
285
|
-
subject {
|
284
|
+
subject { context_class1.new(test1, test1.config, proc{ |result| }) }
|
286
285
|
|
287
286
|
setup do
|
288
287
|
expected = expected1
|
289
288
|
context_class1.subject { @something = expected }
|
290
|
-
@subject =
|
289
|
+
@subject = subject.subject
|
291
290
|
end
|
292
291
|
|
293
292
|
let(:context_class1) { Factory.modes_off_context_class }
|
294
|
-
let(:context1) { context_class1.new(test1, test1.config, proc{ |result| }) }
|
295
293
|
let(:expected1) { Factory.string }
|
296
294
|
|
297
295
|
should "instance evaluate the block set with the class setup method" do
|
298
|
-
assert_that(subject).equals(expected1)
|
296
|
+
assert_that(@subject).equals(expected1)
|
299
297
|
end
|
300
298
|
end
|
301
299
|
|
302
|
-
class PendingTests <
|
300
|
+
class PendingTests < InitTests
|
303
301
|
desc "`pending` method"
|
304
302
|
|
305
303
|
let(:block2) { proc { fail; pass; } }
|
306
304
|
let(:block1) { block = block2; proc { pending(&block) } } # test nesting
|
307
305
|
|
308
306
|
should "make fails skips and make passes fails" do
|
309
|
-
|
310
|
-
|
311
|
-
|
307
|
+
subject.fail "not affected"
|
308
|
+
subject.pass
|
309
|
+
subject.pending(&block1)
|
312
310
|
|
313
311
|
assert_that(test_results1.size).equals(4)
|
314
312
|
norm_fail, norm_pass, pending_fail, pending_pass = test_results1
|
@@ -326,12 +324,10 @@ class Assert::Context
|
|
326
324
|
|
327
325
|
class PendingWithHaltOnFailTests < PendingTests
|
328
326
|
desc "when halting on fails"
|
329
|
-
subject {
|
330
|
-
|
331
|
-
let(:context1) { context_class1.new(test1, halt_config1, result_callback1) }
|
327
|
+
subject { context_class1.new(test1, halt_config1, result_callback1) }
|
332
328
|
|
333
329
|
should "make fails skips and stop the test" do
|
334
|
-
begin;
|
330
|
+
begin; subject.pending(&block1); rescue StandardError => err; end
|
335
331
|
assert_that(err).is_kind_of(Assert::Result::TestSkipped)
|
336
332
|
assert_that(err.message).includes("Pending fail")
|
337
333
|
|
@@ -339,16 +335,16 @@ class Assert::Context
|
|
339
335
|
end
|
340
336
|
end
|
341
337
|
|
342
|
-
class WithBacktraceTests <
|
338
|
+
class WithBacktraceTests < InitTests
|
343
339
|
desc "`with_backtrace` method"
|
344
340
|
|
345
341
|
let(:from_bt1) { ["called_from_here", Factory.string] }
|
346
342
|
let(:from_block1) { proc { ignore; fail; pass; skip "todo"; } }
|
347
343
|
|
348
344
|
should "alter non-error block results' bt with given bt's first line" do
|
349
|
-
|
345
|
+
subject.fail "not affected"
|
350
346
|
begin
|
351
|
-
|
347
|
+
subject.with_backtrace(from_bt1, &from_block1)
|
352
348
|
rescue Assert::Result::TestSkipped => e
|
353
349
|
test_results1 << Assert::Result::Skip.for_test(test1, e)
|
354
350
|
end
|
@@ -366,7 +362,7 @@ class Assert::Context
|
|
366
362
|
end
|
367
363
|
end
|
368
364
|
|
369
|
-
class WithNestedBacktraceTests <
|
365
|
+
class WithNestedBacktraceTests < InitTests
|
370
366
|
desc "`with_backtrace` method nested"
|
371
367
|
|
372
368
|
let(:from_bt1) { ["called_from_here 1", Factory.string] }
|
@@ -379,9 +375,9 @@ class Assert::Context
|
|
379
375
|
}
|
380
376
|
|
381
377
|
should "alter non-error block results' bt with nested wbt accrued first lines" do
|
382
|
-
|
378
|
+
subject.fail "not affected"
|
383
379
|
begin
|
384
|
-
|
380
|
+
subject.with_backtrace(from_bt1, &from_block1)
|
385
381
|
rescue Assert::Result::TestSkipped => e
|
386
382
|
test_results1 << Assert::Result::Skip.for_test(test1, e)
|
387
383
|
end
|
@@ -399,15 +395,11 @@ class Assert::Context
|
|
399
395
|
end
|
400
396
|
end
|
401
397
|
|
402
|
-
class InspectTests <
|
398
|
+
class InspectTests < InitTests
|
403
399
|
desc "inspect method"
|
404
|
-
subject { inspect1 }
|
405
|
-
|
406
|
-
let(:inspect1) { context1.inspect }
|
407
400
|
|
408
401
|
should "just show the name of the class" do
|
409
|
-
|
410
|
-
assert_that(subject).equals(exp)
|
402
|
+
assert_that(subject.inspect).equals("#<#{subject.class}>")
|
411
403
|
end
|
412
404
|
end
|
413
405
|
end
|
@@ -6,12 +6,18 @@ require "assert/suite"
|
|
6
6
|
class Assert::DefaultSuite
|
7
7
|
class UnitTests < Assert::Context
|
8
8
|
desc "Assert::DefaultSuite"
|
9
|
-
subject {
|
9
|
+
subject { unit_class }
|
10
|
+
|
11
|
+
let(:unit_class) { Assert::DefaultSuite }
|
12
|
+
end
|
13
|
+
|
14
|
+
class InitTests < UnitTests
|
15
|
+
desc "when init"
|
16
|
+
subject { unit_class.new(config1) }
|
10
17
|
|
11
18
|
let(:ci1) { Factory.context_info(Factory.modes_off_context_class) }
|
12
19
|
let(:test1) { Factory.test(Factory.string, ci1) { } }
|
13
20
|
let(:config1) { Factory.modes_off_config }
|
14
|
-
let(:suite1) { Assert::DefaultSuite.new(config1) }
|
15
21
|
|
16
22
|
should "be a Suite" do
|
17
23
|
assert_that(subject).is_kind_of(Assert::Suite)
|
data/test/unit/factory_tests.rb
CHANGED
@@ -6,7 +6,9 @@ require "much-factory"
|
|
6
6
|
module Assert::Factory
|
7
7
|
class UnitTests < Assert::Context
|
8
8
|
desc "Assert::Factory"
|
9
|
-
subject {
|
9
|
+
subject { unit_class }
|
10
|
+
|
11
|
+
let(:unit_class) { Assert::Factory }
|
10
12
|
|
11
13
|
should "include and extend MuchFactory" do
|
12
14
|
assert_that(subject).includes(MuchFactory)
|