From 85e9fcd7f2cc6c05b6dca0c34b73c8e5dbfe1268 Mon Sep 17 00:00:00 2001 From: Thomas Walpole Date: Thu, 3 Apr 2014 10:25:03 -0700 Subject: [PATCH] fix feature definition in case user has RSpec set not to expose dsl globally - test in rspec 3 beta tests --- lib/capybara/rspec.rb | 1 + lib/capybara/rspec/features.rb | 3 ++- lib/capybara/spec/spec_helper.rb | 2 +- spec/basic_node_spec.rb | 2 +- spec/capybara_spec.rb | 5 ++--- spec/dsl_spec.rb | 2 +- spec/fixtures/selenium_driver_rspec_failure.rb | 2 +- spec/fixtures/selenium_driver_rspec_success.rb | 2 +- spec/rack_test_spec.rb | 6 +++--- spec/result_spec.rb | 2 +- spec/rspec/matchers_spec.rb | 2 +- spec/rspec_spec.rb | 4 ++-- spec/selenium_spec.rb | 4 ++-- spec/server_spec.rb | 2 +- 14 files changed, 20 insertions(+), 19 deletions(-) diff --git a/lib/capybara/rspec.rb b/lib/capybara/rspec.rb index cba5009d..b9a20bb8 100644 --- a/lib/capybara/rspec.rb +++ b/lib/capybara/rspec.rb @@ -5,6 +5,7 @@ require 'capybara/rspec/matchers' require 'capybara/rspec/features' RSpec.configure do |config| + config.expose_dsl_globally = false if config.respond_to? :expose_dsl_globally config.include Capybara::DSL, :type => :feature config.include Capybara::RSpecMatchers, :type => :feature diff --git a/lib/capybara/rspec/features.rb b/lib/capybara/rspec/features.rb index bb5e1e17..53bce407 100644 --- a/lib/capybara/rspec/features.rb +++ b/lib/capybara/rspec/features.rb @@ -21,7 +21,8 @@ def self.feature(*args, &block) options[:caller] ||= caller args.push(options) - describe(*args, &block) + #call describe on RSpec in case user has expose_dsl_globally set to false + RSpec.describe(*args, &block) end RSpec.configuration.include Capybara::Features, :capybara_feature => true diff --git a/lib/capybara/spec/spec_helper.rb b/lib/capybara/spec/spec_helper.rb index 4addb3e4..4f4701e4 100644 --- a/lib/capybara/spec/spec_helper.rb +++ b/lib/capybara/spec/spec_helper.rb @@ -52,7 +52,7 @@ module Capybara def run_specs(session, name, options={}) specs = @specs - describe Capybara::Session, name, options do + RSpec.describe Capybara::Session, name, options do include Capybara::SpecHelper before do @session = session diff --git a/spec/basic_node_spec.rb b/spec/basic_node_spec.rb index d86b9a14..878b82d4 100644 --- a/spec/basic_node_spec.rb +++ b/spec/basic_node_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe Capybara do +RSpec.describe Capybara do describe '.string' do let :string do Capybara.string <<-STRING diff --git a/spec/capybara_spec.rb b/spec/capybara_spec.rb index 5cbd5d01..811bcf3f 100644 --- a/spec/capybara_spec.rb +++ b/spec/capybara_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' -describe Capybara do - +RSpec.describe Capybara do describe 'default_wait_time' do after do Capybara.default_wait_time = @previous_default_time @@ -44,7 +43,7 @@ describe Capybara do end end -describe Capybara::Session do +RSpec.describe Capybara::Session do context 'with non-existant driver' do it "should raise an error" do expect { diff --git a/spec/dsl_spec.rb b/spec/dsl_spec.rb index 2d924c43..ec024ac1 100644 --- a/spec/dsl_spec.rb +++ b/spec/dsl_spec.rb @@ -14,7 +14,7 @@ Capybara::SpecHelper.run_specs TestClass.new, "DSL", :capybara_skip => [ :hover ] -describe Capybara::DSL do +RSpec.describe Capybara::DSL do after do Capybara.session_name = nil Capybara.default_driver = nil diff --git a/spec/fixtures/selenium_driver_rspec_failure.rb b/spec/fixtures/selenium_driver_rspec_failure.rb index 80b6ead3..2ec124ab 100644 --- a/spec/fixtures/selenium_driver_rspec_failure.rb +++ b/spec/fixtures/selenium_driver_rspec_failure.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe Capybara::Selenium::Driver do +RSpec.describe Capybara::Selenium::Driver do it "should exit with a non-zero exit status" do browser = Capybara::Selenium::Driver.new(TestApp).browser expect(true).to eq(false) diff --git a/spec/fixtures/selenium_driver_rspec_success.rb b/spec/fixtures/selenium_driver_rspec_success.rb index c9b74513..1f5f9672 100644 --- a/spec/fixtures/selenium_driver_rspec_success.rb +++ b/spec/fixtures/selenium_driver_rspec_success.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe Capybara::Selenium::Driver do +RSpec.describe Capybara::Selenium::Driver do it "should exit with a zero exit status" do browser = Capybara::Selenium::Driver.new(TestApp).browser expect(true).to eq(true) diff --git a/spec/rack_test_spec.rb b/spec/rack_test_spec.rb index 990e9f7e..f5b07038 100644 --- a/spec/rack_test_spec.rb +++ b/spec/rack_test_spec.rb @@ -13,7 +13,7 @@ Capybara::SpecHelper.run_specs TestSessions::RackTest, "RackTest", :capybara_ski :hover ] -describe Capybara::Session do +RSpec.describe Capybara::Session do context 'with rack test driver' do before do @session = TestSessions::RackTest @@ -70,7 +70,7 @@ describe Capybara::Session do end end -describe Capybara::RackTest::Driver do +RSpec.describe Capybara::RackTest::Driver do before do @driver = TestSessions::RackTest.driver end @@ -165,7 +165,7 @@ module CSSHandlerIncludeTester end include CSSHandlerIncludeTester -describe Capybara::RackTest::CSSHandlers do +RSpec.describe Capybara::RackTest::CSSHandlers do it "should not be extended by global includes" do expect(Capybara::RackTest::CSSHandlers.new).not_to respond_to(:dont_extend_css_handler) end diff --git a/spec/result_spec.rb b/spec/result_spec.rb index 4c4fb122..9f14c5c6 100644 --- a/spec/result_spec.rb +++ b/spec/result_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe Capybara::Result do +RSpec.describe Capybara::Result do let :string do Capybara.string <<-STRING