$(function () { 'use strict'; module('scrollspy plugin') test('should be defined on jquery object', function () { ok($(document.body).scrollspy, 'scrollspy method is defined') }) module('scrollspy', { setup: function () { // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode $.fn.bootstrapScrollspy = $.fn.scrollspy.noConflict() }, teardown: function () { $.fn.scrollspy = $.fn.bootstrapScrollspy delete $.fn.bootstrapScrollspy } }) test('should provide no conflict', function () { strictEqual($.fn.scrollspy, undefined, 'scrollspy was set back to undefined (org value)') }) test('should return jquery collection containing the element', function () { var $el = $('
') var $scrollspy = $el.bootstrapScrollspy() ok($scrollspy instanceof $, 'returns jquery collection') strictEqual($scrollspy[0], $el[0], 'collection contains element') }) // Does not work properly ATM, #13500 will fix this test('should switch "active" class on scroll', function () { var topbarHTML = ' ' var $topbar = $(topbarHTML).bootstrapScrollspy() ok($topbar.find('.active', true)) }) test('should only switch "active" class on current target', function () { stop() var sectionHTML = '' + 'Ad leggings keytar, brunch id art party dolor labore.' + '
' + '' + 'Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard.' + '
' + '