test-unit 3.1.5 → 3.6.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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,150 +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
- suite = @testcase1.suite
71
- tests = suite.tests.dup
72
- result = TestResult.new
73
- suite.run(result) { |*values| progress << values }
74
-
75
- assert_equal(2, result.run_count, "Should have had four test runs")
76
- assert_equal(1, result.failure_count, "Should have had one test failure")
77
- assert_equal(0, result.error_count, "Should have had one test error")
78
- assert_equal([[TestSuite::STARTED, suite.name],
79
- [TestSuite::STARTED_OBJECT, suite],
80
- [TestCase::STARTED, "test_fail(#{suite.name})"],
81
- [TestCase::STARTED_OBJECT, tests[0]],
82
- [TestCase::FINISHED, "test_fail(#{suite.name})"],
83
- [TestCase::FINISHED_OBJECT, tests[0]],
84
- [TestCase::STARTED, "test_succeed1(#{suite.name})"],
85
- [TestCase::STARTED_OBJECT, tests[1]],
86
- [TestCase::FINISHED, "test_succeed1(#{suite.name})"],
87
- [TestCase::FINISHED_OBJECT, tests[1]],
88
- [TestSuite::FINISHED, suite.name],
89
- [TestSuite::FINISHED_OBJECT, suite]],
90
- progress, "Should have had the correct progress")
91
-
92
- suite = TestSuite.new
93
- suite << @testcase1.suite
94
- suite << @testcase2.suite
95
- result = TestResult.new
96
- progress = []
97
- suite.run(result) { |*values| progress << values }
98
-
99
- assert_equal(4, result.run_count, "Should have had four test runs")
100
- assert_equal(1, result.failure_count, "Should have had one test failure")
101
- assert_equal(1, result.error_count, "Should have had one test error")
102
- assert_equal(28, progress.size,
103
- "Should have had the correct number of progress calls")
104
- end
105
-
106
- def test_empty?
107
- assert(TestSuite.new.empty?, "A new test suite should be empty?")
108
- assert(!@testcase2.suite.empty?, "A test suite with tests should not be empty")
109
- end
110
-
111
- def test_equality
112
- suite1 = TestSuite.new
113
- suite2 = TestSuite.new
114
- assert_equal(suite1, suite2)
115
- assert_equal(suite2, suite1)
116
-
117
- suite1 = TestSuite.new('name')
118
- assert_not_equal(suite1, suite2)
119
- assert_not_equal(suite2, suite1)
120
-
121
- suite2 = TestSuite.new('name')
122
- assert_equal(suite1, suite2)
123
- assert_equal(suite2, suite1)
124
-
125
- suite1 << 'test'
126
- assert_not_equal(suite1, suite2)
127
- assert_not_equal(suite2, suite1)
128
-
129
- suite2 << 'test'
130
- assert_equal(suite1, suite2)
131
- assert_equal(suite2, suite1)
132
-
133
- suite2 = Object.new
134
- class << suite2
135
- def name
136
- 'name'
137
- end
138
- def tests
139
- ['test']
140
- end
141
- end
142
- assert_not_equal(suite1, suite2)
143
- assert_not_equal(suite2, suite1)
144
-
145
- assert_not_equal(suite1, Object.new)
146
- assert_not_equal(Object.new, suite1)
147
- end
148
- end
149
- end
150
- end
@@ -1,31 +0,0 @@
1
- module TestUnitTestUtil
2
- private
3
- def jruby?
4
- RUBY_PLATFORM == "java"
5
- end
6
-
7
- def jruby_only_test
8
- if jruby?
9
- require "java"
10
- else
11
- omit("test for JRuby")
12
- end
13
- end
14
-
15
- def assert_fault_messages(expected, faults)
16
- assert_equal(expected, faults.collect {|fault| fault.message})
17
- end
18
-
19
- def _run_test(test_case, name)
20
- result = Test::Unit::TestResult.new
21
- test = test_case.new(name)
22
- yield(test) if block_given?
23
- test.run(result) {}
24
- result
25
- end
26
-
27
- def fixture_file_path(file_name)
28
- base_dir = File.dirname(__FILE__)
29
- File.join(base_dir, "fixtures", file_name)
30
- end
31
- 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
@@ -1,11 +0,0 @@
1
- require 'test/unit'
2
-
3
- class TestUnitOutput < Test::Unit::TestCase
4
- def test_capture_output
5
- assert_equal(["stdout\n", "stderr\n"],
6
- capture_output do
7
- puts("stdout")
8
- warn("stderr")
9
- end)
10
- end
11
- end
@@ -1,41 +0,0 @@
1
- require 'test/unit'
2
-
3
- require 'test/unit/util/backtracefilter'
4
-
5
- module Test::Unit::Util
6
- class TestBacktraceFilter < Test::Unit::TestCase
7
- include BacktraceFilter
8
-
9
- def test_filter_backtrace
10
- backtrace = [%q{C:\some\old\path/test/unit/assertions.rb:44:in 'assert'},
11
- %q{tc_thing.rb:4:in 'a'},
12
- %q{tc_thing.rb:4:in 'test_stuff'},
13
- %q{C:\some\old\path/test/unit/testcase.rb:44:in 'send'},
14
- %q{C:\some\old\path\test\unit\testcase.rb:44:in 'run'},
15
- %q{C:\some\old\path\test\unit.rb:44:in 'run'},
16
- %q{tc_thing.rb:3}]
17
- assert_equal(backtrace[1..2], filter_backtrace(backtrace, %q{C:\some\old\path\test\unit}), "Should filter out all TestUnit-specific lines")
18
-
19
- backtrace = [%q{tc_thing.rb:4:in 'a'},
20
- %q{tc_thing.rb:4:in 'test_stuff'},
21
- %q{tc_thing.rb:3}]
22
- assert_equal(backtrace, filter_backtrace(backtrace, %q{C:\some\old\path\test\unit}), "Shouldn't filter too much")
23
-
24
- backtrace = [%q{C:\some\old\path/test/unit/assertions.rb:44:in 'assert'},
25
- %q{tc_thing.rb:4:in 'a'},
26
- %q{tc_thing.rb:4:in 'test_stuff'},
27
- %q{tc_thing.rb:3}]
28
- assert_equal(backtrace[1..3], filter_backtrace(backtrace, %q{C:\some\old\path\test\unit}), "Should filter out all TestUnit-specific lines")
29
-
30
- backtrace = [%q{C:\some\old\path/test/unit/assertions.rb:44:in 'assert'},
31
- %q{C:\some\old\path/test/unit/testcase.rb:44:in 'send'},
32
- %q{C:\some\old\path\test\unit\testcase.rb:44:in 'run'},
33
- %q{C:\some\old\path\test\unit.rb:44:in 'run'}]
34
- assert_equal(backtrace, filter_backtrace(backtrace, %q{C:\some\old\path\test\unit}), "Should filter out all TestUnit-specific lines")
35
- end
36
-
37
- def test_nil_backtrace
38
- assert_equal(["No backtrace"], filter_backtrace(nil))
39
- end
40
- end
41
- end
@@ -1,102 +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/util/observable'
6
-
7
- module Test
8
- module Unit
9
- module Util
10
- class TC_Observable < TestCase
11
-
12
- class TF_Observable
13
- include Observable
14
- end
15
-
16
- def setup
17
- @observable = TF_Observable.new
18
- end
19
-
20
- def test_simple_observation
21
- assert_raises(ArgumentError, "add_listener should throw an exception if no callback is supplied") do
22
- @observable.add_listener(:property, "a")
23
- end
24
-
25
- heard = false
26
- callback = proc { heard = true }
27
- assert_equal("a", @observable.add_listener(:property, "a", &callback), "add_listener should return the listener that was added")
28
-
29
- count = 0
30
- @observable.instance_eval do
31
- count = notify_listeners(:property)
32
- end
33
- assert_equal(1, count, "notify_listeners should have returned the number of listeners that were notified")
34
- assert(heard, "Should have heard the property changed")
35
-
36
- heard = false
37
- assert_equal(callback, @observable.remove_listener(:property, "a"), "remove_listener should return the callback")
38
-
39
- count = 1
40
- @observable.instance_eval do
41
- count = notify_listeners(:property)
42
- end
43
- assert_equal(0, count, "notify_listeners should have returned the number of listeners that were notified")
44
- assert(!heard, "Should not have heard the property change")
45
- end
46
-
47
- def test_value_observation
48
- value = nil
49
- @observable.add_listener(:property, "a") do |passed_value|
50
- value = passed_value
51
- end
52
- count = 0
53
- @observable.instance_eval do
54
- count = notify_listeners(:property, "stuff")
55
- end
56
- assert_equal(1, count, "Should have update the correct number of listeners")
57
- assert_equal("stuff", value, "Should have received the value as an argument to the listener")
58
- end
59
-
60
- def test_multiple_value_observation
61
- values = []
62
- @observable.add_listener(:property, "a") do |first_value, second_value|
63
- values = [first_value, second_value]
64
- end
65
- count = 0
66
- @observable.instance_eval do
67
- count = notify_listeners(:property, "stuff", "more stuff")
68
- end
69
- assert_equal(1, count, "Should have update the correct number of listeners")
70
- assert_equal(["stuff", "more stuff"], values, "Should have received the value as an argument to the listener")
71
- end
72
-
73
- def test_add_remove_with_default_listener
74
- assert_raises(ArgumentError, "add_listener should throw an exception if no callback is supplied") do
75
- @observable.add_listener(:property)
76
- end
77
-
78
- heard = false
79
- callback = proc { heard = true }
80
- assert_equal(callback, @observable.add_listener(:property, &callback), "add_listener should return the listener that was added")
81
-
82
- count = 0
83
- @observable.instance_eval do
84
- count = notify_listeners(:property)
85
- end
86
- assert_equal(1, count, "notify_listeners should have returned the number of listeners that were notified")
87
- assert(heard, "Should have heard the property changed")
88
-
89
- heard = false
90
- assert_equal(callback, @observable.remove_listener(:property, callback), "remove_listener should return the callback")
91
-
92
- count = 1
93
- @observable.instance_eval do
94
- count = notify_listeners(:property)
95
- end
96
- assert_equal(0, count, "notify_listeners should have returned the number of listeners that were notified")
97
- assert(!heard, "Should not have heard the property change")
98
- end
99
- end
100
- end
101
- end
102
- end
@@ -1,36 +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
- require 'test/unit/util/procwrapper'
7
-
8
- module Test
9
- module Unit
10
- module Util
11
- class TC_ProcWrapper < TestCase
12
- def munge_proc(&a_proc)
13
- return a_proc
14
- end
15
- def setup
16
- @original = proc {}
17
- @munged = munge_proc(&@original)
18
- @wrapped_original = ProcWrapper.new(@original)
19
- @wrapped_munged = ProcWrapper.new(@munged)
20
- end
21
- def test_wrapping
22
- assert_same(@original, @wrapped_original.to_proc, "The wrapper should return what was wrapped")
23
- end
24
- def test_hashing
25
-
26
- assert_equal(@wrapped_original.hash, @wrapped_munged.hash, "The original and munged should have the same hash when wrapped")
27
- assert_equal(@wrapped_original, @wrapped_munged, "The wrappers should be equivalent")
28
-
29
- a_hash = {@wrapped_original => @original}
30
- assert(a_hash[@wrapped_original], "Should be able to access the wrapper in the hash")
31
- assert_equal(a_hash[@wrapped_original], @original, "Should be able to access the wrapper in the hash")
32
- end
33
- end
34
- end
35
- end
36
- end