From 4642156cbc6da4a9e25dce2168f2fb9b726de042 Mon Sep 17 00:00:00 2001 From: Thomas Park Date: Tue, 6 Aug 2013 15:19:12 -0400 Subject: unignore bower_components --- bower_components/bootstrap/js/tests/index.html | 52 + bower_components/bootstrap/js/tests/phantom.js | 63 + bower_components/bootstrap/js/tests/server.js | 14 + bower_components/bootstrap/js/tests/unit/affix.js | 25 + bower_components/bootstrap/js/tests/unit/alert.js | 62 + bower_components/bootstrap/js/tests/unit/button.js | 116 ++ .../bootstrap/js/tests/unit/carousel.js | 87 ++ .../bootstrap/js/tests/unit/collapse.js | 129 ++ .../bootstrap/js/tests/unit/dropdown.js | 219 +++ bower_components/bootstrap/js/tests/unit/modal.js | 156 ++ .../bootstrap/js/tests/unit/phantom.js | 69 + .../bootstrap/js/tests/unit/popover.js | 133 ++ .../bootstrap/js/tests/unit/scrollspy.js | 37 + bower_components/bootstrap/js/tests/unit/tab.js | 86 ++ .../bootstrap/js/tests/unit/tooltip.js | 437 ++++++ .../bootstrap/js/tests/unit/transition.js | 13 + .../bootstrap/js/tests/vendor/jquery.js | 5 + .../bootstrap/js/tests/vendor/qunit.css | 232 +++ .../bootstrap/js/tests/vendor/qunit.js | 1510 ++++++++++++++++++++ 19 files changed, 3445 insertions(+) create mode 100644 bower_components/bootstrap/js/tests/index.html create mode 100644 bower_components/bootstrap/js/tests/phantom.js create mode 100644 bower_components/bootstrap/js/tests/server.js create mode 100644 bower_components/bootstrap/js/tests/unit/affix.js create mode 100644 bower_components/bootstrap/js/tests/unit/alert.js create mode 100644 bower_components/bootstrap/js/tests/unit/button.js create mode 100644 bower_components/bootstrap/js/tests/unit/carousel.js create mode 100644 bower_components/bootstrap/js/tests/unit/collapse.js create mode 100644 bower_components/bootstrap/js/tests/unit/dropdown.js create mode 100644 bower_components/bootstrap/js/tests/unit/modal.js create mode 100644 bower_components/bootstrap/js/tests/unit/phantom.js create mode 100644 bower_components/bootstrap/js/tests/unit/popover.js create mode 100644 bower_components/bootstrap/js/tests/unit/scrollspy.js create mode 100644 bower_components/bootstrap/js/tests/unit/tab.js create mode 100644 bower_components/bootstrap/js/tests/unit/tooltip.js create mode 100644 bower_components/bootstrap/js/tests/unit/transition.js create mode 100644 bower_components/bootstrap/js/tests/vendor/jquery.js create mode 100644 bower_components/bootstrap/js/tests/vendor/qunit.css create mode 100644 bower_components/bootstrap/js/tests/vendor/qunit.js (limited to 'bower_components/bootstrap/js/tests') diff --git a/bower_components/bootstrap/js/tests/index.html b/bower_components/bootstrap/js/tests/index.html new file mode 100644 index 00000000..501bf38f --- /dev/null +++ b/bower_components/bootstrap/js/tests/index.html @@ -0,0 +1,52 @@ + + + + Bootstrap Plugin Test Suite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Bootstrap Plugin Test Suite

+

+

+
    +
    +
    + + diff --git a/bower_components/bootstrap/js/tests/phantom.js b/bower_components/bootstrap/js/tests/phantom.js new file mode 100644 index 00000000..a9047db4 --- /dev/null +++ b/bower_components/bootstrap/js/tests/phantom.js @@ -0,0 +1,63 @@ +// Simple phantom.js integration script +// Adapted from Modernizr + +function waitFor(testFx, onReady, timeOutMillis) { + var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 5001 //< Default Max Timout is 5s + , start = new Date().getTime() + , condition = false + , interval = setInterval(function () { + if ((new Date().getTime() - start < maxtimeOutMillis) && !condition) { + // If not time-out yet and condition not yet fulfilled + condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()) //< defensive code + } else { + if (!condition) { + // If condition still not fulfilled (timeout but condition is 'false') + console.log("'waitFor()' timeout") + phantom.exit(1) + } else { + // Condition fulfilled (timeout and/or condition is 'true') + typeof(onReady) === "string" ? eval(onReady) : onReady() //< Do what it's supposed to do once the condition is fulfilled + clearInterval(interval) //< Stop this interval + } + } + }, 100) //< repeat check every 100ms +} + + +if (phantom.args.length === 0 || phantom.args.length > 2) { + console.log('Usage: phantom.js URL') + phantom.exit() +} + +var page = new WebPage() + +// Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this") +page.onConsoleMessage = function(msg) { + console.log(msg) +}; + +page.open(phantom.args[0], function(status){ + if (status !== "success") { + console.log("Unable to access network") + phantom.exit() + } else { + waitFor(function(){ + return page.evaluate(function(){ + var el = document.getElementById('qunit-testresult') + if (el && el.innerText.match('completed')) { + return true + } + return false + }) + }, function(){ + var failedNum = page.evaluate(function(){ + var el = document.getElementById('qunit-testresult') + try { + return el.getElementsByClassName('failed')[0].innerHTML + } catch (e) { } + return 10000 + }); + phantom.exit((parseInt(failedNum, 10) > 0) ? 1 : 0) + }) + } +}) diff --git a/bower_components/bootstrap/js/tests/server.js b/bower_components/bootstrap/js/tests/server.js new file mode 100644 index 00000000..f0def8f3 --- /dev/null +++ b/bower_components/bootstrap/js/tests/server.js @@ -0,0 +1,14 @@ +/* + * Simple connect server for phantom.js + * Adapted from Modernizr + */ + +var connect = require('connect') + , http = require('http') + , fs = require('fs') + , app = connect() + .use(connect.static(__dirname + '/../../')); + +http.createServer(app).listen(3000); + +fs.writeFileSync(__dirname + '/pid.txt', process.pid, 'utf-8') diff --git a/bower_components/bootstrap/js/tests/unit/affix.js b/bower_components/bootstrap/js/tests/unit/affix.js new file mode 100644 index 00000000..b74bc51e --- /dev/null +++ b/bower_components/bootstrap/js/tests/unit/affix.js @@ -0,0 +1,25 @@ +$(function () { + + module("affix") + + test("should provide no conflict", function () { + var affix = $.fn.affix.noConflict() + ok(!$.fn.affix, 'affix was set back to undefined (org value)') + $.fn.affix = affix + }) + + test("should be defined on jquery object", function () { + ok($(document.body).affix, 'affix method is defined') + }) + + test("should return element", function () { + ok($(document.body).affix()[0] == document.body, 'document.body returned') + }) + + test("should exit early if element is not visible", function () { + var $affix = $('
    ').affix() + $affix.data('bs.affix').checkPosition() + ok(!$affix.hasClass('affix'), 'affix class was not added') + }) + +}) diff --git a/bower_components/bootstrap/js/tests/unit/alert.js b/bower_components/bootstrap/js/tests/unit/alert.js new file mode 100644 index 00000000..98b10059 --- /dev/null +++ b/bower_components/bootstrap/js/tests/unit/alert.js @@ -0,0 +1,62 @@ +$(function () { + + module("alert") + + test("should provide no conflict", function () { + var alert = $.fn.alert.noConflict() + ok(!$.fn.alert, 'alert was set back to undefined (org value)') + $.fn.alert = alert + }) + + test("should be defined on jquery object", function () { + ok($(document.body).alert, 'alert method is defined') + }) + + test("should return element", function () { + ok($(document.body).alert()[0] == document.body, 'document.body returned') + }) + + test("should fade element out on clicking .close", function () { + var alertHTML = '
    ' + + '×' + + '

    Holy guacamole! Best check yo self, you\'re not looking too good.

    ' + + '
    ' + , alert = $(alertHTML).alert() + + alert.find('.close').click() + + ok(!alert.hasClass('in'), 'remove .in class on .close click') + }) + + test("should remove element when clicking .close", function () { + $.support.transition = false + + var alertHTML = '
    ' + + '×' + + '

    Holy guacamole! Best check yo self, you\'re not looking too good.

    ' + + '
    ' + , alert = $(alertHTML).appendTo('#qunit-fixture').alert() + + ok($('#qunit-fixture').find('.alert-message').length, 'element added to dom') + + alert.find('.close').click() + + ok(!$('#qunit-fixture').find('.alert-message').length, 'element removed from dom') + }) + + test("should not fire closed when close is prevented", function () { + $.support.transition = false + stop(); + $('
    ') + .on('close.bs.alert', function (e) { + e.preventDefault(); + ok(true); + start(); + }) + .on('closed.bs.alert', function () { + ok(false); + }) + .alert('close') + }) + +}) diff --git a/bower_components/bootstrap/js/tests/unit/button.js b/bower_components/bootstrap/js/tests/unit/button.js new file mode 100644 index 00000000..41ddb5c2 --- /dev/null +++ b/bower_components/bootstrap/js/tests/unit/button.js @@ -0,0 +1,116 @@ +$(function () { + + module("button") + + test("should provide no conflict", function () { + var button = $.fn.button.noConflict() + ok(!$.fn.button, 'button was set back to undefined (org value)') + $.fn.button = button + }) + + test("should be defined on jquery object", function () { + ok($(document.body).button, 'button method is defined') + }) + + test("should return element", function () { + ok($(document.body).button()[0] == document.body, 'document.body returned') + }) + + test("should return set state to loading", function () { + var btn = $('') + equals(btn.html(), 'mdo', 'btn text equals mdo') + btn.button('loading') + equals(btn.html(), 'fat', 'btn text equals fat') + stop() + setTimeout(function () { + ok(btn.attr('disabled'), 'btn is disabled') + ok(btn.hasClass('disabled'), 'btn has disabled class') + start() + }, 0) + }) + + test("should return reset state", function () { + var btn = $('') + equals(btn.html(), 'mdo', 'btn text equals mdo') + btn.button('loading') + equals(btn.html(), 'fat', 'btn text equals fat') + stop() + setTimeout(function () { + ok(btn.attr('disabled'), 'btn is disabled') + ok(btn.hasClass('disabled'), 'btn has disabled class') + start() + stop() + btn.button('reset') + equals(btn.html(), 'mdo', 'btn text equals mdo') + setTimeout(function () { + ok(!btn.attr('disabled'), 'btn is not disabled') + ok(!btn.hasClass('disabled'), 'btn does not have disabled class') + start() + }, 0) + }, 0) + + }) + + test("should toggle active", function () { + var btn = $('') + ok(!btn.hasClass('active'), 'btn does not have active class') + btn.button('toggle') + ok(btn.hasClass('active'), 'btn has class active') + }) + + test("should toggle active when btn children are clicked", function () { + var btn = $('') + , inner = $('') + btn + .append(inner) + .appendTo($('#qunit-fixture')) + ok(!btn.hasClass('active'), 'btn does not have active class') + inner.click() + ok(btn.hasClass('active'), 'btn has class active') + }) + + test("should toggle active when btn children are clicked within btn-group", function () { + var btngroup = $('
    ') + , btn = $('') + , inner = $('') + btngroup + .append(btn.append(inner)) + .appendTo($('#qunit-fixture')) + ok(!btn.hasClass('active'), 'btn does not have active class') + inner.click() + ok(btn.hasClass('active'), 'btn has class active') + }) + + test("should check for closest matching toggle", function () { + var group = '
    ' + + '' + + '' + + '' + + '
    ' + + group = $(group) + + var btn1 = $(group.children()[0]) + var btn2 = $(group.children()[1]) + var btn3 = $(group.children()[2]) + + group.appendTo($('#qunit-fixture')) + + ok(btn1.hasClass('active'), 'btn1 has active class') + ok(btn1.find('input').prop('checked'), 'btn1 is checked') + ok(!btn2.hasClass('active'), 'btn2 does not have active class') + ok(!btn2.find('input').prop('checked'), 'btn2 is not checked') + btn2.find('input').click() + ok(!btn1.hasClass('active'), 'btn1 does not have active class') + ok(!btn1.find('input').prop('checked'), 'btn1 is checked') + ok(btn2.hasClass('active'), 'btn2 has active class') + ok(btn2.find('input').prop('checked'), 'btn2 is checked') + }) + +}) diff --git a/bower_components/bootstrap/js/tests/unit/carousel.js b/bower_components/bootstrap/js/tests/unit/carousel.js new file mode 100644 index 00000000..badf0886 --- /dev/null +++ b/bower_components/bootstrap/js/tests/unit/carousel.js @@ -0,0 +1,87 @@ +$(function () { + + module("carousel") + + test("should provide no conflict", function () { + var carousel = $.fn.carousel.noConflict() + ok(!$.fn.carousel, 'carousel was set back to undefined (org value)') + $.fn.carousel = carousel + }) + + test("should be defined on jquery object", function () { + ok($(document.body).carousel, 'carousel method is defined') + }) + + test("should return element", function () { + ok($(document.body).carousel()[0] == document.body, 'document.body returned') + }) + + test("should not fire sliden when slide is prevented", function () { + $.support.transition = false + stop() + $('