From 931bb566065918017bc67eb11fa7dd79b2707b44 Mon Sep 17 00:00:00 2001 From: Ian Lesperance Date: Tue, 3 Jul 2018 20:31:31 +0000 Subject: [PATCH] Avoid testing control+shift+click in Firefox When the shift key is pressed, Firefox doesn't generate a JavaScript event for a context click. See: https://bugzilla.mozilla.org/show_bug.cgi?id=692139 --- lib/capybara/spec/session/node_spec.rb | 1 + spec/selenium_spec_marionette.rb | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/lib/capybara/spec/session/node_spec.rb b/lib/capybara/spec/session/node_spec.rb index 5e91c3ff..29ae82ac 100644 --- a/lib/capybara/spec/session/node_spec.rb +++ b/lib/capybara/spec/session/node_spec.rb @@ -377,6 +377,7 @@ Capybara::SpecHelper.spec "node" do end it "should allow multiple modifiers", requires: [:js] do + pending "Firefox doesn't generate an event for shift+control+click" if marionette_gte?(62, @session) @session.visit('with_js') @session.find(:css, '#click-test').click(:control, :alt, :meta, :shift) # Selenium with Chrome on OSX ctrl-click generates a right click so just verify all keys but not click type diff --git a/spec/selenium_spec_marionette.rb b/spec/selenium_spec_marionette.rb index fc142c52..528d2ef4 100644 --- a/spec/selenium_spec_marionette.rb +++ b/spec/selenium_spec_marionette.rb @@ -163,5 +163,13 @@ RSpec.describe Capybara::Selenium::Node do tr.click expect(tr.base).to have_received(:warn).with(/Clicking the first cell in the row instead/) end + + it "should allow multiple modifiers", requires: [:js] do + session = TestSessions::SeleniumMarionette + session.visit('with_js') + # Firefox doesn't generate an event for control+shift+click + session.find(:css, '#click-test').click(:alt, :ctrl, :meta) + expect(session).to have_link("Has been alt control meta clicked") + end end end