developwithpassion_fakes 0.0.6 → 0.0.8
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.
- metadata +9 -17
- data/developwithpassion_fakes.gemspec +0 -27
- data/lib/developwithpassion_fakes/arg_behaviour.rb +0 -24
- data/lib/developwithpassion_fakes/arg_set.rb +0 -12
- data/lib/developwithpassion_fakes/fake.rb +0 -31
- data/lib/developwithpassion_fakes/ignore_set.rb +0 -26
- data/lib/developwithpassion_fakes/method_stub.rb +0 -42
- data/lib/developwithpassion_fakes/version.rb +0 -5
- data/lib/developwithpassion_fakes.rb +0 -11
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: developwithpassion_fakes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-03-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec-core
|
16
|
-
requirement: &
|
16
|
+
requirement: &70351808026040 !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: *
|
24
|
+
version_requirements: *70351808026040
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec-expectations
|
27
|
-
requirement: &
|
27
|
+
requirement: &70351808025520 !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: *
|
35
|
+
version_requirements: *70351808025520
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70351808025040 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70351808025040
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: guard
|
49
|
-
requirement: &
|
49
|
+
requirement: &70351808024600 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70351808024600
|
58
58
|
description: Faking library that allows inspection of received calls after they have
|
59
59
|
been made. Also supports tracking calls with multiple argument sets.
|
60
60
|
email:
|
@@ -69,14 +69,6 @@ files:
|
|
69
69
|
- Guardfile
|
70
70
|
- README.md
|
71
71
|
- Rakefile
|
72
|
-
- developwithpassion_fakes.gemspec
|
73
|
-
- lib/developwithpassion_fakes.rb
|
74
|
-
- lib/developwithpassion_fakes/arg_behaviour.rb
|
75
|
-
- lib/developwithpassion_fakes/arg_set.rb
|
76
|
-
- lib/developwithpassion_fakes/fake.rb
|
77
|
-
- lib/developwithpassion_fakes/ignore_set.rb
|
78
|
-
- lib/developwithpassion_fakes/method_stub.rb
|
79
|
-
- lib/developwithpassion_fakes/version.rb
|
80
72
|
- spec/spec_helper.rb
|
81
73
|
- spec/specs/arg_behaviour_spec.rb
|
82
74
|
- spec/specs/arg_set_spec.rb
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$:.push File.expand_path("../lib",__FILE__)
|
3
|
-
require "developwithpassion_fakes/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |s|
|
6
|
-
s.name = "developwithpassion_fakes"
|
7
|
-
s.version = DevelopWithPassion::Fakes::VERSION
|
8
|
-
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = ["Develop With Passion®"]
|
10
|
-
s.email = ["open_source@developwithpassion.com"]
|
11
|
-
s.homepage = "http://www.developwithpassion.com"
|
12
|
-
s.summary = %q{Simple faking library}
|
13
|
-
s.description = %q{Faking library that allows inspection of received calls after they have been made. Also supports tracking calls with multiple argument sets.}
|
14
|
-
s.rubyforge_project = "developwithpassion_fakes"
|
15
|
-
|
16
|
-
s.files = `git ls-files`.split("\n")
|
17
|
-
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
-
s.require_paths = ["lib"]
|
20
|
-
|
21
|
-
# specify any dependencies here; for example:
|
22
|
-
s.add_development_dependency "rspec-core"
|
23
|
-
s.add_development_dependency "rspec-expectations"
|
24
|
-
s.add_development_dependency "rake"
|
25
|
-
s.add_development_dependency "guard"
|
26
|
-
# s.add_runtime_dependency "rest-client"
|
27
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module DevelopWithPassion
|
2
|
-
module Fakes
|
3
|
-
module ArgBehaviour
|
4
|
-
attr_accessor :return_value,:times_called
|
5
|
-
|
6
|
-
def and_return(item)
|
7
|
-
@return_value = item
|
8
|
-
end
|
9
|
-
|
10
|
-
def capture_args(args)
|
11
|
-
@times_called += 1
|
12
|
-
@called_args = args
|
13
|
-
end
|
14
|
-
|
15
|
-
def matches?(args)
|
16
|
-
return @args == args
|
17
|
-
end
|
18
|
-
|
19
|
-
def was_called_with?(args)
|
20
|
-
return @called_args == args
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
module DevelopWithPassion
|
2
|
-
module Fakes
|
3
|
-
class Fake
|
4
|
-
def initialize(invocation_set = {})
|
5
|
-
@method_invocations = invocation_set
|
6
|
-
end
|
7
|
-
|
8
|
-
def method_missing(name,*args,&block)
|
9
|
-
return @method_invocations.has_key?(name.to_sym) ? @method_invocations[name.to_sym].invoke(args) : handle_unexpected_method_invocation(name,args,block)
|
10
|
-
end
|
11
|
-
|
12
|
-
def handle_unexpected_method_invocation(name,args,block)
|
13
|
-
method = stub(name.to_sym)
|
14
|
-
method.ignore_arg
|
15
|
-
return method.invoke(args)
|
16
|
-
end
|
17
|
-
|
18
|
-
def stub(symbol)
|
19
|
-
return @method_invocations[symbol] || @method_invocations[symbol] = MethodStub.new
|
20
|
-
end
|
21
|
-
|
22
|
-
def received(symbol)
|
23
|
-
return @method_invocations[symbol]
|
24
|
-
end
|
25
|
-
|
26
|
-
def never_received?(symbol)
|
27
|
-
return !@method_invocations.has_key?(symbol)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module DevelopWithPassion
|
2
|
-
module Fakes
|
3
|
-
class IgnoreSet
|
4
|
-
include ArgBehaviour
|
5
|
-
attr_reader :arg_sets
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@times_called = 0
|
9
|
-
@arg_sets = []
|
10
|
-
end
|
11
|
-
|
12
|
-
def matches?(args)
|
13
|
-
return true
|
14
|
-
end
|
15
|
-
|
16
|
-
def capture_args(args)
|
17
|
-
@times_called += 1
|
18
|
-
@arg_sets << args
|
19
|
-
end
|
20
|
-
|
21
|
-
def was_called_with?(args)
|
22
|
-
return @arg_sets.select{|set| set == args}.count > 0
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
module DevelopWithPassion
|
2
|
-
module Fakes
|
3
|
-
class MethodStub
|
4
|
-
def initialize(arg_sets = [])
|
5
|
-
@arg_sets = arg_sets
|
6
|
-
end
|
7
|
-
|
8
|
-
def with(*args)
|
9
|
-
return add_new_set(ArgSet.new(args))
|
10
|
-
end
|
11
|
-
|
12
|
-
def add_new_set(set)
|
13
|
-
@arg_sets << set
|
14
|
-
return set
|
15
|
-
end
|
16
|
-
|
17
|
-
def ignore_arg
|
18
|
-
return add_new_set(IgnoreSet.new)
|
19
|
-
end
|
20
|
-
|
21
|
-
def and_return(item)
|
22
|
-
ignore_arg.and_return(item)
|
23
|
-
end
|
24
|
-
|
25
|
-
|
26
|
-
def invoke(args)
|
27
|
-
set = @arg_sets.find{|item| item.matches?(args)} || ignore_arg
|
28
|
-
set.capture_args(args)
|
29
|
-
return set.return_value
|
30
|
-
end
|
31
|
-
|
32
|
-
def called_with(*args)
|
33
|
-
return @arg_sets.find{|item| item.was_called_with?(args)}
|
34
|
-
end
|
35
|
-
|
36
|
-
def times?(value)
|
37
|
-
total = @arg_sets.inject(0){|sum,item|sum += item.times_called}
|
38
|
-
return total == value
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'developwithpassion_fakes/arg_behaviour'
|
2
|
-
require 'developwithpassion_fakes/arg_set'
|
3
|
-
require 'developwithpassion_fakes/fake'
|
4
|
-
require 'developwithpassion_fakes/ignore_set'
|
5
|
-
require 'developwithpassion_fakes/method_stub'
|
6
|
-
|
7
|
-
module Kernel
|
8
|
-
def fake
|
9
|
-
return DevelopWithPassion::Fakes::Fake.new
|
10
|
-
end
|
11
|
-
end
|