warn if selector type is unknown

This commit is contained in:
Thomas Walpole 2016-09-26 11:20:15 -07:00
parent f0f0d91fb5
commit 1af5c17d65
2 changed files with 9 additions and 1 deletions

View File

@ -11,7 +11,10 @@ module Capybara
@options = if args.last.is_a?(Hash) then args.pop.dup else {} end
if args[0].is_a?(Symbol)
@selector = Selector.all[args.shift]
@selector = Selector.all.fetch(args.shift) do |selector_type|
warn "Unknown selector type (:#{selector_type}), defaulting to :#{Capybara.default_selector} - This will raise an exception in a future version of Capybara"
nil
end
@locator = args.shift
else
@selector = Selector.all.values.find { |s| s.match?(args[0]) }

View File

@ -416,4 +416,9 @@ Capybara::SpecHelper.spec '#find' do
end
end
end
it "should warn if selector type is unknown" do
expect_any_instance_of(Kernel).to receive(:warn).with(/^Unknown selector type/)
@session.find(:unknown, '//h1')
end
end