diff --git a/spec/driver/selenium_driver_spec.rb b/spec/driver/selenium_driver_spec.rb index b9997c34..d7a31765 100644 --- a/spec/driver/selenium_driver_spec.rb +++ b/spec/driver/selenium_driver_spec.rb @@ -26,4 +26,25 @@ describe Capybara::Selenium::Driver do browser.quit end end + + describe "exit codes" do + before do + @current_dir = Dir.getwd + Dir.chdir(File.join(File.dirname(__FILE__), '..', '..')) + end + + after do + Dir.chdir(@current_dir) + end + + it "should have return code 1 when running selenium_driver_rspec_failure.rb" do + `rspec spec/fixtures/selenium_driver_rspec_failure.rb` + $?.exitstatus.should be 1 + end + + it "should have return code 0 when running selenium_driver_rspec_success.rb" do + `rspec spec/fixtures/selenium_driver_rspec_success.rb` + $?.exitstatus.should be 0 + end + end end diff --git a/spec/fixtures/selenium_driver_rspec_failure.rb b/spec/fixtures/selenium_driver_rspec_failure.rb new file mode 100644 index 00000000..6da7f84c --- /dev/null +++ b/spec/fixtures/selenium_driver_rspec_failure.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe Capybara::Selenium::Driver do + it "should exit with a non-zero exit status when assertion fails" do + browser = Capybara::Selenium::Driver.new(TestApp).browser + true.should == false + end +end diff --git a/spec/fixtures/selenium_driver_rspec_success.rb b/spec/fixtures/selenium_driver_rspec_success.rb new file mode 100644 index 00000000..6fa28090 --- /dev/null +++ b/spec/fixtures/selenium_driver_rspec_success.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe Capybara::Selenium::Driver do + it "should exit with a non-zero exit status when assertion fails" do + browser = Capybara::Selenium::Driver.new(TestApp).browser + true.should == true + end +end