QUnit Lab

by busyfmlyman

HTML

<script src="http://code.jquery.com/qunit/qunit-1.12.0.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.12.0.css">
<h1 id="qunit-header">Test Suite</h1>

 <h2 id="qunit-banner"></h2>

<div id="qunit-testrunner-toolbar"></div>
 <h2 id="qunit-userAgent"></h2>

<ol id="qunit-tests"></ol>
<div id="qunit-fixture">
    <ul>
      <li>foo</li>
      <li>bar</li>
      <li>baz</li>
    </ul>
</div>

JavaScript

/*!
 * jQuery Enumerate - v1.0 - 1/2/2011
 * http://benalman.com/
 * 
 * Copyright (c) 2011 "Cowboy" Ben Alman
 * Dual licensed under the MIT and GPL licenses.
 * http://benalman.com/about/license/
 */
(function($){

  $.fn.enumerate = function(start) {
    if (typeof start !== "number") {
      start = 1;
    }
    return this.each(function(i) {
      $(this).prepend((start + i) + ". ");
    });
  };

}(jQuery));

test("chainable", 1, function() {
    var items=$("#qunit-fixture li");
    strictEqual(items.enumerate(), items, "should be chainable");
});

test("outputs", 3, function() {
    var items=$("#qunit-fixture li").enumerate();
    strictEqual(items.eq(0).text(), "1. foo");
    strictEqual(items.eq(1).text(), "2. bar");
    strictEqual(items.eq(2).text(), "3. baz");
});

test("outputs", 3, function() {
    var items=$("#qunit-fixture li").enumerate(98);
    strictEqual(items.eq(0).text(), "98. foo");
    strictEqual(items.eq(1).text(), "99. bar");
    strictEqual(items.eq(2).text(), "100. baz");
});


test("outputs", 3, function() {
    var items=$("#qunit-fixture li").enumerate(-2);
    strictEqual(items.eq(0).text(), "-2. foo");
    strictEqual(items.eq(1).text(), "-1. bar");
    strictEqual(items.eq(2).text(), "0. baz");
});


test("outputs", 3, function() {
    var items=$("#qunit-fixture li").enumerate('abc');
    strictEqual(items.eq(0).text(), "1. foo");
    strictEqual(items.eq(1).text(), "2. bar");
    strictEqual(items.eq(2).text(), "3. baz");
});

test("outputs", 3, function() {
    var items=$("#qunit-fixture li").enumerate(99999999999999999999999);
    strictEqual(items.eq(0).text(), "1. foo");
    strictEqual(items.eq(1).text(), "2. bar");
    strictEqual(items.eq(2).text(), "3. baz");
});