# File lib/capybara/driver/envjs_driver.rb, line 30 def [](name) attr_name = name.to_s attr_name == "class" and attr_name = "className" case when 'select' == tag_name && 'value' == attr_name if native['multiple'] find(".//option[@selected='selected']").map { |option| option.native[:value] || option.native.innerText } else native.value end else native[attr_name] end end
# File lib/capybara/driver/envjs_driver.rb, line 77 def click _event(self,"MouseEvents",'click',true,true, :button => 1) end
# File lib/capybara/driver/envjs_driver.rb, line 81 def drag_to(element) # distance stuff is arbitrary at this point, to make jquery.ui happy ... _event(self,"MouseEvents",'mousedown',true,true, :button => 1, :pageX => 0, :pageY => 0) _event(element,"MouseEvents",'mousemove',true,true, :button => 1, :pageX => 1, :pageY => 1) _event(element,"MouseEvents",'mousemove',true,true, :button => 1, :pageX => 0, :pageY => 0) _event(element,"MouseEvents",'mouseup',true,true, :button => 1, :pageX => 0, :pageY => 0) end
# File lib/capybara/driver/envjs_driver.rb, line 97 def find(locator) window = @driver.browser["window"] null = @driver.browser["null"] type = window["XPathResult"]["ANY_TYPE"] result_set = window.document.evaluate(locator, native, null, type, null) nodes = [] while n = result_set.iterateNext() nodes << Node.new(@driver, n) end nodes end
# File lib/capybara/driver/envjs_driver.rb, line 66 def select_option native.selected = true end
# File lib/capybara/driver/envjs_driver.rb, line 53 def set(value) case native.tagName when "TEXTAREA" native.innerText = value else case native.getAttribute("type") when "checkbox", "radio" native.click if native.checked != value else; native.setAttribute("value",value) end end end
# File lib/capybara/driver/envjs_driver.rb, line 89 def tag_name native.tagName.downcase end
# File lib/capybara/driver/envjs_driver.rb, line 26 def text native.innerText end
# File lib/capybara/driver/envjs_driver.rb, line 109 def trigger event # FIX: look up class and attributes _event(self, "", event.to_s, true, true ) end
# File lib/capybara/driver/envjs_driver.rb, line 70 def unselect_option if !select_node['multiple'] raise Capybara::UnselectNotAllowed, "Cannot unselect option from single select box." end native.removeAttribute('selected') end
# File lib/capybara/driver/envjs_driver.rb, line 45 def value if tag_name == 'textarea' native.innerText else self[:value] end end
# File lib/capybara/driver/envjs_driver.rb, line 93 def visible? find("./ancestor-or-self::*[contains(@style, 'display:none') or contains(@style, 'display: none')]").empty? end