test-unit 3.1.4 → 3.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) 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 +824 -54
  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 +200 -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/fault-location-detector.rb +1 -1
  24. data/lib/test/unit/fixture.rb +77 -27
  25. data/lib/test/unit/notification.rb +9 -7
  26. data/lib/test/unit/omission.rb +34 -31
  27. data/lib/test/unit/pending.rb +12 -11
  28. data/lib/test/unit/priority.rb +7 -5
  29. data/lib/test/unit/runner/console.rb +20 -1
  30. data/lib/test/unit/test-suite-creator.rb +30 -9
  31. data/lib/test/unit/testcase.rb +349 -196
  32. data/lib/test/unit/testresult.rb +7 -0
  33. data/lib/test/unit/testsuite.rb +1 -1
  34. data/lib/test/unit/ui/console/testrunner.rb +171 -60
  35. data/lib/test/unit/ui/emacs/testrunner.rb +5 -5
  36. data/lib/test/unit/ui/testrunnermediator.rb +9 -7
  37. data/lib/test/unit/util/backtracefilter.rb +17 -5
  38. data/lib/test/unit/util/memory-usage.rb +47 -0
  39. data/lib/test/unit/util/observable.rb +2 -2
  40. data/lib/test/unit/util/output.rb +5 -4
  41. data/lib/test/unit/util/procwrapper.rb +4 -4
  42. data/lib/test/unit/version.rb +1 -1
  43. data/lib/test/unit/warning.rb +3 -0
  44. data/lib/test/unit.rb +177 -161
  45. data/lib/test-unit.rb +10 -23
  46. metadata +21 -95
  47. data/GPL +0 -339
  48. data/LGPL +0 -502
  49. data/test/collector/test-descendant.rb +0 -178
  50. data/test/collector/test-load.rb +0 -442
  51. data/test/collector/test_dir.rb +0 -406
  52. data/test/collector/test_objectspace.rb +0 -100
  53. data/test/fixtures/header-label.csv +0 -3
  54. data/test/fixtures/header-label.tsv +0 -3
  55. data/test/fixtures/header.csv +0 -3
  56. data/test/fixtures/header.tsv +0 -3
  57. data/test/fixtures/no-header.csv +0 -2
  58. data/test/fixtures/no-header.tsv +0 -2
  59. data/test/fixtures/plus.csv +0 -3
  60. data/test/run-test.rb +0 -22
  61. data/test/test-assertions.rb +0 -2157
  62. data/test/test-attribute-matcher.rb +0 -38
  63. data/test/test-attribute.rb +0 -123
  64. data/test/test-code-snippet.rb +0 -37
  65. data/test/test-color-scheme.rb +0 -82
  66. data/test/test-color.rb +0 -47
  67. data/test/test-data.rb +0 -281
  68. data/test/test-diff.rb +0 -518
  69. data/test/test-emacs-runner.rb +0 -60
  70. data/test/test-error.rb +0 -26
  71. data/test/test-failure.rb +0 -33
  72. data/test/test-fault-location-detector.rb +0 -163
  73. data/test/test-fixture.rb +0 -659
  74. data/test/test-notification.rb +0 -33
  75. data/test/test-omission.rb +0 -81
  76. data/test/test-pending.rb +0 -70
  77. data/test/test-priority.rb +0 -173
  78. data/test/test-test-case.rb +0 -1171
  79. data/test/test-test-result.rb +0 -113
  80. data/test/test-test-suite-creator.rb +0 -97
  81. data/test/test-test-suite.rb +0 -150
  82. data/test/testunit-test-util.rb +0 -31
  83. data/test/ui/test_testrunmediator.rb +0 -20
  84. data/test/util/test-method-owner-finder.rb +0 -38
  85. data/test/util/test-output.rb +0 -11
  86. data/test/util/test_backtracefilter.rb +0 -41
  87. data/test/util/test_observable.rb +0 -102
  88. data/test/util/test_procwrapper.rb +0 -36
@@ -1,163 +0,0 @@
1
- # Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
2
- #
3
- # License: Ruby's
4
-
5
- require "test-unit"
6
- require "test/unit/fault-location-detector"
7
- require "testunit-test-util"
8
-
9
- class TestFaultLocationDetector < Test::Unit::TestCase
10
- include TestUnitTestUtil
11
-
12
- def setup
13
- @fetcher = Test::Unit::CodeSnippetFetcher.new
14
- end
15
-
16
- private
17
- def run_test_case(test_case)
18
- suite = test_case.suite
19
- result = Test::Unit::TestResult.new
20
- suite.run(result) {}
21
- result.faults[0]
22
- end
23
-
24
- def assert_detect(fault, target_line_number)
25
- detector = Test::Unit::FaultLocationDetector.new(fault, @fetcher)
26
-
27
- expected_backtrace_entries_until_detected = []
28
- fault.location.each do |backtrace_entry|
29
- expected_backtrace_entries_until_detected << backtrace_entry
30
- _, line_number, = detector.split_backtrace_entry(backtrace_entry)
31
- break if target_line_number == line_number
32
- end
33
-
34
- actual_backtrace_entries_until_detected = []
35
- fault.location.each do |backtrace_entry|
36
- actual_backtrace_entries_until_detected << backtrace_entry
37
- break if detector.target?(backtrace_entry)
38
- end
39
-
40
- assert_equal(expected_backtrace_entries_until_detected,
41
- actual_backtrace_entries_until_detected)
42
- end
43
-
44
- module AlwaysFailAssertion
45
- private
46
- def assert_always_failed
47
- assert_true(false)
48
- end
49
- end
50
-
51
- class TestSourceLocation < self
52
- setup
53
- def setup_check_source_location
54
- unless lambda {}.respond_to?(:source_location)
55
- omit("Need Proc#source_location")
56
- end
57
- end
58
-
59
- def test_detected
60
- target_line_number = nil
61
- test_case = Class.new(Test::Unit::TestCase) do
62
- include AlwaysFailAssertion
63
-
64
- test "failed" do
65
- target_line_number = __LINE__; assert_always_failed
66
- end
67
- end
68
-
69
- fault = run_test_case(test_case)
70
- assert_detect(fault, target_line_number)
71
- end
72
-
73
- class TestOneLine < self
74
- def test_brace
75
- target_line_number = nil
76
- test_case = Class.new(Test::Unit::TestCase) do
77
- include AlwaysFailAssertion
78
-
79
- test("failed") {target_line_number = __LINE__; assert_always_failed}
80
-
81
- def other_method
82
- # body
83
- end
84
- end
85
-
86
- fault = run_test_case(test_case)
87
- assert_detect(fault, target_line_number)
88
- end
89
-
90
- def test_do_end
91
- target_line_number = nil
92
- test_case = Class.new(Test::Unit::TestCase) do
93
- include AlwaysFailAssertion
94
-
95
- test "failed" do target_line_number = __LINE__; assert_always_failed; end
96
-
97
- def other_method
98
- # body
99
- end
100
- end
101
-
102
- fault = run_test_case(test_case)
103
- assert_detect(fault, target_line_number)
104
- end
105
- end
106
- end
107
-
108
- class TestMethodName < self
109
- def test_detected
110
- test_case = Class.new(Test::Unit::TestCase) do
111
- include AlwaysFailAssertion
112
-
113
- class << self
114
- def target_line_number
115
- @@target_line_number
116
- end
117
-
118
- def target_line_number=(line_number)
119
- @@target_line_number = line_number
120
- end
121
- end
122
-
123
- def test_failed
124
- self.class.target_line_number = __LINE__; assert_always_failed
125
- end
126
- end
127
-
128
- fault = run_test_case(test_case)
129
- assert_detect(fault, test_case.target_line_number)
130
- end
131
- end
132
-
133
- class TestInBlock < self
134
- def test_in_block
135
- test_case = Class.new(Test::Unit::TestCase) do
136
- include AlwaysFailAssertion
137
-
138
- class << self
139
- def target_line_number
140
- @@target_line_number
141
- end
142
-
143
- def target_line_number=(line_number)
144
- @@target_line_number = line_number
145
- end
146
- end
147
-
148
- def run_yield
149
- yield
150
- end
151
-
152
- def test_failed
153
- run_yield do
154
- self.class.target_line_number = __LINE__; assert_always_failed
155
- end
156
- end
157
- end
158
-
159
- fault = run_test_case(test_case)
160
- assert_detect(fault, test_case.target_line_number)
161
- end
162
- end
163
- end