assert 2.16.5 → 2.17.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.
Files changed (72) hide show
  1. checksums.yaml +7 -7
  2. data/Gemfile +3 -1
  3. data/README.md +20 -20
  4. data/assert.gemspec +5 -3
  5. data/bin/assert +4 -4
  6. data/lib/assert.rb +8 -8
  7. data/lib/assert/assert_runner.rb +7 -7
  8. data/lib/assert/assertions.rb +5 -5
  9. data/lib/assert/cli.rb +35 -35
  10. data/lib/assert/config.rb +8 -8
  11. data/lib/assert/config_helpers.rb +6 -6
  12. data/lib/assert/context.rb +17 -17
  13. data/lib/assert/context/test_dsl.rb +5 -5
  14. data/lib/assert/context_info.rb +2 -2
  15. data/lib/assert/default_runner.rb +1 -1
  16. data/lib/assert/default_suite.rb +1 -1
  17. data/lib/assert/default_view.rb +8 -8
  18. data/lib/assert/factory.rb +1 -1
  19. data/lib/assert/macro.rb +1 -1
  20. data/lib/assert/macros/methods.rb +1 -1
  21. data/lib/assert/result.rb +17 -17
  22. data/lib/assert/runner.rb +12 -8
  23. data/lib/assert/stub.rb +1 -1
  24. data/lib/assert/suite.rb +3 -3
  25. data/lib/assert/test.rb +11 -11
  26. data/lib/assert/utils.rb +8 -8
  27. data/lib/assert/version.rb +1 -1
  28. data/lib/assert/view.rb +19 -19
  29. data/lib/assert/view_helpers.rb +6 -6
  30. data/test/helper.rb +2 -11
  31. data/test/support/factory.rb +6 -6
  32. data/test/system/stub_tests.rb +204 -204
  33. data/test/system/test_tests.rb +13 -13
  34. data/test/unit/assert_tests.rb +9 -9
  35. data/test/unit/assertions/assert_block_tests.rb +2 -2
  36. data/test/unit/assertions/assert_empty_tests.rb +6 -6
  37. data/test/unit/assertions/assert_equal_tests.rb +5 -5
  38. data/test/unit/assertions/assert_file_exists_tests.rb +6 -6
  39. data/test/unit/assertions/assert_includes_tests.rb +7 -7
  40. data/test/unit/assertions/assert_instance_of_tests.rb +5 -5
  41. data/test/unit/assertions/assert_kind_of_tests.rb +5 -5
  42. data/test/unit/assertions/assert_match_tests.rb +5 -5
  43. data/test/unit/assertions/assert_nil_tests.rb +5 -5
  44. data/test/unit/assertions/assert_raises_tests.rb +2 -2
  45. data/test/unit/assertions/assert_respond_to_tests.rb +5 -5
  46. data/test/unit/assertions/assert_same_tests.rb +13 -13
  47. data/test/unit/assertions/assert_true_false_tests.rb +7 -7
  48. data/test/unit/assertions_tests.rb +2 -2
  49. data/test/unit/config_helpers_tests.rb +5 -5
  50. data/test/unit/config_tests.rb +12 -12
  51. data/test/unit/context/setup_dsl_tests.rb +7 -7
  52. data/test/unit/context/subject_dsl_tests.rb +3 -3
  53. data/test/unit/context/suite_dsl_tests.rb +3 -3
  54. data/test/unit/context/test_dsl_tests.rb +8 -8
  55. data/test/unit/context_info_tests.rb +6 -6
  56. data/test/unit/context_tests.rb +16 -16
  57. data/test/unit/default_runner_tests.rb +3 -3
  58. data/test/unit/default_suite_tests.rb +3 -3
  59. data/test/unit/factory_tests.rb +3 -3
  60. data/test/unit/file_line_tests.rb +12 -12
  61. data/test/unit/macro_tests.rb +2 -2
  62. data/test/unit/result_tests.rb +18 -18
  63. data/test/unit/runner_tests.rb +9 -9
  64. data/test/unit/suite_tests.rb +5 -5
  65. data/test/unit/test_tests.rb +19 -19
  66. data/test/unit/utils_tests.rb +18 -18
  67. data/test/unit/view_helpers_tests.rb +15 -15
  68. data/test/unit/view_tests.rb +11 -11
  69. data/tmp/.gitkeep +0 -0
  70. metadata +46 -44
  71. data/.assert.rb +0 -3
  72. data/.gitignore +0 -19
@@ -1,5 +1,5 @@
1
- require 'assert'
2
- require 'assert/macro'
1
+ require "assert"
2
+ require "assert/macro"
3
3
 
4
4
  class Assert::Macro
5
5
 
@@ -1,7 +1,7 @@
1
- require 'assert'
2
- require 'assert/result'
1
+ require "assert"
2
+ require "assert/result"
3
3
 
4
- require 'assert/file_line'
4
+ require "assert/file_line"
5
5
 
6
6
  module Assert::Result
7
7
 
@@ -70,7 +70,7 @@ module Assert::Result
70
70
 
71
71
  should "know its class-level type/name" do
72
72
  assert_equal :unknown, subject.class.type
73
- assert_equal '', subject.class.name
73
+ assert_equal "", subject.class.name
74
74
  end
75
75
 
76
76
  should "know how to build a result for a given test" do
@@ -105,13 +105,13 @@ module Assert::Result
105
105
  result = Base.new({})
106
106
 
107
107
  assert_equal :unknown, result.type
108
- assert_equal '', result.name
109
- assert_equal '', result.test_name
110
- assert_equal Assert::FileLine.parse(''), result.test_file_line
111
- assert_equal '', result.message
112
- assert_equal '', result.output
108
+ assert_equal "", result.name
109
+ assert_equal "", result.test_name
110
+ assert_equal Assert::FileLine.parse(""), result.test_file_line
111
+ assert_equal "", result.message
112
+ assert_equal "", result.output
113
113
  assert_equal Backtrace.new([]), result.backtrace
114
- assert_equal '', result.trace
114
+ assert_equal "", result.trace
115
115
  end
116
116
 
117
117
  should "know its test file line attrs" do
@@ -212,8 +212,8 @@ module Assert::Result
212
212
 
213
213
  assert_equal 3, str.split("\n").count
214
214
 
215
- Assert.stub(subject, :message){ '' }
216
- Assert.stub(subject, :trace){ '' }
215
+ Assert.stub(subject, :message){ "" }
216
+ Assert.stub(subject, :trace){ "" }
217
217
 
218
218
  assert_equal 1, subject.to_s.split("\n").count
219
219
  end
@@ -227,7 +227,7 @@ module Assert::Result
227
227
  end
228
228
 
229
229
  should "show only its class and message when inspected" do
230
- exp = "#<#{subject.class}:#{'0x0%x' % (subject.object_id << 1)} "\
230
+ exp = "#<#{subject.class}:#{"0x0%x" % (subject.object_id << 1)} "\
231
231
  "@message=#{subject.message.inspect} "\
232
232
  "@file_line=#{subject.file_line.to_s.inspect} "\
233
233
  "@test_file_line=#{subject.test_file_line.to_s.inspect}>"
@@ -246,7 +246,7 @@ module Assert::Result
246
246
  should "know its type/name" do
247
247
  assert_equal :pass, subject.type
248
248
  assert_equal :pass, subject.class.type
249
- assert_equal 'Pass', subject.class.name
249
+ assert_equal "Pass", subject.class.name
250
250
  end
251
251
 
252
252
  end
@@ -261,7 +261,7 @@ module Assert::Result
261
261
  should "know its type/name" do
262
262
  assert_equal :ignore, subject.type
263
263
  assert_equal :ignore, subject.class.type
264
- assert_equal 'Ignore', subject.class.name
264
+ assert_equal "Ignore", subject.class.name
265
265
  end
266
266
 
267
267
  end
@@ -298,7 +298,7 @@ module Assert::Result
298
298
  should "know its type/name" do
299
299
  assert_equal :fail, subject.type
300
300
  assert_equal :fail, subject.class.type
301
- assert_equal 'Fail', subject.class.name
301
+ assert_equal "Fail", subject.class.name
302
302
  end
303
303
 
304
304
  should "allow creating for a test with TestFailure exceptions" do
@@ -349,7 +349,7 @@ module Assert::Result
349
349
  should "know its type/name" do
350
350
  assert_equal :skip, subject.type
351
351
  assert_equal :skip, subject.class.type
352
- assert_equal 'Skip', subject.class.name
352
+ assert_equal "Skip", subject.class.name
353
353
  end
354
354
 
355
355
  should "allow creating for a test with TestSkipped exceptions" do
@@ -389,7 +389,7 @@ module Assert::Result
389
389
 
390
390
  should "know its class-level type/name" do
391
391
  assert_equal :error, subject.class.type
392
- assert_equal 'Error', subject.class.name
392
+ assert_equal "Error", subject.class.name
393
393
  end
394
394
 
395
395
  should "allow creating for a test with exceptions" do
@@ -1,11 +1,11 @@
1
- require 'assert'
2
- require 'assert/runner'
1
+ require "assert"
2
+ require "assert/runner"
3
3
 
4
- require 'stringio'
5
- require 'assert/config_helpers'
6
- require 'assert/default_suite'
7
- require 'assert/result'
8
- require 'assert/view'
4
+ require "stringio"
5
+ require "assert/config_helpers"
6
+ require "assert/default_suite"
7
+ require "assert/result"
8
+ require "assert/view"
9
9
 
10
10
  class Assert::Runner
11
11
 
@@ -113,7 +113,7 @@ class Assert::Runner
113
113
  "seeded with \"#{subject.runner_seed}\"\n"
114
114
  assert_includes exp, @view_output
115
115
 
116
- @view_output.gsub!(/./, '')
116
+ @view_output.gsub!(/./, "")
117
117
  @config.suite.clear_tests_to_run
118
118
  subject.run
119
119
  assert_not_includes exp, @view_output
@@ -143,7 +143,7 @@ class Assert::Runner
143
143
  @config.suite.clear_tests_to_run
144
144
  @config.suite.on_test(@test)
145
145
  @config.single_test @test.file_line.to_s
146
- @view_output.gsub!(/./, '')
146
+ @view_output.gsub!(/./, "")
147
147
  subject.run
148
148
 
149
149
  exp = "Running test: #{subject.single_test_file_line}, " \
@@ -1,9 +1,9 @@
1
- require 'assert'
2
- require 'assert/suite'
1
+ require "assert"
2
+ require "assert/suite"
3
3
 
4
- require 'assert/config_helpers'
5
- require 'assert/test'
6
- require 'test/support/inherited_stuff'
4
+ require "assert/config_helpers"
5
+ require "assert/test"
6
+ require "test/support/inherited_stuff"
7
7
 
8
8
  class Assert::Suite
9
9
 
@@ -1,9 +1,9 @@
1
- require 'assert'
2
- require 'assert/test'
1
+ require "assert"
2
+ require "assert/test"
3
3
 
4
- require 'assert/config'
5
- require 'assert/file_line'
6
- require 'assert/result'
4
+ require "assert/config"
5
+ require "assert/file_line"
6
+ require "assert/result"
7
7
 
8
8
  class Assert::Test
9
9
 
@@ -46,7 +46,7 @@ class Assert::Test
46
46
  end
47
47
 
48
48
  should "build tests for a method" do
49
- meth = 'a_test_method'
49
+ meth = "a_test_method"
50
50
  test = subject.for_method(meth, @context_info, @config)
51
51
 
52
52
  exp = Assert::FileLine.parse(@context_info.called_from)
@@ -108,9 +108,9 @@ class Assert::Test
108
108
  should "default its attrs" do
109
109
  test = Assert::Test.new
110
110
 
111
- assert_equal Assert::FileLine.parse(''), test.file_line
112
- assert_equal '', test.name
113
- assert_equal '', test.output
111
+ assert_equal Assert::FileLine.parse(""), test.file_line
112
+ assert_equal "", test.name
113
+ assert_equal "", test.output
114
114
  assert_equal 0, test.run_time
115
115
 
116
116
  assert_nil test.context_info
@@ -131,7 +131,7 @@ class Assert::Test
131
131
  attrs = [:name, :context_info].collect do |method|
132
132
  "@#{method}=#{subject.send(method).inspect}"
133
133
  end.join(" ")
134
- exp = "#<#{subject.class}:#{'0x0%x' % (subject.object_id << 1)} #{attrs}>"
134
+ exp = "#<#{subject.class}:#{"0x0%x" % (subject.object_id << 1)} #{attrs}>"
135
135
  assert_equal exp, subject.inspect
136
136
  end
137
137
 
@@ -224,9 +224,9 @@ class Assert::Test
224
224
 
225
225
  def assert_failed(test)
226
226
  with_backtrace(caller) do
227
- assert_equal 1, test_run_result_count, 'too many/few fail results'
227
+ assert_equal 1, test_run_result_count, "too many/few fail results"
228
228
  test_run_results.each do |result|
229
- assert_kind_of Assert::Result::Fail, result, 'not a fail result'
229
+ assert_kind_of Assert::Result::Fail, result, "not a fail result"
230
230
  end
231
231
  end
232
232
  end
@@ -263,9 +263,9 @@ class Assert::Test
263
263
 
264
264
  def assert_skipped(test)
265
265
  with_backtrace(caller) do
266
- assert_equal 1, test_run_result_count, 'too many/few skip results'
266
+ assert_equal 1, test_run_result_count, "too many/few skip results"
267
267
  test_run_results.each do |result|
268
- assert_kind_of Assert::Result::Skip, result, 'not a skip result'
268
+ assert_kind_of Assert::Result::Skip, result, "not a skip result"
269
269
  end
270
270
  end
271
271
  end
@@ -286,7 +286,7 @@ class Assert::Test
286
286
 
287
287
  should "capture errors in the context setup" do
288
288
  test = Factory.test("setup error test", @context_info){ }
289
- test.context_class.setup{ raise 'an error' }
289
+ test.context_class.setup{ raise "an error" }
290
290
  test.run(&test_run_callback)
291
291
 
292
292
  assert_errored(test)
@@ -294,7 +294,7 @@ class Assert::Test
294
294
 
295
295
  should "capture errors in the context teardown" do
296
296
  test = Factory.test("teardown error test", @context_info){ }
297
- test.context_class.teardown{ raise 'an error' }
297
+ test.context_class.teardown{ raise "an error" }
298
298
  test.run(&test_run_callback)
299
299
 
300
300
  assert_errored(test)
@@ -304,9 +304,9 @@ class Assert::Test
304
304
 
305
305
  def assert_errored(test)
306
306
  with_backtrace(caller) do
307
- assert_equal 1, test_run_result_count, 'too many/few error results'
307
+ assert_equal 1, test_run_result_count, "too many/few error results"
308
308
  test_run_results.each do |result|
309
- assert_kind_of Assert::Result::Error, result, 'not an error result'
309
+ assert_kind_of Assert::Result::Error, result, "not an error result"
310
310
  end
311
311
  end
312
312
  end
@@ -325,7 +325,7 @@ class Assert::Test
325
325
 
326
326
  should "raises signal exceptions in the context setup" do
327
327
  test = Factory.test("setup signal test", @context_info){ }
328
- test.context_class.setup{ raise SignalException, 'INT' }
328
+ test.context_class.setup{ raise SignalException, "INT" }
329
329
 
330
330
  assert_raises(SignalException){ test.run }
331
331
  end
@@ -1,8 +1,8 @@
1
- require 'assert'
2
- require 'assert/utils'
1
+ require "assert"
2
+ require "assert/utils"
3
3
 
4
- require 'tempfile'
5
- require 'assert/config'
4
+ require "tempfile"
5
+ require "assert/config"
6
6
 
7
7
  module Assert::Utils
8
8
 
@@ -10,7 +10,7 @@ module Assert::Utils
10
10
  desc "Assert::Utils"
11
11
  subject{ Assert::Utils }
12
12
  setup do
13
- @objs = [ 1, 'hi there', Hash.new, [:a, :b]]
13
+ @objs = [1, "hi there", Hash.new, [:a, :b]]
14
14
  end
15
15
 
16
16
  should have_imeths :show, :show_for_diff
@@ -25,7 +25,7 @@ module Assert::Utils
25
25
  setup do
26
26
  @pp_config = Assert::Config.new({
27
27
  :pp_objects => true,
28
- :pp_proc => Proc.new{ |input| 'herp derp' }
28
+ :pp_proc => Proc.new{ |input| "herp derp" }
29
29
  })
30
30
  end
31
31
 
@@ -66,8 +66,8 @@ module Assert::Utils
66
66
  desc "`tempfile`"
67
67
 
68
68
  should "require tempfile, open a tempfile, write the given content, and yield it" do
69
- subject.tempfile('a-name', 'some-content') do |tmpfile|
70
- assert_equal false, (require 'tempfile')
69
+ subject.tempfile("a-name", "some-content") do |tmpfile|
70
+ assert_equal false, (require "tempfile")
71
71
  assert tmpfile
72
72
  assert_kind_of Tempfile, tmpfile
73
73
 
@@ -82,12 +82,12 @@ module Assert::Utils
82
82
  desc "`stdlib_pp_proc`"
83
83
 
84
84
  should "build a pp proc that uses stdlib `PP.pp` to pretty print objects" do
85
- exp_obj_pps = @objs.map{ |o| PP.pp(o, '', 79).strip }
85
+ exp_obj_pps = @objs.map{ |o| PP.pp(o, "", 79).strip }
86
86
  act_obj_pps = @objs.map{ |o| subject.stdlib_pp_proc.call(o) }
87
87
  assert_equal exp_obj_pps, act_obj_pps
88
88
 
89
89
  cust_width = 1
90
- exp_obj_pps = @objs.map{ |o| PP.pp(o, '', cust_width).strip }
90
+ exp_obj_pps = @objs.map{ |o| PP.pp(o, "", cust_width).strip }
91
91
  act_obj_pps = @objs.map{ |o| subject.stdlib_pp_proc(cust_width).call(o) }
92
92
  assert_equal exp_obj_pps, act_obj_pps
93
93
  end
@@ -104,11 +104,11 @@ module Assert::Utils
104
104
  should "be true if either output has newlines or is bigger than 29 chars" do
105
105
  proc = subject.default_use_diff_proc
106
106
 
107
- assert_not proc.call('', '')
108
- assert proc.call(@longer, '')
109
- assert proc.call(@newlines, '')
110
- assert proc.call('', @longer)
111
- assert proc.call('', @newlines)
107
+ assert_not proc.call("", "")
108
+ assert proc.call(@longer, "")
109
+ assert proc.call(@newlines, "")
110
+ assert proc.call("", @longer)
111
+ assert proc.call("", @newlines)
112
112
  assert proc.call(@longer, @newlines)
113
113
  end
114
114
 
@@ -117,8 +117,8 @@ module Assert::Utils
117
117
  class SyscmdDiffProc < UnitTests
118
118
  desc "`syscmd_diff_proc`"
119
119
  setup do
120
- @diff_a_file = File.join(ROOT_PATH, 'test/support/diff_a.txt')
121
- @diff_b_file = File.join(ROOT_PATH, 'test/support/diff_b.txt')
120
+ @diff_a_file = File.join(ROOT_PATH, "test/support/diff_a.txt")
121
+ @diff_b_file = File.join(ROOT_PATH, "test/support/diff_b.txt")
122
122
 
123
123
  @diff_a = File.read(@diff_a_file)
124
124
  @diff_b = File.read(@diff_b_file)
@@ -134,7 +134,7 @@ module Assert::Utils
134
134
  end
135
135
 
136
136
  should "allow you to specify a custom syscmd" do
137
- cust_syscmd = 'diff'
137
+ cust_syscmd = "diff"
138
138
  exp_diff_out = `#{cust_syscmd} #{@diff_a_file} #{@diff_b_file}`.strip.tap do |out|
139
139
  out.sub!(/^\-\-\- .+/, "--- expected")
140
140
  out.sub!(/^\+\+\+ .+/, "+++ actual")
@@ -1,11 +1,11 @@
1
- require 'assert'
2
- require 'assert/view_helpers'
1
+ require "assert"
2
+ require "assert/view_helpers"
3
3
 
4
- require 'stringio'
5
- require 'assert/config'
6
- require 'assert/config_helpers'
7
- require 'assert/result'
8
- require 'assert/view'
4
+ require "stringio"
5
+ require "assert/config"
6
+ require "assert/config_helpers"
7
+ require "assert/result"
8
+ require "assert/view"
9
9
 
10
10
  module Assert::ViewHelpers
11
11
 
@@ -16,7 +16,7 @@ module Assert::ViewHelpers
16
16
  @helpers_class = Class.new do
17
17
  include Assert::ViewHelpers
18
18
 
19
- option 'test_opt', test_opt_val
19
+ option "test_opt", test_opt_val
20
20
 
21
21
  def config
22
22
  # use the assert config since it has tests, contexts, etc
@@ -71,15 +71,15 @@ module Assert::ViewHelpers
71
71
 
72
72
  should "know how to build the re-run test cmd" do
73
73
  test_id = "#{Dir.pwd}/#{Factory.string}_tests.rb:#{Factory.integer}"
74
- exp = "assert -t #{test_id.gsub(Dir.pwd, '.')}"
74
+ exp = "assert -t #{test_id.gsub(Dir.pwd, ".")}"
75
75
  assert_equal exp, subject.re_run_test_cmd(test_id)
76
76
  end
77
77
 
78
78
  should "know its tests-to-run count and result count statements" do
79
- exp = "#{subject.tests_to_run_count} test#{'s' if subject.tests_to_run_count != 1}"
79
+ exp = "#{subject.tests_to_run_count} test#{"s" if subject.tests_to_run_count != 1}"
80
80
  assert_equal exp, subject.tests_to_run_count_statement
81
81
 
82
- exp = "#{subject.result_count} result#{'s' if subject.result_count != 1}"
82
+ exp = "#{subject.result_count} result#{"s" if subject.result_count != 1}"
83
83
  assert_equal exp, subject.result_count_statement
84
84
  end
85
85
 
@@ -88,7 +88,7 @@ module Assert::ViewHelpers
88
88
  assert_equal items.first, subject.to_sentence(items)
89
89
 
90
90
  items = 2.times.map{ Factory.string }
91
- assert_equal items.join(' and '), subject.to_sentence(items)
91
+ assert_equal items.join(" and "), subject.to_sentence(items)
92
92
 
93
93
  items = (Factory.integer(3)+2).times.map{ Factory.string }
94
94
  exp = [items[0..-2].join(", "), items.last].join(", and ")
@@ -147,14 +147,14 @@ module Assert::ViewHelpers
147
147
 
148
148
  should "map its code style names to ansi code strings" do
149
149
  styles = Factory.integer(3).times.map{ subject::CODES.keys.sample }
150
- exp = styles.map{ |n| "\e[#{subject::CODES[n]}m" }.join('')
150
+ exp = styles.map{ |n| "\e[#{subject::CODES[n]}m" }.join("")
151
151
  assert_equal exp, subject.code_for(*styles)
152
152
 
153
153
  styles = Factory.integer(3).times.map{ Factory.string }
154
- assert_equal '', subject.code_for(*styles)
154
+ assert_equal "", subject.code_for(*styles)
155
155
 
156
156
  styles = []
157
- assert_equal '', subject.code_for(*styles)
157
+ assert_equal "", subject.code_for(*styles)
158
158
  end
159
159
 
160
160
  end
@@ -1,10 +1,10 @@
1
- require 'assert'
2
- require 'assert/view'
1
+ require "assert"
2
+ require "assert/view"
3
3
 
4
- require 'stringio'
5
- require 'assert/config_helpers'
6
- require 'assert/suite'
7
- require 'assert/view_helpers'
4
+ require "stringio"
5
+ require "assert/config_helpers"
6
+ require "assert/suite"
7
+ require "assert/view_helpers"
8
8
 
9
9
  class Assert::View
10
10
 
@@ -51,11 +51,11 @@ class Assert::View
51
51
  end
52
52
 
53
53
  should "default its result abbreviations" do
54
- assert_equal '.', subject.pass_abbrev
55
- assert_equal 'F', subject.fail_abbrev
56
- assert_equal 'I', subject.ignore_abbrev
57
- assert_equal 'S', subject.skip_abbrev
58
- assert_equal 'E', subject.error_abbrev
54
+ assert_equal ".", subject.pass_abbrev
55
+ assert_equal "F", subject.fail_abbrev
56
+ assert_equal "I", subject.ignore_abbrev
57
+ assert_equal "S", subject.skip_abbrev
58
+ assert_equal "E", subject.error_abbrev
59
59
  end
60
60
 
61
61
  should "know its config" do