assert 2.19.1 → 2.19.6

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 +4 -4
  2. data/assert.gemspec +10 -7
  3. data/lib/assert.rb +18 -6
  4. data/lib/assert/actual_value.rb +8 -6
  5. data/lib/assert/assert_runner.rb +36 -17
  6. data/lib/assert/assertions.rb +83 -50
  7. data/lib/assert/cli.rb +30 -70
  8. data/lib/assert/clirb.rb +55 -0
  9. data/lib/assert/config.rb +20 -8
  10. data/lib/assert/config_helpers.rb +55 -22
  11. data/lib/assert/context.rb +14 -18
  12. data/lib/assert/context/let_dsl.rb +5 -2
  13. data/lib/assert/context/setup_dsl.rb +21 -16
  14. data/lib/assert/context/subject_dsl.rb +6 -7
  15. data/lib/assert/context/suite_dsl.rb +2 -1
  16. data/lib/assert/context/test_dsl.rb +55 -19
  17. data/lib/assert/default_suite.rb +25 -15
  18. data/lib/assert/default_view.rb +47 -30
  19. data/lib/assert/file_line.rb +6 -6
  20. data/lib/assert/macro.rb +1 -1
  21. data/lib/assert/macros/methods.rb +71 -45
  22. data/lib/assert/result.rb +111 -62
  23. data/lib/assert/runner.rb +68 -51
  24. data/lib/assert/stub.rb +42 -3
  25. data/lib/assert/suite.rb +67 -28
  26. data/lib/assert/test.rb +40 -35
  27. data/lib/assert/utils.rb +19 -10
  28. data/lib/assert/version.rb +1 -1
  29. data/lib/assert/view.rb +44 -18
  30. data/lib/assert/view_helpers.rb +100 -92
  31. data/test/helper.rb +3 -1
  32. data/test/support/factory.rb +38 -21
  33. data/test/system/stub_tests.rb +180 -144
  34. data/test/system/test_tests.rb +86 -60
  35. data/test/unit/actual_value_tests.rb +69 -50
  36. data/test/unit/assert_tests.rb +39 -22
  37. data/test/unit/assertions/assert_block_tests.rb +10 -10
  38. data/test/unit/assertions/assert_changes_tests.rb +25 -21
  39. data/test/unit/assertions/assert_empty_tests.rb +14 -12
  40. data/test/unit/assertions/assert_equal_tests.rb +26 -26
  41. data/test/unit/assertions/assert_file_exists_tests.rb +15 -13
  42. data/test/unit/assertions/assert_includes_tests.rb +10 -10
  43. data/test/unit/assertions/assert_instance_of_tests.rb +14 -14
  44. data/test/unit/assertions/assert_is_a_tests.rb +128 -0
  45. data/test/unit/assertions/assert_match_tests.rb +10 -10
  46. data/test/unit/assertions/assert_nil_tests.rb +16 -12
  47. data/test/unit/assertions/assert_raises_tests.rb +27 -20
  48. data/test/unit/assertions/assert_respond_to_tests.rb +10 -10
  49. data/test/unit/assertions/assert_same_tests.rb +24 -24
  50. data/test/unit/assertions/assert_true_false_tests.rb +32 -24
  51. data/test/unit/assertions_tests.rb +14 -9
  52. data/test/unit/config_helpers_tests.rb +15 -10
  53. data/test/unit/config_tests.rb +34 -9
  54. data/test/unit/context/setup_dsl_tests.rb +24 -14
  55. data/test/unit/context/subject_dsl_tests.rb +3 -3
  56. data/test/unit/context/suite_dsl_tests.rb +4 -4
  57. data/test/unit/context/test_dsl_tests.rb +37 -17
  58. data/test/unit/context_info_tests.rb +4 -4
  59. data/test/unit/context_tests.rb +110 -54
  60. data/test/unit/default_suite_tests.rb +10 -6
  61. data/test/unit/factory_tests.rb +2 -2
  62. data/test/unit/file_line_tests.rb +7 -7
  63. data/test/unit/macro_tests.rb +11 -11
  64. data/test/unit/result_tests.rb +47 -41
  65. data/test/unit/runner_tests.rb +29 -16
  66. data/test/unit/suite_tests.rb +37 -15
  67. data/test/unit/test_tests.rb +63 -50
  68. data/test/unit/utils_tests.rb +48 -35
  69. data/test/unit/view_helpers_tests.rb +21 -14
  70. data/test/unit/view_tests.rb +5 -5
  71. metadata +26 -11
  72. data/test/unit/assertions/assert_kind_of_tests.rb +0 -68
@@ -10,9 +10,9 @@ require "test/support/inherited_stuff"
10
10
  class Assert::Suite
11
11
  class UnitTests < Assert::Context
12
12
  desc "Assert::Suite"
13
- subject { unit_class }
13
+ subject{ unit_class }
14
14
 
15
- let(:unit_class) { Assert::Suite }
15
+ let(:unit_class){ Assert::Suite }
16
16
 
17
17
  should "include the config helpers" do
18
18
  assert_that(subject).includes(Assert::ConfigHelpers)
@@ -21,9 +21,9 @@ class Assert::Suite
21
21
 
22
22
  class InitTests < UnitTests
23
23
  desc "when init"
24
- subject { unit_class.new(config1) }
24
+ subject{ unit_class.new(config1) }
25
25
 
26
- let(:config1) { Factory.modes_off_config }
26
+ let(:config1){ Factory.modes_off_config }
27
27
 
28
28
  should have_readers :config, :setups, :teardowns
29
29
  should have_accessors :start_time, :end_time
@@ -74,8 +74,10 @@ class Assert::Suite
74
74
  Assert.stub(subject, :result_count){ count }
75
75
 
76
76
  assert_that(subject.run_time).equals(time)
77
- assert_that(subject.test_rate).equals((subject.test_count / subject.run_time))
78
- assert_that(subject.result_rate).equals((subject.result_count / subject.run_time))
77
+ assert_that(subject.test_rate)
78
+ .equals((subject.test_count / subject.run_time))
79
+ assert_that(subject.result_rate)
80
+ .equals((subject.result_count / subject.run_time))
79
81
  end
80
82
 
81
83
  should "add setup procs" do
@@ -106,17 +108,37 @@ class Assert::Suite
106
108
  tests1.each{ |test| subject.on_test(test) }
107
109
  end
108
110
 
109
- let(:ci1) { proc{ Factory.context_info(Factory.modes_off_context_class) } }
110
- let(:tests1) {
111
+ let(:ci1){ proc{ Factory.context_info(Factory.modes_off_context_class) } }
112
+ let(:tests1) do
113
+ # rubocop:disable Lint/BinaryOperatorWithIdenticalOperands
111
114
  [
112
- Factory.test("should nothing", ci1.call){ },
113
- Factory.test("should pass", ci1.call){ assert(1==1); refute(1==0) },
114
- Factory.test("should fail", ci1.call){ ignore; assert(1==0); refute(1==1) },
115
- Factory.test("should ignore", ci1.call){ ignore },
116
- Factory.test("should skip", ci1.call){ skip; ignore; assert(1==1) },
117
- Factory.test("should error", ci1.call){ raise Exception; ignore; assert(1==1) }
115
+ Factory.test("should nothing", ci1.call) do
116
+ end,
117
+ Factory.test("should pass", ci1.call) do
118
+ assert(1 == 1)
119
+ refute(1 == 0)
120
+ end,
121
+ Factory.test("should fail", ci1.call) do
122
+ ignore
123
+ assert(1 == 0)
124
+ refute(1 == 1)
125
+ end,
126
+ Factory.test("should ignore", ci1.call) do
127
+ ignore
128
+ end,
129
+ Factory.test("should skip", ci1.call) do
130
+ skip
131
+ ignore
132
+ assert(1 == 1)
133
+ end,
134
+ Factory.test("should error", ci1.call) do
135
+ raise Exception
136
+ ignore # rubocop:disable Lint/UnreachableCode
137
+ assert(1 == 1)
138
+ end,
118
139
  ]
119
- }
140
+ # rubocop:enable Lint/BinaryOperatorWithIdenticalOperands
141
+ end
120
142
 
121
143
  should "know its tests-to-run attrs" do
122
144
  assert_that(subject.tests_to_run_count).equals(tests1.size)
@@ -10,14 +10,16 @@ require "assert/result"
10
10
  class Assert::Test
11
11
  class UnitTests < Assert::Context
12
12
  desc "Assert::Test"
13
- subject { unit_class }
13
+ subject{ unit_class }
14
14
 
15
- let(:unit_class) { Assert::Test }
15
+ let(:unit_class){ Assert::Test }
16
16
 
17
- let(:context_class1) { Factory.modes_off_context_class { desc "context class" } }
18
- let(:context_info1) { Factory.context_info(context_class1) }
19
- let(:config1) { Factory.modes_off_config }
20
- let(:test_code1) { proc { assert(true) } }
17
+ let(:context_class1) do
18
+ Factory.modes_off_context_class{ desc "context class" }
19
+ end
20
+ let(:context_info1){ Factory.context_info(context_class1) }
21
+ let(:config1){ Factory.modes_off_config }
22
+ let(:test_code1){ proc{ assert(true) } }
21
23
 
22
24
  should have_imeths :name_file_line_context_data, :for_block
23
25
 
@@ -50,24 +52,26 @@ class Assert::Test
50
52
 
51
53
  class InitWithDataTests < UnitTests
52
54
  desc "when init with data"
53
- subject { unit_class.new(meta_data1.merge(run_data1)) }
55
+ subject{ unit_class.new(meta_data1.merge(run_data1)) }
54
56
 
55
- let(:file_line1) { Assert::FileLine.new(Factory.string, Factory.integer.to_s) }
56
- let(:meta_data1) {
57
+ let(:file_line1) do
58
+ Assert::FileLine.new(Factory.string, Factory.integer.to_s)
59
+ end
60
+ let(:meta_data1) do
57
61
  {
58
- :file_line => file_line1.to_s,
59
- :name => Factory.string,
60
- :output => Factory.string,
61
- :run_time => Factory.float(1.0),
62
+ file_line: file_line1.to_s,
63
+ name: Factory.string,
64
+ output: Factory.string,
65
+ run_time: Factory.float(1.0),
62
66
  }
63
- }
64
- let(:run_data1) {
67
+ end
68
+ let(:run_data1) do
65
69
  {
66
- :context_info => context_info1,
67
- :config => config1,
68
- :code => test_code1
70
+ context_info: context_info1,
71
+ config: config1,
72
+ code: test_code1,
69
73
  }
70
- }
74
+ end
71
75
 
72
76
  should have_imeths :file_line, :file_name, :line_num
73
77
  should have_imeths :name, :output, :run_time
@@ -107,9 +111,12 @@ class Assert::Test
107
111
  end
108
112
 
109
113
  should "have a custom inspect that only shows limited attributes" do
110
- attrs = [:name, :context_info].collect do |method|
111
- "@#{method}=#{subject.send(method).inspect}"
112
- end.join(" ")
114
+ attrs =
115
+ [:name, :context_info]
116
+ .map{ |method|
117
+ "@#{method}=#{subject.send(method).inspect}"
118
+ }
119
+ .join(" ")
113
120
  exp = "#<#{subject.class}:#{"0x0%x" % (subject.object_id << 1)} #{attrs}>"
114
121
  assert_that(subject.inspect).equals(exp)
115
122
  end
@@ -118,13 +125,13 @@ class Assert::Test
118
125
  class PassFailIgnoreHandlingTests < UnitTests
119
126
  include Assert::Test::TestHelpers
120
127
 
121
- subject {
128
+ subject do
122
129
  Factory.test("pass fail ignore test", context_info1) do
123
130
  ignore("something")
124
131
  assert(true)
125
132
  assert(false)
126
133
  end
127
- }
134
+ end
128
135
 
129
136
  setup do
130
137
  subject.context_class.setup do
@@ -184,7 +191,7 @@ class Assert::Test
184
191
  end
185
192
 
186
193
  should "capture fails in the context setup" do
187
- test = Factory.test("setup halt-on-fail test", context_info1){ }
194
+ test = Factory.test("setup halt-on-fail test", context_info1){}
188
195
  test.context_class.setup{ raise Assert::Result::TestFailure }
189
196
  test.run(&test_run_callback)
190
197
 
@@ -192,7 +199,7 @@ class Assert::Test
192
199
  end
193
200
 
194
201
  should "capture fails in the context teardown" do
195
- test = Factory.test("teardown halt-on-fail test", context_info1){ }
202
+ test = Factory.test("teardown halt-on-fail test", context_info1){}
196
203
  test.context_class.teardown{ raise Assert::Result::TestFailure }
197
204
  test.run(&test_run_callback)
198
205
 
@@ -201,11 +208,13 @@ class Assert::Test
201
208
 
202
209
  private
203
210
 
204
- def assert_failed(test)
211
+ def assert_failed(_test)
205
212
  with_backtrace(caller) do
206
- assert_that(test_run_result_count).equals(1, "too many/few fail results")
213
+ assert_that(test_run_result_count)
214
+ .equals(1, "too many/few fail results")
207
215
  test_run_results.each do |result|
208
- assert_that(result).is_kind_of(Assert::Result::Fail, "not a fail result")
216
+ assert_that(result)
217
+ .is_kind_of(Assert::Result::Fail, "not a fail result")
209
218
  end
210
219
  end
211
220
  end
@@ -222,7 +231,7 @@ class Assert::Test
222
231
  end
223
232
 
224
233
  should "capture skips in the context setup" do
225
- test = Factory.test("setup skip test", context_info1){ }
234
+ test = Factory.test("setup skip test", context_info1){}
226
235
  test.context_class.setup{ skip }
227
236
  test.run(&test_run_callback)
228
237
 
@@ -230,7 +239,7 @@ class Assert::Test
230
239
  end
231
240
 
232
241
  should "capture skips in the context teardown" do
233
- test = Factory.test("teardown skip test", context_info1){ }
242
+ test = Factory.test("teardown skip test", context_info1){}
234
243
  test.context_class.teardown{ skip }
235
244
  test.run(&test_run_callback)
236
245
 
@@ -239,11 +248,13 @@ class Assert::Test
239
248
 
240
249
  private
241
250
 
242
- def assert_skipped(test)
251
+ def assert_skipped(_test)
243
252
  with_backtrace(caller) do
244
- assert_that(test_run_result_count).equals(1, "too many/few skip results")
253
+ assert_that(test_run_result_count)
254
+ .equals(1, "too many/few skip results")
245
255
  test_run_results.each do |result|
246
- assert_that(result).is_kind_of(Assert::Result::Skip, "not a skip result")
256
+ assert_that(result)
257
+ .is_kind_of(Assert::Result::Skip, "not a skip result")
247
258
  end
248
259
  end
249
260
  end
@@ -262,7 +273,7 @@ class Assert::Test
262
273
  end
263
274
 
264
275
  should "capture errors in the context setup" do
265
- test = Factory.test("setup error test", context_info1){ }
276
+ test = Factory.test("setup error test", context_info1){}
266
277
  test.context_class.setup{ raise "an error" }
267
278
  test.run(&test_run_callback)
268
279
 
@@ -270,7 +281,7 @@ class Assert::Test
270
281
  end
271
282
 
272
283
  should "capture errors in the context teardown" do
273
- test = Factory.test("teardown error test", context_info1){ }
284
+ test = Factory.test("teardown error test", context_info1){}
274
285
  test.context_class.teardown{ raise "an error" }
275
286
  test.run(&test_run_callback)
276
287
 
@@ -279,11 +290,13 @@ class Assert::Test
279
290
 
280
291
  private
281
292
 
282
- def assert_errored(test)
293
+ def assert_errored(_test)
283
294
  with_backtrace(caller) do
284
- assert_that(test_run_result_count).equals(1, "too many/few error results")
295
+ assert_that(test_run_result_count)
296
+ .equals(1, "too many/few error results")
285
297
  test_run_results.each do |result|
286
- assert_that(result).is_kind_of(Assert::Result::Error, "not an error result")
298
+ assert_that(result)
299
+ .is_kind_of(Assert::Result::Error, "not an error result")
287
300
  end
288
301
  end
289
302
  end
@@ -295,27 +308,27 @@ class Assert::Test
295
308
  raise SignalException, "USR1"
296
309
  end
297
310
 
298
- assert_that { test.run }.raises(SignalException)
311
+ assert_that{ test.run }.raises(SignalException)
299
312
  end
300
313
 
301
314
  should "raises signal exceptions in the context setup" do
302
- test = Factory.test("setup signal test", context_info1){ }
315
+ test = Factory.test("setup signal test", context_info1){}
303
316
  test.context_class.setup{ raise SignalException, "INT" }
304
317
 
305
- assert_that { test.run }.raises(SignalException)
318
+ assert_that{ test.run }.raises(SignalException)
306
319
  end
307
320
 
308
321
  should "raises signal exceptions in the context teardown" do
309
- test = Factory.test("teardown signal test", context_info1){ }
322
+ test = Factory.test("teardown signal test", context_info1){}
310
323
  test.context_class.teardown{ raise SignalException, "TERM" }
311
324
 
312
- assert_that { test.run }.raises(SignalException)
325
+ assert_that{ test.run }.raises(SignalException)
313
326
  end
314
327
  end
315
328
 
316
329
  class ComparingTests < UnitTests
317
330
  desc "<=> another test"
318
- subject { Factory.test("mmm") }
331
+ subject{ Factory.test("mmm") }
319
332
 
320
333
  should "return 1 with a test named 'aaa' (greater than it)" do
321
334
  assert_that(subject <=> Factory.test("aaa")).equals(1)
@@ -332,14 +345,14 @@ class Assert::Test
332
345
 
333
346
  class CaptureOutTests < UnitTests
334
347
  desc "when capturing std out"
335
- subject {
348
+ subject do
336
349
  Factory.test("stdout", capture_config1) do
337
350
  puts "std out from the test"
338
351
  assert true
339
352
  end
340
- }
353
+ end
341
354
 
342
- let(:capture_config1) { Assert::Config.new(:capture_output => true) }
355
+ let(:capture_config1){ Assert::Config.new(capture_output: true) }
343
356
 
344
357
  should "capture any io from the test" do
345
358
  subject.run
@@ -349,12 +362,12 @@ class Assert::Test
349
362
 
350
363
  class FullCaptureOutTests < CaptureOutTests
351
364
  desc "across setup, teardown, and meth calls"
352
- subject {
365
+ subject do
353
366
  Factory.test("fullstdouttest", capture_config1) do
354
367
  puts "std out from the test"
355
368
  assert a_method_an_assert_calls
356
369
  end
357
- }
370
+ end
358
371
 
359
372
  setup do
360
373
  subject.context_class.setup{ puts "std out from the setup" }
@@ -9,37 +9,40 @@ require "assert/config"
9
9
  module Assert::Utils
10
10
  class UnitTests < Assert::Context
11
11
  desc "Assert::Utils"
12
- subject { unit_class }
12
+ subject{ unit_class }
13
13
 
14
- let(:unit_class) { Assert::Utils }
14
+ let(:unit_class){ Assert::Utils }
15
15
 
16
- let(:objs1) { [1, "hi there", Hash.new, [:a, :b]] }
16
+ let(:objs1){ [1, "hi there", {}, [:a, :b]] }
17
17
 
18
18
  should have_imeths :show, :show_for_diff
19
19
  should have_imeths :tempfile
20
- should have_imeths :stdlib_pp_proc, :default_use_diff_proc, :syscmd_diff_proc
20
+ should have_imeths :stdlib_pp_proc, :default_use_diff_proc
21
+ should have_imeths :syscmd_diff_proc
21
22
  should have_imeths :git_changed_proc
22
23
  end
23
24
 
24
25
  class ShowTests < UnitTests
25
26
  desc "`show`"
26
27
 
27
- let(:pp_config1) {
28
+ let(:pp_config1) do
28
29
  Assert::Config.new({
29
- :pp_objects => true,
30
- :pp_proc => Proc.new{ |input| "herp derp" }
30
+ pp_objects: true,
31
+ pp_proc: Proc.new{ |_input| "herp derp" },
31
32
  })
32
- }
33
+ end
33
34
 
34
35
  should "use `inspect` to show objs when `pp_objects` setting is false" do
35
36
  objs1.each do |obj|
36
- assert_that(subject.show(obj, Factory.modes_off_config)).equals(obj.inspect)
37
+ assert_that(subject.show(obj, Factory.modes_off_config))
38
+ .equals(obj.inspect)
37
39
  end
38
40
  end
39
41
 
40
42
  should "use `pp_proc` to show objs when `pp_objects` setting is true" do
41
43
  objs1.each do |obj|
42
- assert_that(subject.show(obj, pp_config1)).equals(pp_config1.pp_proc.call(obj))
44
+ assert_that(subject.show(obj, pp_config1))
45
+ .equals(pp_config1.pp_proc.call(obj))
43
46
  end
44
47
  end
45
48
  end
@@ -47,24 +50,27 @@ module Assert::Utils
47
50
  class ShowForDiffTests < ShowTests
48
51
  desc "`show_for_diff`"
49
52
 
50
- let(:w_newlines1) { { :string => "herp derp, derp herp\nherpderpedia" } }
51
- let(:w_obj_id1) { Class.new.new }
53
+ let(:w_newlines1){ { string: "herp derp, derp herp\nherpderpedia" } }
54
+ let(:w_obj_id1){ Class.new.new }
52
55
 
53
56
  should "call show, escaping newlines" do
54
57
  exp_out = "{:string=>\"herp derp, derp herp\nherpderpedia\"}"
55
- assert_that(subject.show_for_diff(w_newlines1, Factory.modes_off_config)).equals(exp_out)
58
+ assert_that(subject.show_for_diff(w_newlines1, Factory.modes_off_config))
59
+ .equals(exp_out)
56
60
  end
57
61
 
58
62
  should "make any obj ids generic" do
59
63
  exp_out = "#<#<Class:0xXXXXXX>:0xXXXXXX>"
60
- assert_that(subject.show_for_diff(w_obj_id1, Factory.modes_off_config)).equals(exp_out)
64
+ assert_that(subject.show_for_diff(w_obj_id1, Factory.modes_off_config))
65
+ .equals(exp_out)
61
66
  end
62
67
  end
63
68
 
64
69
  class TempfileTests < UnitTests
65
70
  desc "`tempfile`"
66
71
 
67
- should "require tempfile, open a tempfile, write the given content, and yield it" do
72
+ should "require tempfile, open a tempfile, write the given content, "\
73
+ "and yield it" do
68
74
  subject.tempfile("a-name", "some-content") do |tmpfile|
69
75
  assert_that((require "tempfile")).equals(false)
70
76
  assert tmpfile
@@ -94,8 +100,10 @@ module Assert::Utils
94
100
  class DefaultUseDiffProcTests < UnitTests
95
101
  desc "`default_use_diff_proc`"
96
102
 
97
- let(:longer1) { "i am a really long string output; use diff when working with me" }
98
- let(:newlines1) { "i have\n newlines" }
103
+ let(:longer1) do
104
+ "i am a really long string output; use diff when working with me"
105
+ end
106
+ let(:newlines1){ "i have\n newlines" }
99
107
 
100
108
  should "be true if either output has newlines or is bigger than 29 chars" do
101
109
  proc = subject.default_use_diff_proc
@@ -112,28 +120,33 @@ module Assert::Utils
112
120
  class SyscmdDiffProc < UnitTests
113
121
  desc "`syscmd_diff_proc`"
114
122
 
115
- let(:diff_a_file1) { File.join(ROOT_PATH, "test/support/diff_a.txt") }
116
- let(:diff_b_file1) { File.join(ROOT_PATH, "test/support/diff_b.txt") }
117
- let(:diff_a1) { File.read(diff_a_file1) }
118
- let(:diff_b1) { File.read(diff_b_file1) }
119
-
120
- should "use the diff syscmd to output the diff between the exp/act show output" do
121
- exp_diff_out = `diff --unified=-1 #{diff_a_file1} #{diff_b_file1}`.strip.tap do |out|
122
- out.sub!(/^\-\-\- .+/, "--- expected")
123
- out.sub!(/^\+\+\+ .+/, "+++ actual")
124
- end
125
-
126
- assert_that(subject.syscmd_diff_proc.call(diff_a1, diff_b1)).equals(exp_diff_out)
123
+ let(:diff_a_file1){ File.join(ROOT_PATH, "test/support/diff_a.txt") }
124
+ let(:diff_b_file1){ File.join(ROOT_PATH, "test/support/diff_b.txt") }
125
+ let(:diff_a1){ File.read(diff_a_file1) }
126
+ let(:diff_b1){ File.read(diff_b_file1) }
127
+
128
+ should "use the diff syscmd to output the diff between the exp/act "\
129
+ "show output" do
130
+ exp_diff_out =
131
+ `diff --unified=-1 #{diff_a_file1} #{diff_b_file1}`.strip.tap do |out|
132
+ out.sub!(/^\-\-\- .+/, "--- expected")
133
+ out.sub!(/^\+\+\+ .+/, "+++ actual")
134
+ end
135
+
136
+ assert_that(subject.syscmd_diff_proc.call(diff_a1, diff_b1))
137
+ .equals(exp_diff_out)
127
138
  end
128
139
 
129
140
  should "allow you to specify a custom syscmd" do
130
141
  cust_syscmd = "diff"
131
- exp_diff_out = `#{cust_syscmd} #{diff_a_file1} #{diff_b_file1}`.strip.tap do |out|
132
- out.sub!(/^\-\-\- .+/, "--- expected")
133
- out.sub!(/^\+\+\+ .+/, "+++ actual")
134
- end
135
-
136
- assert_that(subject.syscmd_diff_proc(cust_syscmd).call(diff_a1, diff_b1)).equals(exp_diff_out)
142
+ exp_diff_out =
143
+ `#{cust_syscmd} #{diff_a_file1} #{diff_b_file1}`.strip.tap do |out|
144
+ out.sub!(/^\-\-\- .+/, "--- expected")
145
+ out.sub!(/^\+\+\+ .+/, "+++ actual")
146
+ end
147
+
148
+ assert_that(subject.syscmd_diff_proc(cust_syscmd).call(diff_a1, diff_b1))
149
+ .equals(exp_diff_out)
137
150
  end
138
151
  end
139
152
  end