diff options
author | Mathieu <mathieu.mahe@gmail.com> | 2018-04-01 19:15:36 +0700 |
---|---|---|
committer | Mathieu <mathieu.mahe@gmail.com> | 2018-04-01 19:15:36 +0700 |
commit | e9aa7ecdee0aa7bb4dcfa5046881bde2f1fe21cc (patch) | |
tree | 149976d8e878915890388c9884c06671dd477bb1 /actionview/test/ujs | |
parent | 8d93107ba2554a9206a651ff2b96f2a87b061d14 (diff) | |
download | rails-e9aa7ecdee0aa7bb4dcfa5046881bde2f1fe21cc.tar.gz rails-e9aa7ecdee0aa7bb4dcfa5046881bde2f1fe21cc.tar.bz2 rails-e9aa7ecdee0aa7bb4dcfa5046881bde2f1fe21cc.zip |
Extract the confirm call in its own, overridable method in rails_ujs
Diffstat (limited to 'actionview/test/ujs')
-rw-r--r-- | actionview/test/ujs/public/test/data-confirm.js | 26 |
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') +}) |