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