diff options
| author | Mark Otto <[email protected]> | 2012-12-08 17:40:42 -0800 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2012-12-08 17:40:42 -0800 |
| commit | bc0b94a3fdc8fe480c74f4494073e2c0addb265e (patch) | |
| tree | e13fec2ed829b4586fa4044fffc8dbfadddae54e /js/tests | |
| parent | be5f31480b53555c492e0077c8bb9f419fc48f62 (diff) | |
| parent | 9376a7c221a64c2bf508d02ea2ccd85748d10fcc (diff) | |
| download | bootstrap-bc0b94a3fdc8fe480c74f4494073e2c0addb265e.tar.xz bootstrap-bc0b94a3fdc8fe480c74f4494073e2c0addb265e.zip | |
Merge branch 'master' into 3.0.0-wip
Conflicts:
docs/assets/css/bootstrap.css
docs/assets/js/bootstrap.js
docs/css.html
docs/templates/pages/base-css.mustache
docs/templates/pages/components.mustache
docs/templates/pages/javascript.mustache
less/breadcrumbs.less
less/tables.less
less/tests/css-tests.html
Diffstat (limited to 'js/tests')
| -rw-r--r-- | js/tests/unit/bootstrap-affix.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-alert.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-button.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-carousel.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-collapse.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-dropdown.js | 10 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-modal.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-popover.js | 12 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-scrollspy.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-tab.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-tooltip.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/bootstrap-typeahead.js | 52 |
12 files changed, 113 insertions, 15 deletions
diff --git a/js/tests/unit/bootstrap-affix.js b/js/tests/unit/bootstrap-affix.js index bc25df991..c97887890 100644 --- a/js/tests/unit/bootstrap-affix.js +++ b/js/tests/unit/bootstrap-affix.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-affix") + test("should provide no conflict", function () { + var affix = $.fn.affix.noConflict() + ok(!$.fn.affix, 'affix was set back to undefined (org value)') + $.fn.affix = affix + }) + test("should be defined on jquery object", function () { ok($(document.body).affix, 'affix method is defined') }) diff --git a/js/tests/unit/bootstrap-alert.js b/js/tests/unit/bootstrap-alert.js index 7f24e0e6b..9a6b514c4 100644 --- a/js/tests/unit/bootstrap-alert.js +++ b/js/tests/unit/bootstrap-alert.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-alerts") + test("should provide no conflict", function () { + var alert = $.fn.alert.noConflict() + ok(!$.fn.alert, 'alert was set back to undefined (org value)') + $.fn.alert = alert + }) + test("should be defined on jquery object", function () { ok($(document.body).alert, 'alert method is defined') }) diff --git a/js/tests/unit/bootstrap-button.js b/js/tests/unit/bootstrap-button.js index b5d083499..e23ff9e30 100644 --- a/js/tests/unit/bootstrap-button.js +++ b/js/tests/unit/bootstrap-button.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-buttons") + test("should provide no conflict", function () { + var button = $.fn.button.noConflict() + ok(!$.fn.button, 'button was set back to undefined (org value)') + $.fn.button = button + }) + test("should be defined on jquery object", function () { ok($(document.body).button, 'button method is defined') }) diff --git a/js/tests/unit/bootstrap-carousel.js b/js/tests/unit/bootstrap-carousel.js index 8bd1b62ba..13b8f721f 100644 --- a/js/tests/unit/bootstrap-carousel.js +++ b/js/tests/unit/bootstrap-carousel.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-carousel") + test("should provide no conflict", function () { + var carousel = $.fn.carousel.noConflict() + ok(!$.fn.carousel, 'carousel was set back to undefined (org value)') + $.fn.carousel = carousel + }) + test("should be defined on jquery object", function () { ok($(document.body).carousel, 'carousel method is defined') }) diff --git a/js/tests/unit/bootstrap-collapse.js b/js/tests/unit/bootstrap-collapse.js index 6cc7ac7a4..4c5916ecd 100644 --- a/js/tests/unit/bootstrap-collapse.js +++ b/js/tests/unit/bootstrap-collapse.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-collapse") + test("should provide no conflict", function () { + var collapse = $.fn.collapse.noConflict() + ok(!$.fn.collapse, 'collapse was set back to undefined (org value)') + $.fn.collapse = collapse + }) + test("should be defined on jquery object", function () { ok($(document.body).collapse, 'collapse method is defined') }) diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js index 3788209ec..2f0d2d29e 100644 --- a/js/tests/unit/bootstrap-dropdown.js +++ b/js/tests/unit/bootstrap-dropdown.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-dropdowns") + test("should provide no conflict", function () { + var dropdown = $.fn.dropdown.noConflict() + ok(!$.fn.dropdown, 'dropdown was set back to undefined (org value)') + $.fn.dropdown = dropdown + }) + test("should be defined on jquery object", function () { ok($(document.body).dropdown, 'dropdown method is defined') }) @@ -104,7 +110,7 @@ $(function () { }) test("should remove open class if body clicked, with multiple drop downs", function () { - var dropdownHTML = + var dropdownHTML = '<ul class="nav">' + ' <li><a href="#menu1">Menu 1</a></li>' + ' <li class="dropdown" id="testmenu">' @@ -126,7 +132,7 @@ $(function () { , last = dropdowns.last() ok(dropdowns.length == 2, "Should be two dropdowns") - + first.click() ok(first.parents('.open').length == 1, 'open class added on click') ok($('#qunit-fixture .open').length == 1, 'only one object is open') diff --git a/js/tests/unit/bootstrap-modal.js b/js/tests/unit/bootstrap-modal.js index 0851f64a7..98aa990a6 100644 --- a/js/tests/unit/bootstrap-modal.js +++ b/js/tests/unit/bootstrap-modal.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-modal") + test("should provide no conflict", function () { + var modal = $.fn.modal.noConflict() + ok(!$.fn.modal, 'modal was set back to undefined (org value)') + $.fn.modal = modal + }) + test("should be defined on jquery object", function () { var div = $("<div id='modal-test'></div>") ok(div.modal, 'modal method is defined') diff --git a/js/tests/unit/bootstrap-popover.js b/js/tests/unit/bootstrap-popover.js index 6a5f0bdcf..20234e147 100644 --- a/js/tests/unit/bootstrap-popover.js +++ b/js/tests/unit/bootstrap-popover.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-popover") + test("should provide no conflict", function () { + var popover = $.fn.popover.noConflict() + ok(!$.fn.popover, 'popover was set back to undefined (org value)') + $.fn.popover = popover + }) + test("should be defined on jquery object", function () { var div = $('<div></div>') ok(div.popover, 'popover method is defined') @@ -70,7 +76,7 @@ $(function () { ok(!$('.popover').length, 'popover was removed') $('#qunit-fixture').empty() }) - + test("should respect custom classes", function() { $.support.transition = false var popover = $('<a href="#">@fat</a>') @@ -80,7 +86,7 @@ $(function () { , content: 'Test' , template: '<div class="popover foobar"><div class="arrow"></div><div class="inner"><h3 class="title"></h3><div class="content"><p></p></div></div></div>' }) - + popover.popover('show') ok($('.popover').length, 'popover was inserted') @@ -103,5 +109,5 @@ $(function () { ok($._data(popover[0],'events').click[0].namespace == 'foo', 'popover still has click.foo') ok(!$._data(popover[0], 'events').mouseover && !$._data(popover[0], 'events').mouseout, 'popover does not have any events') }) - + })
\ No newline at end of file diff --git a/js/tests/unit/bootstrap-scrollspy.js b/js/tests/unit/bootstrap-scrollspy.js index bee46a925..32bfa7134 100644 --- a/js/tests/unit/bootstrap-scrollspy.js +++ b/js/tests/unit/bootstrap-scrollspy.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-scrollspy") + test("should provide no conflict", function () { + var scrollspy = $.fn.scrollspy.noConflict() + ok(!$.fn.scrollspy, 'scrollspy was set back to undefined (org value)') + $.fn.scrollspy = scrollspy + }) + test("should be defined on jquery object", function () { ok($(document.body).scrollspy, 'scrollspy method is defined') }) diff --git a/js/tests/unit/bootstrap-tab.js b/js/tests/unit/bootstrap-tab.js index 40f9a7406..ba5910d5e 100644 --- a/js/tests/unit/bootstrap-tab.js +++ b/js/tests/unit/bootstrap-tab.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-tabs") + test("should provide no conflict", function () { + var tab = $.fn.tab.noConflict() + ok(!$.fn.tab, 'tab was set back to undefined (org value)') + $.fn.tab = tab + }) + test("should be defined on jquery object", function () { ok($(document.body).tab, 'tabs method is defined') }) diff --git a/js/tests/unit/bootstrap-tooltip.js b/js/tests/unit/bootstrap-tooltip.js index bbdf3ce80..ba5134743 100644 --- a/js/tests/unit/bootstrap-tooltip.js +++ b/js/tests/unit/bootstrap-tooltip.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-tooltip") + test("should provide no conflict", function () { + var tooltip = $.fn.tooltip.noConflict() + ok(!$.fn.tooltip, 'tooltip was set back to undefined (org value)') + $.fn.tooltip = tooltip + }) + test("should be defined on jquery object", function () { var div = $("<div></div>") ok(div.tooltip, 'popover method is defined') diff --git a/js/tests/unit/bootstrap-typeahead.js b/js/tests/unit/bootstrap-typeahead.js index 16bdb9194..4bdbce970 100644 --- a/js/tests/unit/bootstrap-typeahead.js +++ b/js/tests/unit/bootstrap-typeahead.js @@ -2,6 +2,12 @@ $(function () { module("bootstrap-typeahead") + test("should provide no conflict", function () { + var typeahead = $.fn.typeahead.noConflict() + ok(!$.fn.typeahead, 'typeahead was set back to undefined (org value)') + $.fn.typeahead = typeahead + }) + test("should be defined on jquery object", function () { ok($(document.body).typeahead, 'alert method is defined') }) @@ -32,7 +38,9 @@ $(function () { }) test("should show menu when query entered", function () { - var $input = $('<input />').typeahead({ + var $input = $('<input />') + .appendTo('body') + .typeahead({ source: ['aa', 'ab', 'ac'] }) , typeahead = $input.data('typeahead') @@ -44,6 +52,7 @@ $(function () { equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu') equals(typeahead.$menu.find('.active').length, 1, 'one item is active') + $input.remove() typeahead.$menu.remove() }) @@ -52,7 +61,7 @@ $(function () { source: function () { return ['aa', 'ab', 'ac'] } - }) + }).appendTo('body') , typeahead = $input.data('typeahead') $input.val('a') @@ -62,6 +71,7 @@ $(function () { equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu') equals(typeahead.$menu.find('.active').length, 1, 'one item is active') + $input.remove() typeahead.$menu.remove() }) @@ -70,7 +80,7 @@ $(function () { source: function (query, process) { process(['aa', 'ab', 'ac']) } - }) + }).appendTo('body') , typeahead = $input.data('typeahead') $input.val('a') @@ -80,13 +90,14 @@ $(function () { equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu') equals(typeahead.$menu.find('.active').length, 1, 'one item is active') + $input.remove() typeahead.$menu.remove() }) test("should not explode when regex chars are entered", function () { var $input = $('<input />').typeahead({ source: ['aa', 'ab', 'ac', 'mdo*', 'fat+'] - }) + }).appendTo('body') , typeahead = $input.data('typeahead') $input.val('+') @@ -96,6 +107,7 @@ $(function () { equals(typeahead.$menu.find('li').length, 1, 'has 1 item in menu') equals(typeahead.$menu.find('.active').length, 1, 'one item is active') + $input.remove() typeahead.$menu.remove() }) @@ -103,7 +115,7 @@ $(function () { stop() var $input = $('<input />').typeahead({ source: ['aa', 'ab', 'ac'] - }) + }).appendTo('body') , typeahead = $input.data('typeahead') $input.val('a') @@ -120,13 +132,14 @@ $(function () { start() }, 200) + $input.remove() typeahead.$menu.remove() }) test("should set next item when down arrow is pressed", function () { var $input = $('<input />').typeahead({ source: ['aa', 'ab', 'ac'] - }) + }).appendTo('body') , typeahead = $input.data('typeahead') $input.val('a') @@ -137,21 +150,38 @@ $(function () { equals(typeahead.$menu.find('.active').length, 1, 'one item is active') ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active") + // simulate entire key pressing event $input.trigger({ type: 'keydown' , keyCode: 40 }) + .trigger({ + type: 'keypress' + , keyCode: 40 + }) + .trigger({ + type: 'keyup' + , keyCode: 40 + }) ok(typeahead.$menu.find('li').first().next().hasClass('active'), "second item is active") - $input.trigger({ type: 'keydown' , keyCode: 38 }) + .trigger({ + type: 'keypress' + , keyCode: 38 + }) + .trigger({ + type: 'keyup' + , keyCode: 38 + }) ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active") + $input.remove() typeahead.$menu.remove() }) @@ -159,7 +189,7 @@ $(function () { test("should set input value to selected item", function () { var $input = $('<input />').typeahead({ source: ['aa', 'ab', 'ac'] - }) + }).appendTo('body') , typeahead = $input.data('typeahead') , changed = false @@ -174,6 +204,7 @@ $(function () { ok(!typeahead.$menu.is(':visible'), 'the menu was hidden') ok(changed, 'a change event was fired') + $input.remove() typeahead.$menu.remove() }) @@ -181,7 +212,7 @@ $(function () { var $input = $('<input />').typeahead({ source: ['aaaa', 'aaab', 'aaac'], minLength: 3 - }) + }).appendTo('body') , typeahead = $input.data('typeahead') $input.val('aa') @@ -194,6 +225,7 @@ $(function () { equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu') + $input.remove() typeahead.$menu.remove() }) -})
\ No newline at end of file +}) |
