Class: Kameleon::User::Abstract
Instance Attribute Summary collapse
#driver_name
Instance Method Summary
collapse
Methods included from Dsl::Act
#click, #fill_in
Methods included from Dsl::See
#not_see, #see
#refresh_page, #set_session
Constructor Details
#initialize(rspec_world, options = {}) ⇒ Abstract
Returns a new instance of Abstract.
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/kameleon/user/abstract.rb', line 11
def initialize(rspec_world, options={})
@rspec_world = rspec_world
@driver_name = options.delete(:driver)
@session_name = options.delete(:session_name)
@options = options
set_session
session.instance_eval do
def within(*args)
new_scope = if args.size == 1 && Capybara::Node::Base === args.first
args.first
elsif args.last == :select_multiple
case driver
when Capybara::Selenium::Driver
raise "So far Unsupported in this driver"
when Capybara::RackTest::Driver
node = find(*args)
native = Nokogiri::HTML.parse(html).xpath(args[1])
base = Capybara::RackTest::Node.new(driver, native)
::Capybara::Node::Element.new(self,
base,
node.parent,
node.instance_variable_get(:@selector))
end
else
find(*args)
end
begin
scopes.push(*new_scope)
yield
ensure
scopes.pop
end
end
end
yield if block_given?
after_initialization
end
|
Instance Attribute Details
#options ⇒ Object
Returns the value of attribute options.
4
5
6
|
# File 'lib/kameleon/user/abstract.rb', line 4
def options
@options
end
|
#rspec_world ⇒ Object
Returns the value of attribute rspec_world.
5
6
7
|
# File 'lib/kameleon/user/abstract.rb', line 5
def rspec_world
@rspec_world
end
|
Instance Method Details
#debug ⇒ Object
69
70
71
|
# File 'lib/kameleon/user/abstract.rb', line 69
def debug
session
end
|
#page_areas ⇒ Object
65
66
67
|
# File 'lib/kameleon/user/abstract.rb', line 65
def page_areas
{}
end
|
#page_element(selector) ⇒ Object
! it should be package into raw module
74
75
76
|
# File 'lib/kameleon/user/abstract.rb', line 74
def page_element(selector)
session.find(*get_selector(selector))
end
|
#page_elements(selector) ⇒ Object
78
79
80
|
# File 'lib/kameleon/user/abstract.rb', line 78
def page_elements(selector)
session.all(*get_selector(selector))
end
|
#visit(page) ⇒ Object
49
50
51
|
# File 'lib/kameleon/user/abstract.rb', line 49
def visit(page)
session.visit(page)
end
|
#will(&block) ⇒ Object
53
54
55
56
57
|
# File 'lib/kameleon/user/abstract.rb', line 53
def will(&block)
default_selector ?
within(*default_selector, &block) :
instance_eval(&block)
end
|
#within(*selector, &block) ⇒ Object
59
60
61
62
63
|
# File 'lib/kameleon/user/abstract.rb', line 59
def within(*selector, &block)
session.within(*get_selector(selector)) do
instance_eval(&block)
end
end
|