test-unit 3.4.3 → 3.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -3
  3. data/Rakefile +0 -9
  4. data/doc/text/getting-started.md +1 -1
  5. data/doc/text/news.md +53 -0
  6. data/lib/test/unit/assertion-failed-error.rb +35 -0
  7. data/lib/test/unit/assertions.rb +101 -20
  8. data/lib/test/unit/autorunner.rb +13 -1
  9. data/lib/test/unit/collector/descendant.rb +1 -0
  10. data/lib/test/unit/collector/dir.rb +4 -2
  11. data/lib/test/unit/collector/load.rb +2 -0
  12. data/lib/test/unit/collector/objectspace.rb +1 -0
  13. data/lib/test/unit/collector.rb +31 -0
  14. data/lib/test/unit/testcase.rb +31 -1
  15. data/lib/test/unit/testsuite.rb +1 -1
  16. data/lib/test/unit/util/memory-usage.rb +47 -0
  17. data/lib/test/unit/version.rb +1 -1
  18. data/lib/test/unit.rb +4 -4
  19. metadata +6 -83
  20. data/test/collector/test-descendant.rb +0 -182
  21. data/test/collector/test-load.rb +0 -475
  22. data/test/collector/test_dir.rb +0 -407
  23. data/test/collector/test_objectspace.rb +0 -102
  24. data/test/fixtures/header-label.csv +0 -3
  25. data/test/fixtures/header-label.tsv +0 -3
  26. data/test/fixtures/header.csv +0 -3
  27. data/test/fixtures/header.tsv +0 -3
  28. data/test/fixtures/no-header.csv +0 -2
  29. data/test/fixtures/no-header.tsv +0 -2
  30. data/test/fixtures/plus.csv +0 -3
  31. data/test/run-test.rb +0 -22
  32. data/test/test-assertions.rb +0 -2281
  33. data/test/test-attribute-matcher.rb +0 -38
  34. data/test/test-attribute.rb +0 -123
  35. data/test/test-code-snippet.rb +0 -79
  36. data/test/test-color-scheme.rb +0 -123
  37. data/test/test-color.rb +0 -47
  38. data/test/test-data.rb +0 -419
  39. data/test/test-diff.rb +0 -518
  40. data/test/test-emacs-runner.rb +0 -60
  41. data/test/test-error.rb +0 -26
  42. data/test/test-failure.rb +0 -33
  43. data/test/test-fault-location-detector.rb +0 -163
  44. data/test/test-fixture.rb +0 -713
  45. data/test/test-notification.rb +0 -33
  46. data/test/test-omission.rb +0 -81
  47. data/test/test-pending.rb +0 -70
  48. data/test/test-priority.rb +0 -184
  49. data/test/test-test-case.rb +0 -1284
  50. data/test/test-test-result.rb +0 -113
  51. data/test/test-test-suite-creator.rb +0 -97
  52. data/test/test-test-suite.rb +0 -151
  53. data/test/testunit-test-util.rb +0 -33
  54. data/test/ui/test_testrunmediator.rb +0 -20
  55. data/test/util/test-method-owner-finder.rb +0 -38
  56. data/test/util/test-output.rb +0 -11
  57. data/test/util/test_backtracefilter.rb +0 -52
  58. data/test/util/test_observable.rb +0 -102
  59. data/test/util/test_procwrapper.rb +0 -36
@@ -1,113 +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/testcase'
6
- require 'test/unit/testresult'
7
-
8
- module Test
9
- module Unit
10
- class TC_TestResult < TestCase
11
- def setup
12
- @my_result = TestResult.new
13
- @my_result.add_assertion()
14
- @failure = "failure"
15
- @my_result.add_failure(@failure)
16
- @error = "error"
17
- @my_result.add_error(@error)
18
- end
19
-
20
- def test_result_changed_notification
21
- called1 = false
22
- @my_result.add_listener(TestResult::CHANGED) do |result|
23
- assert_equal(@my_result, result)
24
- called1 = true
25
- end
26
- @my_result.add_assertion
27
- assert_true(called1)
28
-
29
- called1, called2 = false, false
30
- @my_result.add_listener(TestResult::CHANGED) do |result|
31
- assert_equal(@my_result, result)
32
- called2 = true
33
- end
34
- @my_result.add_assertion
35
- assert_equal([true, true], [called1, called2])
36
-
37
- called1, called2 = false, false
38
- @my_result.add_failure("")
39
- assert_equal([true, true], [called1, called2])
40
-
41
- called1, called2 = false, false
42
- @my_result.add_error("")
43
- assert_equal([true, true], [called1, called2])
44
-
45
- called1, called2 = false, false
46
- @my_result.add_run
47
- assert_equal([true, true], [called1, called2])
48
- end
49
-
50
- def test_fault_notification
51
- called1 = false
52
- fault = "fault"
53
- @my_result.add_listener(TestResult::FAULT) do |passed_fault|
54
- assert_equal(fault, passed_fault)
55
- called1 = true
56
- end
57
-
58
- @my_result.add_assertion
59
- assert_false(called1)
60
-
61
- @my_result.add_failure(fault)
62
- assert_true(called1)
63
-
64
- called1, called2 = false, false
65
- @my_result.add_listener(TestResult::FAULT) do |passed_fault|
66
- assert_equal(fault, passed_fault)
67
- called2 = true
68
- end
69
-
70
- @my_result.add_assertion
71
- assert_equal([false, false], [called1, called2])
72
-
73
- called1, called2 = false, false
74
- @my_result.add_failure(fault)
75
- assert_equal([true, true], [called1, called2])
76
-
77
- called1, called2 = false, false
78
- @my_result.add_error(fault)
79
- assert_equal([true, true], [called1, called2])
80
-
81
- called1, called2 = false, false
82
- @my_result.add_run
83
- assert_equal([false, false], [called1, called2])
84
- end
85
-
86
- def test_passed?
87
- result = TestResult.new
88
- assert_true(result.passed?)
89
-
90
- result.add_assertion
91
- assert_true(result.passed?)
92
-
93
- result.add_run
94
- assert_true(result.passed?)
95
-
96
- result.add_failure("")
97
- assert_false(result.passed?)
98
-
99
- result = TestResult.new
100
- result.add_error("")
101
- assert_false(result.passed?)
102
- end
103
-
104
- def test_faults
105
- assert_equal([@failure, @error], @my_result.faults)
106
-
107
- notification = "notification"
108
- @my_result.add_notification(notification)
109
- assert_equal([@failure, @error, notification], @my_result.faults)
110
- end
111
- end
112
- end
113
- end
@@ -1,97 +0,0 @@
1
- require "test/unit"
2
-
3
- module Test
4
- module Unit
5
- class TestTestSuiteCreator < TestCase
6
- def collect_test_names(test_case)
7
- creator = TestSuiteCreator.new(test_case)
8
- creator.send(:collect_test_names)
9
- end
10
-
11
- class TestStandalone < self
12
- def setup
13
- @test_case = Class.new(TestCase) do
14
- def test_in_test_case
15
- end
16
- end
17
- end
18
-
19
- def test_collect_test_names
20
- assert_equal(["test_in_test_case"], collect_test_names(@test_case))
21
- end
22
- end
23
-
24
- class TestInherited < self
25
- def setup
26
- @parent_test_case = Class.new(TestCase) do
27
- def test_in_parent
28
- end
29
- end
30
-
31
- @child_test_case = Class.new(@parent_test_case) do
32
- def test_in_child
33
- end
34
- end
35
- end
36
-
37
- def test_collect_test_names
38
- assert_equal(["test_in_child"], collect_test_names(@child_test_case))
39
- end
40
- end
41
-
42
- class TestModule < self
43
- def setup
44
- test_module = Module.new do
45
- def test_in_module
46
- end
47
- end
48
-
49
- @test_case = Class.new(TestCase) do
50
- include test_module
51
-
52
- def test_in_test_case
53
- end
54
- end
55
- end
56
-
57
- def test_collect_test_names
58
- assert_equal(["test_in_module", "test_in_test_case"].sort,
59
- collect_test_names(@test_case).sort)
60
- end
61
- end
62
-
63
- class TestInheritedModule < self
64
- def setup
65
- parent_test_module = Module.new do
66
- def test_in_module_in_parent
67
- end
68
- end
69
-
70
- child_test_module = Module.new do
71
- def test_in_module_in_child
72
- end
73
- end
74
-
75
- @parent_test_case = Class.new(TestCase) do
76
- include parent_test_module
77
-
78
- def test_in_parent
79
- end
80
- end
81
-
82
- @child_test_case = Class.new(@parent_test_case) do
83
- include child_test_module
84
-
85
- def test_in_child
86
- end
87
- end
88
- end
89
-
90
- def test_collect_test_names
91
- assert_equal(["test_in_child", "test_in_module_in_child"].sort,
92
- collect_test_names(@child_test_case).sort)
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,151 +0,0 @@
1
- # Author:: Nathaniel Talbott.
2
- # Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
3
- # License:: Ruby license.
4
-
5
- require 'test/unit'
6
-
7
- module Test
8
- module Unit
9
- class TestTestSuite < TestCase
10
- def setup
11
- @testcase1 = Class.new(TestCase) do
12
- def test_succeed1
13
- assert_block { true }
14
- end
15
- def test_fail
16
- assert_block { false }
17
- end
18
- end
19
-
20
- @testcase2 = Class.new(TestCase) do
21
- def test_succeed2
22
- assert_block { true }
23
- end
24
- def test_error
25
- raise
26
- end
27
- end
28
- end
29
-
30
- def test_add
31
- s = TestSuite.new
32
- assert_equal(s, s << self.class.new("test_add"))
33
- end
34
-
35
- def test_delete
36
- s = TestSuite.new
37
- t1 = self.class.new("test_delete")
38
- s << t1
39
- t2 = self.class.new("test_add")
40
- s << t2
41
- assert_equal(t1, s.delete(t1))
42
- assert_nil(s.delete(t1))
43
- assert_equal(TestSuite.new << t2, s)
44
- end
45
-
46
- def test_delete_tests
47
- suite = TestSuite.new
48
- test1 = self.class.new("test_delete_1")
49
- suite << test1
50
- test2 = self.class.new("test_delete_2")
51
- suite << test2
52
- test3 = self.class.new("test_add")
53
- suite << test3
54
- suite.delete_tests([test1, test2])
55
- assert_equal(1, suite.size)
56
- assert_equal(TestSuite.new << test3, suite)
57
- end
58
-
59
- def test_size
60
- suite = TestSuite.new
61
- suite2 = TestSuite.new
62
- suite2 << self.class.new("test_size")
63
- suite << suite2
64
- suite << self.class.new("test_size")
65
- assert_equal(2, suite.size, "The count should be correct")
66
- end
67
-
68
- def test_run
69
- progress = []
70
- @testcase1.test_order = :alphabetic
71
- suite = @testcase1.suite
72
- tests = suite.tests.dup
73
- result = TestResult.new
74
- suite.run(result) { |*values| progress << values }
75
-
76
- assert_equal(2, result.run_count, "Should have had four test runs")
77
- assert_equal(1, result.failure_count, "Should have had one test failure")
78
- assert_equal(0, result.error_count, "Should have had one test error")
79
- assert_equal([[TestSuite::STARTED, suite.name],
80
- [TestSuite::STARTED_OBJECT, suite],
81
- [TestCase::STARTED, "test_fail(#{suite.name})"],
82
- [TestCase::STARTED_OBJECT, tests[0]],
83
- [TestCase::FINISHED, "test_fail(#{suite.name})"],
84
- [TestCase::FINISHED_OBJECT, tests[0]],
85
- [TestCase::STARTED, "test_succeed1(#{suite.name})"],
86
- [TestCase::STARTED_OBJECT, tests[1]],
87
- [TestCase::FINISHED, "test_succeed1(#{suite.name})"],
88
- [TestCase::FINISHED_OBJECT, tests[1]],
89
- [TestSuite::FINISHED, suite.name],
90
- [TestSuite::FINISHED_OBJECT, suite]],
91
- progress, "Should have had the correct progress")
92
-
93
- suite = TestSuite.new
94
- suite << @testcase1.suite
95
- suite << @testcase2.suite
96
- result = TestResult.new
97
- progress = []
98
- suite.run(result) { |*values| progress << values }
99
-
100
- assert_equal(4, result.run_count, "Should have had four test runs")
101
- assert_equal(1, result.failure_count, "Should have had one test failure")
102
- assert_equal(1, result.error_count, "Should have had one test error")
103
- assert_equal(28, progress.size,
104
- "Should have had the correct number of progress calls")
105
- end
106
-
107
- def test_empty?
108
- assert(TestSuite.new.empty?, "A new test suite should be empty?")
109
- assert(!@testcase2.suite.empty?, "A test suite with tests should not be empty")
110
- end
111
-
112
- def test_equality
113
- suite1 = TestSuite.new
114
- suite2 = TestSuite.new
115
- assert_equal(suite1, suite2)
116
- assert_equal(suite2, suite1)
117
-
118
- suite1 = TestSuite.new('name')
119
- assert_not_equal(suite1, suite2)
120
- assert_not_equal(suite2, suite1)
121
-
122
- suite2 = TestSuite.new('name')
123
- assert_equal(suite1, suite2)
124
- assert_equal(suite2, suite1)
125
-
126
- suite1 << 'test'
127
- assert_not_equal(suite1, suite2)
128
- assert_not_equal(suite2, suite1)
129
-
130
- suite2 << 'test'
131
- assert_equal(suite1, suite2)
132
- assert_equal(suite2, suite1)
133
-
134
- suite2 = Object.new
135
- class << suite2
136
- def name
137
- 'name'
138
- end
139
- def tests
140
- ['test']
141
- end
142
- end
143
- assert_not_equal(suite1, suite2)
144
- assert_not_equal(suite2, suite1)
145
-
146
- assert_not_equal(suite1, Object.new)
147
- assert_not_equal(Object.new, suite1)
148
- end
149
- end
150
- end
151
- end
@@ -1,33 +0,0 @@
1
- require "tempfile"
2
-
3
- module TestUnitTestUtil
4
- private
5
- def jruby?
6
- RUBY_PLATFORM == "java"
7
- end
8
-
9
- def jruby_only_test
10
- if jruby?
11
- require "java"
12
- else
13
- omit("test for JRuby")
14
- end
15
- end
16
-
17
- def assert_fault_messages(expected, faults)
18
- assert_equal(expected, faults.collect {|fault| fault.message})
19
- end
20
-
21
- def _run_test(test_case, name)
22
- result = Test::Unit::TestResult.new
23
- test = test_case.new(name)
24
- yield(test) if block_given?
25
- test.run(result) {}
26
- result
27
- end
28
-
29
- def fixture_file_path(file_name)
30
- base_dir = File.dirname(__FILE__)
31
- File.join(base_dir, "fixtures", file_name)
32
- end
33
- end
@@ -1,20 +0,0 @@
1
- require 'test/unit/ui/testrunnermediator'
2
-
3
- class TestUnitUIMediator < Test::Unit::TestCase
4
- def test_run_suite_with_interrupt_exception
5
- test_case = Class.new(Test::Unit::TestCase) do
6
- def test_raise_interrupt
7
- raise Interrupt, "from test"
8
- end
9
- end
10
- mediator = Test::Unit::UI::TestRunnerMediator.new(test_case.suite)
11
- finished = false
12
- mediator.add_listener(Test::Unit::UI::TestRunnerMediator::FINISHED) do
13
- finished = true
14
- end
15
- assert_raise(Interrupt) do
16
- mediator.run
17
- end
18
- assert(finished)
19
- end
20
- end
@@ -1,38 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'test/unit/util/method-owner-finder'
4
-
5
- class TestUnitMethodOwnerFinder < Test::Unit::TestCase
6
- def test_find
7
- assert_equal(Exception, find(RuntimeError.new, :inspect))
8
- assert_equal(Exception, find(Exception.new, :inspect))
9
-
10
- anonymous_class = Class.new do
11
- end
12
- assert_equal(Kernel, find(anonymous_class.new, :inspect))
13
-
14
- anonymous_parent_class = Class.new do
15
- def inspect
16
- super + " by anonymous parent class"
17
- end
18
- end
19
- anonymous_sub_class = Class.new(anonymous_parent_class) do
20
- end
21
- assert_equal(anonymous_parent_class, find(anonymous_sub_class.new, :inspect))
22
-
23
- anonymous_module = Module.new do
24
- def inspect
25
- super + " by anonymous module"
26
- end
27
- end
28
- anonymous_include_class = Class.new do
29
- include anonymous_module
30
- end
31
- assert_equal(anonymous_module, find(anonymous_include_class.new, :inspect))
32
- end
33
-
34
- private
35
- def find(object, method_name)
36
- Test::Unit::Util::MethodOwnerFinder.find(object, method_name)
37
- end
38
- end