Skip to content

Instantly share code, notes, and snippets.

@twalpole
Created April 15, 2017 09:57
Show Gist options
  • Save twalpole/412a87b4ba980023ec0a4a3520de107f to your computer and use it in GitHub Desktop.
Save twalpole/412a87b4ba980023ec0a4a3520de107f to your computer and use it in GitHub Desktop.
require 'capybara/poltergeist'
html = DATA.read
app = proc { |env| [200, { "Content-Type" => "text/html" }, [html] ] }
sess = Capybara::Session.new(:poltergeist, app)
sess.visit('/')
sess.assert_selector(:field, 'cbox', disabled: false, readonly: false)
puts sess.find('#cbox').disabled?
puts sess.find('#cbox').readonly?
sess.execute_script('document.querySelector("#cbox").disabled = true;')
sess.assert_selector(:field, 'cbox', disabled: true, readonly: false)
puts sess.find('#cbox').disabled?
puts sess.find('#cbox').readonly?
sess.execute_script('document.querySelector("#cbox").readonly = true;')
sess.assert_selector(:field, 'cbox', disabled: true, readonly: true)
puts sess.find('#cbox').disabled?
puts sess.find('#cbox').readonly?
sess.execute_script('document.querySelector("#cbox").disabled = false;')
sess.assert_selector(:field, 'cbox', disabled: false, readonly: true)
puts sess.find('#cbox').disabled?
puts sess.find('#cbox').readonly?
__END__
<!doctype html>
<html>
<head>
<title>Some title</title>
</head>
<body>
<div>
<input id="cbox" type="checkbox"/>
<div id="text"></div>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment