diff options
Diffstat (limited to 'test/test.js')
-rw-r--r-- | test/test.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000..533c532 --- /dev/null +++ b/test/test.js @@ -0,0 +1,45 @@ +test("Properly executed", function() { + // Create one once() call. + $('#test1 span').once(function() { + $(this).data('test1', 'foobar'); + }); + + var data = $('#test1 span').data('test1'); + ok(data === "foobar"); +}); + +test("Called only once", function() { + // Count the number of times once() was called. + $('#test2 span').data('count', 0); + + // Create the once() callback. + var callback = function() { + var count = $('#test2 span').data('count'); + count++; + $('#test2 span').data('count', count); + }; + + // Call once() a bunch of times. + for (var i = 0; i < 10; i++) { + $('#test2 span').once('count', callback); + } + + // Verify that it was only called once. + var count = $('#test2 span').data('count'); + ok(count === 1); +}); + +test("Apply the class correctly", function() { + // Verify that the element starts without the class. + var hasClass = $('#test3 span').hasClass('test3-processed'); + ok(!hasClass, 'Processed class not applied in the beginning.'); + + // Create one once() call. + $('#test3 span').once('test3', function() { + // Do nothing. + }); + + // Verify the class is applied. + hasClass = $('#test3 span').hasClass('test3-processed'); + ok(hasClass, 'The processed class is properly applied after once().'); +}); |