assert 2.18.4 → 2.19.4

Sign up to get free protection for your applications and to get access to all the features.
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