baretest 0.1.0 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +52 -0
- data/MANIFEST.txt +50 -31
- data/README.rdoc +260 -0
- data/bin/baretest +82 -24
- data/doc/baretest.rdoc +98 -0
- data/doc/mocking_stubbing_test_doubles.rdoc +5 -0
- data/doc/quickref.rdoc +261 -0
- data/doc/writing_tests.rdoc +148 -0
- data/examples/test.rake +58 -30
- data/examples/tests/irb_mode/failures.rb +26 -0
- data/examples/tests/mock_developer/test/helper/mocks.rb +0 -0
- data/examples/tests/mock_developer/test/setup.rb +57 -0
- data/examples/tests/mock_developer/test/suite/mock_demo.rb +19 -0
- data/examples/tests/overview/test.rb +89 -0
- data/examples/tests/variations/variations_01.rb +14 -0
- data/examples/tests/variations/variations_02.rb +19 -0
- data/examples/tests/variations/variations_03.rb +19 -0
- data/lib/baretest/assertion/context.rb +20 -0
- data/lib/baretest/assertion/failure.rb +22 -0
- data/lib/baretest/assertion/skip.rb +21 -0
- data/lib/{test → baretest}/assertion/support.rb +174 -39
- data/lib/baretest/assertion.rb +182 -0
- data/lib/baretest/irb_mode.rb +263 -0
- data/lib/{test/assertion/failure.rb → baretest/layout.rb} +6 -5
- data/lib/baretest/mocha.rb +18 -0
- data/lib/baretest/run/cli.rb +104 -0
- data/lib/{test → baretest}/run/errors.rb +12 -7
- data/lib/{test → baretest}/run/minimal.rb +8 -3
- data/lib/baretest/run/profile.rb +151 -0
- data/lib/{test → baretest}/run/spec.rb +10 -4
- data/lib/baretest/run/tap.rb +44 -0
- data/lib/baretest/run/xml.rb +80 -0
- data/lib/{test → baretest}/run.rb +31 -18
- data/lib/baretest/setup.rb +15 -0
- data/lib/baretest/skipped/assertion.rb +20 -0
- data/lib/baretest/skipped/suite.rb +49 -0
- data/lib/baretest/skipped.rb +15 -0
- data/lib/baretest/suite.rb +234 -0
- data/lib/baretest/utilities.rb +43 -0
- data/lib/{test → baretest}/version.rb +12 -3
- data/lib/baretest.rb +112 -0
- data/test/external/bootstraptest.rb +1 -1
- data/test/setup.rb +1 -1
- data/test/{lib/test → suite/lib/baretest}/assertion/support.rb +78 -24
- data/test/suite/lib/baretest/assertion.rb +192 -0
- data/test/{lib/test → suite/lib/baretest}/irb_mode.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run/cli.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run/errors.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run/interactive.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run/spec.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run/tap.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run/xml.rb +0 -0
- data/test/{lib/test → suite/lib/baretest}/run.rb +63 -61
- data/test/{lib/test → suite/lib/baretest}/suite.rb +77 -54
- data/test/{lib/test.rb → suite/lib/baretest.rb} +37 -37
- metadata +61 -40
- data/README.markdown +0 -229
- data/examples/test.rb +0 -93
- data/lib/test/assertion.rb +0 -117
- data/lib/test/debug.rb +0 -34
- data/lib/test/irb_mode.rb +0 -104
- data/lib/test/run/cli.rb +0 -79
- data/lib/test/run/interactive.rb +0 -60
- data/lib/test/run/tap.rb +0 -32
- data/lib/test/run/xml.rb +0 -56
- data/lib/test/suite.rb +0 -95
- data/lib/test.rb +0 -118
- data/test/lib/test/assertion.rb +0 -142
- data/test/lib/test/debug.rb +0 -63
data/test/lib/test/assertion.rb
DELETED
@@ -1,142 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright 2009 by Stefan Rusterholz.
|
3
|
-
# All rights reserved.
|
4
|
-
# See LICENSE.txt for permissions.
|
5
|
-
#++
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
Test.define "Test" do
|
10
|
-
suite "Assertion" do
|
11
|
-
suite "::new" do
|
12
|
-
assert "Should return a ::Test::Assertion instance" do
|
13
|
-
::Test::Assertion.new(nil, "description") { nil }.class ==
|
14
|
-
::Test::Assertion
|
15
|
-
end
|
16
|
-
|
17
|
-
assert "Should expect exactly 2 arguments" do
|
18
|
-
raises(ArgumentError) { ::Test::Assertion.new() } &&
|
19
|
-
raises(ArgumentError) { ::Test::Assertion.new(nil) } &&
|
20
|
-
raises(ArgumentError) { ::Test::Assertion.new(nil, "foo", "bar") }
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
suite "#status" do
|
25
|
-
assert "A new Assertion should have a status of nil" do
|
26
|
-
::Test::Assertion.new(nil, "description") {}.status.nil?
|
27
|
-
end
|
28
|
-
|
29
|
-
assert "Executing an assertion with a block that returns true should be :success" do
|
30
|
-
assertion_success = ::Test::Assertion.new(nil, "description") { true }
|
31
|
-
assertion_success.execute
|
32
|
-
assertion_success.status == :success
|
33
|
-
end
|
34
|
-
|
35
|
-
assert "Executing an assertion with a block that returns false should be :failure" do
|
36
|
-
assertion_success = ::Test::Assertion.new(nil, "description") { false }
|
37
|
-
assertion_success.execute
|
38
|
-
assertion_success.status == :failure
|
39
|
-
end
|
40
|
-
|
41
|
-
assert "Executing an assertion with a block that raises should be :error" do
|
42
|
-
assertion_success = ::Test::Assertion.new(nil, "description") { raise }
|
43
|
-
assertion_success.execute
|
44
|
-
assertion_success.status == :error
|
45
|
-
end
|
46
|
-
|
47
|
-
assert "Executing an assertion without a block should be :pending" do
|
48
|
-
assertion_success = ::Test::Assertion.new(nil, "description")
|
49
|
-
assertion_success.execute
|
50
|
-
|
51
|
-
same :expected => :pending, :actual => assertion_success.status
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
suite "#exception" do
|
56
|
-
assert "An assertion that doesn't raise should have nil as exception" do
|
57
|
-
assertion_success = ::Test::Assertion.new(nil, "description") { true }
|
58
|
-
assertion_success.execute
|
59
|
-
same :expected => nil, :actual => assertion_success.exception
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
suite "#description" do
|
64
|
-
assert "An assertion should have a description" do
|
65
|
-
description = "The assertion description"
|
66
|
-
assertion = ::Test::Assertion.new(nil, description) { true }
|
67
|
-
same :expected => description, :actual => assertion.description
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
suite "#suite" do
|
72
|
-
assert "An assertion can belong to a suite" do
|
73
|
-
suite = ::Test::Suite.new
|
74
|
-
assertion = ::Test::Assertion.new(suite, "") { true }
|
75
|
-
same :expected => suite, :actual => assertion.suite
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
suite "#block" do
|
80
|
-
assert "An assertion can have a block" do
|
81
|
-
block = proc { true }
|
82
|
-
assertion = ::Test::Assertion.new(nil, "", &block)
|
83
|
-
same :expected => block, :actual => assertion.block
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
suite "#setup" do
|
88
|
-
assert "Should run all enclosing suite's setup blocks, outermost first" do
|
89
|
-
executed = []
|
90
|
-
block1 = proc { executed << :block1 }
|
91
|
-
block2 = proc { executed << :block2 }
|
92
|
-
suite1 = ::Test::Suite.new("block1") do setup(&block1) end
|
93
|
-
suite2 = ::Test::Suite.new("suite2", suite1) do setup(&block2) end
|
94
|
-
assertion = ::Test::Assertion.new(suite2, "assertion")
|
95
|
-
|
96
|
-
raises_nothing do assertion.setup end &&
|
97
|
-
equal([:block1, :block2], executed)
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
suite "#teardown" do
|
102
|
-
assert "Should run all enclosing suite's teardown blocks, innermost first" do
|
103
|
-
executed = []
|
104
|
-
block1 = proc { executed << :block1 }
|
105
|
-
block2 = proc { executed << :block2 }
|
106
|
-
suite1 = ::Test::Suite.new("block1") do teardown(&block1) end
|
107
|
-
suite2 = ::Test::Suite.new("suite2", suite1) do teardown(&block2) end
|
108
|
-
assertion = ::Test::Assertion.new(suite2, "assertion")
|
109
|
-
|
110
|
-
raises_nothing do assertion.teardown end &&
|
111
|
-
equal([:block2, :block1], executed)
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
suite "#execute" do
|
116
|
-
assert "Execute will run the assertion's block" do
|
117
|
-
this = self # needed because touch is called in the block of another assertion, so otherwise it'd be local to that assertion
|
118
|
-
assertion = ::Test::Assertion.new(nil, "") { this.touch(:execute) }
|
119
|
-
assertion.execute
|
120
|
-
touched(:execute)
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
suite "#clean_copy" do
|
125
|
-
assert "Should return an instance of Test::Assertion" do
|
126
|
-
kind_of(::Test::Assertion, ::Test::Assertion.new("", nil).clean_copy)
|
127
|
-
end
|
128
|
-
|
129
|
-
assert "Should have the same description, suite and block" do
|
130
|
-
description = "description"
|
131
|
-
suite = ::Test::Suite.new
|
132
|
-
block = proc { true }
|
133
|
-
assertion1 = ::Test::Assertion.new(description, suite, &block)
|
134
|
-
assertion2 = assertion1.clean_copy
|
135
|
-
|
136
|
-
same(assertion1.description, assertion2.description, "description") &&
|
137
|
-
same(assertion1.suite, assertion2.suite, "suite") &&
|
138
|
-
same(assertion1.block, assertion2.block, "block")
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
data/test/lib/test/debug.rb
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright 2009 by Stefan Rusterholz.
|
3
|
-
# All rights reserved.
|
4
|
-
# See LICENSE.txt for permissions.
|
5
|
-
#++
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
Test.define "Test with test/debug", :requires => 'test/debug' do
|
10
|
-
suite "Assertion with test/debug", :requires => 'test/debug' do
|
11
|
-
suite "#to_s" do
|
12
|
-
assert "Assertion should have a to_s which contains the classname and the description" do
|
13
|
-
description = "the description"
|
14
|
-
assertion = Test::Assertion.new(nil, description)
|
15
|
-
print_string = assertion.to_s
|
16
|
-
|
17
|
-
print_string.include?(assertion.class.name) &&
|
18
|
-
print_string.include?(description)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
suite "#inspect" do
|
23
|
-
assert "Assertion should have an inspect which contains the classname, the shifted object-id in zero-padded hex, the suite's inspect and the description's inspect" do
|
24
|
-
suite = Test::Suite.new
|
25
|
-
description = "the description"
|
26
|
-
assertion = Test::Assertion.new(suite, description)
|
27
|
-
def suite.inspect; "<inspect of suite>"; end
|
28
|
-
|
29
|
-
inspect_string = assertion.inspect
|
30
|
-
|
31
|
-
inspect_string.include?(assertion.class.name) &&
|
32
|
-
inspect_string.include?("%08x" % (assertion.object_id >> 1)) &&
|
33
|
-
inspect_string.include?(suite.inspect) &&
|
34
|
-
inspect_string.include?(description.inspect)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
suite "Suite with test/debug", :requires => 'test/debug' do
|
40
|
-
suite "#to_s" do
|
41
|
-
assert "Suite should have a to_s which contains the classname and the description" do
|
42
|
-
description = "the description"
|
43
|
-
suite = Test::Suite.new(description)
|
44
|
-
print_string = suite.to_s
|
45
|
-
|
46
|
-
print_string.include?(suite.class.name) &&
|
47
|
-
print_string.include?(description)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
suite "#inspect" do
|
52
|
-
assert "Suite should have an inspect which contains the classname, the shifted object-id in zero-padded hex and the description's inspect" do
|
53
|
-
description = "the description"
|
54
|
-
suite = Test::Suite.new(description)
|
55
|
-
inspect_string = suite.inspect
|
56
|
-
|
57
|
-
inspect_string.include?(suite.class.name) &&
|
58
|
-
inspect_string.include?("%08x" % (suite.object_id >> 1)) &&
|
59
|
-
inspect_string.include?(description.inspect)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|