Method: Splinter::Capybara::Actions#javascript_confirm

Defined in:
lib/splinter/capybara/actions.rb

#javascript_confirm(result = true) ⇒ Object

Simulates a javascript alert confirmation. You need to pass in a block that will generate the alert. E.g.:

javascript_confirm        { click_link "Destroy" }
javascript_confirm(false) { click_link "Destroy" }

Raises:

  • (ArgumentError)


121
122
123
124
125
126
127
128
# File 'lib/splinter/capybara/actions.rb', line 121

def javascript_confirm(result = true)
  raise ArgumentError, "Block required" unless block_given?
  result = !! result

  page.evaluate_script("window.original_confirm = window.confirm; window.confirm = function() { return #{result.inspect}; }")
  yield
  page.evaluate_script("window.confirm = window.original_confirm;")
end