Module: Capybara::DSL
- Defined in:
- lib/capybara_spa/capybara_dsl_ext.rb
Instance Method Summary collapse
- #ignoring_angular(&block) ⇒ Object
- #ignoring_single_page_app(&block) ⇒ Object
- #page ⇒ Object
- #wait_until_single_page_app_is_found ⇒ Object
Instance Method Details
#ignoring_angular(&block) ⇒ Object
27 28 29 |
# File 'lib/capybara_spa/capybara_dsl_ext.rb', line 27 def ignoring_angular(&block) ignoring_single_page_app(&block) end |
#ignoring_single_page_app(&block) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/capybara_spa/capybara_dsl_ext.rb', line 31 def ignoring_single_page_app(&block) @ignoring_single_page_app = true yield ensure @ignoring_single_page_app = false end |
#page ⇒ Object
5 6 7 8 |
# File 'lib/capybara_spa/capybara_dsl_ext.rb', line 5 def page wait_until_single_page_app_is_found unless @ignoring_single_page_app Capybara.current_session end |
#wait_until_single_page_app_is_found ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/capybara_spa/capybara_dsl_ext.rb', line 10 def wait_until_single_page_app_is_found return if CapybaraSpa.single_page_app_found single_page_app_found = false loop do Capybara.current_session.visit('/') app_tag = CapybaraSpa.app_tag single_page_app_found = Capybara.current_session.evaluate_script <<-JAVASCRIPT document.getElementsByTagName('#{app_tag}').length === 1 JAVASCRIPT CapybaraSpa.single_page_app_found = single_page_app_found break if CapybaraSpa.single_page_app_found sleep 0.25 end end |