Skip to content

Instantly share code, notes, and snippets.

@trcarden
Forked from twalpole/sortable_test.rb
Created June 25, 2019 06:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save trcarden/380d3d2e345a7536e8ae8c2a0a2c13a0 to your computer and use it in GitHub Desktop.
Save trcarden/380d3d2e345a7536e8ae8c2a0a2c13a0 to your computer and use it in GitHub Desktop.
Sortable demo test
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'selenium-webdriver'
gem 'webdrivers'
gem 'capybara'
gem 'byebug'
gem 'puma'
end
require 'webdrivers'
require "capybara/dsl"
html = DATA.read
app = proc { |env| [200, { "Content-Type" => "text/html" }, [html] ] }
Capybara.register_driver :w3c do |app|
Capybara::Selenium::Driver.new(app, browser: :chrome)
end
Capybara.register_driver :no_w3c do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_option('w3c', false)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
sess = Capybara::Session.new(:w3c, app)
sess.visit('/')
sess.assert_no_text /B.*A/m
occasion_li_1 = sess.find('.sortable-list-item:nth-child(1)')
occasion_li_2 = sess.find('.sortable-list-item:nth-child(2)')
occasion_li_2.drag_to(occasion_li_1)
sess.assert_text /B.*A/m
sleep 5
__END__
<!DOCTYPE html>
<html>
<head>
<title>Snippet</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dragula/3.7.0/dragula.min.js" type="text/javascript"></script>
</head>
<body>
<ul class="sortable-list" data-js-hook="sortable-list">
<li class="sortable-list-item clearfix" data-sortable-id="73">
<i class="drag-handle material-icons">drag_handle</i>
<span class="sortable-name">A</span>
</li>
<li class="sortable-list-item clearfix" data-sortable-id="74">
<i class="drag-handle material-icons">drag_handle</i>
<span class="sortable-name">B</span>
</li>
</ul>
<script>
var el = document.querySelector('ul.sortable-list');
dragula([el]);
</script>
</body>
</html>
@trcarden
Copy link
Author

If you run this with no_w3c driver you get success, if you run this with w3c driver it fails

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment