UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

228 lines (177 loc) 7.03 kB
<!DOCTYPE html> <html> <!-- Copyright 2006 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by an Apache 2.0 License. See the COPYING file for details. --> <head> <title>Closure Unit Tests - goog.dom.classes</title>= <script src="../base.js"></script> <script> goog.require('goog.dom'); goog.require('goog.dom.classes'); goog.require('goog.testing.jsunit'); </script> <style type="text/css"> #styleTest1 { width:120px;font-weight:bold; } </style> </head> <body> <div id="testEl"> <span>Test Element</span> </div> <div><div><div id="testEl2"></div></div></div> <span id="span1" class="test1"></span> <span id="span2" class="test1"></span> <span id="span3" class="test2"></span> <span id="span4" class="test3"></span> <span id="span5" class="test1"></span> <span id="span6"></span> <p id="p1"></p> <div id="styleTest1"></div> <div id="styleTest2" style="width:100px;font-weight:bold"></div> <div id="styleTest3"></div> <!-- Paragraph to test element child and sibling --> <p id="p2"> <!-- Comment --> a <b id="b1">c</b> d <!-- Comment --> e <b id="b2">f</b> g <!-- Comment --> </p> <p id="p3" class="someclass otherclass"> h </p> <iframe name="frame" src="../math/math_test.html"></iframe> <script> var $ = goog.dom.getElement; var classes = goog.dom.classes; function testSetAddHasRemove() { var el = $('p1'); classes.set(el, 'someclass'); assertTrue('Should have someclass', classes.has(el, 'someclass')); classes.set(el, 'otherclass'); assertTrue('Should have otherclass', classes.has(el, 'otherclass')); assertFalse('Should not have someclass', classes.has(el, 'someclass')); classes.add(el, 'wooclass'); assertTrue('Should have otherclass', classes.has(el, 'otherclass')); assertTrue('Should have wooclass', classes.has(el, 'wooclass')); classes.add(el, 'aclass', 'bclass', 'cclass'); assertTrue('Should have otherclass', classes.has(el, 'otherclass')); assertTrue('Should have wooclass', classes.has(el, 'wooclass')); assertTrue('Should have aclass', classes.has(el, 'aclass')); assertTrue('Should have bclass', classes.has(el, 'bclass')); assertTrue('Should have cclass', classes.has(el, 'cclass')); classes.remove(el, 'cclass'); assertTrue('Should have otherclass', classes.has(el, 'otherclass')); assertTrue('Should have wooclass', classes.has(el, 'wooclass')); assertTrue('Should have aclass', classes.has(el, 'aclass')); assertTrue('Should have bclass', classes.has(el, 'bclass')); assertFalse('Should not have cclass', classes.has(el, 'cclass')); classes.remove(el, 'aclass', 'bclass'); assertTrue('Should have otherclass', classes.has(el, 'otherclass')); assertTrue('Should have wooclass', classes.has(el, 'wooclass')); assertFalse('Should not have aclass', classes.has(el, 'aclass')); assertFalse('Should not have bclass', classes.has(el, 'bclass')); } function testSwap() { var el = $('p1'); classes.set(el, 'someclass first'); assertTrue('Should have first class', classes.has(el, 'first')); assertTrue('Should have first class', classes.has(el, 'someclass')); assertFalse('Should not have second class', classes.has(el, 'second')); classes.swap(el, 'first', 'second'); assertFalse('Should not have first class', classes.has(el, 'first')); assertTrue('Should have first class', classes.has(el, 'someclass')); assertTrue('Should have second class', classes.has(el, 'second')); classes.swap(el, 'second', 'first'); assertTrue('Should have first class', classes.has(el, 'first')); assertTrue('Should have first class', classes.has(el, 'someclass')); assertFalse('Should not have second class', classes.has(el, 'second')); } function testEnable() { var el = $('p1'); classes.set(el, 'someclass first'); assertTrue('Should have first class', classes.has(el, 'first')); assertTrue('Should have someclass class', classes.has(el, 'someclass')); classes.enable(el, 'first', false); assertFalse('Should not have first class', classes.has(el, 'first')); assertTrue('Should have someclass class', classes.has(el, 'someclass')); classes.enable(el, 'first', true); assertTrue('Should have first class', classes.has(el, 'first')); assertTrue('Should have someclass class', classes.has(el, 'someclass')); } function testToggle() { var el = $('p1'); classes.set(el, 'someclass first'); assertTrue('Should have first class', classes.has(el, 'first')); assertTrue('Should have someclass class', classes.has(el, 'someclass')); classes.toggle(el, 'first'); assertFalse('Should not have first class', classes.has(el, 'first')); assertTrue('Should have someclass class', classes.has(el, 'someclass')); classes.toggle(el, 'first'); assertTrue('Should have first class', classes.has(el, 'first')); assertTrue('Should have someclass class', classes.has(el, 'someclass')); } function testAddNotAddingMultiples() { var el = $('span6'); classes.add(el, 'a'); assertEquals('a', el.className); classes.add(el, 'a'); assertEquals('a', el.className); classes.add(el, 'b', 'b'); assertEquals('a b', el.className); } function testAddRemoveString() { var el = $('span6'); el.className = 'a'; goog.dom.classes.addRemove(el, 'a', 'b'); assertEquals('b', el.className); goog.dom.classes.addRemove(el, null, 'c'); assertEquals('b c', el.className); goog.dom.classes.addRemove(el, 'c', 'd'); assertEquals('b d', el.className); goog.dom.classes.addRemove(el, 'd', null); assertEquals('b', el.className); } function testAddRemoveArray() { var el = $('span6'); el.className = 'a'; goog.dom.classes.addRemove(el, ['a'], ['b']); assertEquals('b', el.className); goog.dom.classes.addRemove(el, [], ['c']); assertEquals('b c', el.className); goog.dom.classes.addRemove(el, ['c'], ['d']); assertEquals('b d', el.className); goog.dom.classes.addRemove(el, ['d'], []); assertEquals('b', el.className); } function testAddRemoveMultiple() { var el = $('span6'); el.className = 'a'; goog.dom.classes.addRemove(el, ['a'], ['b', 'c', 'd']); assertEquals('b c d', el.className); goog.dom.classes.addRemove(el, [], ['e', 'f']); assertEquals('b c d e f', el.className); goog.dom.classes.addRemove(el, ['c', 'e'], []); assertEquals('b d f', el.className); goog.dom.classes.addRemove(el, ['b'], ['g']); assertEquals('d f g', el.className); } function testHasWithNewlines() { var el = $('p3'); assertTrue('Should have someclass', classes.has(el, 'someclass')); assertTrue('Should also have otherclass', classes.has(el, 'otherclass')); assertFalse('Should not have weirdclass', classes.has(el, 'weirdclass')); } </script> </body> </html>