From 1af5c17d658fff54c563d34dda125a1369043159 Mon Sep 17 00:00:00 2001 From: Thomas Walpole Date: Mon, 26 Sep 2016 11:20:15 -0700 Subject: [PATCH] warn if selector type is unknown --- lib/capybara/queries/selector_query.rb | 5 ++++- lib/capybara/spec/session/find_spec.rb | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/capybara/queries/selector_query.rb b/lib/capybara/queries/selector_query.rb index fef8070b..9061ef49 100644 --- a/lib/capybara/queries/selector_query.rb +++ b/lib/capybara/queries/selector_query.rb @@ -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]) } diff --git a/lib/capybara/spec/session/find_spec.rb b/lib/capybara/spec/session/find_spec.rb index ea89c325..b118307a 100644 --- a/lib/capybara/spec/session/find_spec.rb +++ b/lib/capybara/spec/session/find_spec.rb @@ -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