capybara-webkit/lib/capybara/driver/webkit.rb

85 lines
1.3 KiB
Ruby
Raw Normal View History

2011-02-19 03:53:06 +00:00
require "capybara"
require "capybara/driver/webkit/node"
require "capybara/driver/webkit/browser"
class Capybara::Driver::Webkit
class WebkitError < StandardError
end
2011-02-25 05:15:08 +00:00
attr_reader :browser
2011-02-19 03:53:06 +00:00
def initialize(app, options={})
@app = app
@options = options
@rack_server = Capybara::Server.new(@app)
@rack_server.boot if Capybara.run_server
@browser = Browser.new
end
def current_url
2011-02-25 22:53:36 +00:00
browser.url
2011-02-19 03:53:06 +00:00
end
def visit(path)
2011-02-25 05:15:08 +00:00
browser.visit(url(path))
2011-02-19 03:53:06 +00:00
end
def find(query)
2011-02-25 05:15:08 +00:00
browser.find(query).map { |native| Node.new(self, native) }
2011-02-19 03:53:06 +00:00
end
def source
raise NotImplementedError
end
def body
raise NotImplementedError
end
def execute_script(script)
raise Capybara::NotSupportedByDriverError
end
def evaluate_script(script)
raise Capybara::NotSupportedByDriverError
end
def response_headers
raise Capybara::NotSupportedByDriverError
end
def status_code
raise Capybara::NotSupportedByDriverError
end
def within_frame(frame_id)
raise Capybara::NotSupportedByDriverError
end
def within_window(handle)
raise Capybara::NotSupportedByDriverError
end
def wait?
false
end
def wait_until(*args)
end
def reset!
2011-02-25 05:15:08 +00:00
browser.reset!
2011-02-19 03:53:06 +00:00
end
def has_shortcircuit_timeout?
false
end
private
def url(path)
@rack_server.url(path)
end
end