gimme 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/Gemfile +3 -2
  2. data/Guardfile +1 -2
  3. data/LICENSE.txt +1 -1
  4. data/README.markdown +1 -1
  5. data/VERSION +1 -1
  6. data/features/basics.feature +66 -0
  7. data/features/matchers.feature +126 -0
  8. data/features/{argument_captors.feature → old/argument_captors.feature} +0 -0
  9. data/features/{gimme_next.feature → old/gimme_next.feature} +0 -0
  10. data/features/{stub_basic.feature → old/stub_basic.feature} +0 -0
  11. data/features/{stub_class_methods.feature → old/stub_class_methods.feature} +0 -1
  12. data/features/{stub_matchers.feature → old/stub_matchers.feature} +0 -0
  13. data/features/{stub_sensible_defaults.feature → old/stub_sensible_defaults.feature} +0 -0
  14. data/features/{unknown_methods.feature → old/unknown_methods.feature} +0 -0
  15. data/features/{verify_matcher_anything.feature → old/verify_matcher_anything.feature} +0 -0
  16. data/features/old/verify_no_args.feature +23 -0
  17. data/features/{verify_with_args.feature → old/verify_with_args.feature} +0 -0
  18. data/features/readme.md +3 -0
  19. data/features/step_definitions/doc_steps.rb +12 -0
  20. data/features/step_definitions/gimme_steps.rb +17 -0
  21. data/features/support/animals.rb +9 -0
  22. data/gimme.gemspec +35 -18
  23. data/lib/gimme.rb +8 -1
  24. data/lib/gimme/dsl.rb +19 -5
  25. data/lib/gimme/ensures_class_method_restoration.rb +18 -0
  26. data/lib/gimme/gives.rb +1 -2
  27. data/lib/gimme/gives_class_methods.rb +5 -29
  28. data/lib/gimme/invocation_store.rb +14 -0
  29. data/lib/gimme/invokes_satisfied_stubbing.rb +18 -10
  30. data/lib/gimme/method_store.rb +21 -0
  31. data/lib/gimme/reset.rb +10 -3
  32. data/lib/gimme/resolves_methods.rb +1 -1
  33. data/lib/gimme/spies_on_class_methods.rb +28 -0
  34. data/lib/gimme/store.rb +38 -0
  35. data/lib/gimme/stubbing_store.rb +17 -0
  36. data/lib/gimme/test_double.rb +13 -10
  37. data/lib/gimme/verifies.rb +10 -6
  38. data/lib/gimme/verifies_class_methods.rb +8 -0
  39. data/spec/gimme/shared_examples/shared_gives_examples.rb +28 -26
  40. data/spec/gimme/shared_examples/shared_verifies_examples.rb +91 -0
  41. data/spec/gimme/spies_on_class_method_spec.rb +58 -0
  42. data/spec/gimme/verifies_class_methods_spec.rb +46 -0
  43. data/spec/gimme/verifies_spec.rb +7 -94
  44. metadata +59 -42
  45. data/features/verify_no_args.feature +0 -18
@@ -1,34 +1,36 @@
1
- shared_examples_for "a normal stubbing" do
2
- describe "stubbing an existing method" do
3
- context "no args" do
4
- When { gives.nibble() { "nom" } }
5
- Then { subject.nibble.should == "nom" }
6
- end
1
+ module Gimme
2
+ shared_examples_for "a normal stubbing" do
3
+ describe "stubbing an existing method" do
4
+ context "no args" do
5
+ When { gives.nibble() { "nom" } }
6
+ Then { subject.nibble.should == "nom" }
7
+ end
7
8
 
8
- context "with args" do
9
- When { gives.eat("carrot") { "crunch" } }
10
- Then { subject.eat("carrot").should == "crunch" }
11
- Then { subject.eat("apple").should == nil }
12
- # Then { lambda{ subject.eat }.should raise_error ArgumentError } # <PENDING
13
- end
9
+ context "with args" do
10
+ When { gives.eat("carrot") { "crunch" } }
11
+ Then { subject.eat("carrot").should == "crunch" }
12
+ Then { subject.eat("apple").should == nil }
13
+ # Then { lambda{ subject.eat }.should raise_error ArgumentError } # <PENDING
14
+ end
14
15
 
15
- context "with arg matchers" do
16
- When { gives.eat(is_a(String)) { "yum" } }
17
- Then { subject.eat("fooberry").should == "yum" }
18
- Then { subject.eat(15).should == nil }
16
+ context "with arg matchers" do
17
+ When { gives.eat(is_a(String)) { "yum" } }
18
+ Then { subject.eat("fooberry").should == "yum" }
19
+ Then { subject.eat(15).should == nil }
20
+ end
19
21
  end
20
- end
21
22
 
22
- describe "stubbing a non-existent method" do
23
- When(:stubbing) { lambda { gives.bark { "woof" } } }
24
- Then { stubbing.should raise_error NoMethodError }
23
+ describe "stubbing a non-existent method" do
24
+ When(:stubbing) { lambda { gives.bark { "woof" } } }
25
+ Then { stubbing.should raise_error NoMethodError }
26
+ end
25
27
  end
26
- end
27
28
 
28
- shared_examples_for "an overridden stubbing" do
29
- context "configured to _not_ raise an error when stubbed method does not exist" do
30
- Given { gives.raises_no_method_error =false }
31
- When { gives.bark { "woof" } }
32
- Then { subject.bark.should == "woof" }
29
+ shared_examples_for "an overridden stubbing" do
30
+ context "configured to _not_ raise an error when stubbed method does not exist" do
31
+ Given { gives.raises_no_method_error =false }
32
+ When { gives.bark { "woof" } }
33
+ Then { subject.bark.should == "woof" }
34
+ end
33
35
  end
34
36
  end
@@ -0,0 +1,91 @@
1
+ module Gimme
2
+ shared_examples_for "a verifier" do
3
+
4
+ context "invoked once when expected once" do
5
+ Given { test_double.ferment }
6
+ When(:result) { lambda { verifier.ferment } }
7
+ Then { result.should_not raise_error }
8
+ end
9
+
10
+ context "never invoked" do
11
+ When(:result) { lambda { verifier.ferment } }
12
+ Then { result.should raise_error Errors::VerificationFailedError }
13
+ Then do result.should raise_error Errors::VerificationFailedError,
14
+ "expected #{double_name}#ferment to have been called with arguments #{[]}\n"+
15
+ " but was never called"
16
+ end
17
+ end
18
+
19
+ context "invoked with incorrect args" do
20
+ Given { test_double.ferment(5) }
21
+ When(:result) { lambda { verifier.ferment(4) } }
22
+ Then do result.should raise_error Errors::VerificationFailedError,
23
+ "expected #{double_name}#ferment to have been called with arguments #{[4]}\n"+
24
+ " was actually called 1 times with arguments #{[5]}"
25
+ end
26
+ end
27
+
28
+ context "invoked incorrectly a whole bunch" do
29
+ Given { test_double.ferment(5) }
30
+ Given { test_double.ferment(5) }
31
+ Given { test_double.ferment(3) }
32
+ When(:result) { lambda { verifier.ferment(4) } }
33
+ Then do result.should raise_error Errors::VerificationFailedError,
34
+ /.* was actually called 2 times with arguments #{Regexp.escape([5].to_s)}.*/m
35
+ end
36
+ Then do result.should raise_error Errors::VerificationFailedError,
37
+ /.* was actually called 1 times with arguments #{Regexp.escape([3].to_s)}.*/m
38
+ end
39
+ end
40
+
41
+ context "invoked too few times" do
42
+ Given(:verifier) { verifier_class.new(test_double,3) }
43
+ Given { 2.times { test_double.ferment } }
44
+ When(:result) { lambda { verifier.ferment } }
45
+ Then { result.should raise_error Errors::VerificationFailedError }
46
+ end
47
+
48
+ context "juggling multiple verifiers for the same method" do
49
+ Given(:multi_verifier) { verifier_class.new(test_double,2) }
50
+ Given { test_double.ferment(:panda,:sauce) }
51
+ Given { 2.times { test_double.ferment(2,3) } }
52
+ When(:result) do
53
+ lambda do
54
+ multi_verifier.ferment(2,3)
55
+ verifier.ferment(:panda,:sauce)
56
+ end
57
+ end
58
+ Then { result.should_not raise_error }
59
+ end
60
+
61
+ context "a method not on the test_double" do
62
+ When(:result) { lambda { verifier.eat } }
63
+ Then { result.should raise_error NoMethodError }
64
+ end
65
+
66
+ context "a satisfied argument matcher" do
67
+ Given { test_double.ferment(5) }
68
+ When(:result) { lambda { verifier.ferment(numeric) } }
69
+ Then { result.should_not raise_error }
70
+ end
71
+
72
+ context "an unsatisifed argument matcher" do
73
+ Given { test_double.ferment("True") }
74
+ When(:result) { lambda { verifier.ferment(boolean) } }
75
+ Then { result.should raise_error Errors::VerificationFailedError }
76
+ end
77
+ end
78
+
79
+ shared_examples_for "an overridden verifier" do
80
+ context "a method not on the double that is invoked" do
81
+ Given { test_double.eat }
82
+ When(:result) { lambda { verifier.eat } }
83
+ Then { result.should_not raise_error }
84
+ end
85
+
86
+ context "a method not on the test_double that is _not_ invoked" do
87
+ When(:result) { lambda { verifier.eat } }
88
+ Then { result.should raise_error Errors::VerificationFailedError }
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,58 @@
1
+ require 'spec_helper'
2
+
3
+ module Gimme
4
+ class ChairFactory
5
+
6
+ def self.build
7
+ raise RuntimeError.new "unimplemented feature"
8
+ end
9
+
10
+ def self.destroy
11
+ raise RuntimeError.new "unimplemented feature"
12
+ end
13
+
14
+ end
15
+
16
+ describe SpiesOnClassMethod do
17
+ shared_examples_for "it spies on class methods" do
18
+ describe "normal class method spy" do
19
+ Given(:invocation) { lambda { ChairFactory.build } }
20
+ Then { invocation.should_not raise_error }
21
+
22
+ context "upon reset" do
23
+ When { Gimme.reset }
24
+ Then { invocation.should raise_error }
25
+ end
26
+
27
+ end
28
+
29
+ describe "imaginary class method spy" do
30
+ Given(:invocation) { lambda { ChairFactory.fantasy } }
31
+ Then { invocation.should_not raise_error }
32
+
33
+ context "upon reset" do
34
+ When { Gimme.reset }
35
+ Then { invocation.should raise_error }
36
+ end
37
+ end
38
+ end
39
+
40
+ context "classical API" do
41
+ it_behaves_like "it spies on class methods" do
42
+ subject { SpiesOnClassMethod.new(ChairFactory) }
43
+ Given { subject.spy(:build) }
44
+ Given { subject.raises_no_method_error = false }
45
+ Given { subject.spy(:fantasy) }
46
+ end
47
+ end
48
+
49
+ context "gimme DSL" do
50
+ it_behaves_like "it spies on class methods" do
51
+ Given { spy_on(ChairFactory, :build) }
52
+ Given { spy_on!(ChairFactory, :fantasy) }
53
+ end
54
+ end
55
+
56
+
57
+ end
58
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+ require 'gimme/shared_examples/shared_verifies_examples'
3
+
4
+ module Gimme
5
+
6
+ describe VerifiesClassMethods do
7
+ class Natto
8
+ def self.ferment(beans=nil,time=nil)
9
+ end
10
+ end
11
+
12
+ Given(:test_double) { Natto }
13
+ Given(:double_name) { "#<Class:Gimme::Natto>" }
14
+ Given(:verifier_class) { VerifiesClassMethods }
15
+
16
+ context "class API" do
17
+ Given { SpiesOnClassMethod.new(Natto).spy(:ferment) }
18
+
19
+ Given(:verifier) { VerifiesClassMethods.new(test_double) }
20
+
21
+ it_behaves_like "a verifier"
22
+
23
+ it_behaves_like "an overridden verifier" do
24
+ Given do
25
+ s = SpiesOnClassMethod.new(Natto)
26
+ s.raises_no_method_error = false
27
+ s.spy(:eat)
28
+ end
29
+ Given { verifier.raises_no_method_error = false }
30
+ end
31
+ end
32
+
33
+ context "gimme DSL" do
34
+ Given { spy_on(Natto, :ferment)}
35
+
36
+ it_behaves_like "a verifier" do
37
+ Given(:verifier) { verify(test_double) }
38
+ end
39
+
40
+ it_behaves_like "an overridden verifier" do
41
+ Given { spy_on!(Natto, :eat) }
42
+ Given(:verifier) { verify!(test_double) }
43
+ end
44
+ end
45
+ end
46
+ end
@@ -1,104 +1,17 @@
1
1
  require 'spec_helper'
2
-
3
- class Natto
4
- def ferment(beans=nil,time=nil)
5
- end
6
- end
2
+ require 'gimme/shared_examples/shared_verifies_examples'
7
3
 
8
4
  module Gimme
9
- describe Verifies do
10
-
11
- Given(:test_double) { gimme(Natto) }
12
-
13
- shared_examples_for "a verifier" do
14
-
15
- context "invoked once when expected once" do
16
- Given { test_double.ferment }
17
- When(:result) { lambda { verifier.ferment } }
18
- Then { result.should_not raise_error }
19
- end
20
-
21
- context "never invoked" do
22
- When(:result) { lambda { verifier.ferment } }
23
- Then { result.should raise_error Errors::VerificationFailedError }
24
- Then do result.should raise_error Errors::VerificationFailedError,
25
- "expected Natto#ferment to have been called with arguments #{[]}\n"+
26
- " but was never called"
27
- end
28
- end
29
-
30
- context "invoked with incorrect args" do
31
- Given { test_double.ferment(5) }
32
- When(:result) { lambda { verifier.ferment(4) } }
33
- Then do result.should raise_error Errors::VerificationFailedError,
34
- "expected Natto#ferment to have been called with arguments #{[4]}\n"+
35
- " was actually called 1 times with arguments #{[5]}"
36
- end
37
- end
38
-
39
- context "invoked incorrectly a whole bunch" do
40
- Given { test_double.ferment(5) }
41
- Given { test_double.ferment(5) }
42
- Given { test_double.ferment(3) }
43
- When(:result) { lambda { verifier.ferment(4) } }
44
- Then do result.should raise_error Errors::VerificationFailedError,
45
- /.* was actually called 2 times with arguments #{Regexp.escape([5].to_s)}.*/m
46
- end
47
- Then do result.should raise_error Errors::VerificationFailedError,
48
- /.* was actually called 1 times with arguments #{Regexp.escape([3].to_s)}.*/m
49
- end
50
- end
51
5
 
52
- context "invoked too few times" do
53
- Given(:verifier) { Verifies.new(test_double,3) }
54
- Given { 2.times { test_double.ferment } }
55
- When(:result) { lambda { verifier.ferment } }
56
- Then { result.should raise_error Errors::VerificationFailedError }
57
- end
58
-
59
- context "juggling multiple verifiers for the same method" do
60
- Given(:multi_verifier) { Verifies.new(test_double,2) }
61
- Given { test_double.ferment(:panda,:sauce) }
62
- Given { 2.times { test_double.ferment(2,3) } }
63
- When(:result) do
64
- lambda do
65
- multi_verifier.ferment(2,3)
66
- verifier.ferment(:panda,:sauce)
67
- end
68
- end
69
- Then { result.should_not raise_error }
70
- end
71
-
72
- context "a method not on the test_double" do
73
- When(:result) { lambda { verifier.eat } }
74
- Then { result.should raise_error NoMethodError }
75
- end
76
-
77
- context "a satisfied argument matcher" do
78
- Given { test_double.ferment(5) }
79
- When(:result) { lambda { verifier.ferment(numeric) } }
80
- Then { result.should_not raise_error }
81
- end
82
-
83
- context "an unsatisifed argument matcher" do
84
- Given { test_double.ferment("True") }
85
- When(:result) { lambda { verifier.ferment(boolean) } }
86
- Then { result.should raise_error Errors::VerificationFailedError }
6
+ describe Verifies do
7
+ class Natto
8
+ def ferment(beans=nil,time=nil)
87
9
  end
88
10
  end
89
11
 
90
- shared_examples_for "an overridden verifier" do
91
- context "a method not on the double that is invoked" do
92
- Given { test_double.eat }
93
- When(:result) { lambda { verifier.eat } }
94
- Then { result.should_not raise_error }
95
- end
96
-
97
- context "a method not on the test_double that is _not_ invoked" do
98
- When(:result) { lambda { verifier.eat } }
99
- Then { result.should raise_error Errors::VerificationFailedError }
100
- end
101
- end
12
+ Given(:test_double) { gimme(Natto) }
13
+ Given(:double_name) { "Gimme::Natto" }
14
+ Given(:verifier_class) { Verifies }
102
15
 
103
16
  context "class API" do
104
17
  Given(:verifier) { Verifies.new(test_double) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gimme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-27 00:00:00.000000000Z
12
+ date: 2012-03-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry
16
- requirement: &895832590 !ruby/object:Gem::Requirement
16
+ requirement: &890335710 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *895832590
24
+ version_requirements: *890335710
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &895832300 !ruby/object:Gem::Requirement
27
+ requirement: &890335450 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *895832300
35
+ version_requirements: *890335450
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jeweler
38
- requirement: &895832010 !ruby/object:Gem::Requirement
38
+ requirement: &890335170 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.5.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *895832010
46
+ version_requirements: *890335170
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &895831720 !ruby/object:Gem::Requirement
49
+ requirement: &890334920 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *895831720
57
+ version_requirements: *890334920
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec-given
60
- requirement: &895831430 !ruby/object:Gem::Requirement
60
+ requirement: &890334650 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *895831430
68
+ version_requirements: *890334650
69
69
  - !ruby/object:Gem::Dependency
70
- name: guard-rspec
71
- requirement: &895831140 !ruby/object:Gem::Requirement
70
+ name: cucumber
71
+ requirement: &890334380 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *895831140
79
+ version_requirements: *890334380
80
80
  - !ruby/object:Gem::Dependency
81
- name: cucumber
82
- requirement: &895830870 !ruby/object:Gem::Requirement
81
+ name: simplecov
82
+ requirement: &890334130 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *895830870
90
+ version_requirements: *890334130
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: guard-cucumber
93
- requirement: &895830610 !ruby/object:Gem::Requirement
93
+ requirement: &890333880 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *895830610
101
+ version_requirements: *890333880
102
102
  - !ruby/object:Gem::Dependency
103
- name: simplecov
104
- requirement: &895830320 !ruby/object:Gem::Requirement
103
+ name: guard-rspec
104
+ requirement: &890333610 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *895830320
112
+ version_requirements: *890333610
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: growl
115
- requirement: &895830030 !ruby/object:Gem::Requirement
115
+ requirement: &890333370 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *895830030
123
+ version_requirements: *890333370
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rb-fsevent
126
- requirement: &895829740 !ruby/object:Gem::Requirement
126
+ requirement: &890333130 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *895829740
134
+ version_requirements: *890333130
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rspec
137
- requirement: &895829450 !ruby/object:Gem::Requirement
137
+ requirement: &890332880 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: 1.3.1
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *895829450
145
+ version_requirements: *890332880
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: cucumber
148
- requirement: &895829190 !ruby/object:Gem::Requirement
148
+ requirement: &890332640 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,7 +153,7 @@ dependencies:
153
153
  version: 0.10.0
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *895829190
156
+ version_requirements: *890332640
157
157
  description: ! 'gimme attempts to bring to Ruby a test double workflow akin to Mockito
158
158
  in Java. Major distinctions include preserving arrange-act-assert in tests, fast
159
159
  feedback for methods the double''s real counterpart may not know how to respond
@@ -177,34 +177,45 @@ files:
177
177
  - README.rdoc
178
178
  - Rakefile
179
179
  - VERSION
180
- - features/argument_captors.feature
181
- - features/gimme_next.feature
180
+ - features/basics.feature
181
+ - features/matchers.feature
182
+ - features/old/argument_captors.feature
183
+ - features/old/gimme_next.feature
184
+ - features/old/stub_basic.feature
185
+ - features/old/stub_class_methods.feature
186
+ - features/old/stub_matchers.feature
187
+ - features/old/stub_sensible_defaults.feature
188
+ - features/old/unknown_methods.feature
189
+ - features/old/verify_matcher_anything.feature
190
+ - features/old/verify_no_args.feature
191
+ - features/old/verify_with_args.feature
192
+ - features/readme.md
193
+ - features/step_definitions/doc_steps.rb
182
194
  - features/step_definitions/gimme_steps.rb
183
- - features/stub_basic.feature
184
- - features/stub_class_methods.feature
185
- - features/stub_matchers.feature
186
- - features/stub_sensible_defaults.feature
187
195
  - features/support/animals.rb
188
196
  - features/support/env.rb
189
- - features/unknown_methods.feature
190
- - features/verify_matcher_anything.feature
191
- - features/verify_no_args.feature
192
- - features/verify_with_args.feature
193
197
  - gimme.gemspec
194
198
  - lib/gimme-double.rb
195
199
  - lib/gimme.rb
196
200
  - lib/gimme/captor.rb
197
201
  - lib/gimme/dsl.rb
202
+ - lib/gimme/ensures_class_method_restoration.rb
198
203
  - lib/gimme/errors.rb
199
204
  - lib/gimme/gives.rb
200
205
  - lib/gimme/gives_class_methods.rb
206
+ - lib/gimme/invocation_store.rb
201
207
  - lib/gimme/invokes_satisfied_stubbing.rb
202
208
  - lib/gimme/matchers.rb
209
+ - lib/gimme/method_store.rb
203
210
  - lib/gimme/reset.rb
204
211
  - lib/gimme/resolves_methods.rb
205
212
  - lib/gimme/rspec_adapter.rb
213
+ - lib/gimme/spies_on_class_methods.rb
214
+ - lib/gimme/store.rb
215
+ - lib/gimme/stubbing_store.rb
206
216
  - lib/gimme/test_double.rb
207
217
  - lib/gimme/verifies.rb
218
+ - lib/gimme/verifies_class_methods.rb
208
219
  - spec/gimme/captor_spec.rb
209
220
  - spec/gimme/errors_spec.rb
210
221
  - spec/gimme/gives_class_methods_spec.rb
@@ -213,7 +224,10 @@ files:
213
224
  - spec/gimme/resolves_methods_spec.rb
214
225
  - spec/gimme/rspec_adapter_spec.rb
215
226
  - spec/gimme/shared_examples/shared_gives_examples.rb
227
+ - spec/gimme/shared_examples/shared_verifies_examples.rb
228
+ - spec/gimme/spies_on_class_method_spec.rb
216
229
  - spec/gimme/test_double_spec.rb
230
+ - spec/gimme/verifies_class_methods_spec.rb
217
231
  - spec/gimme/verifies_spec.rb
218
232
  - spec/spec_helper.rb
219
233
  homepage: http://github.com/searls/gimme
@@ -231,7 +245,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
245
  version: '0'
232
246
  segments:
233
247
  - 0
234
- hash: -671944717
248
+ hash: 5661585
235
249
  required_rubygems_version: !ruby/object:Gem::Requirement
236
250
  none: false
237
251
  requirements:
@@ -253,6 +267,9 @@ test_files:
253
267
  - spec/gimme/resolves_methods_spec.rb
254
268
  - spec/gimme/rspec_adapter_spec.rb
255
269
  - spec/gimme/shared_examples/shared_gives_examples.rb
270
+ - spec/gimme/shared_examples/shared_verifies_examples.rb
271
+ - spec/gimme/spies_on_class_method_spec.rb
256
272
  - spec/gimme/test_double_spec.rb
273
+ - spec/gimme/verifies_class_methods_spec.rb
257
274
  - spec/gimme/verifies_spec.rb
258
275
  - spec/spec_helper.rb