surrogate 0.6.4 → 0.6.5
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/lib/surrogate/api_comparer.rb +0 -1
- data/lib/surrogate/rspec.rb +4 -0
- data/lib/surrogate/version.rb +1 -1
- data/spec/rspec/substitute_for_spec.rb +8 -5
- metadata +12 -12
@@ -10,7 +10,6 @@ class Surrogate
|
|
10
10
|
|
11
11
|
def initialize(actual, surrogate)
|
12
12
|
unless surrogate.instance_variable_get(:@hatchery).kind_of?(Hatchery) && surrogate.instance_variable_get(:@hatchling).kind_of?(Hatchling)
|
13
|
-
Kernel.warn "You said #{actual} should substitute for #{surrogate}`, but as of 0.6.2, this should be asserted in the other direction."
|
14
13
|
surrogate, actual = actual, surrogate
|
15
14
|
end
|
16
15
|
self.surrogate, self.actual = surrogate, actual
|
data/lib/surrogate/rspec.rb
CHANGED
@@ -23,6 +23,10 @@ class Surrogate
|
|
23
23
|
end
|
24
24
|
|
25
25
|
module Matchers
|
26
|
+
def be_substitutable_for(original_class, options={})
|
27
|
+
SubstitutionMatcher.new original_class, options
|
28
|
+
end
|
29
|
+
|
26
30
|
def substitute_for(original_class, options={})
|
27
31
|
SubstitutionMatcher.new original_class, options
|
28
32
|
end
|
data/lib/surrogate/version.rb
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe '
|
4
|
-
context '
|
5
|
-
specify 'the surrogate class comes first
|
6
|
-
Kernel.should_receive(:warn).twice.with kind_of String
|
3
|
+
describe 'substutability matchers' do
|
4
|
+
context 'understand that the non-surrogate class should substitute for the surrogate class when' do
|
5
|
+
specify 'the surrogate class comes first' do
|
7
6
|
surrogate = Surrogate.endow(Class.new).define(:some_meth)
|
8
7
|
surrogate.should_not substitute_for Class.new
|
8
|
+
surrogate.should_not be_substitutable_for Class.new
|
9
9
|
surrogate.should substitute_for Class.new { def some_meth() end }
|
10
|
+
surrogate.should be_substitutable_for Class.new { def some_meth() end }
|
10
11
|
end
|
11
12
|
|
12
|
-
it 'the non-surrogate class comes first
|
13
|
+
it 'the non-surrogate class comes first' do
|
13
14
|
Kernel.should_not_receive :warn
|
14
15
|
surrogate = Surrogate.endow(Class.new).define(:some_meth)
|
15
16
|
Class.new.should_not substitute_for surrogate
|
17
|
+
Class.new.should_not be_substitutable_for surrogate
|
16
18
|
Class.new { def some_meth() end }.should substitute_for surrogate
|
19
|
+
Class.new { def some_meth() end }.should be_substitutable_for surrogate
|
17
20
|
end
|
18
21
|
end
|
19
22
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: surrogate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
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-12-
|
12
|
+
date: 2012-12-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70276370003140 !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: *70276370003140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70276370002580 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '2.4'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70276370002580
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mountain_berry_fields
|
38
|
-
requirement: &
|
38
|
+
requirement: &70276370002000 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.3
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70276370002000
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mountain_berry_fields-rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &70276370001440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.0.3
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70276370001440
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: mountain_berry_fields-magic_comments
|
60
|
-
requirement: &
|
60
|
+
requirement: &70276370000820 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 1.0.1
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70276370000820
|
69
69
|
description: Framework to aid in handrolling mock/spy objects.
|
70
70
|
email:
|
71
71
|
- josh.cheek@gmail.com
|