test-unit 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/Manifest.txt +48 -0
- data/README.txt +27 -0
- data/Rakefile +15 -0
- data/bin/testrb +5 -0
- data/lib/test/unit.rb +280 -0
- data/lib/test/unit/assertionfailederror.rb +14 -0
- data/lib/test/unit/assertions.rb +622 -0
- data/lib/test/unit/autorunner.rb +220 -0
- data/lib/test/unit/collector.rb +43 -0
- data/lib/test/unit/collector/dir.rb +108 -0
- data/lib/test/unit/collector/objectspace.rb +34 -0
- data/lib/test/unit/error.rb +56 -0
- data/lib/test/unit/failure.rb +51 -0
- data/lib/test/unit/testcase.rb +160 -0
- data/lib/test/unit/testresult.rb +80 -0
- data/lib/test/unit/testsuite.rb +76 -0
- data/lib/test/unit/ui/console/testrunner.rb +127 -0
- data/lib/test/unit/ui/fox/testrunner.rb +268 -0
- data/lib/test/unit/ui/gtk/testrunner.rb +416 -0
- data/lib/test/unit/ui/gtk2/testrunner.rb +465 -0
- data/lib/test/unit/ui/testrunnermediator.rb +68 -0
- data/lib/test/unit/ui/testrunnerutilities.rb +46 -0
- data/lib/test/unit/ui/tk/testrunner.rb +260 -0
- data/lib/test/unit/util/backtracefilter.rb +40 -0
- data/lib/test/unit/util/observable.rb +90 -0
- data/lib/test/unit/util/procwrapper.rb +48 -0
- data/lib/test/unit/version.rb +7 -0
- data/sample/adder.rb +13 -0
- data/sample/subtracter.rb +12 -0
- data/sample/tc_adder.rb +18 -0
- data/sample/tc_subtracter.rb +18 -0
- data/sample/ts_examples.rb +7 -0
- data/test/collector/test_dir.rb +406 -0
- data/test/collector/test_objectspace.rb +98 -0
- data/test/runit/test_assert.rb +402 -0
- data/test/runit/test_testcase.rb +91 -0
- data/test/runit/test_testresult.rb +144 -0
- data/test/runit/test_testsuite.rb +49 -0
- data/test/test_assertions.rb +528 -0
- data/test/test_error.rb +26 -0
- data/test/test_failure.rb +33 -0
- data/test/test_testcase.rb +275 -0
- data/test/test_testresult.rb +104 -0
- data/test/test_testsuite.rb +129 -0
- data/test/util/test_backtracefilter.rb +41 -0
- data/test/util/test_observable.rb +102 -0
- data/test/util/test_procwrapper.rb +36 -0
- metadata +128 -0
@@ -0,0 +1,41 @@
|
|
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
|
@@ -0,0 +1,102 @@
|
|
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
|
@@ -0,0 +1,36 @@
|
|
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
|
metadata
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: test-unit
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kouhei Sutou
|
8
|
+
- Ryan Davis
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2008-03-20 00:00:00 -07:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: hoe
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.5.1
|
24
|
+
version:
|
25
|
+
description: Test::Unit (Classic) - Nathaniel Talbott's originial test-unit, externalized from the ruby project as a gem (for tool developers).
|
26
|
+
email:
|
27
|
+
- kou@cozmixng.org
|
28
|
+
- ryand-ruby@zenspider.com
|
29
|
+
executables:
|
30
|
+
- testrb
|
31
|
+
extensions: []
|
32
|
+
|
33
|
+
extra_rdoc_files:
|
34
|
+
- History.txt
|
35
|
+
- Manifest.txt
|
36
|
+
- README.txt
|
37
|
+
files:
|
38
|
+
- History.txt
|
39
|
+
- Manifest.txt
|
40
|
+
- README.txt
|
41
|
+
- Rakefile
|
42
|
+
- bin/testrb
|
43
|
+
- lib/test/unit.rb
|
44
|
+
- lib/test/unit/assertionfailederror.rb
|
45
|
+
- lib/test/unit/assertions.rb
|
46
|
+
- lib/test/unit/autorunner.rb
|
47
|
+
- lib/test/unit/collector.rb
|
48
|
+
- lib/test/unit/collector/dir.rb
|
49
|
+
- lib/test/unit/collector/objectspace.rb
|
50
|
+
- lib/test/unit/error.rb
|
51
|
+
- lib/test/unit/failure.rb
|
52
|
+
- lib/test/unit/testcase.rb
|
53
|
+
- lib/test/unit/testresult.rb
|
54
|
+
- lib/test/unit/testsuite.rb
|
55
|
+
- lib/test/unit/ui/console/testrunner.rb
|
56
|
+
- lib/test/unit/ui/fox/testrunner.rb
|
57
|
+
- lib/test/unit/ui/gtk/testrunner.rb
|
58
|
+
- lib/test/unit/ui/gtk2/testrunner.rb
|
59
|
+
- lib/test/unit/ui/testrunnermediator.rb
|
60
|
+
- lib/test/unit/ui/testrunnerutilities.rb
|
61
|
+
- lib/test/unit/ui/tk/testrunner.rb
|
62
|
+
- lib/test/unit/util/backtracefilter.rb
|
63
|
+
- lib/test/unit/util/observable.rb
|
64
|
+
- lib/test/unit/util/procwrapper.rb
|
65
|
+
- lib/test/unit/version.rb
|
66
|
+
- sample/adder.rb
|
67
|
+
- sample/subtracter.rb
|
68
|
+
- sample/tc_adder.rb
|
69
|
+
- sample/tc_subtracter.rb
|
70
|
+
- sample/ts_examples.rb
|
71
|
+
- test/collector/test_dir.rb
|
72
|
+
- test/collector/test_objectspace.rb
|
73
|
+
- test/runit/test_assert.rb
|
74
|
+
- test/runit/test_testcase.rb
|
75
|
+
- test/runit/test_testresult.rb
|
76
|
+
- test/runit/test_testsuite.rb
|
77
|
+
- test/test_assertions.rb
|
78
|
+
- test/test_error.rb
|
79
|
+
- test/test_failure.rb
|
80
|
+
- test/test_testcase.rb
|
81
|
+
- test/test_testresult.rb
|
82
|
+
- test/test_testsuite.rb
|
83
|
+
- test/util/test_backtracefilter.rb
|
84
|
+
- test/util/test_observable.rb
|
85
|
+
- test/util/test_procwrapper.rb
|
86
|
+
has_rdoc: true
|
87
|
+
homepage: http://rubyforge.org/projects/test-unit/
|
88
|
+
post_install_message:
|
89
|
+
rdoc_options:
|
90
|
+
- --main
|
91
|
+
- README.txt
|
92
|
+
require_paths:
|
93
|
+
- lib
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: "0"
|
99
|
+
version:
|
100
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: "0"
|
105
|
+
version:
|
106
|
+
requirements: []
|
107
|
+
|
108
|
+
rubyforge_project: test-unit
|
109
|
+
rubygems_version: 1.0.1
|
110
|
+
signing_key:
|
111
|
+
specification_version: 2
|
112
|
+
summary: Test::Unit (Classic) - Nathaniel Talbott's originial test-unit, externalized from the ruby project as a gem (for tool developers).
|
113
|
+
test_files:
|
114
|
+
- test/collector/test_dir.rb
|
115
|
+
- test/collector/test_objectspace.rb
|
116
|
+
- test/runit/test_assert.rb
|
117
|
+
- test/runit/test_testcase.rb
|
118
|
+
- test/runit/test_testresult.rb
|
119
|
+
- test/runit/test_testsuite.rb
|
120
|
+
- test/test_assertions.rb
|
121
|
+
- test/test_error.rb
|
122
|
+
- test/test_failure.rb
|
123
|
+
- test/test_testcase.rb
|
124
|
+
- test/test_testresult.rb
|
125
|
+
- test/test_testsuite.rb
|
126
|
+
- test/util/test_backtracefilter.rb
|
127
|
+
- test/util/test_observable.rb
|
128
|
+
- test/util/test_procwrapper.rb
|