teamcapybara--capybara/lib/capybara/node.rb

88 lines
1.3 KiB
Ruby
Raw Normal View History

require 'capybara/node/finders'
require 'capybara/node/actions'
require 'capybara/node/matchers'
module Capybara
class Node
2010-07-09 23:58:34 +00:00
attr_reader :session, :base
include Capybara::Node::Finders
include Capybara::Node::Actions
include Capybara::Node::Matchers
2010-07-09 23:58:34 +00:00
def initialize(session, base)
@session = session
@base = base
end
protected
def driver
session.driver
end
end
class Element < Node
def text
base.text
end
def [](attribute)
base[attribute]
end
def value
base.value
end
def set(value)
base.set(value)
end
def select_option(option)
base.select_option(option)
end
def unselect_option(option)
base.unselect_option(option)
end
def click
base.click
end
def tag_name
base.tag_name
end
def visible
base.visible?
end
def path
base.path
end
def trigger(event)
base.trigger(event)
end
def drag_to(node)
base.drag_to(node.base)
end
def inspect
%(#<Capybara::Element tag="#{tag_name}" path="#{path}">)
rescue NotSupportedByDriverError
%(#<Capybara::Element tag="#{tag_name}">)
end
end
class Document < Node
def inspect
%(#<Capybara::Document>)
end
end
end