riot 0.11.4 → 0.12.0.pre
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/CHANGELOG +6 -0
- data/VERSION +1 -1
- data/lib/riot/assertion.rb +10 -5
- data/lib/riot/assertion_macro.rb +10 -0
- data/lib/riot/assertion_macros/any.rb +16 -2
- data/lib/riot/assertion_macros/assigns.rb +42 -16
- data/lib/riot/assertion_macros/empty.rb +13 -2
- data/lib/riot/assertion_macros/equals.rb +17 -2
- data/lib/riot/assertion_macros/equivalent_to.rb +15 -1
- data/lib/riot/assertion_macros/exists.rb +13 -1
- data/lib/riot/assertion_macros/includes.rb +16 -0
- data/lib/riot/assertion_macros/kind_of.rb +13 -0
- data/lib/riot/assertion_macros/matches.rb +14 -0
- data/lib/riot/assertion_macros/nil.rb +10 -0
- data/lib/riot/assertion_macros/not_borat.rb +10 -0
- data/lib/riot/assertion_macros/raises.rb +28 -0
- data/lib/riot/assertion_macros/respond_to.rb +14 -0
- data/lib/riot/assertion_macros/same_elements.rb +13 -2
- data/lib/riot/assertion_macros/size.rb +12 -0
- data/lib/riot/context.rb +4 -126
- data/lib/riot/context_helpers.rb +132 -0
- data/lib/riot/context_options.rb +24 -0
- data/riot.gemspec +46 -27
- data/test.watchr +70 -0
- data/test/core/assertion_macros/any_test.rb +36 -4
- data/test/core/assertion_macros/assigns_test.rb +28 -0
- data/test/core/assertion_macros/empty_test.rb +35 -7
- data/test/core/assertion_macros/equals_test.rb +29 -0
- data/test/core/assertion_macros/equivalent_to_test.rb +36 -17
- data/test/core/assertion_macros/exists_test.rb +25 -4
- data/test/core/assertion_macros/includes_test.rb +12 -0
- data/test/core/assertion_macros/kind_of_test.rb +15 -0
- data/test/core/assertion_macros/matches_test.rb +49 -0
- data/test/core/assertion_macros/nil_test.rb +10 -8
- data/test/core/assertion_macros/not_borat_test.rb +14 -8
- data/test/core/assertion_macros/raises_test.rb +39 -6
- data/test/core/assertion_macros/respond_to_test.rb +18 -1
- data/test/core/assertion_macros/same_elements_test.rb +17 -0
- data/test/core/assertion_macros/size_test.rb +45 -5
- data/test/core/context/asserts_topic_test.rb +21 -0
- data/test/core/context/context_test.rb +35 -0
- data/test/core/{context_with_options_test.rb → context/context_with_options_test.rb} +0 -0
- data/test/core/context/deny_test.rb +25 -0
- data/test/core/context/helper_test.rb +11 -0
- data/test/core/context/hookup_test.rb +13 -0
- data/test/core/context/nested_contexts_test.rb +40 -0
- data/test/core/context/premium_setup_test.rb +19 -0
- data/test/core/context/should_test.rb +17 -0
- data/test/core/{using_describe_in_a_test.rb → context/using_describe_in_a_test.rb} +9 -0
- data/test/core/{chained_context_middleware_test.rb → middleware/chained_context_middleware_test.rb} +0 -0
- data/test/core/{context_middleware_test.rb → middleware/context_middleware_test.rb} +0 -0
- data/test/core/{assertion_macro_test.rb → runnable/assertion_macro_test.rb} +0 -0
- data/test/core/{assertion_test.rb → runnable/assertion_test.rb} +0 -0
- data/test/core/{message_test.rb → runnable/message_test.rb} +0 -0
- data/test/core/runnable/negative_assertion_test.rb +36 -0
- data/test/core/{setup_test.rb → runnable/setup_test.rb} +0 -0
- data/test/core/{situation_test.rb → runnable/situation_test.rb} +0 -0
- data/test/core/{teardown_test.rb → runnable/teardown_test.rb} +0 -0
- metadata +54 -32
- data/test/core/assertion_macros/matching_test.rb +0 -24
- data/test/core/context_test.rb +0 -157
@@ -1,7 +1,12 @@
|
|
1
1
|
module Riot
|
2
2
|
# Asserts that the result of the test is an object that responds to the given method
|
3
|
+
#
|
3
4
|
# asserts("test") { "foo" }.respond_to(:to_s)
|
4
5
|
# should("test") { "foo" }.respond_to(:to_s)
|
6
|
+
#
|
7
|
+
# If you want to test that the result does not respond to something:
|
8
|
+
#
|
9
|
+
# denies("test") { "foo" }.responds_to(:harassment)
|
5
10
|
class RespondToMacro < AssertionMacro
|
6
11
|
register :respond_to
|
7
12
|
register :responds_to
|
@@ -13,5 +18,14 @@ module Riot
|
|
13
18
|
fail(expected_message.method(expected).is_not_defined)
|
14
19
|
end
|
15
20
|
end
|
21
|
+
|
22
|
+
def devaluate(actual, expected)
|
23
|
+
if actual.respond_to?(expected)
|
24
|
+
fail(expected_message.method(expected).is_defined)
|
25
|
+
else
|
26
|
+
pass new_message.does_not_respond_to(expected)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
16
30
|
end
|
17
31
|
end
|
@@ -1,14 +1,25 @@
|
|
1
1
|
module Riot
|
2
2
|
# Asserts that two arrays contain the same elements, the same number of times.
|
3
|
+
#
|
3
4
|
# asserts("test") { ["foo", "bar"] }.same_elements(["bar", "foo"])
|
4
5
|
# should("test") { ["foo", "bar"] }.same_elements(["bar", "foo"])
|
6
|
+
#
|
7
|
+
# Maybe you just want to make sure two sets arent't the same:
|
8
|
+
#
|
9
|
+
# denies("test") { ["foo", "bar"] }.same_elements(["baz", "boo"])
|
5
10
|
class SameElementsMacro < AssertionMacro
|
6
11
|
register :same_elements
|
7
|
-
|
12
|
+
require 'set'
|
13
|
+
|
8
14
|
def evaluate(actual, expected)
|
9
|
-
require 'set'
|
10
15
|
same = (Set.new(expected) == Set.new(actual))
|
11
16
|
same ? pass : fail(expected_message.elements(expected).to_match(actual))
|
12
17
|
end
|
18
|
+
|
19
|
+
def devaluate(actual, expected)
|
20
|
+
same = (Set.new(expected) == Set.new(actual))
|
21
|
+
same ? fail(expected_message.elements(expected).not_to_match(actual)) : pass
|
22
|
+
end
|
23
|
+
|
13
24
|
end
|
14
25
|
end
|
@@ -1,9 +1,16 @@
|
|
1
1
|
module Riot
|
2
2
|
# Asserts that result's size is as expected. Expected size can be specified as
|
3
3
|
# a number or a range.
|
4
|
+
#
|
4
5
|
# asserts("a string") { 'washington' }.size(9..12)
|
5
6
|
# asserts("an array") { [1, 2, 3] }.size(3)
|
6
7
|
# asserts("a hash") { {:name => 'washington'} }.size(1)
|
8
|
+
#
|
9
|
+
# To ensure that the result is not of a specific size:
|
10
|
+
#
|
11
|
+
# denies("a string") { 'washington' }.size(4)
|
12
|
+
# denies("an array") { [1, 2, 3] }.size(6..10)
|
13
|
+
# denies("a hash") { {:name => 'washington'} }.size(2)
|
7
14
|
class SizeMacro < AssertionMacro
|
8
15
|
register :size
|
9
16
|
|
@@ -11,5 +18,10 @@ module Riot
|
|
11
18
|
failure_message = expected_message.size_of(actual).to_be(expected).not(actual.size)
|
12
19
|
expected === actual.size ? pass(new_message.is_of_size(expected)) : fail(failure_message)
|
13
20
|
end
|
21
|
+
|
22
|
+
def devaluate(actual, expected)
|
23
|
+
failure_message = expected_message.size_of(actual).to_not_be(expected).not(actual.size)
|
24
|
+
expected === actual.size ? fail(failure_message) : pass(new_message.is_not_size(expected))
|
25
|
+
end
|
14
26
|
end
|
15
27
|
end
|
data/lib/riot/context.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'riot/context_options'
|
2
|
+
require 'riot/context_helpers'
|
3
|
+
|
1
4
|
module Riot
|
2
5
|
RootContext = Struct.new(:setups, :teardowns, :detailed_description, :options)
|
3
6
|
|
@@ -6,33 +9,13 @@ module Riot
|
|
6
9
|
def situation_class; Situation; end
|
7
10
|
end # ContextClassOverrides
|
8
11
|
|
9
|
-
module ContextOptions
|
10
|
-
# Set options for the specific context. These options will generally be used for context middleware.
|
11
|
-
# Riot::Context does not currently look at any options.
|
12
|
-
#
|
13
|
-
# context "Foo" do
|
14
|
-
# set :transactional, true
|
15
|
-
# end
|
16
|
-
def set(key, value) options[key] = value; end
|
17
|
-
|
18
|
-
# Returns the value of a set option. The key must match exactly, symbols and strings are not
|
19
|
-
# interchangeable.
|
20
|
-
#
|
21
|
-
# @return [Object]
|
22
|
-
def option(key) options[key]; end
|
23
|
-
|
24
|
-
# Returns the has of defined options.
|
25
|
-
#
|
26
|
-
# @return [Hash]
|
27
|
-
def options; @options ||= {}; end
|
28
|
-
end # ContextOptions
|
29
|
-
|
30
12
|
# You make your assertions within a Context. The context stores setup and teardown blocks, and allows for
|
31
13
|
# nesting and refactoring into helpers. Extension developers may also configure ContextMiddleware objects
|
32
14
|
# in order to extend the functionality of a Context.
|
33
15
|
class Context
|
34
16
|
include ContextClassOverrides
|
35
17
|
include ContextOptions
|
18
|
+
include ContextHelpers
|
36
19
|
|
37
20
|
# The set of middleware helpers configured for the current test space.
|
38
21
|
#
|
@@ -78,100 +61,6 @@ module Riot
|
|
78
61
|
def teardowns
|
79
62
|
@parent.teardowns + @teardowns
|
80
63
|
end
|
81
|
-
|
82
|
-
# Add a setup block.
|
83
|
-
#
|
84
|
-
# A setup block defines the topic of the context. There can be multiple setup
|
85
|
-
# blocks; each can access the previous topic through the +topic+ attribute.
|
86
|
-
#
|
87
|
-
# context "A string" do
|
88
|
-
# setup { "foo" }
|
89
|
-
# setup { topic * 2 }
|
90
|
-
# asserts(:length).equals(6)
|
91
|
-
# end
|
92
|
-
#
|
93
|
-
# If you provide +true+ as the first argument, the setup will be unshifted onto the list of setups,
|
94
|
-
# ensuring it will be run before any other setups. This is really only useful for context middlewares.
|
95
|
-
def setup(premium=false, &definition)
|
96
|
-
setup = Setup.new(&definition)
|
97
|
-
premium ? @setups.unshift(setup) : @setups.push(setup)
|
98
|
-
setup
|
99
|
-
end
|
100
|
-
|
101
|
-
# Helpers are essentially methods accessible within a situation.
|
102
|
-
#
|
103
|
-
# They're not setup methods, but can be called from setups or from assetions. Each time called, the
|
104
|
-
# helper will be evaluated. It's not currently memoized.
|
105
|
-
#
|
106
|
-
# context "A string" do
|
107
|
-
# helper(:foo) { "bar" }
|
108
|
-
# asserts("a foo") { foo }.equals("bar")
|
109
|
-
# end
|
110
|
-
def helper(name, &block)
|
111
|
-
(@setups << Helper.new(name, &block)).last
|
112
|
-
end
|
113
|
-
|
114
|
-
# A setup shortcut that returns the original topic so you don't have to. Good for nested setups. Instead
|
115
|
-
# of doing this in your context:
|
116
|
-
#
|
117
|
-
# setup do
|
118
|
-
# topic.do_something
|
119
|
-
# topic
|
120
|
-
# end
|
121
|
-
#
|
122
|
-
# You would do this:
|
123
|
-
#
|
124
|
-
# hookup { topic.do_something } # Yay!
|
125
|
-
def hookup(&definition)
|
126
|
-
setup { self.instance_eval(&definition); topic }
|
127
|
-
end
|
128
|
-
|
129
|
-
# Add a teardown block. You may define multiple of these as well.
|
130
|
-
#
|
131
|
-
# teardown { Bombs.drop! }
|
132
|
-
def teardown(&definition)
|
133
|
-
(@teardowns << Setup.new(&definition)).last
|
134
|
-
end
|
135
|
-
|
136
|
-
# Makes an assertion.
|
137
|
-
#
|
138
|
-
# In the most basic form, an assertion requires a descriptive name and a block.
|
139
|
-
#
|
140
|
-
# asserts("#size is equals to 2") { topic.size == 2 }
|
141
|
-
#
|
142
|
-
# However, several shortcuts are available. Assertion macros can be added to the
|
143
|
-
# end, automating a number of common assertion patterns, e.g.
|
144
|
-
#
|
145
|
-
# asserts("#size") { topic.size }.equals(2)
|
146
|
-
#
|
147
|
-
# Furthermore, the pattern of testing an attribute on the topic is codified as
|
148
|
-
#
|
149
|
-
# asserts(:size).equals(2)
|
150
|
-
#
|
151
|
-
# Passing a Symbol to +asserts+ enables this behaviour. For more information on
|
152
|
-
# assertion macros, see {Riot::AssertionMacro}.
|
153
|
-
#
|
154
|
-
# @param [String, Symbol] the property being tested
|
155
|
-
def asserts(what, &definition)
|
156
|
-
new_assertion("asserts", what, &definition)
|
157
|
-
end
|
158
|
-
|
159
|
-
# Same as #asserts, except it uses the phrase "should" in the report output. Sometimes you feel like a
|
160
|
-
# nut, sometimes you don't.
|
161
|
-
#
|
162
|
-
# should("ensure expected") { "bar" }.equals("bar")
|
163
|
-
#
|
164
|
-
# @param [String, Symbol] the property being tested
|
165
|
-
def should(what, &definition)
|
166
|
-
new_assertion("should", what, &definition)
|
167
|
-
end
|
168
|
-
|
169
|
-
# Makes an assertion on the topic itself, e.g.
|
170
|
-
#
|
171
|
-
# asserts_topic.matches(/^ab+/)
|
172
|
-
def asserts_topic(what="that it")
|
173
|
-
asserts(what) { topic }
|
174
|
-
end
|
175
64
|
|
176
65
|
def run(reporter)
|
177
66
|
reporter.describe_context(self) unless @assertions.empty?
|
@@ -208,16 +97,5 @@ module Riot
|
|
208
97
|
(@contexts << klass.new(description, self, &definition)).last
|
209
98
|
end
|
210
99
|
|
211
|
-
def new_assertion(scope, what, &definition)
|
212
|
-
if what.kind_of?(Symbol)
|
213
|
-
definition ||= proc { topic.send(what) }
|
214
|
-
description = "#{scope} ##{what}"
|
215
|
-
else
|
216
|
-
description = "#{scope} #{what}"
|
217
|
-
end
|
218
|
-
|
219
|
-
(@assertions << assertion_class.new(description, &definition)).last
|
220
|
-
end
|
221
100
|
end # Context
|
222
|
-
|
223
101
|
end # Riot
|
@@ -0,0 +1,132 @@
|
|
1
|
+
module Riot
|
2
|
+
module ContextHelpers
|
3
|
+
|
4
|
+
# Add a setup block.
|
5
|
+
#
|
6
|
+
# A setup block defines the topic of the context. There can be multiple setup
|
7
|
+
# blocks; each can access the previous topic through the +topic+ attribute.
|
8
|
+
#
|
9
|
+
# context "A string" do
|
10
|
+
# setup { "foo" }
|
11
|
+
# setup { topic * 2 }
|
12
|
+
# asserts(:length).equals(6)
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# If you provide +true+ as the first argument, the setup will be unshifted onto the list of setups,
|
16
|
+
# ensuring it will be run before any other setups. This is really only useful for context middlewares.
|
17
|
+
def setup(premium=false, &definition)
|
18
|
+
setup = Setup.new(&definition)
|
19
|
+
premium ? @setups.unshift(setup) : @setups.push(setup)
|
20
|
+
setup
|
21
|
+
end
|
22
|
+
|
23
|
+
# Helpers are essentially methods accessible within a situation.
|
24
|
+
#
|
25
|
+
# They're not setup methods, but can be called from setups or from assetions. Each time called, the
|
26
|
+
# helper will be evaluated. It's not currently memoized.
|
27
|
+
#
|
28
|
+
# context "A string" do
|
29
|
+
# helper(:foo) { "bar" }
|
30
|
+
# asserts("a foo") { foo }.equals("bar")
|
31
|
+
# end
|
32
|
+
def helper(name, &block)
|
33
|
+
(@setups << Helper.new(name, &block)).last
|
34
|
+
end
|
35
|
+
|
36
|
+
# A setup shortcut that returns the original topic so you don't have to. Good for nested setups. Instead
|
37
|
+
# of doing this in your context:
|
38
|
+
#
|
39
|
+
# setup do
|
40
|
+
# topic.do_something
|
41
|
+
# topic
|
42
|
+
# end
|
43
|
+
#
|
44
|
+
# You would do this:
|
45
|
+
#
|
46
|
+
# hookup { topic.do_something } # Yay!
|
47
|
+
def hookup(&definition)
|
48
|
+
setup { self.instance_eval(&definition); topic }
|
49
|
+
end
|
50
|
+
|
51
|
+
# Add a teardown block. You may define multiple of these as well.
|
52
|
+
#
|
53
|
+
# teardown { Bombs.drop! }
|
54
|
+
def teardown(&definition)
|
55
|
+
(@teardowns << Setup.new(&definition)).last
|
56
|
+
end
|
57
|
+
|
58
|
+
# Makes an assertion.
|
59
|
+
#
|
60
|
+
# In the most basic form, an assertion requires a descriptive name and a block.
|
61
|
+
#
|
62
|
+
# asserts("#size is equals to 2") { topic.size == 2 }
|
63
|
+
#
|
64
|
+
# However, several shortcuts are available. Assertion macros can be added to the
|
65
|
+
# end, automating a number of common assertion patterns, e.g.
|
66
|
+
#
|
67
|
+
# asserts("#size") { topic.size }.equals(2)
|
68
|
+
#
|
69
|
+
# Furthermore, the pattern of testing an attribute on the topic is codified as
|
70
|
+
#
|
71
|
+
# asserts(:size).equals(2)
|
72
|
+
#
|
73
|
+
# Passing a Symbol to +asserts+ enables this behaviour. For more information on
|
74
|
+
# assertion macros, see {Riot::AssertionMacro}.
|
75
|
+
#
|
76
|
+
# @param [String, Symbol] the property being tested
|
77
|
+
def asserts(what, &definition)
|
78
|
+
new_assertion("asserts", what, &definition)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Same as #asserts, except it uses the phrase "should" in the report output. Sometimes you feel like a
|
82
|
+
# nut, sometimes you don't.
|
83
|
+
#
|
84
|
+
# should("ensure expected") { "bar" }.equals("bar")
|
85
|
+
#
|
86
|
+
# @param [String, Symbol] the property being tested
|
87
|
+
def should(what, &definition)
|
88
|
+
new_assertion("should", what, &definition)
|
89
|
+
end
|
90
|
+
|
91
|
+
# Like an assertion, but expects negative results.
|
92
|
+
#
|
93
|
+
# In the most basic form, a denial requires a descriptive name and a block.
|
94
|
+
#
|
95
|
+
# denies("#size is equals to 2") { topic.size != 2 }
|
96
|
+
#
|
97
|
+
# Several shortcuts are available here as well. Assertion macros can be added to the
|
98
|
+
# end, automating a number of common assertion patterns, e.g.
|
99
|
+
#
|
100
|
+
# denies("#size") { topic.size }.equals(2)
|
101
|
+
#
|
102
|
+
# Furthermore, the pattern of testing an attribute on the topic is codified as
|
103
|
+
#
|
104
|
+
# denies(:size).equals(2)
|
105
|
+
#
|
106
|
+
# Passing a Symbol to +denies+ enables this behaviour. For more information on
|
107
|
+
# assertion macros, see {Riot::AssertionMacro}.
|
108
|
+
#
|
109
|
+
# @param [String, Symbol] the property being tested
|
110
|
+
def denies(what, &definition)
|
111
|
+
new_assertion("denies", what, true, &definition)
|
112
|
+
end
|
113
|
+
|
114
|
+
# Makes an assertion on the topic itself, e.g.
|
115
|
+
#
|
116
|
+
# asserts_topic.matches(/^ab+/)
|
117
|
+
def asserts_topic(what="that it")
|
118
|
+
asserts(what) { topic }
|
119
|
+
end
|
120
|
+
private
|
121
|
+
def new_assertion(scope, what, negative=false, &definition)
|
122
|
+
if what.kind_of?(Symbol)
|
123
|
+
definition ||= proc { topic.send(what) }
|
124
|
+
description = "#{scope} ##{what}"
|
125
|
+
else
|
126
|
+
description = "#{scope} #{what}"
|
127
|
+
end
|
128
|
+
|
129
|
+
(@assertions << assertion_class.new(description, negative, &definition)).last
|
130
|
+
end
|
131
|
+
end # AssertionHelpers
|
132
|
+
end # Riot
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Riot
|
2
|
+
module ContextOptions
|
3
|
+
|
4
|
+
# Set options for the specific context. These options will generally be used for context middleware.
|
5
|
+
# Riot::Context does not currently look at any options.
|
6
|
+
#
|
7
|
+
# context "Foo" do
|
8
|
+
# set :transactional, true
|
9
|
+
# end
|
10
|
+
def set(key, value) options[key] = value; end
|
11
|
+
|
12
|
+
# Returns the value of a set option. The key must match exactly, symbols and strings are not
|
13
|
+
# interchangeable.
|
14
|
+
#
|
15
|
+
# @return [Object]
|
16
|
+
def option(key) options[key]; end
|
17
|
+
|
18
|
+
# Returns the has of defined options.
|
19
|
+
#
|
20
|
+
# @return [Hash]
|
21
|
+
def options; @options ||= {}; end
|
22
|
+
|
23
|
+
end # ContextOptions
|
24
|
+
end # Riot
|
data/riot.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{riot}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.12.0.pre"
|
9
9
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new("
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Justin 'Gus' Knowlden"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-10-14}
|
13
13
|
s.description = %q{An extremely fast, expressive, and context-driven unit-testing framework. A replacement for all other testing frameworks. Protest the slow test.}
|
14
14
|
s.email = %q{gus@gusg.us}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -42,6 +42,8 @@ Gem::Specification.new do |s|
|
|
42
42
|
"lib/riot/assertion_macros/same_elements.rb",
|
43
43
|
"lib/riot/assertion_macros/size.rb",
|
44
44
|
"lib/riot/context.rb",
|
45
|
+
"lib/riot/context_helpers.rb",
|
46
|
+
"lib/riot/context_options.rb",
|
45
47
|
"lib/riot/message.rb",
|
46
48
|
"lib/riot/middleware.rb",
|
47
49
|
"lib/riot/reporter.rb",
|
@@ -49,12 +51,12 @@ Gem::Specification.new do |s|
|
|
49
51
|
"lib/riot/runnable.rb",
|
50
52
|
"lib/riot/situation.rb",
|
51
53
|
"riot.gemspec",
|
54
|
+
"test.watchr",
|
52
55
|
"test/benchmark/colorize.rb",
|
53
56
|
"test/benchmark/message_concatenation.rb",
|
54
57
|
"test/benchmark/riot_vs_minitest.rb",
|
55
58
|
"test/benchmark/same_elements_vs_set.rb",
|
56
59
|
"test/benchmark/simple_context_and_assertions.rb",
|
57
|
-
"test/core/assertion_macro_test.rb",
|
58
60
|
"test/core/assertion_macros/any_test.rb",
|
59
61
|
"test/core/assertion_macros/assigns_test.rb",
|
60
62
|
"test/core/assertion_macros/empty_test.rb",
|
@@ -63,24 +65,33 @@ Gem::Specification.new do |s|
|
|
63
65
|
"test/core/assertion_macros/exists_test.rb",
|
64
66
|
"test/core/assertion_macros/includes_test.rb",
|
65
67
|
"test/core/assertion_macros/kind_of_test.rb",
|
66
|
-
"test/core/assertion_macros/
|
68
|
+
"test/core/assertion_macros/matches_test.rb",
|
67
69
|
"test/core/assertion_macros/nil_test.rb",
|
68
70
|
"test/core/assertion_macros/not_borat_test.rb",
|
69
71
|
"test/core/assertion_macros/raises_test.rb",
|
70
72
|
"test/core/assertion_macros/respond_to_test.rb",
|
71
73
|
"test/core/assertion_macros/same_elements_test.rb",
|
72
74
|
"test/core/assertion_macros/size_test.rb",
|
73
|
-
"test/core/
|
74
|
-
"test/core/
|
75
|
-
"test/core/
|
76
|
-
"test/core/
|
77
|
-
"test/core/
|
78
|
-
"test/core/
|
75
|
+
"test/core/context/asserts_topic_test.rb",
|
76
|
+
"test/core/context/context_test.rb",
|
77
|
+
"test/core/context/context_with_options_test.rb",
|
78
|
+
"test/core/context/deny_test.rb",
|
79
|
+
"test/core/context/helper_test.rb",
|
80
|
+
"test/core/context/hookup_test.rb",
|
81
|
+
"test/core/context/nested_contexts_test.rb",
|
82
|
+
"test/core/context/premium_setup_test.rb",
|
83
|
+
"test/core/context/should_test.rb",
|
84
|
+
"test/core/context/using_describe_in_a_test.rb",
|
85
|
+
"test/core/middleware/chained_context_middleware_test.rb",
|
86
|
+
"test/core/middleware/context_middleware_test.rb",
|
79
87
|
"test/core/report_test.rb",
|
80
|
-
"test/core/
|
81
|
-
"test/core/
|
82
|
-
"test/core/
|
83
|
-
"test/core/
|
88
|
+
"test/core/runnable/assertion_macro_test.rb",
|
89
|
+
"test/core/runnable/assertion_test.rb",
|
90
|
+
"test/core/runnable/message_test.rb",
|
91
|
+
"test/core/runnable/negative_assertion_test.rb",
|
92
|
+
"test/core/runnable/setup_test.rb",
|
93
|
+
"test/core/runnable/situation_test.rb",
|
94
|
+
"test/core/runnable/teardown_test.rb",
|
84
95
|
"test/extensions/rrriot_test.rb",
|
85
96
|
"test/teststrap.rb"
|
86
97
|
]
|
@@ -95,7 +106,6 @@ Gem::Specification.new do |s|
|
|
95
106
|
"test/benchmark/riot_vs_minitest.rb",
|
96
107
|
"test/benchmark/same_elements_vs_set.rb",
|
97
108
|
"test/benchmark/simple_context_and_assertions.rb",
|
98
|
-
"test/core/assertion_macro_test.rb",
|
99
109
|
"test/core/assertion_macros/any_test.rb",
|
100
110
|
"test/core/assertion_macros/assigns_test.rb",
|
101
111
|
"test/core/assertion_macros/empty_test.rb",
|
@@ -104,24 +114,33 @@ Gem::Specification.new do |s|
|
|
104
114
|
"test/core/assertion_macros/exists_test.rb",
|
105
115
|
"test/core/assertion_macros/includes_test.rb",
|
106
116
|
"test/core/assertion_macros/kind_of_test.rb",
|
107
|
-
"test/core/assertion_macros/
|
117
|
+
"test/core/assertion_macros/matches_test.rb",
|
108
118
|
"test/core/assertion_macros/nil_test.rb",
|
109
119
|
"test/core/assertion_macros/not_borat_test.rb",
|
110
120
|
"test/core/assertion_macros/raises_test.rb",
|
111
121
|
"test/core/assertion_macros/respond_to_test.rb",
|
112
122
|
"test/core/assertion_macros/same_elements_test.rb",
|
113
123
|
"test/core/assertion_macros/size_test.rb",
|
114
|
-
"test/core/
|
115
|
-
"test/core/
|
116
|
-
"test/core/
|
117
|
-
"test/core/
|
118
|
-
"test/core/
|
119
|
-
"test/core/
|
124
|
+
"test/core/context/asserts_topic_test.rb",
|
125
|
+
"test/core/context/context_test.rb",
|
126
|
+
"test/core/context/context_with_options_test.rb",
|
127
|
+
"test/core/context/deny_test.rb",
|
128
|
+
"test/core/context/helper_test.rb",
|
129
|
+
"test/core/context/hookup_test.rb",
|
130
|
+
"test/core/context/nested_contexts_test.rb",
|
131
|
+
"test/core/context/premium_setup_test.rb",
|
132
|
+
"test/core/context/should_test.rb",
|
133
|
+
"test/core/context/using_describe_in_a_test.rb",
|
134
|
+
"test/core/middleware/chained_context_middleware_test.rb",
|
135
|
+
"test/core/middleware/context_middleware_test.rb",
|
120
136
|
"test/core/report_test.rb",
|
121
|
-
"test/core/
|
122
|
-
"test/core/
|
123
|
-
"test/core/
|
124
|
-
"test/core/
|
137
|
+
"test/core/runnable/assertion_macro_test.rb",
|
138
|
+
"test/core/runnable/assertion_test.rb",
|
139
|
+
"test/core/runnable/message_test.rb",
|
140
|
+
"test/core/runnable/negative_assertion_test.rb",
|
141
|
+
"test/core/runnable/setup_test.rb",
|
142
|
+
"test/core/runnable/situation_test.rb",
|
143
|
+
"test/core/runnable/teardown_test.rb",
|
125
144
|
"test/extensions/rrriot_test.rb",
|
126
145
|
"test/teststrap.rb"
|
127
146
|
]
|