aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/test
diff options
context:
space:
mode:
authorGuillermo Iguaran <guilleiguaran@gmail.com>2018-04-02 10:50:10 -0500
committerGitHub <noreply@github.com>2018-04-02 10:50:10 -0500
commit91f4e335b59a794e1f1d5c2a13b286c38aec9f85 (patch)
tree054f300fd414bcbf70aca4b21db20230f6977aa4 /actionview/test
parentabb810b90bf25c3316e735d3778275ba5b817dfb (diff)
parente9aa7ecdee0aa7bb4dcfa5046881bde2f1fe21cc (diff)
downloadrails-91f4e335b59a794e1f1d5c2a13b286c38aec9f85.tar.gz
rails-91f4e335b59a794e1f1d5c2a13b286c38aec9f85.tar.bz2
rails-91f4e335b59a794e1f1d5c2a13b286c38aec9f85.zip
Merge pull request #32404 from mathieumahe/master
Extract the confirm call in its own, overridable method in rails_ujs
Diffstat (limited to 'actionview/test')
-rw-r--r--actionview/test/ujs/public/test/data-confirm.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/actionview/test/ujs/public/test/data-confirm.js b/actionview/test/ujs/public/test/data-confirm.js
index d1ea82ea7e..74f373148f 100644
--- a/actionview/test/ujs/public/test/data-confirm.js
+++ b/actionview/test/ujs/public/test/data-confirm.js
@@ -314,3 +314,29 @@ asyncTest('clicking on the children of a disabled button should not trigger a co
start()
}, 50)
})
+
+asyncTest('clicking on a link with data-confirm attribute with custom confirm handler. Confirm yes.', 7, function() {
+ var message, element
+ // redefine confirm function so we can make sure it's not called
+ window.confirm = function(msg) {
+ ok(false, 'confirm dialog should not be called')
+ }
+ // custom auto-confirm:
+ Rails.confirm = function(msg, elem) { message = msg; element = elem; return true }
+
+ $('a[data-confirm]')
+ .bindNative('confirm:complete', function(e, data) {
+ App.assertCallbackInvoked('confirm:complete')
+ ok(data == true, 'confirm:complete passes in confirm answer (true)')
+ })
+ .bindNative('ajax:success', function(e, data, status, xhr) {
+ App.assertCallbackInvoked('ajax:success')
+ App.assertRequestPath(data, '/echo')
+ App.assertGetRequest(data)
+
+ equal(message, 'Are you absolutely sure?')
+ equal(element, $('a[data-confirm]').get(0))
+ start()
+ })
+ .triggerNative('click')
+})