vimpack 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.autotest +13 -0
- data/.gitignore +6 -0
- data/.rspec +2 -0
- data/.rvmrc +1 -0
- data/Gemfile +2 -0
- data/LICENSE +21 -0
- data/README.md +47 -0
- data/Rakefile +5 -0
- data/autotest/discover.rb +2 -0
- data/bin/vimpack +103 -0
- data/cucumber.yml +13 -0
- data/features/commands/environments.feature +26 -0
- data/features/commands/git.feature +77 -0
- data/features/commands/info.feature +28 -0
- data/features/commands/init.feature +47 -0
- data/features/commands/install.feature +50 -0
- data/features/commands/list.feature +18 -0
- data/features/commands/search.feature +137 -0
- data/features/commands/uninstall.feature +46 -0
- data/features/step_definitions/environment_steps.rb +3 -0
- data/features/step_definitions/file_utils_steps.rb +36 -0
- data/features/step_definitions/initialize_steps.rb +14 -0
- data/features/step_definitions/output_steps.rb +12 -0
- data/features/step_definitions/vimpack_git_steps.rb +91 -0
- data/features/support/env.rb +11 -0
- data/features/support/executable_paths.rb +15 -0
- data/lib/vimpack/commands/command.rb +46 -0
- data/lib/vimpack/commands/git.rb +32 -0
- data/lib/vimpack/commands/info.rb +26 -0
- data/lib/vimpack/commands/init.rb +23 -0
- data/lib/vimpack/commands/install.rb +35 -0
- data/lib/vimpack/commands/list.rb +14 -0
- data/lib/vimpack/commands/search.rb +37 -0
- data/lib/vimpack/commands/uninstall.rb +27 -0
- data/lib/vimpack/commands.rb +8 -0
- data/lib/vimpack/models/apibase.rb +7 -0
- data/lib/vimpack/models/base.rb +29 -0
- data/lib/vimpack/models/repo.rb +117 -0
- data/lib/vimpack/models/script.rb +110 -0
- data/lib/vimpack/models.rb +8 -0
- data/lib/vimpack/utils/api.rb +39 -0
- data/lib/vimpack/utils/file.rb +66 -0
- data/lib/vimpack/utils/file_path.rb +25 -0
- data/lib/vimpack/utils/git.rb +103 -0
- data/lib/vimpack/utils/github.rb +41 -0
- data/lib/vimpack/utils/io.rb +26 -0
- data/lib/vimpack/utils/process.rb +61 -0
- data/lib/vimpack/utils/vimscripts.rb +64 -0
- data/lib/vimpack/version.rb +4 -0
- data/lib/vimpack.rb +46 -0
- data/simplecov_setup.rb +5 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/vimpack/models/repo_spec.rb +150 -0
- data/spec/vimpack/models/script_spec.rb +230 -0
- data/spec/vimpack/utils/github_spec.rb +39 -0
- data/spec/vimpack/utils/vimscripts_spec.rb +38 -0
- data/tasks/cucumber.rake +8 -0
- data/tasks/default.rake +2 -0
- data/tasks/rspec.rake +5 -0
- data/templates/vimrc.erb +6 -0
- data/vimpack.gemspec +42 -0
- metadata +333 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'pathname'
|
3
|
+
|
4
|
+
describe Vimpack::Models::Repo do
|
5
|
+
|
6
|
+
let :vimpack, do Vimpack::Models::Repo end
|
7
|
+
|
8
|
+
%w( initialize! initialized? publish! git_exec installed_script_names
|
9
|
+
installed_scripts ).each do |meth|
|
10
|
+
it "should respond to #{meth}" do
|
11
|
+
vimpack.should respond_to(meth.to_sym)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should have home path set to #{HOME}" do
|
16
|
+
vimpack.home_path.to_s.should == HOME
|
17
|
+
end
|
18
|
+
|
19
|
+
context "installed_script_names" do
|
20
|
+
|
21
|
+
it "should return a collection of script names" do
|
22
|
+
vimpack.initialize!
|
23
|
+
Vimpack::Models::Script.get('rails.vim').install!
|
24
|
+
vimpack.installed_script_names.should == ['rails.vim']
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
context "installed_scripts" do
|
30
|
+
|
31
|
+
it "should return a collection of scripts" do
|
32
|
+
vimpack.initialize!
|
33
|
+
rails_vim_script = Vimpack::Models::Script.info('rails.vim')
|
34
|
+
rails_vim_script.install!
|
35
|
+
vimpack.installed_scripts.count.should == 1
|
36
|
+
vimpack.installed_scripts.each do |script|
|
37
|
+
script.should be_a(Vimpack::Models::Script)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
context "publish!" do
|
44
|
+
|
45
|
+
it "should raise error with no origin remote set" do
|
46
|
+
vimpack.initialize!
|
47
|
+
expect { vimpack.publish!("[TEST] test from rspec") }.to raise_error(Vimpack::Models::Repo::OriginRemoteUnset)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should return true" do
|
51
|
+
vimpack.initialize!('git@github.com:bramswenson/vimpack-repo-test.git')
|
52
|
+
script_names = %w( rails.vim )
|
53
|
+
script_names.each do |script_name|
|
54
|
+
script = Vimpack::Models::Script.get(script_name)
|
55
|
+
if script.installed?
|
56
|
+
script.uninstall!
|
57
|
+
vimpack.publish!("[uninstall] uninstalled #{script.name}")
|
58
|
+
end
|
59
|
+
script.install!
|
60
|
+
end
|
61
|
+
vimpack.publish!("[TEST] test from rspec").should be_true
|
62
|
+
script_names.each do |script_name|
|
63
|
+
Vimpack::Models::Script.get(script_name).uninstall!
|
64
|
+
end
|
65
|
+
vimpack.publish!("[TEST] cleanup testing").should be_true
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context "initialized?" do
|
70
|
+
|
71
|
+
it "should be false when no ~/.vimpack directory exists" do
|
72
|
+
vimpack.should_not be_initialized
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should be true when no ~/.vimpack directory exists" do
|
76
|
+
::FileUtils.mkdir_p(vimpack.pack_path.to_s)
|
77
|
+
::File.should be_a_directory(::File.join(HOME, '.vimpack'))
|
78
|
+
vimpack.should be_initialized
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
context "initialize!" do
|
83
|
+
|
84
|
+
context "when already initialized" do
|
85
|
+
|
86
|
+
it "should raise error" do
|
87
|
+
::FileUtils.mkdir_p(vimpack.pack_path.to_s)
|
88
|
+
::File.should be_a_directory(::File.join(HOME, '.vimpack'))
|
89
|
+
expect { vimpack.initialize! }.to raise_error(Vimpack::Models::Repo::AlreadyInitialized)
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
context "when not initialized" do
|
95
|
+
|
96
|
+
[ nil, 'git@github.com:bramswenson/vimpack-repo-test.git' ].each do |repo_url_arg|
|
97
|
+
|
98
|
+
context "and given #{repo_url_arg} as the repo_url argument" do
|
99
|
+
|
100
|
+
before(:each) do
|
101
|
+
FileUtils.mkdir_p(vimpack.home_path.join('.vim'))
|
102
|
+
File.new(vimpack.home_path.join('.vimrc'), 'w').close
|
103
|
+
vimpack.initialize!(repo_url_arg)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should backup existing vim files" do
|
107
|
+
File.should exist(vimpack.home_path.join('.vim.before_vimpack'))
|
108
|
+
File.should exist(vimpack.home_path.join('.vimrc.before_vimpack'))
|
109
|
+
end
|
110
|
+
|
111
|
+
%w( .vimpack .vimpack/vim .vimpack/vim/autoload .vimpack/vim/bundle
|
112
|
+
.vimpack/scripts
|
113
|
+
).each do |dir_path|
|
114
|
+
it "should have created a #{dir_path} directory in the home directory" do
|
115
|
+
File.should be_a_directory(::File.join(HOME, dir_path))
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should be a git repository" do
|
120
|
+
check_git_repo(vimpack.pack_path)
|
121
|
+
end
|
122
|
+
|
123
|
+
it "should have pathogen installed into autoload/bundle" do
|
124
|
+
check_git_submodule(vimpack.vim_path.join('autoload', 'pathogen.vim'), vimpack.pack_path)
|
125
|
+
end
|
126
|
+
|
127
|
+
it "should have created a link .vim to .vimpack/vim" do
|
128
|
+
File.should be_a_directory(vimpack.vim_path.to_s)
|
129
|
+
File.should exist(vimpack.home_path.join('.vim'))
|
130
|
+
Pathname.new(vimpack.home_path.join('.vim')).realpath.to_s.gsub('/private', '').should == vimpack.vim_path.to_s
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should have created a link .vimrc to .vimpack/vimrc" do
|
134
|
+
File.should exist(vimpack.pack_path.join('vimrc'))
|
135
|
+
File.should exist(vimpack.home_path.join('.vimrc'))
|
136
|
+
Pathname.new(vimpack.home_path.join('.vimrc')).realpath.to_s.gsub('/private', '').should == vimpack.pack_path.join('vimrc')
|
137
|
+
end
|
138
|
+
|
139
|
+
unless repo_url_arg.nil?
|
140
|
+
|
141
|
+
it "should have a remote origin of git@github.com:bramswenson/vimpack-repo-test.git" do
|
142
|
+
check_vimpack_remote('origin', 'git@github.com:bramswenson/vimpack-repo-test.git')
|
143
|
+
end
|
144
|
+
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
@@ -0,0 +1,230 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Vimpack::Models::Script do
|
4
|
+
let(:script_model) { Vimpack::Models::Script }
|
5
|
+
|
6
|
+
context "the class" do
|
7
|
+
%w( search get info ).each do |meth|
|
8
|
+
it "should respond to #{meth}" do
|
9
|
+
script_model.should respond_to(meth.to_sym)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context "search" do
|
14
|
+
|
15
|
+
context "by exact name" do
|
16
|
+
|
17
|
+
it "should return a 1 item collection" do
|
18
|
+
script_model.search('cucumber').count.should == 1
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should return a Script as the first result in the collection" do
|
22
|
+
script_model.search('cucumber').first.should be_a(script_model)
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
context "by name that returns more than one result" do
|
28
|
+
|
29
|
+
it "should return a more than 1 item collection" do
|
30
|
+
script_model.search('rails').count.should > 1
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should return a collection of Script instances" do
|
34
|
+
script_model.search('rails').each do |script|
|
35
|
+
script.should be_a(script_model)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
context "by name that does not exist" do
|
41
|
+
|
42
|
+
it "should return an empty collection" do
|
43
|
+
script_model.search('boogity_boogity_boo').count.should == 0
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "info" do
|
50
|
+
|
51
|
+
it "should raise an error when the script does not exist" do
|
52
|
+
expect { script_model.info('boogity_boo_hoo') }.to raise_error
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should return script when found" do
|
56
|
+
script_model.info('rails.vim').should be_a(script_model)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
context "get" do
|
62
|
+
|
63
|
+
it "should raise an error when the script does not exist" do
|
64
|
+
expect { script_model.get('boogity_boo_hoo') }.to raise_error
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should return script when found" do
|
68
|
+
script_model.get('rails.vim').should be_a(script_model)
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
context "an instance" do
|
75
|
+
|
76
|
+
context "should respond to" do
|
77
|
+
let(:script) { script_model.get('rails.vim') }
|
78
|
+
%w(
|
79
|
+
name type version author author_email version version_date url description
|
80
|
+
install! uninstall! installed? installable? install_path
|
81
|
+
).each do |meth|
|
82
|
+
it meth do
|
83
|
+
script.should respond_to(meth.to_sym)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "that exists in vim-scripts.org" do
|
89
|
+
|
90
|
+
let(:script) { script_model.get('rails.vim') }
|
91
|
+
let(:repo) { Vimpack::Models::Repo }
|
92
|
+
|
93
|
+
it "script should not be nil" do
|
94
|
+
script.should_not be_nil
|
95
|
+
end
|
96
|
+
|
97
|
+
{ :name => "rails.vim",
|
98
|
+
:type => "utility",
|
99
|
+
:version => "4.3",
|
100
|
+
:version_date => '2010-09-09T17:00:00-07:00',
|
101
|
+
:author => "Tim Pope",
|
102
|
+
:author_email => "vimNOSPAM@tpope.org",
|
103
|
+
:url => "https://github.com/vim-scripts/rails.vim",
|
104
|
+
:description => "Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more",
|
105
|
+
}.each_pair do |attribute, value|
|
106
|
+
|
107
|
+
it "should have a #{attribute} of '#{value}'" do
|
108
|
+
script.send(attribute).should == value
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
context "installable?" do
|
114
|
+
|
115
|
+
it "should be false if vimpack is not initialized" do
|
116
|
+
script.should_not be_installable
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should be true if vimpack is initialized" do
|
120
|
+
repo.initialize!
|
121
|
+
script.should be_installable
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
|
126
|
+
context "bundle_path" do
|
127
|
+
|
128
|
+
before(:each) { repo.initialize! }
|
129
|
+
|
130
|
+
it "should have an bundle path when not installed" do
|
131
|
+
script.bundle_path.should_not be_nil
|
132
|
+
end
|
133
|
+
|
134
|
+
it "should have an bundle path when installed" do
|
135
|
+
script.install!
|
136
|
+
script.bundle_path.should_not be_nil
|
137
|
+
end
|
138
|
+
|
139
|
+
it "should be a path in the bundle dir" do
|
140
|
+
script.bundle_path.should include(Vimpack::Models::Repo.bundle_path.to_s)
|
141
|
+
end
|
142
|
+
|
143
|
+
end
|
144
|
+
|
145
|
+
context "install_path" do
|
146
|
+
|
147
|
+
before(:each) { repo.initialize! }
|
148
|
+
|
149
|
+
it "should have an install path when not installed" do
|
150
|
+
script.install_path.should_not be_nil
|
151
|
+
end
|
152
|
+
|
153
|
+
it "should have an install path when installed" do
|
154
|
+
script.install!
|
155
|
+
script.install_path.should_not be_nil
|
156
|
+
end
|
157
|
+
|
158
|
+
it "should be a path in the scripts dir" do
|
159
|
+
script.install_path.should include(Vimpack::Models::Repo.script_path.to_s)
|
160
|
+
end
|
161
|
+
|
162
|
+
it "should be a path named after the type" do
|
163
|
+
script.install_path.should match(/#{script.type}/)
|
164
|
+
end
|
165
|
+
|
166
|
+
end
|
167
|
+
|
168
|
+
context "installed?" do
|
169
|
+
|
170
|
+
before(:each) { repo.initialize! }
|
171
|
+
|
172
|
+
it "should be false if script is not installed" do
|
173
|
+
script.should_not be_installed
|
174
|
+
end
|
175
|
+
|
176
|
+
it "should be true if script is installed" do
|
177
|
+
script.install!
|
178
|
+
script.should be_installed
|
179
|
+
end
|
180
|
+
|
181
|
+
end
|
182
|
+
|
183
|
+
context "install!" do
|
184
|
+
|
185
|
+
context "when vimpack is not initialized" do
|
186
|
+
it "should raise an error" do
|
187
|
+
expect { script.install! }.to raise_error
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
context "when vimpack is initialized" do
|
192
|
+
before(:each) { repo.initialize! }
|
193
|
+
|
194
|
+
it "should return true when script installed without errors" do
|
195
|
+
script.install!.should be_true
|
196
|
+
end
|
197
|
+
|
198
|
+
it "should raise an error if script is already installed" do
|
199
|
+
script.install!
|
200
|
+
expect { script.install! }.to raise_error
|
201
|
+
end
|
202
|
+
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
context "uninstall!" do
|
207
|
+
|
208
|
+
context "when vimpack is not initialized" do
|
209
|
+
it "should raise an error" do
|
210
|
+
expect { script.uninstall! }.to raise_error
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
context "when vimpack is initialized" do
|
215
|
+
before(:each) { repo.initialize! }
|
216
|
+
|
217
|
+
it "should return true when script uninstalled without errors" do
|
218
|
+
script.install!
|
219
|
+
script.uninstall!.should be_true
|
220
|
+
end
|
221
|
+
|
222
|
+
it "should raise an error if script is already uninstalled" do
|
223
|
+
expect { script.uninstall! }.to raise_error
|
224
|
+
end
|
225
|
+
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Vimpack::Utils::Github do
|
4
|
+
class GithubTest
|
5
|
+
include Vimpack::Utils::Github
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:github) { GithubTest }
|
9
|
+
|
10
|
+
context ".search_all_repos" do
|
11
|
+
|
12
|
+
it "should return a collection" do
|
13
|
+
github.search_all_repos('rails').should respond_to(:[])
|
14
|
+
end
|
15
|
+
|
16
|
+
it "and the values should be github repo attributes" do
|
17
|
+
github.search_all_repos('rails').count.should be >= 1
|
18
|
+
github.search_all_repos('rails').each do |repo|
|
19
|
+
repo.name.should_not be_nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
context ".search_vimscript_repos" do
|
26
|
+
|
27
|
+
it "should return a collection" do
|
28
|
+
github.search_vimscript_repos('rails').should respond_to(:[])
|
29
|
+
end
|
30
|
+
|
31
|
+
it "and the github repos username should be vim-scripts" do
|
32
|
+
github.search_vimscript_repos('rails').count.should be >= 1
|
33
|
+
github.search_vimscript_repos('rails').each do |repo|
|
34
|
+
repo.username.should == 'vim-scripts'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Vimpack::Utils::Vimscripts do
|
4
|
+
class VimscriptsTest
|
5
|
+
include Vimpack::Utils::Vimscripts
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:vimscripts) { VimscriptsTest }
|
9
|
+
|
10
|
+
context ".vimscripts" do
|
11
|
+
|
12
|
+
it "should be a collection of script attribute hashes" do
|
13
|
+
vimscripts.vimscripts.first["n"].should == 'test.vim'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context ".search_vimscripts" do
|
18
|
+
|
19
|
+
it "should return a collection of hash like objects" do
|
20
|
+
vimscripts.search_vimscripts('rails').each do |script|
|
21
|
+
script.should respond_to(:keys)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it "all scripts returned should include the query in the name" do
|
26
|
+
vimscripts.search_vimscripts('rails').each do |script|
|
27
|
+
(script[:description].downcase.include?('rails') or
|
28
|
+
script[:name].downcase.include?('rails')).should be_true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should leave the vimscripts in place" do
|
33
|
+
vimscripts.search_vimscripts('rails')
|
34
|
+
vimscripts.vimscripts.count.should be_between(3000, 4000)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
data/tasks/cucumber.rake
ADDED
data/tasks/default.rake
ADDED
data/tasks/rspec.rake
ADDED
data/templates/vimrc.erb
ADDED
data/vimpack.gemspec
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "vimpack/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "vimpack"
|
7
|
+
s.version = Vimpack::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Bram Swenson"]
|
10
|
+
s.email = ["bram@craniumisajar.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{ Vim Script Package Manager }
|
13
|
+
s.description = %q{ Vim Script Package Manager based on pathogen.vim by Tim Pope }
|
14
|
+
|
15
|
+
s.rubyforge_project = "vimpack"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
|
22
|
+
s.add_dependency('bundler', '>= 1.0.13')
|
23
|
+
s.add_dependency('trollop', '~> 1.16.2')
|
24
|
+
s.add_dependency('rainbow', '~> 1.1.1')
|
25
|
+
s.add_dependency('childprocess', '~> 0.1.8')
|
26
|
+
s.add_dependency('activemodel', '~> 3.0.4')
|
27
|
+
s.add_dependency('yajl-ruby', '~> 0.8.1')
|
28
|
+
s.add_dependency('enviro', '>=0.0.4')
|
29
|
+
s.add_dependency('nokogiri', '~> 1.4.4')
|
30
|
+
s.add_dependency('octokit', '~> 0.6.3')
|
31
|
+
|
32
|
+
s.add_development_dependency('vcr')
|
33
|
+
s.add_development_dependency('webmock')
|
34
|
+
s.add_development_dependency('cucumber')
|
35
|
+
s.add_development_dependency('rspec')
|
36
|
+
s.add_development_dependency('aruba')
|
37
|
+
s.add_development_dependency('autotest-standalone')
|
38
|
+
s.add_development_dependency('autotest-growl')
|
39
|
+
s.add_development_dependency('simplecov')
|
40
|
+
s.add_development_dependency('ruby-debug19')
|
41
|
+
end
|
42
|
+
|