rspec 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +8 -0
- data/Rakefile +1 -1
- data/examples/add_specification_spec.rb +3 -3
- data/examples/craps_spec.rb +13 -13
- data/examples/dsl_spec.rb +2 -2
- data/examples/movie_spec.rb +5 -11
- data/lib/spec.rb +10 -0
- data/lib/spec/expectations.rb +5 -122
- data/lib/spec/have_helper.rb +56 -0
- data/lib/spec/instance_helper.rb +15 -0
- data/lib/spec/instance_negator.rb +15 -0
- data/lib/spec/kind_helper.rb +15 -0
- data/lib/spec/kind_negator.rb +15 -0
- data/lib/spec/mock.rb +0 -1
- data/lib/spec/respond_helper.rb +15 -0
- data/lib/spec/respond_negator.rb +15 -0
- data/lib/spec/should_base.rb +36 -0
- data/lib/spec/should_helper.rb +74 -0
- data/lib/spec/should_negator.rb +64 -0
- data/test/collection_owner.rb +48 -0
- data/test/context_run_test.rb +11 -11
- data/test/error_reporting_test.rb +101 -147
- data/test/expectations_for_should_have_test.rb +144 -0
- data/test/expectations_test.rb +274 -149
- data/test/gui_runner_test.rb +6 -6
- data/test/mock_test.rb +4 -4
- data/test/text_runner_test.rb +6 -6
- metadata +14 -2
data/lib/spec/mock.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
module Spec
|
2
|
+
|
3
|
+
class RespondHelper < ShouldBase
|
4
|
+
|
5
|
+
def initialize(target)
|
6
|
+
@target = target
|
7
|
+
end
|
8
|
+
|
9
|
+
def to(expected)
|
10
|
+
fail_with_message(default_message("should respond to", expected)) unless @target.respond_to? expected
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Spec
|
2
|
+
|
3
|
+
class RespondNegator < ShouldBase
|
4
|
+
|
5
|
+
def initialize(target)
|
6
|
+
@target = target
|
7
|
+
end
|
8
|
+
|
9
|
+
def to(expected)
|
10
|
+
fail_with_message(default_message("should not respond to", expected)) if @target.respond_to? expected
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Spec
|
2
|
+
|
3
|
+
class ShouldBase
|
4
|
+
|
5
|
+
def default_message(expectation, expected=:no_expectation_specified)
|
6
|
+
message = wrap(@target)
|
7
|
+
message += " #{expectation}"
|
8
|
+
if (expected != :no_expectation_specified)
|
9
|
+
message += " " + wrap(expected)
|
10
|
+
end
|
11
|
+
message
|
12
|
+
end
|
13
|
+
|
14
|
+
def wrap(obj)
|
15
|
+
if obj == true
|
16
|
+
"<true>"
|
17
|
+
elsif obj == false
|
18
|
+
"<false>"
|
19
|
+
elsif obj.nil?
|
20
|
+
"nil"
|
21
|
+
elsif obj.kind_of? Proc
|
22
|
+
"<Proc>"
|
23
|
+
elsif (obj.kind_of? Array) || (obj.kind_of? String)
|
24
|
+
"<#{obj.inspect}>"
|
25
|
+
else
|
26
|
+
"<#{obj.inspect}:#{obj.class}>"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def fail_with_message(message)
|
31
|
+
Kernel::raise(Spec::Exceptions::ExpectationNotMetError.new(message))
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Spec
|
2
|
+
|
3
|
+
class ShouldHelper < ShouldBase
|
4
|
+
|
5
|
+
def initialize(target)
|
6
|
+
@target = target
|
7
|
+
end
|
8
|
+
|
9
|
+
def not
|
10
|
+
ShouldNegator.new(@target)
|
11
|
+
end
|
12
|
+
|
13
|
+
def have(expected_number=nil)
|
14
|
+
HaveHelper.new(@target, expected_number)
|
15
|
+
end
|
16
|
+
|
17
|
+
def satisfy
|
18
|
+
fail_with_message "Supplied expectation was not satisfied" if (!yield @target)
|
19
|
+
end
|
20
|
+
|
21
|
+
def equal(expected)
|
22
|
+
fail_with_message(default_message("should equal", expected)) unless (@target == expected)
|
23
|
+
end
|
24
|
+
|
25
|
+
def be(expected = :no_arg)
|
26
|
+
return self if (expected == :no_arg)
|
27
|
+
return if (expected == false and @target.nil?)
|
28
|
+
fail_with_message(default_message("should be", expected)) unless (@target.equal?(expected))
|
29
|
+
end
|
30
|
+
|
31
|
+
def a
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
alias an a
|
36
|
+
|
37
|
+
def instance
|
38
|
+
InstanceHelper.new(@target)
|
39
|
+
end
|
40
|
+
|
41
|
+
def kind
|
42
|
+
KindHelper.new(@target)
|
43
|
+
end
|
44
|
+
|
45
|
+
def respond
|
46
|
+
RespondHelper.new(@target)
|
47
|
+
end
|
48
|
+
|
49
|
+
def method_missing(sym, *args)
|
50
|
+
return if @target.send("#{sym}?", *args)
|
51
|
+
fail_with_message(default_message("should be #{sym}" + (args.empty? ? '' : (' ' + args.join(', ')))))
|
52
|
+
end
|
53
|
+
|
54
|
+
def match(expected)
|
55
|
+
fail_with_message(default_message("should match", expected)) unless (@target =~ expected)
|
56
|
+
end
|
57
|
+
|
58
|
+
def include(sub)
|
59
|
+
fail_with_message(default_message("should include", sub)) unless (@target.include? sub)
|
60
|
+
end
|
61
|
+
|
62
|
+
def raise(exception=Exception)
|
63
|
+
begin
|
64
|
+
@target.call
|
65
|
+
fail_with_message(default_message("should raise", exception.inspect))
|
66
|
+
rescue exception
|
67
|
+
rescue
|
68
|
+
fail_with_message(default_message("should raise", exception.inspect))
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Spec
|
2
|
+
|
3
|
+
class ShouldNegator < ShouldBase
|
4
|
+
|
5
|
+
def initialize(target)
|
6
|
+
@target = target
|
7
|
+
end
|
8
|
+
|
9
|
+
def satisfy
|
10
|
+
fail_with_message "Supplied expectation was satisfied, but should not have been" if (yield @target)
|
11
|
+
end
|
12
|
+
|
13
|
+
def equal(expected)
|
14
|
+
fail_with_message(default_message("should not equal", expected)) if (@target == expected)
|
15
|
+
end
|
16
|
+
|
17
|
+
def be(expected = :no_arg)
|
18
|
+
return self if (expected == :no_arg)
|
19
|
+
fail_with_message(default_message("should not be", expected)) if (@target.equal?(expected))
|
20
|
+
end
|
21
|
+
|
22
|
+
def a
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
alias an a
|
27
|
+
|
28
|
+
def instance
|
29
|
+
InstanceNegator.new(@target)
|
30
|
+
end
|
31
|
+
|
32
|
+
def kind
|
33
|
+
KindNegator.new(@target)
|
34
|
+
end
|
35
|
+
|
36
|
+
def respond
|
37
|
+
RespondNegator.new(@target)
|
38
|
+
end
|
39
|
+
|
40
|
+
def match(expected)
|
41
|
+
fail_with_message(default_message("should not match", expected)) if (@target =~ expected)
|
42
|
+
end
|
43
|
+
|
44
|
+
def include(sub)
|
45
|
+
fail_with_message(default_message("should not include", sub)) if (@target.include? sub)
|
46
|
+
end
|
47
|
+
|
48
|
+
def raise(exception=Exception)
|
49
|
+
begin
|
50
|
+
@target.call
|
51
|
+
rescue exception
|
52
|
+
fail_with_message(default_message("should not raise", exception.inspect))
|
53
|
+
rescue
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def method_missing(sym, *args)
|
58
|
+
return unless @target.send("#{sym}?", *args)
|
59
|
+
fail_with_message(default_message("should not be #{sym}" + (args.empty? ? '' : (' ' + args.join(', ')))))
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
class CollectionWithSizeMethod
|
2
|
+
|
3
|
+
def initialize
|
4
|
+
@list = []
|
5
|
+
end
|
6
|
+
|
7
|
+
def size
|
8
|
+
@list.size
|
9
|
+
end
|
10
|
+
|
11
|
+
def push(item)
|
12
|
+
@list.push(item)
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
class CollectionWithLengthMethod
|
18
|
+
|
19
|
+
def initialize
|
20
|
+
@list = []
|
21
|
+
end
|
22
|
+
|
23
|
+
def length
|
24
|
+
@list.length
|
25
|
+
end
|
26
|
+
|
27
|
+
def push(item)
|
28
|
+
@list.push(item)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
class CollectionOwner
|
34
|
+
attr_reader :items_in_collection_with_size_method, :items_in_collection_with_length_method
|
35
|
+
|
36
|
+
def initialize
|
37
|
+
@items_in_collection_with_size_method = CollectionWithSizeMethod.new
|
38
|
+
@items_in_collection_with_length_method = CollectionWithLengthMethod.new
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_to_collection_with_size_method(item)
|
42
|
+
@items_in_collection_with_size_method.push(item)
|
43
|
+
end
|
44
|
+
|
45
|
+
def add_to_collection_with_length_method(item)
|
46
|
+
@items_in_collection_with_length_method.push(item)
|
47
|
+
end
|
48
|
+
end
|
data/test/context_run_test.rb
CHANGED
@@ -9,32 +9,32 @@ class TestCon < Spec::Context
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def passing_once_specification
|
12
|
-
true.
|
12
|
+
true.should.equal(true)
|
13
13
|
end
|
14
14
|
|
15
15
|
def failing_once_specification
|
16
|
-
false.
|
16
|
+
false.should.equal(true)
|
17
17
|
end
|
18
18
|
|
19
19
|
def erroring_once_specification
|
20
|
-
undefined_method.
|
20
|
+
undefined_method.should.equal(true)
|
21
21
|
end
|
22
22
|
|
23
23
|
def passing_multi_specification
|
24
|
-
true.
|
25
|
-
false.
|
26
|
-
Object.
|
24
|
+
true.should.equal(true)
|
25
|
+
false.should.equal(false)
|
26
|
+
Object.should.equal(Object)
|
27
27
|
end
|
28
28
|
|
29
29
|
def failing_multi_specification
|
30
|
-
false.
|
31
|
-
true.
|
32
|
-
false.
|
30
|
+
false.should.equal(true)
|
31
|
+
true.should.equal(false)
|
32
|
+
false.should.equal(nil)
|
33
33
|
end
|
34
34
|
|
35
35
|
def erroring_multi_specification
|
36
|
-
undefined_method.
|
37
|
-
undefined_method.
|
36
|
+
undefined_method.should.equal(false)
|
37
|
+
undefined_method.should.not.equal(true)
|
38
38
|
end
|
39
39
|
|
40
40
|
end
|
@@ -1,123 +1,103 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
|
3
|
+
require 'collection_owner'
|
3
4
|
require 'spec'
|
4
5
|
|
5
|
-
|
6
6
|
class ErrorReportingContext < Spec::Context
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
def use_the_standard_message_for_should
|
11
|
-
Object.should { false == true }
|
8
|
+
def should_satisfy
|
9
|
+
5.should.satisfy { |x| x == 3 }
|
12
10
|
end
|
13
11
|
|
14
|
-
def
|
15
|
-
|
12
|
+
def should_not_satisfy
|
13
|
+
3.should.not.satisfy { |x| x == 3 }
|
16
14
|
end
|
17
|
-
|
18
|
-
# should_equal
|
19
15
|
|
20
|
-
def
|
21
|
-
Object.
|
16
|
+
def should_equal
|
17
|
+
Object.should.equal Class
|
22
18
|
end
|
23
19
|
|
24
|
-
def
|
25
|
-
Object.
|
20
|
+
def should_not_equal
|
21
|
+
Object.should.not.equal Object
|
26
22
|
end
|
27
23
|
|
28
|
-
|
29
|
-
|
30
|
-
def use_the_standard_message_for_should_not_equal
|
31
|
-
Object.should_not_equal Object
|
24
|
+
def should_be_nil
|
25
|
+
Object.should.be nil
|
32
26
|
end
|
33
27
|
|
34
|
-
def
|
35
|
-
|
28
|
+
def should_not_be_nil
|
29
|
+
nil.should.not.be nil
|
36
30
|
end
|
37
31
|
|
38
|
-
|
32
|
+
def should_be_empty
|
33
|
+
['foo', 'bar'].should.be.empty
|
34
|
+
end
|
39
35
|
|
40
|
-
def
|
41
|
-
|
36
|
+
def should_not_be_empty
|
37
|
+
[].should.not.be.empty
|
42
38
|
end
|
43
39
|
|
44
|
-
def
|
45
|
-
|
40
|
+
def should_include
|
41
|
+
['foo'].should.include('bar')
|
46
42
|
end
|
47
43
|
|
48
|
-
|
49
|
-
|
50
|
-
def use_the_standard_message_for_should_not_be_nil
|
51
|
-
nil.should_not_be_nil
|
44
|
+
def should_not_include
|
45
|
+
['foo'].should.not.include('foo')
|
52
46
|
end
|
53
47
|
|
54
|
-
def
|
55
|
-
|
48
|
+
def should_be_true
|
49
|
+
false.should.be true
|
56
50
|
end
|
57
51
|
|
58
|
-
|
59
|
-
|
60
|
-
def use_the_standard_message_for_should_be_empty
|
61
|
-
['foo', 'bar'].should_be_empty
|
52
|
+
def should_be_false
|
53
|
+
true.should.be false
|
62
54
|
end
|
63
55
|
|
64
|
-
def
|
65
|
-
|
56
|
+
def should_raise_with_no_error
|
57
|
+
proc { ''.to_s }.should.raise NoMethodError
|
66
58
|
end
|
67
|
-
|
68
|
-
# should_not_be_empty
|
69
59
|
|
70
|
-
def
|
71
|
-
|
72
|
-
end
|
73
|
-
|
74
|
-
def use_the_provided_message_for_should_not_be_empty
|
75
|
-
[].should_not_be_empty("provided for should_not_be_empty")
|
60
|
+
def should_raise_with_wrong_error
|
61
|
+
proc { ''.no_method }.should.raise SyntaxError
|
76
62
|
end
|
77
|
-
|
78
|
-
# should_include
|
79
63
|
|
80
|
-
def
|
81
|
-
|
82
|
-
end
|
64
|
+
def should_not_raise
|
65
|
+
proc { ''.no_method }.should.not.raise NoMethodError
|
66
|
+
end
|
83
67
|
|
84
|
-
def
|
85
|
-
|
68
|
+
def should_have_with_length
|
69
|
+
owner = CollectionOwner.new
|
70
|
+
owner.should.have(3).items_in_collection_with_length_method
|
86
71
|
end
|
87
72
|
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
['foo'].should_not_include('foo')
|
73
|
+
def should_have_at_least_with_length
|
74
|
+
owner = CollectionOwner.new
|
75
|
+
owner.should.have.at.least(3).items_in_collection_with_length_method
|
92
76
|
end
|
93
77
|
|
94
|
-
def
|
95
|
-
|
78
|
+
def should_have_at_most_with_length
|
79
|
+
owner = CollectionOwner.new
|
80
|
+
(1..4).each { |n| owner.add_to_collection_with_length_method n }
|
81
|
+
owner.should.have.at.most(3).items_in_collection_with_length_method
|
96
82
|
end
|
97
|
-
|
98
|
-
# should_be_true
|
99
83
|
|
100
|
-
def
|
101
|
-
|
84
|
+
def should_have_with_size
|
85
|
+
owner = CollectionOwner.new
|
86
|
+
owner.should.have(3).items_in_collection_with_size_method
|
102
87
|
end
|
103
88
|
|
104
|
-
def
|
105
|
-
|
89
|
+
def should_have_at_least_with_size
|
90
|
+
owner = CollectionOwner.new
|
91
|
+
owner.should.have.at.least(3).items_in_collection_with_size_method
|
106
92
|
end
|
107
93
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
94
|
+
def should_have_at_most_with_size
|
95
|
+
owner = CollectionOwner.new
|
96
|
+
(1..4).each { |n| owner.add_to_collection_with_size_method n }
|
97
|
+
owner.should.have.at.most(3).items_in_collection_with_size_method
|
112
98
|
end
|
113
|
-
|
114
|
-
def use_the_provided_message_for_should_be_false
|
115
|
-
true.should_be_false("provided for should_be_false")
|
116
|
-
end
|
117
|
-
|
118
99
|
end
|
119
100
|
|
120
|
-
|
121
101
|
class ErrorReportingRunner
|
122
102
|
|
123
103
|
def initialize
|
@@ -158,114 +138,88 @@ class ErrorReportingTest < Test::Unit::TestCase
|
|
158
138
|
@runner.run(ErrorReportingContext)
|
159
139
|
end
|
160
140
|
|
161
|
-
|
162
|
-
|
163
|
-
def test_should_report_standard_message_for_should
|
164
|
-
assert @runner.dump_failures.include?("Expectation not met.")
|
141
|
+
def test_should_report_message_for_should_satisfy
|
142
|
+
assert @runner.dump_failures.include?("Supplied expectation was not satisfied")
|
165
143
|
end
|
166
144
|
|
167
|
-
def
|
168
|
-
assert @runner.dump_failures.include?("
|
169
|
-
end
|
145
|
+
def test_should_report_message_for_should_equal
|
146
|
+
assert @runner.dump_failures.include?("<Object:Class> should equal <Class:Class>"), @runner.dump_failures
|
147
|
+
end
|
170
148
|
|
171
|
-
|
149
|
+
def test_should_report_message_for_should_not_equal
|
150
|
+
assert @runner.dump_failures.include?("<Object:Class> should not equal <Object:Class>"), @runner.dump_failures
|
151
|
+
end
|
172
152
|
|
173
|
-
def
|
174
|
-
assert @runner.dump_failures.include?("<Object:Class
|
153
|
+
def test_should_report_message_for_should_be_nil
|
154
|
+
assert @runner.dump_failures.include?("<Object:Class> should be nil")
|
175
155
|
end
|
176
156
|
|
177
|
-
def
|
178
|
-
assert @runner.dump_failures.include?("
|
157
|
+
def test_should_report_message_for_should_not_be_nil
|
158
|
+
assert @runner.dump_failures.include?("nil should not be nil")
|
179
159
|
end
|
180
|
-
|
181
|
-
# should_not_equal
|
182
160
|
|
183
|
-
def
|
184
|
-
assert @runner.dump_failures.include?("
|
161
|
+
def test_should_report_message_for_should_be_empty
|
162
|
+
assert @runner.dump_failures.include?('<["foo", "bar"]> should be empty')
|
185
163
|
end
|
186
|
-
|
187
|
-
def
|
188
|
-
assert @runner.dump_failures.include?("
|
164
|
+
|
165
|
+
def test_should_report_message_for_should_not_be_empty
|
166
|
+
assert @runner.dump_failures.include?("<[]> should not be empty")
|
189
167
|
end
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
def test_should_report_standard_message_for_should_be_nil
|
194
|
-
assert @runner.dump_failures.include?("<Object> should be nil")
|
168
|
+
|
169
|
+
def test_should_report_message_for_should_include
|
170
|
+
assert @runner.dump_failures.include?('<["foo"]> should include <"bar">')
|
195
171
|
end
|
196
172
|
|
197
|
-
def
|
198
|
-
assert @runner.dump_failures.include?("
|
173
|
+
def test_should_report_message_for_should_not_include
|
174
|
+
assert @runner.dump_failures.include?('<["foo"]> should not include <"foo">')
|
199
175
|
end
|
200
176
|
|
201
|
-
|
177
|
+
def test_should_report_message_for_should_be_true
|
178
|
+
assert @runner.dump_failures.include?("<false> should be <true>")
|
179
|
+
end
|
202
180
|
|
203
|
-
def
|
204
|
-
assert @runner.dump_failures.include?("
|
181
|
+
def test_should_report_message_for_should_be_false
|
182
|
+
assert @runner.dump_failures.include?("<true> should be <false>")
|
205
183
|
end
|
206
184
|
|
207
|
-
def
|
208
|
-
assert @runner.dump_failures.include?("
|
185
|
+
def test_should_report_message_for_should_raise_with_no_error
|
186
|
+
assert @runner.dump_failures.include?("<Proc> should raise <\"NoMethodError\">")
|
209
187
|
end
|
210
|
-
|
211
|
-
# should_be_empty
|
212
188
|
|
213
|
-
def
|
214
|
-
assert @runner.dump_failures.include?(
|
189
|
+
def test_should_report_message_for_should_raise_with_wrong_error
|
190
|
+
assert @runner.dump_failures.include?("<Proc> should raise <\"SyntaxError\">")
|
215
191
|
end
|
216
192
|
|
217
|
-
def
|
218
|
-
assert @runner.dump_failures.include?("
|
193
|
+
def test_should_report_message_for_should_not_raise
|
194
|
+
assert @runner.dump_failures.include?("<Proc> should not raise <\"NoMethodError\">")
|
219
195
|
end
|
220
196
|
|
221
|
-
|
222
|
-
|
223
|
-
def test_should_report_standard_message_for_should_not_be_empty
|
224
|
-
assert @runner.dump_failures.include?("<[]> should not be empty")
|
197
|
+
def test_should_report_message_for_should_not_raise
|
198
|
+
assert @runner.dump_failures.include?("<Proc> should not raise <\"NoMethodError\">")
|
225
199
|
end
|
226
200
|
|
227
|
-
def
|
228
|
-
assert @runner.dump_failures.include?(
|
201
|
+
def test_should_report_message_for_should_have_with_length
|
202
|
+
assert @runner.dump_failures.include?('<CollectionOwner> should have 3 items_in_collection_with_length_method (has 0)')
|
229
203
|
end
|
230
|
-
|
231
|
-
# should_include
|
232
204
|
|
233
|
-
def
|
234
|
-
assert @runner.dump_failures.include?('<
|
205
|
+
def test_should_report_message_for_should_have_at_least_with_length
|
206
|
+
assert @runner.dump_failures.include?('<CollectionOwner> should have at least 3 items_in_collection_with_length_method (has 0)')
|
235
207
|
end
|
236
208
|
|
237
|
-
def
|
238
|
-
assert @runner.dump_failures.include?(
|
209
|
+
def test_should_report_message_for_should_have_at_most_with_length
|
210
|
+
assert @runner.dump_failures.include?('<CollectionOwner> should have at most 3 items_in_collection_with_length_method (has 4)')
|
239
211
|
end
|
240
212
|
|
241
|
-
|
242
|
-
|
243
|
-
def test_should_report_standard_message_for_should_not_include
|
244
|
-
assert @runner.dump_failures.include?('<["foo"]> should not include <"foo">')
|
245
|
-
end
|
246
|
-
|
247
|
-
def test_should_report_provided_message_for_should_not_include
|
248
|
-
assert @runner.dump_failures.include?("provided for should_not_include")
|
213
|
+
def test_should_report_message_for_should_have_with_size
|
214
|
+
assert @runner.dump_failures.include?('<CollectionOwner> should have 3 items_in_collection_with_size_method (has 0)')
|
249
215
|
end
|
250
216
|
|
251
|
-
|
252
|
-
|
253
|
-
def test_should_report_standard_message_for_should_be_true
|
254
|
-
assert @runner.dump_failures.include?("<false> should be true")
|
255
|
-
end
|
256
|
-
|
257
|
-
def test_should_report_provided_message_for_should_be_true
|
258
|
-
assert @runner.dump_failures.include?("provided for should_be_true")
|
217
|
+
def test_should_report_message_for_should_have_at_least_with_size
|
218
|
+
assert @runner.dump_failures.include?('<CollectionOwner> should have at least 3 items_in_collection_with_size_method (has 0)')
|
259
219
|
end
|
260
220
|
|
261
|
-
|
262
|
-
|
263
|
-
def test_should_report_standard_message_for_should_be_false
|
264
|
-
assert @runner.dump_failures.include?("<true> should be false")
|
265
|
-
end
|
266
|
-
|
267
|
-
def test_should_report_provided_message_for_should_be_false
|
268
|
-
assert @runner.dump_failures.include?("provided for should_be_false")
|
221
|
+
def test_should_report_message_for_should_have_at_most_with_size
|
222
|
+
assert @runner.dump_failures.include?('<CollectionOwner> should have at most 3 items_in_collection_with_size_method (has 4)')
|
269
223
|
end
|
270
|
-
|
224
|
+
|
271
225
|
end
|