diff --git a/.travis.yml b/.travis.yml index da53ed8..9002fa7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ script: bundle exec rake before_script: phantomjs --version +before_install: + - mkdir travis-phantomjs2 + - wget https://s3.amazonaws.com/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 -O $PWD/travis-phantomjs2/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 + - tar -xvf $PWD/travis-phantomjs2/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 -C $PWD/travis-phantomjs2 rvm: - 2.2.2 - 2.1.6 @@ -10,3 +14,9 @@ rvm: env: global: - NOKOGIRI_USE_SYSTEM_LIBRARIES=true +matrix: + include: + - rvm: 2.2.2 + env: USE_PHANTOMJS2=true + allow_failures: + - env: USE_PHANTOMJS2=true diff --git a/lib/capybara/poltergeist/client/node.coffee b/lib/capybara/poltergeist/client/node.coffee index 875ccde..60e0ed6 100644 --- a/lib/capybara/poltergeist/client/node.coffee +++ b/lib/capybara/poltergeist/client/node.coffee @@ -62,12 +62,8 @@ class Poltergeist.Node x: position.x + x y: position.y + y - if window.phantom.version.major == 1 - final_pos.x -= 5 - final_pos.y -= 5 - - @page.mouseEvent('mousedown', position.x, position.y) - @page.mouseEvent('mouseup', final_pos.x, final_pos.y) + @page.mouseEvent('mousedown', position.x, position.y) + @page.mouseEvent('mouseup', final_pos.x, final_pos.y) isEqual: (other) -> diff --git a/spec/integration/session_spec.rb b/spec/integration/session_spec.rb index a56ac4f..81f7a41 100644 --- a/spec/integration/session_spec.rb +++ b/spec/integration/session_spec.rb @@ -5,7 +5,7 @@ skip << :windows if ENV['TRAVIS'] Capybara::SpecHelper.run_specs TestSessions::Poltergeist, 'Poltergeist', capybara_skip: skip describe Capybara::Session do - context 'with poltergeist driver', focus: true do + context 'with poltergeist driver' do before do @session = TestSessions::Poltergeist end @@ -431,19 +431,19 @@ describe Capybara::Session do expect( droppable ).to have_content( "Dropped" ) end - it 'supports drag_by on native element', requires: [:js] do + it 'supports drag_by on native element' do draggable = @session.find(:css, '#drag_by .draggable') top_before = @session.evaluate_script('$("#drag_by .draggable").position().top') left_before = @session.evaluate_script('$("#drag_by .draggable").position().left') - draggable.native.drag_by(10, 10) + draggable.native.drag_by(15, 15) top_after = @session.evaluate_script('$("#drag_by .draggable").position().top') left_after = @session.evaluate_script('$("#drag_by .draggable").position().left') - expect( top_after ).to eq( top_before + 10 ) - expect( left_after ).to eq( left_before + 10 ) + expect( top_after ).to eq( top_before + 15 ) + expect( left_after ).to eq( left_before + 15 ) end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 691714b..534e5f3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -12,8 +12,16 @@ require 'support/spec_logger' Capybara.register_driver :poltergeist do |app| debug = !ENV['DEBUG'].nil? + options = { + logger: TestSessions.logger, + inspector: debug, + debug: debug + } + + options[:phantomjs] = ENV['TRAVIS_BUILD_DIR'] + '/travis-phantomjs2/phantomjs' if ENV['TRAVIS'] && ENV['USE_PHANTOMJS2'] + Capybara::Poltergeist::Driver.new( - app, logger: TestSessions.logger, inspector: debug, debug: debug + app, options ) end