Module: Dill::DSL
- Included in:
- Role
- Defined in:
- lib/dill/dsl.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#click(name, *args) ⇒ Object
Clicks the widget defined by
name
and optionalargs
. -
#document ⇒ Document
The current document with the class of the current object set as the widget lookup scope.
-
#double_click(name, *args) ⇒ Object
Double clicks the widget defined by
name
and optionalargs
. -
#eventually(wait_time = Capybara.default_max_wait_time, &block) ⇒ Object
re-run one or more assertions until either they all pass, or Dill times out, which will result in a test failure.
-
#has_widget?(name, *args) ⇒ Boolean
(also: #widget?)
Whether one or more widgets exist in the current document.
-
#hover(name, *args) ⇒ Object
Hovers the widget defined by
name
and optionalargs
. - #not_visible?(name, *args) ⇒ Boolean
-
#right_click(name, *args) ⇒ Object
Right clicks the widget defined by
name
and optionalargs
. - #set(name, fields) ⇒ Object
- #submit(name, fields = {}) ⇒ Object
- #value(name, *args) ⇒ Object
- #values(name, *args) ⇒ Object
- #visible?(name, *args) ⇒ Boolean
- #visit(path) ⇒ Object
-
#widget(name, *args) ⇒ Object
Returns a widget instance for the given name.
-
#widgets(name, *args) ⇒ Object
Returns a list of widget instances for the given name.
Instance Attribute Details
#widget_lookup_scope ⇒ Object
91 92 93 |
# File 'lib/dill/dsl.rb', line 91 def @widget_lookup_scope ||= end |
Instance Method Details
#click(name, *args) ⇒ Object
Clicks the widget defined by name
and optional args
.
Makes no distinction between links or buttons.
class MyWidget < Dill::Widget
root { |text| ['.my-widget', text: text] }
end
# <a href="#one" class="my-widget">One</li>
# <a href="#two" class="my-widget">Two</li> <!-- clicks this node -->
click :my_widget, 'Two'
16 17 18 |
# File 'lib/dill/dsl.rb', line 16 def click(name, *args) (name, *args).click end |
#document ⇒ Document
Returns the current document with the class of the current object set as the widget lookup scope.
37 38 39 |
# File 'lib/dill/dsl.rb', line 37 def document Document.new() end |
#double_click(name, *args) ⇒ Object
Double clicks the widget defined by name
and optional args
.
26 27 28 |
# File 'lib/dill/dsl.rb', line 26 def double_click(name, *args) (name, *args).double_click end |
#eventually(wait_time = Capybara.default_max_wait_time, &block) ⇒ Object
re-run one or more assertions until either they all pass, or Dill times out, which will result in a test failure.
97 98 99 |
# File 'lib/dill/dsl.rb', line 97 def eventually(wait_time = Capybara.default_max_wait_time, &block) Checkpoint.wait_for wait_time, &block end |
#has_widget?(name, *args) ⇒ Boolean Also known as: widget?
Returns Whether one or more widgets exist in the current document.
43 44 45 |
# File 'lib/dill/dsl.rb', line 43 def (name, *args) document.(name, *args) end |
#hover(name, *args) ⇒ Object
Hovers the widget defined by name
and optional args
.
21 22 23 |
# File 'lib/dill/dsl.rb', line 21 def hover(name, *args) (name, *args).hover end |
#not_visible?(name, *args) ⇒ Boolean
53 54 55 |
# File 'lib/dill/dsl.rb', line 53 def not_visible?(name, *args) document.not_visible?(name, *args) end |
#right_click(name, *args) ⇒ Object
Right clicks the widget defined by name
and optional args
.
31 32 33 |
# File 'lib/dill/dsl.rb', line 31 def right_click(name, *args) (name, *args).right_click end |
#set(name, fields) ⇒ Object
57 58 59 |
# File 'lib/dill/dsl.rb', line 57 def set(name, fields) (name).set fields end |
#submit(name, fields = {}) ⇒ Object
61 62 63 |
# File 'lib/dill/dsl.rb', line 61 def submit(name, fields = {}) (name).submit_with fields end |
#value(name, *args) ⇒ Object
65 66 67 |
# File 'lib/dill/dsl.rb', line 65 def value(name, *args) (name, *args).value end |
#values(name, *args) ⇒ Object
69 70 71 |
# File 'lib/dill/dsl.rb', line 69 def values(name, *args) (name, *args).map(&:value) end |
#visible?(name, *args) ⇒ Boolean
49 50 51 |
# File 'lib/dill/dsl.rb', line 49 def visible?(name, *args) document.visible?(name, *args) end |
#visit(path) ⇒ Object
73 74 75 |
# File 'lib/dill/dsl.rb', line 73 def visit(path) Capybara.current_session.visit path end |
#widget(name, *args) ⇒ Object
Returns a widget instance for the given name.
80 81 82 |
# File 'lib/dill/dsl.rb', line 80 def (name, *args) eventually { document.(name, *args) } end |
#widgets(name, *args) ⇒ Object
Returns a list of widget instances for the given name.
87 88 89 |
# File 'lib/dill/dsl.rb', line 87 def (name, *args) document.(name, *args) end |