From 31d4cc13b791c49fca56a212ea286e2151861878 Mon Sep 17 00:00:00 2001 From: Benjamin Gilbert Date: Mon, 13 May 2013 22:24:04 -0400 Subject: [PATCH] Add tests for addClass/removeClass --- test/test.html | 1 + test/utils.js | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 test/utils.js diff --git a/test/test.html b/test/test.html index 21bb8b77..ea226cdc 100644 --- a/test/test.html +++ b/test/test.html @@ -17,6 +17,7 @@ + diff --git a/test/utils.js b/test/utils.js new file mode 100644 index 00000000..c61171ee --- /dev/null +++ b/test/utils.js @@ -0,0 +1,52 @@ +(function() { + module("utils"); + + test("addRemoveClass", function() { + var div = OpenSeadragon.makeNeutralElement('div'); + strictEqual(div.className, '', + "makeNeutralElement set no classes"); + + OpenSeadragon.addClass(div, 'foo'); + strictEqual(div.className, 'foo', + "Added first class"); + OpenSeadragon.addClass(div, 'bar'); + strictEqual(div.className, 'foo bar', + "Added second class"); + OpenSeadragon.addClass(div, 'baz'); + strictEqual(div.className, 'foo bar baz', + "Added third class"); + OpenSeadragon.addClass(div, 'plugh'); + strictEqual(div.className, 'foo bar baz plugh', + "Added fourth class"); + + OpenSeadragon.addClass(div, 'foo'); + strictEqual(div.className, 'foo bar baz plugh', + "Re-added first class"); + OpenSeadragon.addClass(div, 'bar'); + strictEqual(div.className, 'foo bar baz plugh', + "Re-added middle class"); + OpenSeadragon.addClass(div, 'plugh'); + strictEqual(div.className, 'foo bar baz plugh', + "Re-added last class"); + + OpenSeadragon.removeClass(div, 'xyzzy'); + strictEqual(div.className, 'foo bar baz plugh', + "Removed nonexistent class"); + OpenSeadragon.removeClass(div, 'ba'); + strictEqual(div.className, 'foo bar baz plugh', + "Removed nonexistent class with existent substring"); + + OpenSeadragon.removeClass(div, 'bar'); + strictEqual(div.className, 'foo baz plugh', + "Removed middle class"); + OpenSeadragon.removeClass(div, 'plugh'); + strictEqual(div.className, 'foo baz', + "Removed last class"); + OpenSeadragon.removeClass(div, 'foo'); + strictEqual(div.className, 'baz', + "Removed first class"); + OpenSeadragon.removeClass(div, 'baz'); + strictEqual(div.className, '', + "Removed only class"); + }); +})();