info@54: $(function () {
info@54:
info@54: module("dropdowns")
info@54:
info@54: test("should provide no conflict", function () {
info@54: var dropdown = $.fn.dropdown.noConflict()
info@54: ok(!$.fn.dropdown, 'dropdown was set back to undefined (org value)')
info@54: $.fn.dropdown = dropdown
info@54: })
info@54:
info@54: test("should be defined on jquery object", function () {
info@54: ok($(document.body).dropdown, 'dropdown method is defined')
info@54: })
info@54:
info@54: test("should return element", function () {
info@54: var el = $("
")
info@54: ok(el.dropdown()[0] === el[0], 'same element returned')
info@54: })
info@54:
info@54: test("should not open dropdown if target is disabled", function () {
info@54: var dropdownHTML = '
'
info@54: , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
info@54:
info@54: ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
info@54: })
info@54:
info@54: test("should not open dropdown if target is disabled", function () {
info@54: var dropdownHTML = '
'
info@54: , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
info@54:
info@54: ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
info@54: })
info@54:
info@54: test("should add class open to menu if clicked", function () {
info@54: var dropdownHTML = '
'
info@54: , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
info@54:
info@54: ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
info@54: })
info@54:
info@54: test("should test if element has a # before assuming it's a selector", function () {
info@54: var dropdownHTML = '
'
info@54: , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
info@54:
info@54: ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
info@54: })
info@54:
info@54:
info@54: test("should remove open class if body clicked", function () {
info@54: var dropdownHTML = '
'
info@54: , dropdown = $(dropdownHTML)
info@54: .appendTo('#qunit-fixture')
info@54: .find('[data-toggle="dropdown"]')
info@54: .dropdown()
info@54: .click()
info@54:
info@54: ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
info@54: $('body').click()
info@54: ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class removed')
info@54: dropdown.remove()
info@54: })
info@54:
info@54: test("should remove open class if body clicked, with multiple drop downs", function () {
info@54: var dropdownHTML =
info@54: '