spy 0.0.1
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/.gitignore +18 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +133 -0
- data/Rakefile +8 -0
- data/TODO.md +8 -0
- data/lib/spy.rb +259 -0
- data/lib/spy/double.rb +11 -0
- data/lib/spy/dsl.rb +7 -0
- data/lib/spy/version.rb +3 -0
- data/spec/spec_helper.rb +39 -0
- data/spec/spy/and_call_original_spec.rb +152 -0
- data/spec/spy/and_yield_spec.rb +114 -0
- data/spec/spy/bug_report_10260_spec.rb +8 -0
- data/spec/spy/bug_report_10263_spec.rb +24 -0
- data/spec/spy/bug_report_496_spec.rb +18 -0
- data/spec/spy/bug_report_600_spec.rb +24 -0
- data/spec/spy/bug_report_7611_spec.rb +16 -0
- data/spec/spy/bug_report_8165_spec.rb +31 -0
- data/spec/spy/bug_report_830_spec.rb +21 -0
- data/spec/spy/bug_report_957_spec.rb +22 -0
- data/spec/spy/double_spec.rb +12 -0
- data/spec/spy/failing_argument_matchers_spec.rb +94 -0
- data/spec/spy/hash_excluding_matcher_spec.rb +67 -0
- data/spec/spy/hash_including_matcher_spec.rb +90 -0
- data/spec/spy/mock_spec.rb +734 -0
- data/spec/spy/multiple_return_value_spec.rb +119 -0
- data/spec/spy/mutate_const_spec.rb +481 -0
- data/spec/spy/nil_expectation_warning_spec.rb +56 -0
- data/spec/spy/null_object_mock_spec.rb +107 -0
- data/spec/spy/options_hash_spec.rb +35 -0
- data/spec/spy/partial_mock_spec.rb +196 -0
- data/spec/spy/passing_argument_matchers_spec.rb +142 -0
- data/spec/spy/precise_counts_spec.rb +68 -0
- data/spec/spy/serialization_spec.rb +110 -0
- data/spec/spy/stash_spec.rb +54 -0
- data/spec/spy/stub_implementation_spec.rb +62 -0
- data/spec/spy/stub_spec.rb +85 -0
- data/spec/spy/stubbed_message_expectations_spec.rb +47 -0
- data/spec/spy/test_double_spec.rb +57 -0
- data/spec/spy/to_ary_spec.rb +40 -0
- data/spy.gemspec +21 -0
- data/test/spy/test_double.rb +19 -0
- data/test/test_helper.rb +6 -0
- data/test/test_spy.rb +258 -0
- metadata +157 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "a double receiving to_ary" do
|
4
|
+
shared_examples "to_ary" do
|
5
|
+
it "returns nil" do
|
6
|
+
expect do
|
7
|
+
expect(obj.to_ary).to be_nil
|
8
|
+
end.to raise_error(NoMethodError)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "doesn't respond" do
|
12
|
+
expect(obj).not_to respond_to(:to_ary)
|
13
|
+
end
|
14
|
+
|
15
|
+
it "can be overridden with a stub" do
|
16
|
+
Spy.on(obj, :to_ary) { :non_nil_value }
|
17
|
+
expect(obj.to_ary).to be(:non_nil_value)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "responds when overriden" do
|
21
|
+
Spy.on(obj, :to_ary) { :non_nil_value }
|
22
|
+
expect(obj).to respond_to(:to_ary)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "supports Array#flatten" do
|
26
|
+
obj = double('foo')
|
27
|
+
expect([obj].flatten).to eq([obj])
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context "double as_null_object" do
|
32
|
+
let(:obj) { double('obj').as_null_object }
|
33
|
+
include_examples "to_ary"
|
34
|
+
end
|
35
|
+
|
36
|
+
context "double without as_null_object" do
|
37
|
+
let(:obj) { double('obj') }
|
38
|
+
include_examples "to_ary"
|
39
|
+
end
|
40
|
+
end
|
data/spy.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'spy/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "spy"
|
8
|
+
gem.version = Spy::VERSION
|
9
|
+
gem.authors = ["Ryan Ong"]
|
10
|
+
gem.email = ["ryanong@gmail.com"]
|
11
|
+
gem.description = %q{A simple mocking library that doesn't spies your intelligence.}
|
12
|
+
gem.summary = %q{A simple non destructive mocking library.}
|
13
|
+
gem.homepage = ""
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
gem.add_development_dependency('minitest', '>= 4.5.0')
|
20
|
+
gem.add_development_dependency('rspec')
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class Spy
|
4
|
+
class TestDouble < MiniTest::Unit::TestCase
|
5
|
+
def test_double_creation
|
6
|
+
double = Double.new("NewDouble", :meth_1, :meth_2)
|
7
|
+
|
8
|
+
assert_nil double.meth_1
|
9
|
+
assert_nil double.meth_2
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_double_hash_input
|
13
|
+
double = Double.new("NewDouble", meth_1: :meth_1, meth_2: :meth_2)
|
14
|
+
|
15
|
+
assert_equal :meth_1, double.meth_1
|
16
|
+
assert_equal :meth_2, double.meth_2
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/test/test_helper.rb
ADDED
data/test/test_spy.rb
ADDED
@@ -0,0 +1,258 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestSpy < MiniTest::Unit::TestCase
|
4
|
+
class Pen
|
5
|
+
attr_reader :written, :color
|
6
|
+
|
7
|
+
def initialize(color = :black)
|
8
|
+
@color = color
|
9
|
+
@written = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def write(string)
|
13
|
+
@written << string
|
14
|
+
string
|
15
|
+
end
|
16
|
+
|
17
|
+
def write_block(&block)
|
18
|
+
string = yield
|
19
|
+
@written << string
|
20
|
+
string
|
21
|
+
end
|
22
|
+
|
23
|
+
def write_hello
|
24
|
+
write("hello")
|
25
|
+
end
|
26
|
+
|
27
|
+
def write_array(*args)
|
28
|
+
args.each do |arg|
|
29
|
+
write(arg)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def greet(hello = "hello", name)
|
34
|
+
write("#{hello} #{name}")
|
35
|
+
end
|
36
|
+
|
37
|
+
def public_method
|
38
|
+
end
|
39
|
+
|
40
|
+
protected
|
41
|
+
def protected_method
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
def private_method
|
46
|
+
end
|
47
|
+
|
48
|
+
class << self
|
49
|
+
def another
|
50
|
+
"another"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def setup
|
56
|
+
Spy.teardown
|
57
|
+
@pen = Pen.new
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_spy_on_hook_and_saves_spy
|
61
|
+
pen_write_spy = Spy.on(@pen, :write).and_return("hello")
|
62
|
+
assert_equal "hello", @pen.write(nil)
|
63
|
+
assert_kind_of Spy, pen_write_spy
|
64
|
+
assert_equal [pen_write_spy], Spy.all
|
65
|
+
assert pen_write_spy.has_been_called?
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_spy_on_hooks_and_saves_spy_with_array
|
69
|
+
pen_write_spy, pen_write_hello_spy = Spy.on(@pen, :write, :write_hello)
|
70
|
+
assert_nil @pen.write(nil)
|
71
|
+
assert_nil @pen.write_hello
|
72
|
+
|
73
|
+
assert_kind_of Spy, pen_write_spy
|
74
|
+
assert_kind_of Spy, pen_write_hello_spy
|
75
|
+
assert_equal [pen_write_spy, pen_write_hello_spy], Spy.all
|
76
|
+
assert pen_write_spy.has_been_called?
|
77
|
+
assert pen_write_hello_spy.has_been_called?
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_spy_on_hooks_and_saves_spy_with_array
|
81
|
+
pen_write_spy, pen_write_hello_spy = Spy.on(@pen, write: "hello", write_hello: "world")
|
82
|
+
assert_equal "hello", @pen.write(nil)
|
83
|
+
assert_equal "world", @pen.write_hello
|
84
|
+
|
85
|
+
assert_kind_of Spy, pen_write_spy
|
86
|
+
assert_kind_of Spy, pen_write_hello_spy
|
87
|
+
assert_equal [pen_write_spy, pen_write_hello_spy], Spy.all
|
88
|
+
assert pen_write_spy.has_been_called?
|
89
|
+
assert pen_write_hello_spy.has_been_called?
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_spy_can_hook_and_record_a_method_call
|
93
|
+
pen_write_spy = Spy.new(@pen, :write)
|
94
|
+
pen_write_spy.hook
|
95
|
+
refute pen_write_spy.has_been_called?
|
96
|
+
@pen.write("hello")
|
97
|
+
assert pen_write_spy.has_been_called?
|
98
|
+
assert_empty @pen.written
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_spy_can_hook_and_record_a_method_call_on_a_constant
|
102
|
+
another_spy = Spy.new(Pen, :another)
|
103
|
+
another_spy.hook
|
104
|
+
refute another_spy.has_been_called?
|
105
|
+
assert_nil Pen.another
|
106
|
+
assert another_spy.has_been_called?
|
107
|
+
another_spy.unhook
|
108
|
+
assert_equal "another", Pen.another
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_spy_can_unhook_a_method
|
112
|
+
pen_write_spy = Spy.new(@pen, :write)
|
113
|
+
pen_write_spy.hook
|
114
|
+
pen_write_spy.unhook
|
115
|
+
@pen.write("hello")
|
116
|
+
refute pen_write_spy.has_been_called?
|
117
|
+
end
|
118
|
+
|
119
|
+
def test_spy_cannot_hook_a_non_existent_method
|
120
|
+
spy = Spy.new(@pen, :no_method)
|
121
|
+
assert_raises NameError do
|
122
|
+
spy.hook
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_spy_can_hook_a_non_existent_method_if_param_set
|
127
|
+
spy = Spy.new(@pen, :no_method).and_return(:yep)
|
128
|
+
spy.hook(force: true)
|
129
|
+
assert_equal :yep, @pen.no_method
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_spy_and_return_returns_the_set_value
|
133
|
+
result = "hello world"
|
134
|
+
|
135
|
+
Spy.on(@pen, :write).and_return(result)
|
136
|
+
|
137
|
+
assert_equal result, @pen.write(nil)
|
138
|
+
end
|
139
|
+
|
140
|
+
def test_spy_and_return_can_call_a_block
|
141
|
+
result = "hello world"
|
142
|
+
|
143
|
+
Spy.on(@pen, :write).and_return do |string|
|
144
|
+
string.reverse
|
145
|
+
end
|
146
|
+
|
147
|
+
assert_equal result.reverse, @pen.write(result)
|
148
|
+
assert_empty @pen.written
|
149
|
+
end
|
150
|
+
|
151
|
+
def test_spy_and_return_can_call_a_block_that_recieves_a_block
|
152
|
+
string = "hello world"
|
153
|
+
|
154
|
+
Spy.on(@pen, :write_block).and_return do |&block|
|
155
|
+
block.call
|
156
|
+
end
|
157
|
+
|
158
|
+
result = @pen.write_block do
|
159
|
+
string
|
160
|
+
end
|
161
|
+
assert_equal string, result
|
162
|
+
end
|
163
|
+
|
164
|
+
def test_spy_hook_records_number_of_calls
|
165
|
+
pen_write_spy = Spy.on(@pen, :write)
|
166
|
+
assert_equal 0, pen_write_spy.calls.size
|
167
|
+
5.times do |i|
|
168
|
+
@pen.write("hello world")
|
169
|
+
assert_equal i + 1, pen_write_spy.calls.size
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
def test_has_been_called_with?
|
174
|
+
pen_write_spy = Spy.on(@pen, :write)
|
175
|
+
refute pen_write_spy.has_been_called_with?("hello")
|
176
|
+
@pen.write("hello")
|
177
|
+
assert pen_write_spy.has_been_called_with?("hello")
|
178
|
+
@pen.write("world")
|
179
|
+
assert pen_write_spy.has_been_called_with?("hello")
|
180
|
+
@pen.write("hello world")
|
181
|
+
assert pen_write_spy.has_been_called_with?("hello")
|
182
|
+
end
|
183
|
+
|
184
|
+
def test_spy_hook_records_number_of_calls
|
185
|
+
args = ["hello world"]
|
186
|
+
block = Proc.new {}
|
187
|
+
pen_write_spy = Spy.on(@pen, :write)
|
188
|
+
@pen.write(*args, &block)
|
189
|
+
call_log = pen_write_spy.calls.first
|
190
|
+
assert_equal @pen, call_log.object
|
191
|
+
assert_equal args, call_log.args
|
192
|
+
assert_equal block, call_log.block
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_that_method_spy_keeps_arity
|
196
|
+
Spy.on(@pen, :write)
|
197
|
+
@pen.write("hello world")
|
198
|
+
assert_raises ArgumentError do
|
199
|
+
@pen.write("hello", "world")
|
200
|
+
end
|
201
|
+
|
202
|
+
Spy.on(@pen, :write_hello)
|
203
|
+
@pen.write_hello
|
204
|
+
assert_raises ArgumentError do
|
205
|
+
@pen.write_hello("hello")
|
206
|
+
end
|
207
|
+
|
208
|
+
Spy.on(@pen, :write_array)
|
209
|
+
@pen.write_hello
|
210
|
+
assert_raises ArgumentError do
|
211
|
+
@pen.write_hello("hello")
|
212
|
+
end
|
213
|
+
|
214
|
+
Spy.on(@pen, :greet)
|
215
|
+
@pen.greet("bob")
|
216
|
+
assert_raises ArgumentError do
|
217
|
+
@pen.greet
|
218
|
+
end
|
219
|
+
assert_raises ArgumentError do
|
220
|
+
@pen.greet("hello", "bob", "error")
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
def test_hook_mimics_public_visibility
|
225
|
+
Spy.on(@pen, :public_method)
|
226
|
+
assert @pen.singleton_class.public_method_defined? :public_method
|
227
|
+
refute @pen.singleton_class.protected_method_defined? :public_method
|
228
|
+
refute @pen.singleton_class.private_method_defined? :public_method
|
229
|
+
end
|
230
|
+
|
231
|
+
def test_hook_mimics_protected_visibility
|
232
|
+
Spy.on(@pen, :protected_method)
|
233
|
+
refute @pen.singleton_class.public_method_defined? :protected_method
|
234
|
+
assert @pen.singleton_class.protected_method_defined? :protected_method
|
235
|
+
refute @pen.singleton_class.private_method_defined? :protected_method
|
236
|
+
end
|
237
|
+
|
238
|
+
def test_hook_mimics_private_visibility
|
239
|
+
Spy.on(@pen, :private_method)
|
240
|
+
refute @pen.singleton_class.public_method_defined? :private_method
|
241
|
+
refute @pen.singleton_class.protected_method_defined? :private_method
|
242
|
+
assert @pen.singleton_class.private_method_defined? :private_method
|
243
|
+
end
|
244
|
+
|
245
|
+
def test_spy_off_unhooks_a_method
|
246
|
+
pen_write_spy = Spy.on(@pen, :write)
|
247
|
+
Spy.off(@pen,:write)
|
248
|
+
assert_equal "hello world", @pen.write("hello world")
|
249
|
+
refute pen_write_spy.has_been_called?
|
250
|
+
end
|
251
|
+
|
252
|
+
def test_spy_get_can_retrieve_a_spy
|
253
|
+
pen_write_spy = Spy.on(@pen, :write).and_return(:hello)
|
254
|
+
assert_equal :hello, @pen.write(:world)
|
255
|
+
assert_equal pen_write_spy, Spy.get(@pen, :write)
|
256
|
+
assert Spy.get(@pen, :write).has_been_called?
|
257
|
+
end
|
258
|
+
end
|
metadata
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spy
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Ryan Ong
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: minitest
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 4.5.0
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 4.5.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: A simple mocking library that doesn't spies your intelligence.
|
47
|
+
email:
|
48
|
+
- ryanong@gmail.com
|
49
|
+
executables: []
|
50
|
+
extensions: []
|
51
|
+
extra_rdoc_files: []
|
52
|
+
files:
|
53
|
+
- .gitignore
|
54
|
+
- Gemfile
|
55
|
+
- LICENSE.txt
|
56
|
+
- README.md
|
57
|
+
- Rakefile
|
58
|
+
- TODO.md
|
59
|
+
- lib/spy.rb
|
60
|
+
- lib/spy/double.rb
|
61
|
+
- lib/spy/dsl.rb
|
62
|
+
- lib/spy/version.rb
|
63
|
+
- spec/spec_helper.rb
|
64
|
+
- spec/spy/and_call_original_spec.rb
|
65
|
+
- spec/spy/and_yield_spec.rb
|
66
|
+
- spec/spy/bug_report_10260_spec.rb
|
67
|
+
- spec/spy/bug_report_10263_spec.rb
|
68
|
+
- spec/spy/bug_report_496_spec.rb
|
69
|
+
- spec/spy/bug_report_600_spec.rb
|
70
|
+
- spec/spy/bug_report_7611_spec.rb
|
71
|
+
- spec/spy/bug_report_8165_spec.rb
|
72
|
+
- spec/spy/bug_report_830_spec.rb
|
73
|
+
- spec/spy/bug_report_957_spec.rb
|
74
|
+
- spec/spy/double_spec.rb
|
75
|
+
- spec/spy/failing_argument_matchers_spec.rb
|
76
|
+
- spec/spy/hash_excluding_matcher_spec.rb
|
77
|
+
- spec/spy/hash_including_matcher_spec.rb
|
78
|
+
- spec/spy/mock_spec.rb
|
79
|
+
- spec/spy/multiple_return_value_spec.rb
|
80
|
+
- spec/spy/mutate_const_spec.rb
|
81
|
+
- spec/spy/nil_expectation_warning_spec.rb
|
82
|
+
- spec/spy/null_object_mock_spec.rb
|
83
|
+
- spec/spy/options_hash_spec.rb
|
84
|
+
- spec/spy/partial_mock_spec.rb
|
85
|
+
- spec/spy/passing_argument_matchers_spec.rb
|
86
|
+
- spec/spy/precise_counts_spec.rb
|
87
|
+
- spec/spy/serialization_spec.rb
|
88
|
+
- spec/spy/stash_spec.rb
|
89
|
+
- spec/spy/stub_implementation_spec.rb
|
90
|
+
- spec/spy/stub_spec.rb
|
91
|
+
- spec/spy/stubbed_message_expectations_spec.rb
|
92
|
+
- spec/spy/test_double_spec.rb
|
93
|
+
- spec/spy/to_ary_spec.rb
|
94
|
+
- spy.gemspec
|
95
|
+
- test/spy/test_double.rb
|
96
|
+
- test/test_helper.rb
|
97
|
+
- test/test_spy.rb
|
98
|
+
homepage: ''
|
99
|
+
licenses: []
|
100
|
+
post_install_message:
|
101
|
+
rdoc_options: []
|
102
|
+
require_paths:
|
103
|
+
- lib
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ! '>='
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
116
|
+
requirements: []
|
117
|
+
rubyforge_project:
|
118
|
+
rubygems_version: 1.8.23
|
119
|
+
signing_key:
|
120
|
+
specification_version: 3
|
121
|
+
summary: A simple non destructive mocking library.
|
122
|
+
test_files:
|
123
|
+
- spec/spec_helper.rb
|
124
|
+
- spec/spy/and_call_original_spec.rb
|
125
|
+
- spec/spy/and_yield_spec.rb
|
126
|
+
- spec/spy/bug_report_10260_spec.rb
|
127
|
+
- spec/spy/bug_report_10263_spec.rb
|
128
|
+
- spec/spy/bug_report_496_spec.rb
|
129
|
+
- spec/spy/bug_report_600_spec.rb
|
130
|
+
- spec/spy/bug_report_7611_spec.rb
|
131
|
+
- spec/spy/bug_report_8165_spec.rb
|
132
|
+
- spec/spy/bug_report_830_spec.rb
|
133
|
+
- spec/spy/bug_report_957_spec.rb
|
134
|
+
- spec/spy/double_spec.rb
|
135
|
+
- spec/spy/failing_argument_matchers_spec.rb
|
136
|
+
- spec/spy/hash_excluding_matcher_spec.rb
|
137
|
+
- spec/spy/hash_including_matcher_spec.rb
|
138
|
+
- spec/spy/mock_spec.rb
|
139
|
+
- spec/spy/multiple_return_value_spec.rb
|
140
|
+
- spec/spy/mutate_const_spec.rb
|
141
|
+
- spec/spy/nil_expectation_warning_spec.rb
|
142
|
+
- spec/spy/null_object_mock_spec.rb
|
143
|
+
- spec/spy/options_hash_spec.rb
|
144
|
+
- spec/spy/partial_mock_spec.rb
|
145
|
+
- spec/spy/passing_argument_matchers_spec.rb
|
146
|
+
- spec/spy/precise_counts_spec.rb
|
147
|
+
- spec/spy/serialization_spec.rb
|
148
|
+
- spec/spy/stash_spec.rb
|
149
|
+
- spec/spy/stub_implementation_spec.rb
|
150
|
+
- spec/spy/stub_spec.rb
|
151
|
+
- spec/spy/stubbed_message_expectations_spec.rb
|
152
|
+
- spec/spy/test_double_spec.rb
|
153
|
+
- spec/spy/to_ary_spec.rb
|
154
|
+
- test/spy/test_double.rb
|
155
|
+
- test/test_helper.rb
|
156
|
+
- test/test_spy.rb
|
157
|
+
has_rdoc:
|