bootstrap-dropdown.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. $(function () {
  2. module("bootstrap-dropdowns")
  3. test("should be defined on jquery object", function () {
  4. ok($(document.body).dropdown, 'dropdown method is defined')
  5. })
  6. test("should return element", function () {
  7. ok($(document.body).dropdown()[0] == document.body, 'document.body returned')
  8. })
  9. test("should add class open to menu if clicked", function () {
  10. var dropdownHTML = '<ul class="tabs">'
  11. + '<li class="dropdown">'
  12. + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
  13. + '<ul class="dropdown-menu">'
  14. + '<li><a href="#">Secondary link</a></li>'
  15. + '<li><a href="#">Something else here</a></li>'
  16. + '<li class="divider"></li>'
  17. + '<li><a href="#">Another link</a></li>'
  18. + '</ul>'
  19. + '</li>'
  20. + '</ul>'
  21. , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
  22. ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
  23. })
  24. test("should remove open class if body clicked", function () {
  25. var dropdownHTML = '<ul class="tabs">'
  26. + '<li class="dropdown">'
  27. + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
  28. + '<ul class="dropdown-menu">'
  29. + '<li><a href="#">Secondary link</a></li>'
  30. + '<li><a href="#">Something else here</a></li>'
  31. + '<li class="divider"></li>'
  32. + '<li><a href="#">Another link</a></li>'
  33. + '</ul>'
  34. + '</li>'
  35. + '</ul>'
  36. , dropdown = $(dropdownHTML)
  37. .appendTo('#qunit-fixture')
  38. .find('[data-toggle="dropdown"]')
  39. .dropdown()
  40. .click()
  41. ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
  42. $('body').click()
  43. ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class removed')
  44. dropdown.remove()
  45. })
  46. })