]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Clean button unit tests up
authorHeinrich Fenkart <hnrch02@gmail.com>
Wed, 18 Jun 2014 19:33:38 +0000 (21:33 +0200)
committerHeinrich Fenkart <hnrch02@gmail.com>
Sun, 6 Jul 2014 07:24:22 +0000 (09:24 +0200)
js/tests/unit/button.js

index 671a93891d4efca1e0ad7c2b43c321ec78141735..04457010e55dacee9dcb7130d8d5aae054e88a4a 100644 (file)
@@ -19,133 +19,133 @@ $(function () {
   })
 
   test('should provide no conflict', function () {
-    ok(!$.fn.button, 'button was set back to undefined (org value)')
+    strictEqual($.fn.button, undefined, 'button was set back to undefined (org value)')
   })
 
-  test('should return element', function () {
-    ok($(document.body).bootstrapButton()[0] == document.body, 'document.body returned')
+  test('should return jquery collection containing the element', function () {
+    var $el = $('<div/>')
+    var $button = $el.bootstrapButton()
+    ok($button instanceof $, 'returns jquery collection')
+    strictEqual($button[0], $el[0], 'collection contains element')
   })
 
   test('should return set state to loading', function () {
-    var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
-    equal(btn.html(), 'mdo', 'btn text equals mdo')
-    btn.bootstrapButton('loading')
-    equal(btn.html(), 'fat', 'btn text equals fat')
+    var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+    equal($btn.html(), 'mdo', 'btn text equals mdo')
+    $btn.bootstrapButton('loading')
+    equal($btn.html(), 'fat', 'btn text equals fat')
     stop()
     setTimeout(function () {
-      ok(btn.attr('disabled'), 'btn is disabled')
-      ok(btn.hasClass('disabled'), 'btn has disabled class')
+      ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
+      ok($btn.hasClass('disabled'), 'btn has disabled class')
       start()
     }, 0)
   })
 
   test('should return reset state', function () {
-    var btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
-    equal(btn.html(), 'mdo', 'btn text equals mdo')
-    btn.bootstrapButton('loading')
-    equal(btn.html(), 'fat', 'btn text equals fat')
+    var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+    equal($btn.html(), 'mdo', 'btn text equals mdo')
+    $btn.bootstrapButton('loading')
+    equal($btn.html(), 'fat', 'btn text equals fat')
     stop()
     setTimeout(function () {
-      ok(btn.attr('disabled'), 'btn is disabled')
-      ok(btn.hasClass('disabled'), 'btn has disabled class')
+      ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
+      ok($btn.hasClass('disabled'), 'btn has disabled class')
       start()
       stop()
-      btn.bootstrapButton('reset')
-      equal(btn.html(), 'mdo', 'btn text equals mdo')
+      $btn.bootstrapButton('reset')
+      equal($btn.html(), 'mdo', 'btn text equals mdo')
       setTimeout(function () {
-        ok(!btn.attr('disabled'), 'btn is not disabled')
-        ok(!btn.hasClass('disabled'), 'btn does not have disabled class')
+        ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled')
+        ok(!$btn.hasClass('disabled'), 'btn does not have disabled class')
         start()
       }, 0)
     }, 0)
   })
 
   test('should work with an empty string as reset state', function () {
-    var btn = $('<button class="btn" data-loading-text="fat"></button>')
-    equal(btn.html(), '', 'btn text equals ""')
-    btn.bootstrapButton('loading')
-    equal(btn.html(), 'fat', 'btn text equals fat')
+    var $btn = $('<button class="btn" data-loading-text="fat"/>')
+    equal($btn.html(), '', 'btn text equals ""')
+    $btn.bootstrapButton('loading')
+    equal($btn.html(), 'fat', 'btn text equals fat')
     stop()
     setTimeout(function () {
-      ok(btn.attr('disabled'), 'btn is disabled')
-      ok(btn.hasClass('disabled'), 'btn has disabled class')
+      ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
+      ok($btn.hasClass('disabled'), 'btn has disabled class')
       start()
       stop()
-      btn.bootstrapButton('reset')
-      equal(btn.html(), '', 'btn text equals ""')
+      $btn.bootstrapButton('reset')
+      equal($btn.html(), '', 'btn text equals ""')
       setTimeout(function () {
-        ok(!btn.attr('disabled'), 'btn is not disabled')
-        ok(!btn.hasClass('disabled'), 'btn does not have disabled class')
+        ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled')
+        ok(!$btn.hasClass('disabled'), 'btn does not have disabled class')
         start()
       }, 0)
     }, 0)
   })
 
   test('should toggle active', function () {
-    var btn = $('<button class="btn">mdo</button>')
-    ok(!btn.hasClass('active'), 'btn does not have active class')
-    btn.bootstrapButton('toggle')
-    ok(btn.hasClass('active'), 'btn has class active')
+    var $btn = $('<button class="btn">mdo</button>')
+    ok(!$btn.hasClass('active'), 'btn does not have active class')
+    $btn.bootstrapButton('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>')
-    var 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')
+    var $btn = $('<button class="btn" data-toggle="button">mdo</button>')
+    var $inner = $('<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"></div>')
-    var btn = $('<button class="btn">fat</button>')
-    var 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')
+    var $btngroup = $('<div class="btn-group" data-toggle="buttons"/>')
+    var $btn = $('<button class="btn">fat</button>')
+    var $inner = $('<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')
   })
 
   test('should check for closest matching toggle', function () {
-    var group = '<div class="btn-group" data-toggle="buttons">' +
+    var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
       '<label class="btn btn-primary active">' +
-        '<input type="radio" name="options" id="option1" checked="true"> Option 1' +
+      '<input type="radio" name="options" id="option1" checked="true"> Option 1' +
       '</label>' +
       '<label class="btn btn-primary">' +
-        '<input type="radio" name="options" id="option2"> Option 2' +
+      '<input type="radio" name="options" id="option2"> Option 2' +
       '</label>' +
       '<label class="btn btn-primary">' +
-        '<input type="radio" name="options" id="option3"> Option 3' +
+      '<input type="radio" name="options" id="option3"> Option 3' +
       '</label>' +
-    '</div>'
-
-    group = $(group)
-
-    var btn1 = $(group.children()[0])
-    var btn2 = $(group.children()[1])
-
-    group.appendTo($('#qunit-fixture'))
-
-    ok(btn1.hasClass('active'), 'btn1 has active class')
-    ok(btn1.find('input').prop('checked'), 'btn1 is checked')
-    ok(!btn2.hasClass('active'), 'btn2 does not have active class')
-    ok(!btn2.find('input').prop('checked'), 'btn2 is not checked')
-    btn2.find('input').click()
-    ok(!btn1.hasClass('active'), 'btn1 does not have active class')
-    ok(!btn1.find('input').prop('checked'), 'btn1 is checked')
-    ok(btn2.hasClass('active'), 'btn2 has active class')
-    ok(btn2.find('input').prop('checked'), 'btn2 is checked')
-
-    btn2.find('input').click() /* clicking an already checked radio should not un-check it */
-    ok(!btn1.hasClass('active'), 'btn1 does not have active class')
-    ok(!btn1.find('input').prop('checked'), 'btn1 is checked')
-    ok(btn2.hasClass('active'), 'btn2 has active class')
-    ok(btn2.find('input').prop('checked'), 'btn2 is checked')
+      '</div>'
+    var $group = $(groupHTML).appendTo('#qunit-fixture')
+
+    var $btn1 = $group.children().eq(0)
+    var $btn2 = $group.children().eq(1)
+
+    ok($btn1.hasClass('active'), 'btn1 has active class')
+    ok($btn1.find('input').prop('checked'), 'btn1 is checked')
+    ok(!$btn2.hasClass('active'), 'btn2 does not have active class')
+    ok(!$btn2.find('input').prop('checked'), 'btn2 is not checked')
+    $btn2.find('input').click()
+    ok(!$btn1.hasClass('active'), 'btn1 does not have active class')
+    ok(!$btn1.find('input').prop('checked'), 'btn1 is checked')
+    ok($btn2.hasClass('active'), 'btn2 has active class')
+    ok($btn2.find('input').prop('checked'), 'btn2 is checked')
+
+    $btn2.find('input').click() // clicking an already checked radio should not un-check it
+    ok(!$btn1.hasClass('active'), 'btn1 does not have active class')
+    ok(!$btn1.find('input').prop('checked'), 'btn1 is checked')
+    ok($btn2.hasClass('active'), 'btn2 has active class')
+    ok($btn2.find('input').prop('checked'), 'btn2 is checked')
   })
 
 })