Module: Angular::DSL
- Included in:
- Capybara::Session
- Defined in:
- lib/angular/dsl.rb
Overview
-
wait If true wait for AngularJS to be ready before doing quer (default: true)
Instance Method Summary collapse
-
#has_ng_binding?(binding, opt = {}) ⇒ Boolean
Does binding exist.
-
#has_ng_model?(model, opt = {}) ⇒ Boolean
Does model exist.
-
#has_ng_options?(options, opt = {}) ⇒ Boolean
Does option exist.
-
#has_ng_repeater_row?(repeater, opt = {}) ⇒ Boolean
Does row exist.
-
#has_no_ng_model?(model, opt = {}) ⇒ Boolean
Does model not exist.
-
#has_no_ng_options?(options, opt = {}) ⇒ Boolean
Does option not exist.
-
#has_no_ng_repeater_row?(repeater, opt = {}) ⇒ Boolean
Does row not exist.
- #ng ⇒ Object
-
#ng_binding(binding, opt = {}) ⇒ Object
Node for nth binding match.
-
#ng_bindings(binding, opt = {}) ⇒ node, ...
All nodes matching binding.
-
#ng_eval(expr, opt = {}) ⇒ Object
-
:root_selector - :wait.
-
-
#ng_install ⇒ Object
Setup AngularJS test hooks in web page.
-
#ng_location(opt = {}) ⇒ Object
-
:root_selector - :wait.
-
-
#ng_location_abs(opt = {}) ⇒ Object
-
:root_selector - :wait.
-
-
#ng_model(model, opt = {}) ⇒ Object
Node for nth model match.
-
#ng_models(model, opt = {}) ⇒ node, ...
All nodes matching model.
-
#ng_option(options, opt = {}) ⇒ Object
Node for nth option.
-
#ng_options(options, opt = {}) ⇒ node, ...
All option values matching option.
-
#ng_repeater_column(repeater, binding, opt = {}) ⇒ Object
Node for column binding value in row.
-
#ng_repeater_columns(repeater, binding, opt = {}) ⇒ node, ...
Node for column binding value in all rows.
-
#ng_repeater_element(repeater, index, binding, opt = {}) ⇒ Object
-
:row - :root_selector - :wait.
-
-
#ng_repeater_elements(repeater, index, binding, opt = {}) ⇒ node, ...
-
:root_selector - :wait.
-
-
#ng_repeater_row(repeater, opt = {}) ⇒ Object
Node for nth repeater row.
-
#ng_repeater_rows(repeater, opt = {}) ⇒ node, ...
All nodes matching repeater.
-
#ng_root_selector(root_selector = nil) ⇒ Object
Get or set selector to find ng-app for current capybara test session.
-
#ng_set_location(url, opt = {}) ⇒ Object
-
:root_selector - :wait.
-
-
#ng_wait ⇒ Object
Wait that AngularJS is ready.
Instance Method Details
#has_ng_binding?(binding, opt = {}) ⇒ Boolean
Does binding exist
-
:exact
-
:root_selector
-
:wait
97 98 99 100 101 102 |
# File 'lib/angular/dsl.rb', line 97 def has_ng_binding?(binding, opt = {}) ng_bindings(model, opt) true rescue NotFound false end |
#has_ng_model?(model, opt = {}) ⇒ Boolean
Does model exist
-
:root_selector
-
:wait
142 143 144 145 146 147 |
# File 'lib/angular/dsl.rb', line 142 def has_ng_model?(model, opt = {}) ng_models(model, opt) true rescue NotFound false end |
#has_ng_options?(options, opt = {}) ⇒ Boolean
Does option exist
-
:root_selector
-
:wait
196 197 198 199 200 201 202 |
# File 'lib/angular/dsl.rb', line 196 def (, opt = {}) opt[:root_selector] ||= ng_root_selector (, opt) true rescue NotFound false end |
#has_ng_repeater_row?(repeater, opt = {}) ⇒ Boolean
Does row exist
-
:root_selector
-
:wait
252 253 254 255 256 257 |
# File 'lib/angular/dsl.rb', line 252 def has_ng_repeater_row?(repeater, opt = {}) ng_repeater_row(repeater, opt) true rescue NotFound false end |
#has_no_ng_model?(model, opt = {}) ⇒ Boolean
Does model not exist
-
:root_selector
-
:wait
156 157 158 |
# File 'lib/angular/dsl.rb', line 156 def has_no_ng_model?(model, opt = {}) !has_ng_model?(model, opt) end |
#has_no_ng_options?(options, opt = {}) ⇒ Boolean
Does option not exist
-
:root_selector
-
:wait
212 213 214 |
# File 'lib/angular/dsl.rb', line 212 def (, opt = {}) !(, opt) end |
#has_no_ng_repeater_row?(repeater, opt = {}) ⇒ Boolean
Does row not exist
-
:root_selector
-
:wait
267 268 269 |
# File 'lib/angular/dsl.rb', line 267 def has_no_ng_repeater_row?(repeater, opt = {}) !has_ng_repeater_rows?(repeater, opt) end |
#ng ⇒ Object
8 9 10 |
# File 'lib/angular/dsl.rb', line 8 def ng Capybara.current_session.ng end |
#ng_binding(binding, opt = {}) ⇒ Object
Node for nth binding match
-
:row
-
:exact
-
:root_selector
-
:wait
114 115 116 117 118 |
# File 'lib/angular/dsl.rb', line 114 def ng_binding(binding, opt = {}) opt[:root_selector] ||= ng_root_selector row = ng.row(opt) ng_bindings(binding, opt)[row] end |
#ng_bindings(binding, opt = {}) ⇒ node, ...
All nodes matching binding
-
:exact
-
:root_selector
-
:wait
129 130 131 132 |
# File 'lib/angular/dsl.rb', line 129 def ng_bindings(binding, opt = {}) opt[:root_selector] ||= ng_root_selector ng.get_nodes_2 :findBindingsIds, [binding, opt[:exact] == true], opt end |
#ng_eval(expr, opt = {}) ⇒ Object
-
:root_selector
-
:wait
83 84 85 86 |
# File 'lib/angular/dsl.rb', line 83 def ng_eval(expr, opt = {}) selector = opt.delete(:root_selector) || ng_root_selector ng.make_call :evaluate, [selector, expr], opt end |
#ng_install ⇒ Object
Setup AngularJS test hooks in web page. In normal usage there is no need to use this
33 34 35 |
# File 'lib/angular/dsl.rb', line 33 def ng_install ng.install end |
#ng_location(opt = {}) ⇒ Object
-
:root_selector
-
:wait
61 62 63 64 |
# File 'lib/angular/dsl.rb', line 61 def ng_location(opt = {}) selector = opt.delete(:root_selector) || ng_root_selector ng.make_call :getLocation, [selector], opt end |
#ng_location_abs(opt = {}) ⇒ Object
-
:root_selector
-
:wait
50 51 52 53 |
# File 'lib/angular/dsl.rb', line 50 def ng_location_abs(opt = {}) selector = opt.delete(:root_selector) || ng_root_selector ng.make_call :getLocationAbsUrl, [selector], opt end |
#ng_model(model, opt = {}) ⇒ Object
Node for nth model match
-
:row
-
:root_selector
-
:wait
169 170 171 172 173 |
# File 'lib/angular/dsl.rb', line 169 def ng_model(model, opt = {}) opt[:root_selector] ||= ng_root_selector row = ng.row(opt) ng_models(model, opt)[row] end |
#ng_models(model, opt = {}) ⇒ node, ...
All nodes matching model
-
:root_selector
-
:wait
183 184 185 186 |
# File 'lib/angular/dsl.rb', line 183 def ng_models(model, opt = {}) opt[:root_selector] ||= ng_root_selector ng.get_nodes_2 :findByModelIds, [model], opt end |
#ng_option(options, opt = {}) ⇒ Object
Node for nth option
-
:row
-
:root_selector
-
:wait
225 226 227 228 229 |
# File 'lib/angular/dsl.rb', line 225 def ng_option(, opt = {}) opt[:root_selector] ||= ng_root_selector row = ng.row(opt) (, opt)[row] end |
#ng_options(options, opt = {}) ⇒ node, ...
All option values matching option
-
:root_selector
-
:wait
239 240 241 242 |
# File 'lib/angular/dsl.rb', line 239 def (, opt = {}) opt[:root_selector] ||= ng_root_selector ng.get_nodes_2(:findByOptionsIds, [], opt) end |
#ng_repeater_column(repeater, binding, opt = {}) ⇒ Object
Node for column binding value in row
-
:row
-
:root_selector
-
:wait
309 310 311 312 313 |
# File 'lib/angular/dsl.rb', line 309 def ng_repeater_column(repeater, binding, opt = {}) opt[:root_selector] ||= ng_root_selector row = ng.row(opt) ng_repeater_columns(repeater, binding, opt)[row] end |
#ng_repeater_columns(repeater, binding, opt = {}) ⇒ node, ...
Node for column binding value in all rows
-
:root_selector
-
:wait
323 324 325 326 |
# File 'lib/angular/dsl.rb', line 323 def ng_repeater_columns(repeater, binding, opt = {}) opt[:root_selector] ||= ng_root_selector ng.get_nodes_2 :findRepeaterColumnIds, [repeater, binding], opt end |
#ng_repeater_element(repeater, index, binding, opt = {}) ⇒ Object
-
:row
-
:root_selector
-
:wait
335 336 337 338 339 |
# File 'lib/angular/dsl.rb', line 335 def ng_repeater_element(repeater, index, binding, opt = {}) opt[:root_selector] ||= ng_root_selector row = ng.row(opt) ng_repeater_elements(repeater, index, binding, opt)[row] end |
#ng_repeater_elements(repeater, index, binding, opt = {}) ⇒ node, ...
-
:root_selector
-
:wait
347 348 349 350 |
# File 'lib/angular/dsl.rb', line 347 def ng_repeater_elements(repeater, index, binding, opt = {}) opt[:root_selector] ||= ng_root_selector ng.get_nodes_2 :findRepeaterElementIds, [repeater, index, binding], opt end |
#ng_repeater_row(repeater, opt = {}) ⇒ Object
Node for nth repeater row
-
:row
-
:root_selector
-
:wait
280 281 282 283 284 285 |
# File 'lib/angular/dsl.rb', line 280 def ng_repeater_row(repeater, opt = {}) opt[:root_selector] ||= ng_root_selector row = ng.row(opt) data = ng.get_nodes_2(:findRepeaterRowsIds, [repeater, row], opt) data.first end |
#ng_repeater_rows(repeater, opt = {}) ⇒ node, ...
All nodes matching repeater
-
:root_selector
-
:wait
295 296 297 298 |
# File 'lib/angular/dsl.rb', line 295 def ng_repeater_rows(repeater, opt = {}) opt[:root_selector] ||= ng_root_selector ng.get_nodes_2 :findAllRepeaterRowsIds, [repeater], opt end |
#ng_root_selector(root_selector = nil) ⇒ Object
Get or set selector to find ng-app for current capybara test session
TIP: try using ‘[ng-app]’, which will find ng-app as attribute anywhere.
by default global ::Angular.root_selector is used.
21 22 23 24 25 26 27 |
# File 'lib/angular/dsl.rb', line 21 def ng_root_selector(root_selector = nil) opt = ng.page. if root_selector opt[:root_selector] = root_selector end opt[:root_selector] || ::Angular.root_selector end |
#ng_set_location(url, opt = {}) ⇒ Object
-
:root_selector
-
:wait
72 73 74 75 |
# File 'lib/angular/dsl.rb', line 72 def ng_set_location(url, opt = {}) selector = opt.delete(:root_selector) || ng_root_selector ng.make_call :setLocation, [selector, url], opt end |
#ng_wait ⇒ Object
Wait that AngularJS is ready
40 41 42 |
# File 'lib/angular/dsl.rb', line 40 def ng_wait ng.ng_wait end |