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.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -2
  3. data/assert.gemspec +11 -5
  4. data/bin/assert +1 -0
  5. data/lib/assert.rb +20 -6
  6. data/lib/assert/actual_value.rb +26 -8
  7. data/lib/assert/assert_runner.rb +38 -17
  8. data/lib/assert/assertions.rb +145 -41
  9. data/lib/assert/cli.rb +19 -66
  10. data/lib/assert/clirb.rb +55 -0
  11. data/lib/assert/config.rb +22 -8
  12. data/lib/assert/config_helpers.rb +57 -22
  13. data/lib/assert/context.rb +28 -47
  14. data/lib/assert/context/let_dsl.rb +8 -2
  15. data/lib/assert/context/method_missing.rb +3 -0
  16. data/lib/assert/context/setup_dsl.rb +24 -16
  17. data/lib/assert/context/subject_dsl.rb +9 -7
  18. data/lib/assert/context/suite_dsl.rb +5 -1
  19. data/lib/assert/context/test_dsl.rb +58 -19
  20. data/lib/assert/context_info.rb +2 -0
  21. data/lib/assert/default_runner.rb +2 -0
  22. data/lib/assert/default_suite.rb +27 -15
  23. data/lib/assert/default_view.rb +49 -30
  24. data/lib/assert/factory.rb +2 -0
  25. data/lib/assert/file_line.rb +8 -6
  26. data/lib/assert/macro.rb +3 -1
  27. data/lib/assert/macros/methods.rb +73 -45
  28. data/lib/assert/result.rb +117 -61
  29. data/lib/assert/runner.rb +70 -51
  30. data/lib/assert/stub.rb +44 -3
  31. data/lib/assert/suite.rb +76 -38
  32. data/lib/assert/test.rb +43 -44
  33. data/lib/assert/utils.rb +22 -11
  34. data/lib/assert/version.rb +3 -1
  35. data/lib/assert/view.rb +46 -18
  36. data/lib/assert/view_helpers.rb +102 -92
  37. data/test/helper.rb +8 -4
  38. data/test/support/factory.rb +40 -21
  39. data/test/support/inherited_stuff.rb +2 -0
  40. data/test/system/stub_tests.rb +182 -144
  41. data/test/system/test_tests.rb +88 -60
  42. data/test/unit/actual_value_tests.rb +103 -46
  43. data/test/unit/assert_tests.rb +48 -40
  44. data/test/unit/assertions/assert_block_tests.rb +12 -10
  45. data/test/unit/assertions/assert_changes_tests.rb +103 -0
  46. data/test/unit/assertions/assert_empty_tests.rb +16 -12
  47. data/test/unit/assertions/assert_equal_tests.rb +46 -24
  48. data/test/unit/assertions/assert_file_exists_tests.rb +17 -13
  49. data/test/unit/assertions/assert_includes_tests.rb +12 -10
  50. data/test/unit/assertions/assert_instance_of_tests.rb +16 -14
  51. data/test/unit/assertions/assert_is_a_tests.rb +128 -0
  52. data/test/unit/assertions/assert_match_tests.rb +12 -10
  53. data/test/unit/assertions/assert_nil_tests.rb +18 -12
  54. data/test/unit/assertions/assert_raises_tests.rb +34 -23
  55. data/test/unit/assertions/assert_respond_to_tests.rb +12 -10
  56. data/test/unit/assertions/assert_same_tests.rb +26 -24
  57. data/test/unit/assertions/assert_true_false_tests.rb +34 -24
  58. data/test/unit/assertions_tests.rb +25 -17
  59. data/test/unit/config_helpers_tests.rb +15 -8
  60. data/test/unit/config_tests.rb +36 -9
  61. data/test/unit/context/let_dsl_tests.rb +2 -0
  62. data/test/unit/context/setup_dsl_tests.rb +26 -14
  63. data/test/unit/context/subject_dsl_tests.rb +5 -3
  64. data/test/unit/context/suite_dsl_tests.rb +6 -4
  65. data/test/unit/context/test_dsl_tests.rb +43 -19
  66. data/test/unit/context_info_tests.rb +6 -4
  67. data/test/unit/context_tests.rb +112 -54
  68. data/test/unit/default_runner_tests.rb +2 -0
  69. data/test/unit/default_suite_tests.rb +12 -6
  70. data/test/unit/factory_tests.rb +4 -2
  71. data/test/unit/file_line_tests.rb +9 -7
  72. data/test/unit/macro_tests.rb +13 -11
  73. data/test/unit/result_tests.rb +49 -41
  74. data/test/unit/runner_tests.rb +33 -18
  75. data/test/unit/suite_tests.rb +42 -24
  76. data/test/unit/test_tests.rb +66 -73
  77. data/test/unit/utils_tests.rb +52 -37
  78. data/test/unit/view_helpers_tests.rb +23 -14
  79. data/test/unit/view_tests.rb +7 -5
  80. metadata +40 -9
  81. 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 { unit_class }
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) { Factory.string }
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 { unit_class.new }
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 = "#{subject.tests_to_run_count} test#{"s" if subject.tests_to_run_count != 1}"
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.to_s}"
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 { Ansi }
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 { view1 }
167
+ subject{ view1 }
164
168
 
165
- let(:view_class1) { Class.new(Assert::View){ include Ansi } }
166
- let(:view1) { view_class1.new(Factory.modes_off_config, StringIO.new("", "w+")) }
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 = Factory.integer(3).times.map{ Assert::ViewHelpers::Ansi::CODES.keys.sample }
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)
@@ -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 { unit_class }
14
+ subject{ unit_class }
13
15
 
14
- let(:unit_class) { Assert::View }
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 { Assert::View.new(config1, io1) }
31
+ subject{ Assert::View.new(config1, io1) }
30
32
 
31
- let(:io1) { StringIO.new("", "w+") }
32
- let(:config1) { Factory.modes_off_config }
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.18.4
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: 2020-09-07 00:00:00.000000000 Z
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.0
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.0
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.4
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.4
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/assert_kind_of_tests.rb
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.1.2
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/assert_kind_of_tests.rb
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