aboutsummaryrefslogtreecommitdiff
path: root/js/tests/unit/bootstrap-dropdown.js
diff options
context:
space:
mode:
authorJacob Thornton <[email protected]>2011-09-09 22:47:49 -0700
committerJacob Thornton <[email protected]>2011-09-09 22:47:49 -0700
commit5f4e30ed1d33f83b0fad3afc9174e193e6c3fdf4 (patch)
tree105cd02ae9923fb2171f695e261e5311c81786b3 /js/tests/unit/bootstrap-dropdown.js
parentdf3ca4d94a69436c1d6c53f5559aefca98fb2232 (diff)
downloadbootstrap-5f4e30ed1d33f83b0fad3afc9174e193e6c3fdf4.tar.xz
bootstrap-5f4e30ed1d33f83b0fad3afc9174e193e6c3fdf4.zip
move js plugins to root dir, begin writing tests, and change modal plugin to be more boss like
Diffstat (limited to 'js/tests/unit/bootstrap-dropdown.js')
-rw-r--r--js/tests/unit/bootstrap-dropdown.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/js/tests/unit/bootstrap-dropdown.js b/js/tests/unit/bootstrap-dropdown.js
new file mode 100644
index 000000000..2c2acb9bb
--- /dev/null
+++ b/js/tests/unit/bootstrap-dropdown.js
@@ -0,0 +1,52 @@
+$(function () {
+
+ module("bootstrap-dropdowns")
+
+ test("should be defined on jquery object", function () {
+ ok($(document.body).dropdown, 'dropdown method is defined')
+ })
+
+ test("should return element", function () {
+ ok($(document.body).dropdown()[0] == document.body, 'document.body returned')
+ })
+
+ test("should add class open to menu if clicked", function () {
+ var dropdownHTML = '<ul class="tabs">'
+ + '<li class="dropdown">'
+ + '<a href="#" class="dropdown-toggle">Dropdown</a>'
+ + '<ul class="dropdown-menu">'
+ + '<li><a href="#">Secondary link</a></li>'
+ + '<li><a href="#">Something else here</a></li>'
+ + '<li class="divider"></li>'
+ + '<li><a href="#">Another link</a></li>'
+ + '</ul>'
+ + '</li>'
+ + '</ul>'
+ , dropdown = $(dropdownHTML).dropdown()
+
+ dropdown.find('.dropdown-toggle').click()
+ ok(dropdown.find('.dropdown').hasClass('open'), 'open class added on click')
+ })
+
+ test("should remove open class if body clicked", function () {
+ var dropdownHTML = '<ul class="tabs">'
+ + '<li class="dropdown">'
+ + '<a href="#" class="dropdown-toggle">Dropdown</a>'
+ + '<ul class="dropdown-menu">'
+ + '<li><a href="#">Secondary link</a></li>'
+ + '<li><a href="#">Something else here</a></li>'
+ + '<li class="divider"></li>'
+ + '<li><a href="#">Another link</a></li>'
+ + '</ul>'
+ + '</li>'
+ + '</ul>'
+ , dropdown = $(dropdownHTML).dropdown().appendTo('#qunit-runoff')
+
+ dropdown.find('.dropdown-toggle').click()
+ ok(dropdown.find('.dropdown').hasClass('open'), 'open class added on click')
+ $('body').click()
+ ok(!dropdown.find('.dropdown').hasClass('open'), 'open class removed')
+ dropdown.remove()
+ })
+
+}) \ No newline at end of file