Sha256: 750006789d53351978c991d8eb04343b9435b4962fa378506e668e217a8b7050

Contents?: true

Size: 1.77 KB

Versions: 31

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true
if RSpec::Core::Version::STRING.to_f >= 3.0
  RSpec.shared_context "Capybara Features", capybara_feature: true do
    instance_eval do
      alias background before
      alias given let
      alias given! let!
    end
  end

  # ensure shared_context is included if default shared_context_metadata_behavior is changed
  if RSpec::Core::Version::STRING.to_f >= 3.5
    RSpec.configure do |config|
      config.include_context "Capybara Features", capybara_feature: true
    end
  end

  RSpec.configure do |config|
    config.alias_example_group_to :feature, capybara_feature: true, type: :feature
    config.alias_example_group_to :xfeature, capybara_feature: true, type: :feature, skip: "Temporarily disabled with xfeature"
    config.alias_example_group_to :ffeature, capybara_feature: true, type: :feature, focus: true
    config.alias_example_to :scenario
    config.alias_example_to :xscenario, skip: "Temporarily disabled with xscenario"
    config.alias_example_to :fscenario, focus: true
  end
else
  module Capybara
    module Features
      def self.included(base)
        base.instance_eval do
          alias :background :before
          alias :scenario :it
          alias :xscenario :xit
          alias :given :let
          alias :given! :let!
          alias :feature :describe
        end
      end
    end
  end

  def self.feature(*args, &block)
    options = if args.last.is_a?(Hash) then args.pop else {} end
    options[:capybara_feature] = true
    options[:type] = :feature
    options[:caller] ||= caller
    args.push(options)

    #call describe on RSpec in case user has expose_dsl_globally set to false
    RSpec.describe(*args, &block)
  end

  RSpec.configure do |config|
    config.include(Capybara::Features, capybara_feature: true)
  end
end

Version data entries

31 entries across 27 versions & 3 rubygems

Version Path
tdiary-5.0.8 vendor/bundle/gems/capybara-2.18.0/lib/capybara/rspec/features.rb
tdiary-5.0.8 vendor/bundle/ruby/2.5.0/gems/capybara-2.18.0/lib/capybara/rspec/features.rb
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/capybara-2.16.1/lib/capybara/rspec/features.rb
capybara-2.18.0 lib/capybara/rspec/features.rb
capybara-2.17.0 lib/capybara/rspec/features.rb
tdiary-5.0.7 vendor/bundle/gems/capybara-2.16.1/lib/capybara/rspec/features.rb
capybara-2.16.1 lib/capybara/rspec/features.rb
capybara-2.16.0 lib/capybara/rspec/features.rb
capybara-2.15.4 lib/capybara/rspec/features.rb
capybara-2.15.3 lib/capybara/rspec/features.rb
capybara-2.15.2 lib/capybara/rspec/features.rb
tdiary-5.0.6 vendor/bundle/gems/capybara-2.15.1/lib/capybara/rspec/features.rb
capybara-2.15.1 lib/capybara/rspec/features.rb
capybara-2.15.0 lib/capybara/rspec/features.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/capybara-2.13.0/lib/capybara/rspec/features.rb
tdiary-5.0.5 vendor/bundle/gems/capybara-2.13.0/lib/capybara/rspec/features.rb
tdiary-5.0.5 vendor/bundle/gems/capybara-2.14.3/lib/capybara/rspec/features.rb
capybara-2.14.4 lib/capybara/rspec/features.rb
capybara-2.14.3 lib/capybara/rspec/features.rb
capybara-2.14.2 lib/capybara/rspec/features.rb