aruba-doubles 1.1.0 → 1.1.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/aruba-doubles.gemspec +1 -1
- data/lib/aruba-doubles/double.rb +16 -1
- data/spec/aruba-doubles/double_spec.rb +14 -3
- metadata +16 -16
data/aruba-doubles.gemspec
CHANGED
data/lib/aruba-doubles/double.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module ArubaDoubles
|
|
2
2
|
class Double
|
|
3
3
|
|
|
4
|
+
# Keeps track of registered doubles.
|
|
4
5
|
@doubles = {}
|
|
5
6
|
|
|
6
7
|
class << self
|
|
@@ -115,8 +116,8 @@ module ArubaDoubles
|
|
|
115
116
|
# Create the executable double.
|
|
116
117
|
# @return [String] full path to the double.
|
|
117
118
|
def create(&block)
|
|
119
|
+
register
|
|
118
120
|
self.instance_eval(&block) if block_given?
|
|
119
|
-
self.class.doubles[@filename] = self
|
|
120
121
|
content = self.to_ruby
|
|
121
122
|
fullpath = File.join(self.class.bindir, filename)
|
|
122
123
|
#puts "creating double: #{fullpath} with content:\n#{content}" # debug
|
|
@@ -142,8 +143,22 @@ module ArubaDoubles
|
|
|
142
143
|
|
|
143
144
|
# Delete the executable double.
|
|
144
145
|
def delete
|
|
146
|
+
deregister
|
|
145
147
|
fullpath = File.join(self.class.bindir, filename)
|
|
146
148
|
FileUtils.rm(fullpath) if File.exists?(fullpath)
|
|
147
149
|
end
|
|
150
|
+
|
|
151
|
+
private
|
|
152
|
+
|
|
153
|
+
# Register the created double.
|
|
154
|
+
def register
|
|
155
|
+
self.class.doubles[filename] = self
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Deregister the deleted double.
|
|
159
|
+
def deregister
|
|
160
|
+
self.class.doubles.delete(filename)
|
|
161
|
+
end
|
|
162
|
+
|
|
148
163
|
end
|
|
149
164
|
end
|
|
@@ -257,12 +257,23 @@ describe ArubaDoubles::Double do
|
|
|
257
257
|
end
|
|
258
258
|
|
|
259
259
|
describe '#delete' do
|
|
260
|
-
|
|
260
|
+
before do
|
|
261
|
+
File.stub(:open).and_return(stub(:puts => nil, :close => nil))
|
|
262
|
+
FileUtils.stub(:chmod)
|
|
261
263
|
ArubaDoubles::Double.stub(:bindir).and_return('/tmp/foo')
|
|
262
|
-
double = ArubaDoubles::Double.
|
|
264
|
+
@double = ArubaDoubles::Double.create('bar')
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
it 'should delete the executable file if it exists' do
|
|
263
268
|
File.should_receive(:exists?).with('/tmp/foo/bar').and_return(true)
|
|
264
269
|
FileUtils.should_receive(:rm).with('/tmp/foo/bar')
|
|
265
|
-
double.delete
|
|
270
|
+
@double.delete
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
it 'should deregister the double' do
|
|
274
|
+
ArubaDoubles::Double.all.should include(@double)
|
|
275
|
+
@double.delete
|
|
276
|
+
ArubaDoubles::Double.all.should_not include(@double)
|
|
266
277
|
end
|
|
267
278
|
end
|
|
268
279
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aruba-doubles
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.1
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2012-04-20 00:00:00.000000000Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: cucumber
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70185558974140 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: 1.0.2
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70185558974140
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: rspec
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70185558973580 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: 2.6.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70185558973580
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: rake
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70185558972880 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 0.9.2.2
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70185558972880
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: aruba
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70185558972260 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 0.4.6
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70185558972260
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: guard-cucumber
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70185558971700 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: 0.7.3
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70185558971700
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: guard-rspec
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70185558971120 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
version: 0.5.1
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70185558971120
|
|
80
80
|
description: Cucumber Steps to double Command Line Applications
|
|
81
81
|
email:
|
|
82
82
|
- bjoernalbers@googlemail.com
|
|
@@ -117,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
117
117
|
version: '0'
|
|
118
118
|
segments:
|
|
119
119
|
- 0
|
|
120
|
-
hash:
|
|
120
|
+
hash: 1055015783693989593
|
|
121
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
122
|
none: false
|
|
123
123
|
requirements:
|
|
@@ -126,13 +126,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
126
126
|
version: '0'
|
|
127
127
|
segments:
|
|
128
128
|
- 0
|
|
129
|
-
hash:
|
|
129
|
+
hash: 1055015783693989593
|
|
130
130
|
requirements: []
|
|
131
131
|
rubyforge_project:
|
|
132
132
|
rubygems_version: 1.8.10
|
|
133
133
|
signing_key:
|
|
134
134
|
specification_version: 3
|
|
135
|
-
summary: aruba-doubles-1.1.
|
|
135
|
+
summary: aruba-doubles-1.1.1
|
|
136
136
|
test_files:
|
|
137
137
|
- features/define_output.feature
|
|
138
138
|
- features/double_commands.feature
|