From d77962dc976bf0d75fdd37df2072bfc8a4fbf751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C3=98in=C3=A6s=20Myrseth?= Date: Tue, 6 May 2014 10:47:11 +0200 Subject: [PATCH] Fix leak of click handlers between buttons --- src/bootstrap-dialogs.coffee | 2 ++ test/bootstrap-dialogs-test.coffee | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/bootstrap-dialogs.coffee b/src/bootstrap-dialogs.coffee index 49dd464..b6042d3 100644 --- a/src/bootstrap-dialogs.coffee +++ b/src/bootstrap-dialogs.coffee @@ -14,6 +14,8 @@ mkbutton = (text, btnClass) -> normalizeButtons = (buttons) -> for button in buttons + handler = null + if button instanceof Array handler = button[1] button = button[0] diff --git a/test/bootstrap-dialogs-test.coffee b/test/bootstrap-dialogs-test.coffee index 6f4779d..12fec29 100644 --- a/test/bootstrap-dialogs-test.coffee +++ b/test/bootstrap-dialogs-test.coffee @@ -202,6 +202,14 @@ buster.testCase 'Bootstrap.Dialogs', .click() assert.calledOnce(spy) + 'does not leak handlers between buttons': -> + spy = @spy() + dialog(buttons: [ + ['OK', spy] + $('')[0] + ]).$el.find('a').click() + refute.called(spy) + 'buttons can be DOM elements': -> $el = dialog(title: 'Title', body: 'Body', buttons: [ $('