example qunit tests

already has qunit and its css linked already. sample test provided. useful as a template.

by joecritch

HTML

<h1 id="qunit-header">Unit Tests</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture"></div>

JavaScript

/**
 * Work out the fastest way to get a new index of a zero-indexed array
 * (Useful for a manual transition queue)
 */
var getShortestSequence = function(oldVal, newVal, size) {
    var seq = [ ];
    if(oldVal > newVal) { // e.g. 14 ===> 1
        var oldSizeDiff = (size - oldVal) + newVal;
        var diff = oldVal - newVal;
        if(oldSizeDiff < diff) { // Go "right"
            for(i = oldVal; i <= size + newVal; i++) {
                seq.push(i);
            }
        }
        else { // Go "left"
            for(i = oldVal; i >= newVal; i--) {
                seq.push(i);
            }
        }
    }
    else { // e.g. 1 ====> 14
        var newSizeDiff = (size - newVal) + oldVal;
        var diff = newVal - oldVal;
        if(newSizeDiff < diff) { // Go "left"
            for(i = oldVal + size; i >= newVal; i--) {
                seq.push(i);
            }
        }
        else { // Go "right"
            for(i = oldVal; i <= newVal; i++) {
                seq.push(i);
            }
        }
    }
    return seq;
};


////////////////////

test("I can go left on lower values", function() {
   var sequence = getShortestSequence(6, 1, 15);
   equal(sequence.length, 6, "it's the correct length");
   ok(sequence[0]== 6, "first index is correct");
   ok(sequence[sequence.length-1]== 1, "last index is correct");
});

test("I can go right on lower values", function() {
   var sequence = getShortestSequence(14, 1, 15);
   equal(sequence.length, 3, "it's the correct length");
   ok(sequence[0]== 14, "first index is correct");
   ok(sequence[sequence.length-1]== 1, "last index is correct");
});

test("I can go left on higher values", function() {
   var sequence = getShortestSequence(1, 14, 15);
   equal(sequence.length, 3, "it's the correct length");
   ok(sequence[0]== 1, "first index is correct");
   ok(sequence[sequence.length-1]== 14, "last index is correct");
});

test("I can go right on higher values", function() {
   var sequence =...