From 95d7c9c3fb00aae2e77806c19361b72579ad351d Mon Sep 17 00:00:00 2001 From: Heinrich Fenkart <hnrch02@gmail.com> Date: Wed, 18 Jun 2014 21:33:22 +0200 Subject: [PATCH] Clean affix unit tests up --- js/tests/unit/affix.js | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/js/tests/unit/affix.js b/js/tests/unit/affix.js index 1cdfc7f907..f93dd62d2b 100644 --- a/js/tests/unit/affix.js +++ b/js/tests/unit/affix.js @@ -19,15 +19,18 @@ $(function () { }) test('should provide no conflict', function () { - ok(!$.fn.affix, 'affix was set back to undefined (org value)') + strictEqual($.fn.affix, undefined, 'affix was set back to undefined (org value)') }) - test('should return element', function () { - ok($(document.body).bootstrapAffix()[0] == document.body, 'document.body returned') + test('should return jquery collection containing the element', function () { + var $el = $('<div/>') + var $affix = $el.bootstrapAffix() + ok($affix instanceof $, 'returns jquery collection') + strictEqual($affix[0], $el[0], 'collection contains element') }) test('should exit early if element is not visible', function () { - var $affix = $('<div style="display: none"></div>').bootstrapAffix() + var $affix = $('<div style="display: none"/>').bootstrapAffix() $affix.data('bs.affix').checkPosition() ok(!$affix.hasClass('affix'), 'affix class was not added') }) @@ -35,8 +38,14 @@ $(function () { test('should trigger affixed event after affix', function () { stop() - var template = $('<div id="affixTarget"><ul><li>Please affix</li><li>And unaffix</li></ul></div><div id="affixAfter" style="height: 20000px; display:block;"></div>') - template.appendTo('body') + var templateHTML = '<div id="affixTarget">' + + '<ul>' + + '<li>Please affix</li>' + + '<li>And unaffix</li>' + + '</ul>' + + '</div>' + + '<div id="affixAfter" style="height: 20000px; display: block;"/>' + $(templateHTML).appendTo(document.body) $('#affixTarget').bootstrapAffix({ offset: $('#affixTarget ul').position() @@ -44,19 +53,19 @@ $(function () { $('#affixTarget') .on('affix.bs.affix', function () { - ok(true, 'affix event triggered') + ok(true, 'affix event fired') }).on('affixed.bs.affix', function () { - ok(true, 'affixed event triggered') - $('#affixTarget').remove() - $('#affixAfter').remove() + ok(true, 'affixed event fired') + $('#affixTarget, #affixAfter').remove() start() }) setTimeout(function () { window.scrollTo(0, document.body.scrollHeight) + setTimeout(function () { window.scroll(0, 0) - }, 0) + }, 18) // for testing in a browser }, 0) }) }) -- GitLab