Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (40 sloc) 1.07 KB
require 'active_support/ordered_hash'
module LocatorSpecHelper
def driver
@driver ||= mock(Selenium::WebDriver::Driver)
end
def locator(selector, attrs)
attrs ||= Watir::HTMLElement.attributes
Watir::ElementLocator.new(driver, selector, attrs)
end
def expect_one(*args)
driver.should_receive(:find_element).with(*args)
end
def expect_all(*args)
driver.should_receive(:find_elements).with(*args)
end
def locate_one(selector, attrs = nil)
locator(ordered_hash(selector), attrs).locate
end
def locate_all(selector, attrs = nil)
locator(ordered_hash(selector), attrs).locate_all
end
def element(opts = {})
attrs = opts.delete(:attributes)
el = mock(Watir::Element, opts)
attrs.each do |key, value|
el.stub!(:attribute).with(key).and_return(value)
end if attrs
el
end
def ordered_hash(selector)
case selector
when Hash
selector
when Array
ActiveSupport::OrderedHash[*selector]
else
raise ArgumentError, "couldn't create hash for #{selector.inspect}"
end
end
end
Jump to Line
Something went wrong with that request. Please try again.