gimme 0.2.0 → 0.3.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.
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