spec/console_spec.rb in rubygems-tasks-0.1.0 vs spec/console_spec.rb in rubygems-tasks-0.1.1
- old
+ new
@@ -5,16 +5,22 @@
describe Gem::Tasks::Console do
describe "#console" do
include_context "rake"
- let(:command) { 'ripl' }
- let(:options) { %w[-Ivendor -rfoo] }
+ if RUBY_VERSION < '1.9'
+ let(:default_options) { %w[-Ilib -rrubygems -rrubygems/tasks.rb] }
+ else
+ let(:default_options) { %w[-Ilib -rrubygems/tasks.rb] }
+ end
+ let(:custom_command) { 'ripl' }
+ let(:custom_options) { %w[-Ivendor -rfoo] }
+
context "defaults" do
it "should run `irb`" do
- subject.should_receive(:run).with('irb','-Ilib')
+ subject.should_receive(:run).with('irb',*default_options)
subject.console
end
context "when project.bundler? == true" do
@@ -26,40 +32,42 @@
end
end
end
context "with custom command" do
- subject { described_class.new(:command => command) }
+ subject { described_class.new(:command => custom_command) }
it "should run the custom console" do
- subject.should_receive(:run).with(command, '-Ilib')
+ subject.should_receive(:run).with(custom_command,*default_options)
subject.console
end
context "when project.bundler? == true" do
it "should use `bundle exec`" do
subject.project.stub!(:bundler?).and_return(true)
- subject.should_receive(:run).with('bundle', 'exec', command, '-Ilib')
+ subject.should_receive(:run).with(
+ 'bundle', 'exec', custom_command, *default_options
+ )
subject.console
end
end
end
context "with custom options" do
- subject { described_class.new(:options => options) }
+ subject { described_class.new(:options => custom_options) }
it "should pass custom options to `irb`" do
- subject.should_receive(:run).with('irb', '-Ilib', *options)
+ subject.should_receive(:run).with('irb', *(default_options + custom_options))
subject.console
end
context "when project.bundler? == true" do
it "should use `bundle exec ...`" do
subject.project.stub!(:bundler?).and_return(true)
- subject.should_receive(:run).with('bundle', 'exec', 'irb', '-Ilib', *options)
+ subject.should_receive(:run).with('bundle', 'exec', 'irb', *(default_options + custom_options))
subject.console
end
end
end