test-unit 3.1.5 → 3.6.1

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 (87) hide show
  1. checksums.yaml +5 -5
  2. data/BSDL +24 -0
  3. data/COPYING +41 -41
  4. data/README.md +24 -17
  5. data/Rakefile +21 -24
  6. data/doc/text/getting-started.md +246 -0
  7. data/doc/text/news.md +797 -56
  8. data/lib/test/unit/assertion-failed-error.rb +35 -0
  9. data/lib/test/unit/assertions.rb +542 -220
  10. data/lib/test/unit/attribute.rb +78 -4
  11. data/lib/test/unit/auto-runner-loader.rb +17 -0
  12. data/lib/test/unit/autorunner.rb +175 -78
  13. data/lib/test/unit/code-snippet-fetcher.rb +7 -7
  14. data/lib/test/unit/collector/descendant.rb +1 -0
  15. data/lib/test/unit/collector/dir.rb +4 -2
  16. data/lib/test/unit/collector/load.rb +25 -15
  17. data/lib/test/unit/collector/objectspace.rb +1 -0
  18. data/lib/test/unit/collector.rb +31 -0
  19. data/lib/test/unit/color-scheme.rb +29 -2
  20. data/lib/test/unit/data-sets.rb +127 -0
  21. data/lib/test/unit/data.rb +121 -12
  22. data/lib/test/unit/diff.rb +10 -11
  23. data/lib/test/unit/fixture.rb +77 -27
  24. data/lib/test/unit/notification.rb +9 -7
  25. data/lib/test/unit/omission.rb +34 -31
  26. data/lib/test/unit/pending.rb +12 -11
  27. data/lib/test/unit/priority.rb +7 -5
  28. data/lib/test/unit/runner/console.rb +20 -1
  29. data/lib/test/unit/test-suite-creator.rb +30 -9
  30. data/lib/test/unit/testcase.rb +349 -196
  31. data/lib/test/unit/testresult.rb +7 -0
  32. data/lib/test/unit/testsuite.rb +1 -1
  33. data/lib/test/unit/ui/console/testrunner.rb +171 -60
  34. data/lib/test/unit/ui/emacs/testrunner.rb +5 -5
  35. data/lib/test/unit/ui/testrunnermediator.rb +9 -7
  36. data/lib/test/unit/util/backtracefilter.rb +17 -5
  37. data/lib/test/unit/util/memory-usage.rb +47 -0
  38. data/lib/test/unit/util/observable.rb +2 -2
  39. data/lib/test/unit/util/output.rb +5 -4
  40. data/lib/test/unit/util/procwrapper.rb +4 -4
  41. data/lib/test/unit/version.rb +1 -1
  42. data/lib/test/unit/warning.rb +3 -0
  43. data/lib/test/unit.rb +177 -161
  44. data/lib/test-unit.rb +2 -17
  45. metadata +20 -94
  46. data/GPL +0 -339
  47. data/LGPL +0 -502
  48. data/test/collector/test-descendant.rb +0 -178
  49. data/test/collector/test-load.rb +0 -442
  50. data/test/collector/test_dir.rb +0 -406
  51. data/test/collector/test_objectspace.rb +0 -100
  52. data/test/fixtures/header-label.csv +0 -3
  53. data/test/fixtures/header-label.tsv +0 -3
  54. data/test/fixtures/header.csv +0 -3
  55. data/test/fixtures/header.tsv +0 -3
  56. data/test/fixtures/no-header.csv +0 -2
  57. data/test/fixtures/no-header.tsv +0 -2
  58. data/test/fixtures/plus.csv +0 -3
  59. data/test/run-test.rb +0 -22
  60. data/test/test-assertions.rb +0 -2157
  61. data/test/test-attribute-matcher.rb +0 -38
  62. data/test/test-attribute.rb +0 -123
  63. data/test/test-code-snippet.rb +0 -37
  64. data/test/test-color-scheme.rb +0 -82
  65. data/test/test-color.rb +0 -47
  66. data/test/test-data.rb +0 -281
  67. data/test/test-diff.rb +0 -518
  68. data/test/test-emacs-runner.rb +0 -60
  69. data/test/test-error.rb +0 -26
  70. data/test/test-failure.rb +0 -33
  71. data/test/test-fault-location-detector.rb +0 -163
  72. data/test/test-fixture.rb +0 -659
  73. data/test/test-notification.rb +0 -33
  74. data/test/test-omission.rb +0 -81
  75. data/test/test-pending.rb +0 -70
  76. data/test/test-priority.rb +0 -173
  77. data/test/test-test-case.rb +0 -1171
  78. data/test/test-test-result.rb +0 -113
  79. data/test/test-test-suite-creator.rb +0 -97
  80. data/test/test-test-suite.rb +0 -150
  81. data/test/testunit-test-util.rb +0 -31
  82. data/test/ui/test_testrunmediator.rb +0 -20
  83. data/test/util/test-method-owner-finder.rb +0 -38
  84. data/test/util/test-output.rb +0 -11
  85. data/test/util/test_backtracefilter.rb +0 -41
  86. data/test/util/test_observable.rb +0 -102
  87. data/test/util/test_procwrapper.rb +0 -36
data/test/test-diff.rb DELETED
@@ -1,518 +0,0 @@
1
- class TestUnitDiff < Test::Unit::TestCase
2
- def test_binary_search_ranges
3
- assert_found_binary_search_ranges(5, [1..2, 4..5, 7..9])
4
- assert_not_found_binary_search_ranges(3, [1..2, 4..5, 7..9])
5
- end
6
-
7
- def test_to_indexes
8
- assert_to_indexes({"abc def" => [0, 2], "abc" => [1]},
9
- ["abc def", "abc", "abc def"])
10
-
11
- assert_to_indexes({?a => [0, 3], ?b => [1], ?c => [2], ?d => [4]},
12
- "abcad")
13
-
14
- assert_to_indexes({
15
- ?1 => [0, 35],
16
- ?t => [2, 5, 16],
17
- ?e => [3, 14, 31, 38],
18
- ?s => [4, 6, 12, 13, 20, 32, 44],
19
- ?, => [7, 21, 33],
20
- ?0 => [9, 23],
21
- ?a => [11, 26],
22
- ?r => [15, 30],
23
- ?i => [17, 27, 41],
24
- ?o => [18],
25
- ?n => [19, 39, 42],
26
- ?f => [25],
27
- ?l => [28],
28
- ?u => [29],
29
- ?p => [37],
30
- ?d => [40],
31
- ?g => [43],
32
- },
33
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
34
- x == " "[0]
35
- end
36
- end
37
-
38
- def test_longest_match
39
- assert_longest_match([0, 1, 3],
40
- %w(b c d), %w(a b c d x y z),
41
- 0, 2, 0, 7)
42
- assert_longest_match([1, 2, 2],
43
- %w(b c d), %w(a b c d x y z),
44
- 1, 2, 0, 6)
45
- assert_longest_match([0, 0, 0],
46
- %w(a b), %w(c),
47
- 0, 1, 0, 0)
48
- assert_longest_match([1, 0, 2],
49
- %w(q a b x c d), %w(a b y c d f),
50
- 0, 5, 0, 5)
51
- assert_longest_match([4, 3, 2],
52
- %w(q a b x c d), %w(a b y c d f),
53
- 3, 5, 2, 5)
54
-
55
- assert_longest_match([1, 0, 2], "qabxcd", "abycdf", 0, 5, 0, 5)
56
- assert_longest_match([0, 0, 1], "efg", "eg", 0, 2, 0, 1)
57
- assert_longest_match([2, 1, 1], "efg", "eg", 1, 2, 1, 1)
58
- end
59
-
60
- def test_longest_match_with_junk_predicate
61
- assert_longest_match([0, 4, 5], " abcd", "abcd abcd", 0, 4, 0, 8)
62
- assert_longest_match([1, 0, 4], " abcd", "abcd abcd", 0, 4, 0, 8) do |x|
63
- x == ' '[0]
64
- end
65
- end
66
-
67
- def test_matches
68
- assert_matches([[0, 0, 2],
69
- [3, 2, 2]],
70
- %w(a b x c d), %w(a b c d))
71
- assert_matches([[1, 0, 2],
72
- [4, 3, 2]],
73
- %w(q a b x c d), %w(a b y c d f))
74
-
75
- assert_matches([[1, 0, 2],
76
- [4, 3, 2]],
77
- "qabxcd", "abycdf")
78
- assert_matches([[0, 0, 1],
79
- [2, 1, 1]],
80
- "efg", "eg")
81
- end
82
-
83
- def test_matches_with_junk_predicate
84
- assert_matches([[0, 0, 23],
85
- [24, 24, 11],
86
- [36, 36, 9]],
87
- "1 tests, 0 assertions, 1 failures, 0 pendings",
88
- "1 tests, 0 assertions, 0 failures, 1 pendings")
89
-
90
- assert_matches([[0, 0, 1],
91
- [1, 1, 8],
92
- [9, 9, 1],
93
- [10, 10, 13],
94
- [24, 24, 11],
95
- [36, 36, 9]],
96
- "1 tests, 0 assertions, 1 failures, 0 pendings",
97
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
98
- x == " "[0]
99
- end
100
- end
101
-
102
- def test_blocks
103
- assert_blocks([[0, 0, 2],
104
- [3, 2, 2],
105
- [5, 4, 0]],
106
- %w(a b x c d), %w(a b c d))
107
- assert_blocks([[1, 0, 2],
108
- [4, 3, 2],
109
- [6, 6, 0]],
110
- %w(q a b x c d), %w(a b y c d f))
111
-
112
- assert_blocks([[1, 0, 2],
113
- [4, 3, 2],
114
- [6, 6, 0]],
115
- "qabxcd", "abycdf")
116
- assert_blocks([[0, 0, 1],
117
- [2, 1, 1],
118
- [3, 2, 0]],
119
- "efg", "eg")
120
- end
121
-
122
- def test_blocks_with_junk_predicate
123
- assert_blocks([[0, 0, 23],
124
- [24, 24, 11],
125
- [36, 36, 9],
126
- [45, 45, 0]],
127
- "1 tests, 0 assertions, 1 failures, 0 pendings",
128
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
129
- x == " "[0]
130
- end
131
- end
132
-
133
- def test_operations
134
- assert_operations([], %w(), %w())
135
-
136
- assert_operations([[:delete, 0, 1, 0, 0],
137
- [:equal, 1, 3, 0, 2],
138
- [:replace, 3, 4, 2, 3],
139
- [:equal, 4, 6, 3, 5],
140
- [:insert, 6, 6, 5, 6]],
141
- %w(q a b x c d), %w(a b y c d f))
142
-
143
- assert_operations([[:delete, 0, 1, 0, 0],
144
- [:equal, 1, 3, 0, 2],
145
- [:replace, 3, 4, 2, 3],
146
- [:equal, 4, 6, 3, 5],
147
- [:insert, 6, 6, 5, 6]],
148
- "qabxcd", "abycdf")
149
-
150
- assert_operations([[:equal, 0, 23, 0, 23],
151
- [:replace, 23, 24, 23, 24],
152
- [:equal, 24, 35, 24, 35],
153
- [:replace, 35, 36, 35, 36],
154
- [:equal, 36, 45, 36, 45]],
155
- "1 tests, 0 assertions, 1 failures, 0 pendings",
156
- "1 tests, 0 assertions, 0 failures, 1 pendings")
157
-
158
- assert_operations([[:equal, 0, 23, 0, 23],
159
- [:replace, 23, 24, 23, 24],
160
- [:equal, 24, 35, 24, 35],
161
- [:replace, 35, 36, 35, 36],
162
- [:equal, 36, 45, 36, 45]],
163
- "1 tests, 0 assertions, 1 failures, 0 pendings",
164
- "1 tests, 0 assertions, 0 failures, 1 pendings") do |x|
165
- x == " "[0]
166
- end
167
- end
168
-
169
- def test_grouped_operations
170
- assert_grouped_operations([[[:equal, 0, 0, 0, 0]]],
171
- %w(),
172
- %w())
173
-
174
- assert_grouped_operations([[[:equal, 0, 3, 0, 3]]],
175
- %w(a b c),
176
- %w(a b c))
177
-
178
- assert_grouped_operations([[[:equal, 0, 1, 0, 1],
179
- [:replace, 1, 2, 1, 2],
180
- [:equal, 2, 5, 2, 5]],
181
- [[:equal, 8, 11, 8, 11],
182
- [:replace, 11, 12, 11, 12],
183
- [:equal, 12, 13, 12, 13],
184
- [:delete, 13, 16, 13, 13],
185
- [:equal, 16, 17, 13, 14],
186
- [:replace, 17, 18, 14, 15],
187
- [:equal, 18, 20, 15, 17]]],
188
- %w(1 2 3 4 5 6 7 8 9 a b c d e f g h i j k),
189
- %w(1 i 3 4 5 6 7 8 9 a b cX d h iX j k))
190
- end
191
-
192
- def test_ratio
193
- assert_ratio(0.75, "abcd", "bcde")
194
- assert_ratio(0.80, "efg", "eg")
195
- end
196
-
197
- def test_1_length_readable_diff
198
- differ = Test::Unit::Diff::ReadableDiffer.new(["0"], ["1"])
199
- def differ.cut_off_ratio
200
- 0
201
- end
202
- def differ.default_ratio
203
- 0
204
- end
205
- assert_equal("- 0\n" +
206
- "? ^\n" +
207
- "+ 1\n" +
208
- "? ^",
209
- differ.diff.join("\n"))
210
- end
211
-
212
- def test_same_contents_readable_diff
213
- assert_readable_diff(" aaa", ["aaa"], ["aaa"])
214
- assert_readable_diff(" aaa\n" \
215
- " bbb",
216
- ["aaa", "bbb"], ["aaa", "bbb"])
217
- end
218
-
219
- def test_deleted_readable_diff
220
- assert_readable_diff(" aaa\n" \
221
- "- bbb",
222
- ["aaa", "bbb"], ["aaa"])
223
- assert_readable_diff(" aaa\n" \
224
- "- bbb\n" \
225
- "- ccc\n" \
226
- "- ddd",
227
- ["aaa", "bbb", "ccc", "ddd"], ["aaa"])
228
- end
229
-
230
- def test_inserted_readable_diff
231
- assert_readable_diff(" aaa\n" \
232
- "+ bbb\n" \
233
- "+ ccc\n" \
234
- "+ ddd",
235
- ["aaa"], ["aaa", "bbb", "ccc", "ddd"])
236
- end
237
-
238
- def test_replace_readable_diff
239
- assert_readable_diff(" aaa\n" \
240
- "- bbb\n" \
241
- "+ BbB\n" \
242
- " ccc\n" \
243
- "- ddd\n" \
244
- "- efg\n" \
245
- "? -\n" \
246
- "+ eg",
247
- ["aaa", "bbb", "ccc", "ddd", "efg"],
248
- ["aaa", "BbB", "ccc", "eg"])
249
-
250
- assert_readable_diff("- abcd xyz abc\n" \
251
- "? -\n" \
252
- "+ abcd abcd xyz abc\n" \
253
- "? +++++",
254
- [" abcd xyz abc"],
255
- ["abcd abcd xyz abc"])
256
- end
257
-
258
- def test_difference_readable_diff
259
- assert_readable_diff("- 1 tests, 0 assertions, 1 failures, 0 pendings\n" \
260
- "? ^ ^\n" \
261
- "+ 1 tests, 0 assertions, 0 failures, 1 pendings\n" \
262
- "? ^ ^",
263
- ["1 tests, 0 assertions, 1 failures, 0 pendings"],
264
- ["1 tests, 0 assertions, 0 failures, 1 pendings"])
265
- end
266
-
267
- def test_complex_readable_diff
268
- assert_readable_diff(" aaa\n" \
269
- "- bbb\n" \
270
- "- ccc\n" \
271
- "+ \n" \
272
- "+ # \n" \
273
- " ddd",
274
- ["aaa", "bbb", "ccc", "ddd"],
275
- ["aaa", "", " # ", "ddd"])
276
-
277
- assert_readable_diff("- one1\n" \
278
- "? ^\n" \
279
- "+ ore1\n" \
280
- "? ^\n" \
281
- "- two2\n" \
282
- "- three3\n" \
283
- "? - -\n" \
284
- "+ tree\n" \
285
- "+ emu",
286
- ["one1", "two2", "three3"],
287
- ["ore1", "tree", "emu"])
288
- end
289
-
290
- def test_empty_readable_diff
291
- assert_readable_diff("", [""], [""])
292
- end
293
-
294
- def test_unified_diff
295
- assert_unified_diff("",
296
- ["one", "two", "three"],
297
- ["one", "two", "three"],
298
- "content 1",
299
- "content 2")
300
-
301
- assert_unified_diff("--- Original Sat Jan 26 23:30:50 1991\n" \
302
- "+++ Current Fri Jun 06 10:20:52 2003\n" \
303
- "@@ -1,4 +1,4 @@\n" \
304
- "+zero\n" \
305
- " one\n" \
306
- "-two\n" \
307
- "-three\n" \
308
- "+tree\n" \
309
- " four",
310
- ["one", "two", "three", "four"],
311
- ["zero", "one", "tree", "four"],
312
- "Original Sat Jan 26 23:30:50 1991",
313
- "Current Fri Jun 06 10:20:52 2003",
314
- :show_context => false)
315
-
316
- from = File.read(__FILE__).split(/\n/)
317
- to = from.dup
318
- target_line = __LINE__
319
- to[target_line - 1, 1] = []
320
- context = " def test_unified_diff"
321
- summary = "@@ -#{target_line - 3},7 +#{target_line - 3},6 @@ #{context}"
322
- assert_unified_diff((["--- revision 10",
323
- "+++ revision 11",
324
- summary] +
325
- from[target_line - 4, 3].collect {|line| " #{line}"} +
326
- ["-#{from[target_line - 1]}"] +
327
- from[target_line, 3].collect {|line| " #{line}"}
328
- ).join("\n"),
329
- from, to,
330
- "revision 10",
331
- "revision 11")
332
- end
333
-
334
- def test_empty_unified_diff
335
- assert_unified_diff("", [""], [""], "From", "To")
336
- assert_unified_diff("", [], [], "From", "To")
337
- end
338
-
339
- def test_diff_lines
340
- assert_diff_lines(["- ddd",
341
- "- efg",
342
- "? -",
343
- "+ eg"],
344
- ["aaa", "bbb", "ccc", "ddd", "efg"],
345
- ["aaa", "BbB", "ccc", "eg"],
346
- 3, 5, 3, 4)
347
- end
348
-
349
- def test_diff_line
350
- assert_diff_line(["- abcDefghiJkl",
351
- "? ^ ^ ^",
352
- "+ abcdefGhijkl",
353
- "? ^ ^ ^"],
354
- "abcDefghiJkl",
355
- "abcdefGhijkl")
356
-
357
- assert_diff_line(["- bcDefghiJklx",
358
- "? ^ ^ ^ -",
359
- "+ abcdefGhijkl",
360
- "? + ^ ^ ^"],
361
- "bcDefghiJklx",
362
- "abcdefGhijkl")
363
- end
364
-
365
- def test_empty_diff_line
366
- assert_diff_line(["- ",
367
- "+ "],
368
- "", "")
369
- end
370
-
371
- def test_format_diff_point
372
- assert_format_diff_point(["- \tabcDefghiJkl",
373
- "? \t ^ ^ ^",
374
- "+ \t\tabcdefGhijkl",
375
- "? \t ^ ^ ^"],
376
- "\tabcDefghiJkl",
377
- "\t\tabcdefGhijkl",
378
- " ^ ^ ^ ",
379
- "+ ^ ^ ^ ")
380
- assert_format_diff_point(["- efg",
381
- "? ^",
382
- "+ eg"],
383
- "efg",
384
- "eg",
385
- " ^",
386
- "")
387
- end
388
-
389
- def test_interesting_line
390
- from = ["class X",
391
- " def find(x=0)",
392
- " body",
393
- " end",
394
- "end"]
395
- to = ["def xxx",
396
- " raise 'not call me'",
397
- "end"]
398
- assert_interesting_line(" def find(x=0)",
399
- from, to,
400
- 2, 1)
401
- assert_interesting_line("def xxx",
402
- from, to,
403
- 2, 0)
404
- assert_interesting_line("class X",
405
- from, to,
406
- 0, 0)
407
- end
408
-
409
- private
410
- def assert_found_binary_search_ranges(numeric, ranges)
411
- assert_true(Test::Unit::Diff::UTF8Line.send(:binary_search_ranges,
412
- numeric,
413
- ranges))
414
- end
415
-
416
- def assert_not_found_binary_search_ranges(numeric, ranges)
417
- assert_false(Test::Unit::Diff::UTF8Line.send(:binary_search_ranges,
418
- numeric,
419
- ranges))
420
- end
421
-
422
- def assert_to_indexes(expected, to, &junk_predicate)
423
- matcher = Test::Unit::Diff::SequenceMatcher.new([""], to, &junk_predicate)
424
- assert_equal(expected, matcher.instance_variable_get("@to_indexes"))
425
- end
426
-
427
- def assert_find_best_match_position(expected, from, to,
428
- from_start, from_end,
429
- to_start, to_end, &junk_predicate)
430
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
431
- assert_equal(expected, matcher.send(:find_best_match_position,
432
- from_start, from_end,
433
- to_start, to_end))
434
- end
435
-
436
- def assert_longest_match(expected, from, to,
437
- from_start, from_end,
438
- to_start, to_end, &junk_predicate)
439
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
440
- assert_equal(expected, matcher.longest_match(from_start, from_end,
441
- to_start, to_end))
442
- end
443
-
444
- def assert_matches(expected, from, to, &junk_predicate)
445
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
446
- assert_equal(expected, matcher.send(:matches))
447
- end
448
-
449
- def assert_blocks(expected, from, to, &junk_predicate)
450
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
451
- assert_equal(expected, matcher.blocks)
452
- end
453
-
454
- def assert_operations(expected, from, to, &junk_predicate)
455
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to, &junk_predicate)
456
- assert_equal(expected, matcher.operations)
457
- end
458
-
459
- def assert_grouped_operations(expected, from, to)
460
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to)
461
- assert_equal(expected, matcher.grouped_operations)
462
- end
463
-
464
- def assert_ratio(expected, from, to)
465
- matcher = Test::Unit::Diff::SequenceMatcher.new(from, to)
466
- assert_in_delta(expected, 0.001, matcher.ratio)
467
- end
468
-
469
- def assert_readable_diff(expected, from, to)
470
- assert_equal(expected,
471
- Test::Unit::Diff.readable(from.join("\n"), to.join("\n")))
472
- end
473
-
474
- def assert_unified_diff(expected, from, to, from_label, to_label, options={})
475
- options = options.merge(:from_label => from_label,
476
- :to_label => to_label)
477
- assert_equal(expected,
478
- Test::Unit::Diff.unified(from.join("\n"), to.join("\n"),
479
- options))
480
- end
481
-
482
- def assert_diff_lines(expected, from, to,
483
- from_start, from_end,
484
- to_start, to_end)
485
- differ = Test::Unit::Diff::ReadableDiffer.new(from, to)
486
- result = []
487
- differ.instance_variable_set("@result", result)
488
- differ.send(:diff_lines,
489
- from_start, from_end,
490
- to_start, to_end)
491
- assert_equal(expected, result)
492
- end
493
-
494
- def assert_diff_line(expected, from_line, to_line)
495
- differ = Test::Unit::Diff::ReadableDiffer.new([""], [""])
496
- result = []
497
- differ.instance_variable_set("@result", result)
498
- differ.send(:diff_line, from_line, to_line)
499
- assert_equal(expected, result)
500
- end
501
-
502
- def assert_format_diff_point(expected, from_line, to_line, from_tags, to_tags)
503
- differ = Test::Unit::Diff::ReadableDiffer.new([""], [""])
504
- result = []
505
- differ.instance_variable_set("@result", result)
506
- differ.send(:format_diff_point,
507
- from_line, to_line,
508
- from_tags, to_tags)
509
- assert_equal(expected, result)
510
- end
511
-
512
- def assert_interesting_line(expected, from, to, from_start, to_start)
513
- differ = Test::Unit::Diff::UnifiedDiffer.new(from, to)
514
- assert_equal(expected, differ.send(:find_interesting_line,
515
- from_start, to_start,
516
- :define_line?))
517
- end
518
- end
@@ -1,60 +0,0 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/emacs/testrunner'
3
-
4
- class TestUnitEmacsRunner < Test::Unit::TestCase
5
- def test_format_failure_with_a_location
6
- runner = create_runner
7
- test_name = "test_failure"
8
- file = "/home/user/test_xxx.rb"
9
- line = "3"
10
- info = "in `xxx'"
11
- location = "#{file}:#{line}: #{info}"
12
- message = "FAIL!!!"
13
- failure = Test::Unit::Failure.new(test_name, [location], message)
14
- assert_equal(<<-EOM.chomp, runner.send(:format_fault, failure))
15
- Failure:
16
- #{test_name} [#{file}:#{line}]:
17
- #{message}
18
- EOM
19
- end
20
-
21
- def test_format_failure_with_locations
22
- runner = create_runner
23
- test_name = "test_failure"
24
- locations = ["/home/user/test_xxx.rb:3: in `xxx'",
25
- "/home/user/yyy/test_yyy.rb:999: in `yyy'",
26
- "/home/user/xyz/zzz.rb:29: in `zzz'"]
27
- message = "Many backtrace!!!"
28
- failure = Test::Unit::Failure.new(test_name, locations, message)
29
- assert_equal(<<-EOM.chomp, runner.send(:format_fault, failure))
30
- Failure:
31
- #{test_name}
32
- #{locations.join("\n")}:
33
- #{message}
34
- EOM
35
- end
36
-
37
- def test_format_error
38
- runner = create_runner
39
- test_name = "test_error"
40
- message = "Error Message!!!"
41
- backtrace = ["/home/user/test_xxx.rb:3: in `xxx'",
42
- "/home/user/yyy/test_yyy.rb:999: in `yyy'",
43
- "/home/user/xyz/zzz.rb:29: in `zzz'"]
44
- exception = RuntimeError.new(message)
45
- exception.set_backtrace(backtrace)
46
- error = Test::Unit::Error.new(test_name, exception)
47
- assert_equal(<<-EOM.chomp, runner.send(:format_fault, error))
48
- Error:
49
- #{test_name}:
50
- #{exception.class.name}: #{message}
51
- #{backtrace.join("\n")}
52
- EOM
53
- end
54
-
55
- private
56
- def create_runner(suite=nil)
57
- suite ||= Test::Unit::TestSuite.new
58
- Test::Unit::UI::Emacs::TestRunner.new(suite)
59
- end
60
- end
data/test/test-error.rb DELETED
@@ -1,26 +0,0 @@
1
- # Author:: Nathaniel Talbott.
2
- # Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
3
- # License:: Ruby license.
4
-
5
- require 'test/unit'
6
-
7
- module Test
8
- module Unit
9
- class TC_Error < TestCase
10
- TF_Exception = Struct.new('TF_Exception', :message, :backtrace)
11
- def test_display
12
- ex = TF_Exception.new("message1\nmessage2", ['line1', 'line2'])
13
- e = Error.new("name", ex)
14
- assert_equal("name: #{TF_Exception.name}: message1", e.short_display)
15
- assert_equal(<<EOM.strip, e.long_display)
16
- Error:
17
- name:
18
- Struct::TF_Exception: message1
19
- message2
20
- line1
21
- line2
22
- EOM
23
- end
24
- end
25
- end
26
- end
data/test/test-failure.rb DELETED
@@ -1,33 +0,0 @@
1
- # Author:: Nathaniel Talbott.
2
- # Copyright:: Copyright (c) 2003 Nathaniel Talbott. All rights reserved.
3
- # License:: Ruby license.
4
-
5
- require 'test/unit'
6
- require 'test/unit/failure'
7
-
8
- module Test::Unit
9
- class TestFailure < TestCase
10
- def test_display
11
- f = Failure.new("name", [%q{location:1 in 'l'}], "message1\nmessage2")
12
- assert_equal("name: message1", f.short_display)
13
- assert_equal(<<EOM.strip, f.long_display)
14
- Failure:
15
- name [location:1]:
16
- message1
17
- message2
18
- EOM
19
-
20
- f = Failure.new("name", [%q{location1:2 in 'l1'}, 'location2:1', %q{location3:3 in 'l3'}], "message1\nmessage2")
21
- assert_equal("name: message1", f.short_display)
22
- assert_equal(<<EOM.strip, f.long_display)
23
- Failure:
24
- name
25
- [location1:2 in 'l1'
26
- location2:1
27
- location3:3 in 'l3']:
28
- message1
29
- message2
30
- EOM
31
- end
32
- end
33
- end