diff --git a/lib/prickle/capybara/popup/selenium.rb b/lib/prickle/capybara/popup/selenium.rb index ae82a11..af93e40 100644 --- a/lib/prickle/capybara/popup/selenium.rb +++ b/lib/prickle/capybara/popup/selenium.rb @@ -12,10 +12,7 @@ def initialize alias :popup :initialize def confirm &block - if block_given? - block.call - @message = popup.text - end + handle_webkit_syntax &block if block_given? popup.accept self end @@ -23,13 +20,7 @@ def confirm &block alias :accept :confirm def dismiss &block - if block_given? - block.call - @message = popup.text - sleep 1 - popup.accept - return self - end + return handle_webkit_syntax_dismiss &block if block_given? popup.dismiss end @@ -41,6 +32,19 @@ def contains_message? message raise Exceptions::MessageNotContainedInPopup.new(self.message) unless self.message.eql? message end + private + + def handle_webkit_syntax_dismiss &block + handle_webkit_syntax &block + popup.accept + self + end + + def handle_webkit_syntax &block + block.call + @message = popup.text + end + end end end