assert 2.18.4 → 2.19.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/Gemfile +4 -2
- data/assert.gemspec +11 -5
- data/bin/assert +1 -0
- data/lib/assert.rb +20 -6
- data/lib/assert/actual_value.rb +26 -8
- data/lib/assert/assert_runner.rb +38 -17
- data/lib/assert/assertions.rb +145 -41
- data/lib/assert/cli.rb +19 -66
- data/lib/assert/clirb.rb +55 -0
- data/lib/assert/config.rb +22 -8
- data/lib/assert/config_helpers.rb +57 -22
- data/lib/assert/context.rb +28 -47
- data/lib/assert/context/let_dsl.rb +8 -2
- data/lib/assert/context/method_missing.rb +3 -0
- data/lib/assert/context/setup_dsl.rb +24 -16
- data/lib/assert/context/subject_dsl.rb +9 -7
- data/lib/assert/context/suite_dsl.rb +5 -1
- data/lib/assert/context/test_dsl.rb +58 -19
- data/lib/assert/context_info.rb +2 -0
- data/lib/assert/default_runner.rb +2 -0
- data/lib/assert/default_suite.rb +27 -15
- data/lib/assert/default_view.rb +49 -30
- data/lib/assert/factory.rb +2 -0
- data/lib/assert/file_line.rb +8 -6
- data/lib/assert/macro.rb +3 -1
- data/lib/assert/macros/methods.rb +73 -45
- data/lib/assert/result.rb +117 -61
- data/lib/assert/runner.rb +70 -51
- data/lib/assert/stub.rb +44 -3
- data/lib/assert/suite.rb +76 -38
- data/lib/assert/test.rb +43 -44
- data/lib/assert/utils.rb +22 -11
- data/lib/assert/version.rb +3 -1
- data/lib/assert/view.rb +46 -18
- data/lib/assert/view_helpers.rb +102 -92
- data/test/helper.rb +8 -4
- data/test/support/factory.rb +40 -21
- data/test/support/inherited_stuff.rb +2 -0
- data/test/system/stub_tests.rb +182 -144
- data/test/system/test_tests.rb +88 -60
- data/test/unit/actual_value_tests.rb +103 -46
- data/test/unit/assert_tests.rb +48 -40
- data/test/unit/assertions/assert_block_tests.rb +12 -10
- data/test/unit/assertions/assert_changes_tests.rb +103 -0
- data/test/unit/assertions/assert_empty_tests.rb +16 -12
- data/test/unit/assertions/assert_equal_tests.rb +46 -24
- data/test/unit/assertions/assert_file_exists_tests.rb +17 -13
- data/test/unit/assertions/assert_includes_tests.rb +12 -10
- data/test/unit/assertions/assert_instance_of_tests.rb +16 -14
- data/test/unit/assertions/assert_is_a_tests.rb +128 -0
- data/test/unit/assertions/assert_match_tests.rb +12 -10
- data/test/unit/assertions/assert_nil_tests.rb +18 -12
- data/test/unit/assertions/assert_raises_tests.rb +34 -23
- data/test/unit/assertions/assert_respond_to_tests.rb +12 -10
- data/test/unit/assertions/assert_same_tests.rb +26 -24
- data/test/unit/assertions/assert_true_false_tests.rb +34 -24
- data/test/unit/assertions_tests.rb +25 -17
- data/test/unit/config_helpers_tests.rb +15 -8
- data/test/unit/config_tests.rb +36 -9
- data/test/unit/context/let_dsl_tests.rb +2 -0
- data/test/unit/context/setup_dsl_tests.rb +26 -14
- data/test/unit/context/subject_dsl_tests.rb +5 -3
- data/test/unit/context/suite_dsl_tests.rb +6 -4
- data/test/unit/context/test_dsl_tests.rb +43 -19
- data/test/unit/context_info_tests.rb +6 -4
- data/test/unit/context_tests.rb +112 -54
- data/test/unit/default_runner_tests.rb +2 -0
- data/test/unit/default_suite_tests.rb +12 -6
- data/test/unit/factory_tests.rb +4 -2
- data/test/unit/file_line_tests.rb +9 -7
- data/test/unit/macro_tests.rb +13 -11
- data/test/unit/result_tests.rb +49 -41
- data/test/unit/runner_tests.rb +33 -18
- data/test/unit/suite_tests.rb +42 -24
- data/test/unit/test_tests.rb +66 -73
- data/test/unit/utils_tests.rb +52 -37
- data/test/unit/view_helpers_tests.rb +23 -14
- data/test/unit/view_tests.rb +7 -5
- metadata +40 -9
- data/test/unit/assertions/assert_kind_of_tests.rb +0 -66
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "assert"
|
2
4
|
require "assert/view_helpers"
|
3
5
|
|
@@ -10,9 +12,9 @@ require "assert/view"
|
|
10
12
|
module Assert::ViewHelpers
|
11
13
|
class UnitTests < Assert::Context
|
12
14
|
desc "Assert::ViewHelpers"
|
13
|
-
subject
|
15
|
+
subject{ unit_class }
|
14
16
|
|
15
|
-
let(:unit_class)
|
17
|
+
let(:unit_class) do
|
16
18
|
test_opt_val = test_opt_val1
|
17
19
|
Class.new do
|
18
20
|
include Assert::ViewHelpers
|
@@ -25,9 +27,9 @@ module Assert::ViewHelpers
|
|
25
27
|
@config ||= [Assert.config, Assert::Config.new].sample
|
26
28
|
end
|
27
29
|
end
|
28
|
-
|
30
|
+
end
|
29
31
|
|
30
|
-
let(:test_opt_val1)
|
32
|
+
let(:test_opt_val1){ Factory.string }
|
31
33
|
|
32
34
|
should have_imeths :option
|
33
35
|
|
@@ -51,7 +53,7 @@ module Assert::ViewHelpers
|
|
51
53
|
|
52
54
|
class InitTests < UnitTests
|
53
55
|
desc "when init"
|
54
|
-
subject
|
56
|
+
subject{ unit_class.new }
|
55
57
|
|
56
58
|
should have_imeths :captured_output, :re_run_test_cmd
|
57
59
|
should have_imeths :tests_to_run_count_statement, :result_count_statement
|
@@ -75,7 +77,9 @@ module Assert::ViewHelpers
|
|
75
77
|
end
|
76
78
|
|
77
79
|
should "know its tests-to-run count and result count statements" do
|
78
|
-
exp =
|
80
|
+
exp =
|
81
|
+
"#{subject.tests_to_run_count} "\
|
82
|
+
"test#{"s" if subject.tests_to_run_count != 1}"
|
79
83
|
assert_that(subject.tests_to_run_count_statement).equals(exp)
|
80
84
|
|
81
85
|
exp = "#{subject.result_count} result#{"s" if subject.result_count != 1}"
|
@@ -89,7 +93,7 @@ module Assert::ViewHelpers
|
|
89
93
|
items = 2.times.map{ Factory.string }
|
90
94
|
assert_that(subject.to_sentence(items)).equals(items.join(" and "))
|
91
95
|
|
92
|
-
items = (Factory.integer(3)+2).times.map{ Factory.string }
|
96
|
+
items = (Factory.integer(3) + 2).times.map{ Factory.string }
|
93
97
|
exp = [items[0..-2].join(", "), items.last].join(", and ")
|
94
98
|
assert_that(subject.to_sentence(items)).equals(exp)
|
95
99
|
end
|
@@ -101,7 +105,7 @@ module Assert::ViewHelpers
|
|
101
105
|
Assert.stub(subject, :result_count){ 1 }
|
102
106
|
assert_that(subject.all_pass_result_summary_msg).equals("pass")
|
103
107
|
|
104
|
-
Assert.stub(subject, :result_count){ Factory.integer(10)+1 }
|
108
|
+
Assert.stub(subject, :result_count){ Factory.integer(10) + 1 }
|
105
109
|
assert_that(subject.all_pass_result_summary_msg).equals("all pass")
|
106
110
|
end
|
107
111
|
|
@@ -113,7 +117,7 @@ module Assert::ViewHelpers
|
|
113
117
|
|
114
118
|
Assert.stub(subject, :all_pass?){ false }
|
115
119
|
res_type = [:pass, :ignore, :fail, :skip, :error].sample
|
116
|
-
exp = "#{subject.send("#{res_type}_result_count")} #{res_type
|
120
|
+
exp = "#{subject.send("#{res_type}_result_count")} #{res_type}"
|
117
121
|
assert_that(subject.result_summary_msg(res_type)).equals(exp)
|
118
122
|
end
|
119
123
|
|
@@ -137,7 +141,7 @@ module Assert::ViewHelpers
|
|
137
141
|
|
138
142
|
class AnsiTests < UnitTests
|
139
143
|
desc "Ansi"
|
140
|
-
subject
|
144
|
+
subject{ Ansi }
|
141
145
|
|
142
146
|
should have_imeths :code_for
|
143
147
|
|
@@ -160,10 +164,12 @@ module Assert::ViewHelpers
|
|
160
164
|
|
161
165
|
class AnsiInitTests < UnitTests
|
162
166
|
desc "when mixed in on a view"
|
163
|
-
subject
|
167
|
+
subject{ view1 }
|
164
168
|
|
165
|
-
let(:view_class1)
|
166
|
-
let(:view1)
|
169
|
+
let(:view_class1){ Class.new(Assert::View){ include Ansi } }
|
170
|
+
let(:view1) do
|
171
|
+
view_class1.new(Factory.modes_off_config, StringIO.new(+"", "w+"))
|
172
|
+
end
|
167
173
|
|
168
174
|
should have_imeths :ansi_styled_msg
|
169
175
|
|
@@ -188,7 +194,10 @@ module Assert::ViewHelpers
|
|
188
194
|
Assert.stub(subject, "#{result_type}_styles"){ [] }
|
189
195
|
assert_that(subject.ansi_styled_msg(msg, result_type)).equals(msg)
|
190
196
|
|
191
|
-
styles =
|
197
|
+
styles =
|
198
|
+
Factory.integer(3).times.map do
|
199
|
+
Assert::ViewHelpers::Ansi::CODES.keys.sample
|
200
|
+
end
|
192
201
|
Assert.stub(subject, "#{result_type}_styles"){ styles }
|
193
202
|
exp_code = Assert::ViewHelpers::Ansi.code_for(*styles)
|
194
203
|
exp = exp_code + msg + Assert::ViewHelpers::Ansi.code_for(:reset)
|
data/test/unit/view_tests.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "assert"
|
2
4
|
require "assert/view"
|
3
5
|
|
@@ -9,9 +11,9 @@ require "assert/view_helpers"
|
|
9
11
|
class Assert::View
|
10
12
|
class UnitTests < Assert::Context
|
11
13
|
desc "Assert::View"
|
12
|
-
subject
|
14
|
+
subject{ unit_class }
|
13
15
|
|
14
|
-
let(:unit_class)
|
16
|
+
let(:unit_class){ Assert::View }
|
15
17
|
|
16
18
|
should have_instance_method :require_user_view
|
17
19
|
|
@@ -26,10 +28,10 @@ class Assert::View
|
|
26
28
|
|
27
29
|
class InitTests < UnitTests
|
28
30
|
desc "when init"
|
29
|
-
subject
|
31
|
+
subject{ Assert::View.new(config1, io1) }
|
30
32
|
|
31
|
-
let(:io1)
|
32
|
-
let(:config1)
|
33
|
+
let(:io1){ StringIO.new(+"", "w+") }
|
34
|
+
let(:config1){ Factory.modes_off_config }
|
33
35
|
|
34
36
|
should have_readers :config
|
35
37
|
should have_imeths :view, :is_tty?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assert
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.19.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kelly Redding
|
@@ -9,36 +9,64 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: much-style-guide
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 0.5.0
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 0.5.0
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: much-factory
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
17
31
|
requirements:
|
18
32
|
- - "~>"
|
19
33
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.1
|
34
|
+
version: 0.2.1
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 0.2.1
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: much-not-given
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 0.1.2
|
21
49
|
type: :runtime
|
22
50
|
prerelease: false
|
23
51
|
version_requirements: !ruby/object:Gem::Requirement
|
24
52
|
requirements:
|
25
53
|
- - "~>"
|
26
54
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.1.
|
55
|
+
version: 0.1.2
|
28
56
|
- !ruby/object:Gem::Dependency
|
29
57
|
name: much-stub
|
30
58
|
requirement: !ruby/object:Gem::Requirement
|
31
59
|
requirements:
|
32
60
|
- - "~>"
|
33
61
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.1.
|
62
|
+
version: 0.1.7
|
35
63
|
type: :runtime
|
36
64
|
prerelease: false
|
37
65
|
version_requirements: !ruby/object:Gem::Requirement
|
38
66
|
requirements:
|
39
67
|
- - "~>"
|
40
68
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0.1.
|
69
|
+
version: 0.1.7
|
42
70
|
description: Assertion style testing framework.
|
43
71
|
email:
|
44
72
|
- kelly@kellyredding.com
|
@@ -58,6 +86,7 @@ files:
|
|
58
86
|
- lib/assert/assert_runner.rb
|
59
87
|
- lib/assert/assertions.rb
|
60
88
|
- lib/assert/cli.rb
|
89
|
+
- lib/assert/clirb.rb
|
61
90
|
- lib/assert/config.rb
|
62
91
|
- lib/assert/config_helpers.rb
|
63
92
|
- lib/assert/context.rb
|
@@ -95,12 +124,13 @@ files:
|
|
95
124
|
- test/unit/actual_value_tests.rb
|
96
125
|
- test/unit/assert_tests.rb
|
97
126
|
- test/unit/assertions/assert_block_tests.rb
|
127
|
+
- test/unit/assertions/assert_changes_tests.rb
|
98
128
|
- test/unit/assertions/assert_empty_tests.rb
|
99
129
|
- test/unit/assertions/assert_equal_tests.rb
|
100
130
|
- test/unit/assertions/assert_file_exists_tests.rb
|
101
131
|
- test/unit/assertions/assert_includes_tests.rb
|
102
132
|
- test/unit/assertions/assert_instance_of_tests.rb
|
103
|
-
- test/unit/assertions/
|
133
|
+
- test/unit/assertions/assert_is_a_tests.rb
|
104
134
|
- test/unit/assertions/assert_match_tests.rb
|
105
135
|
- test/unit/assertions/assert_nil_tests.rb
|
106
136
|
- test/unit/assertions/assert_raises_tests.rb
|
@@ -148,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
178
|
- !ruby/object:Gem::Version
|
149
179
|
version: '0'
|
150
180
|
requirements: []
|
151
|
-
rubygems_version: 3.
|
181
|
+
rubygems_version: 3.2.4
|
152
182
|
signing_key:
|
153
183
|
specification_version: 4
|
154
184
|
summary: Assertion style testing framework.
|
@@ -163,12 +193,13 @@ test_files:
|
|
163
193
|
- test/unit/actual_value_tests.rb
|
164
194
|
- test/unit/assert_tests.rb
|
165
195
|
- test/unit/assertions/assert_block_tests.rb
|
196
|
+
- test/unit/assertions/assert_changes_tests.rb
|
166
197
|
- test/unit/assertions/assert_empty_tests.rb
|
167
198
|
- test/unit/assertions/assert_equal_tests.rb
|
168
199
|
- test/unit/assertions/assert_file_exists_tests.rb
|
169
200
|
- test/unit/assertions/assert_includes_tests.rb
|
170
201
|
- test/unit/assertions/assert_instance_of_tests.rb
|
171
|
-
- test/unit/assertions/
|
202
|
+
- test/unit/assertions/assert_is_a_tests.rb
|
172
203
|
- test/unit/assertions/assert_match_tests.rb
|
173
204
|
- test/unit/assertions/assert_nil_tests.rb
|
174
205
|
- test/unit/assertions/assert_raises_tests.rb
|
@@ -1,66 +0,0 @@
|
|
1
|
-
require "assert"
|
2
|
-
require "assert/assertions"
|
3
|
-
|
4
|
-
require "assert/utils"
|
5
|
-
|
6
|
-
module Assert::Assertions
|
7
|
-
class AssertKindOfTests < Assert::Context
|
8
|
-
include Assert::Test::TestHelpers
|
9
|
-
|
10
|
-
desc "`assert_kind_of`"
|
11
|
-
subject {
|
12
|
-
args = args1
|
13
|
-
Factory.test do
|
14
|
-
assert_kind_of(String, "object") # pass
|
15
|
-
assert_kind_of(*args) # fail
|
16
|
-
end
|
17
|
-
}
|
18
|
-
|
19
|
-
let(:desc1) { "assert kind of fail desc" }
|
20
|
-
let(:args1) { [Array, "object", desc1] }
|
21
|
-
let(:config1) { subject.config }
|
22
|
-
|
23
|
-
should "produce results as expected" do
|
24
|
-
subject.run(&test_run_callback)
|
25
|
-
|
26
|
-
assert_that(test_run_result_count).equals(2)
|
27
|
-
assert_that(test_run_result_count(:pass)).equals(1)
|
28
|
-
assert_that(test_run_result_count(:fail)).equals(1)
|
29
|
-
|
30
|
-
exp =
|
31
|
-
"#{args1[2]}\nExpected #{Assert::U.show(args1[1], config1)} (#{args1[1].class})"\
|
32
|
-
" to be a kind of #{args1[0]}."
|
33
|
-
assert_that(test_run_results(:fail).first.message).equals(exp)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
class AssertNotKindOfTests < Assert::Context
|
38
|
-
include Assert::Test::TestHelpers
|
39
|
-
|
40
|
-
desc "`assert_not_kind_of`"
|
41
|
-
subject {
|
42
|
-
args = args1
|
43
|
-
Factory.test do
|
44
|
-
assert_not_kind_of(*args) # fail
|
45
|
-
assert_not_kind_of(Array, "object") # pass
|
46
|
-
end
|
47
|
-
}
|
48
|
-
|
49
|
-
let(:desc1) { "assert not kind of fail desc" }
|
50
|
-
let(:args1) { [String, "object", desc1] }
|
51
|
-
let(:config1) { subject.config }
|
52
|
-
|
53
|
-
should "produce results as expected" do
|
54
|
-
subject.run(&test_run_callback)
|
55
|
-
|
56
|
-
assert_that(test_run_result_count).equals(2)
|
57
|
-
assert_that(test_run_result_count(:pass)).equals(1)
|
58
|
-
assert_that(test_run_result_count(:fail)).equals(1)
|
59
|
-
|
60
|
-
exp =
|
61
|
-
"#{args1[2]}\nExpected #{Assert::U.show(args1[1], config1)} (#{args1[1].class})"\
|
62
|
-
" to not be a kind of #{args1[0]}."
|
63
|
-
assert_that(test_run_results(:fail).first.message).equals(exp)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|