]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
fix bootstrap-button toggle regression + tests
authorJacob Thornton <jacobthornton@gmail.com>
Sun, 19 Feb 2012 07:29:58 +0000 (23:29 -0800)
committerJacob Thornton <jacobthornton@gmail.com>
Sun, 19 Feb 2012 07:29:58 +0000 (23:29 -0800)
docs/assets/bootstrap.zip
docs/assets/js/bootstrap-button.js
js/bootstrap-button.js
js/tests/unit/bootstrap-button.js

index 4cad194d74a68d6736686a16f9d7867cfde64964..9add96d32bff1148c74b92aeeef92b96f854badc 100644 (file)
Binary files a/docs/assets/bootstrap.zip and b/docs/assets/bootstrap.zip differ
index a0e0535475b45924cea7676bfb5d5e86c215fad2..0238ca3cb9fe01ba2e72fb6fdf3db377c3bb9d72 100644 (file)
@@ -91,7 +91,9 @@
 
   $(function () {
     $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
-      $(e.currentTarget).button('toggle')
+      var $btn = $(e.target)
+      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+      $btn.button('toggle')
     })
   })
 
index a0e0535475b45924cea7676bfb5d5e86c215fad2..0238ca3cb9fe01ba2e72fb6fdf3db377c3bb9d72 100644 (file)
@@ -91,7 +91,9 @@
 
   $(function () {
     $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
-      $(e.currentTarget).button('toggle')
+      var $btn = $(e.target)
+      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+      $btn.button('toggle')
     })
   })
 
index 8aed857e11acaff6c248336bd20ecca8ec28315e..03c4a8e9d57ecfddc62d4f50a859482283d86af9 100644 (file)
@@ -45,10 +45,33 @@ $(function () {
       })
 
       test("should toggle active", function () {
-        var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+        var btn = $('<button class="btn">mdo</button>')
         ok(!btn.hasClass('active'), 'btn does not have active class')
         btn.button('toggle')
         ok(btn.hasClass('active'), 'btn has class active')
       })
 
+      test("should toggle active when btn children are clicked", function () {
+        var btn = $('<button class="btn" data-toggle="button">mdo</button>')
+          , inner = $('<i></i>')
+        btn
+          .append(inner)
+          .appendTo($('#qunit-fixture'))
+        ok(!btn.hasClass('active'), 'btn does not have active class')
+        inner.click()
+        ok(btn.hasClass('active'), 'btn has class active')
+      })
+
+     test("should toggle active when btn children are clicked within btn-group", function () {
+        var btngroup = $('<div class="btn-group" data-toggle="buttons-checkbox"></div>')
+          , btn = $('<button class="btn">fat</button>')
+          , inner = $('<i></i>')
+        btngroup
+          .append(btn.append(inner))
+          .appendTo($('#qunit-fixture'))
+        ok(!btn.hasClass('active'), 'btn does not have active class')
+        inner.click()
+        ok(btn.hasClass('active'), 'btn has class active')
+      })
+
 })
\ No newline at end of file