Sha256: 42e3ebcab1dc446216ff31fe8392750ddb2c5a98d6e67133e210087abe7abd27
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
module Capybara::Poltergeist class Node < Capybara::Driver::Node alias id native def browser driver.browser end def command(name, *args) browser.send(name, id, *args) rescue BrowserError => error if error.text == 'Poltergeist.ObsoleteNode' raise ObsoleteNode.new(self) else raise error end end def find(selector) browser.find(selector, id).map { |node| self.class.new(driver, node) } end def text command(:text).strip.gsub(/\s+/, ' ') end def [](name) command :attribute, name end def value command :value end def set(value) if tag_name == 'input' case self[:type] when 'radio' click when 'checkbox' click if value != checked? when 'file' command :select_file, value else command :set, value end elsif tag_name == 'textarea' command :set, value end end def select_option command :select, true end def unselect_option command(:select, false) or raise(Capybara::UnselectNotAllowed, "Cannot unselect option from single select box.") end def tag_name @tag_name ||= command(:tag_name) end def visible? command :visible? end def checked? self[:checked] end def selected? self[:selected] end def click command :click end def drag_to(other) command :drag, other.id end def trigger(event) command :trigger, event end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
poltergeist-0.4.0 | lib/capybara/poltergeist/node.rb |
poltergeist-0.3.0 | lib/capybara/poltergeist/node.rb |