sku-pg
Version:
Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!
235 lines (178 loc) • 5.67 kB
HTML
<html>
<!--
Copyright 2010 The Closure Library Authors. All Rights Reserved.
Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<!--
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Closure Unit Tests - goog.fx.DragDropGroup</title>
<script src="../base.js"></script>
<script>
goog.require('goog.array');
goog.require('goog.events');
goog.require('goog.fx.DragDropGroup');
goog.require('goog.testing.jsunit');
</script>
</head>
<body>
<div id="s1" class="s"></div>
<div id="s2" class="s"></div>
<div id="t1" class="t"></div>
<div id="t2" class="t"></div>
<script>
var s1 = document.getElementById('s1');
var s2 = document.getElementById('s2');
var t1 = document.getElementById('t1');
var t2 = document.getElementById('t2');
var source = null;
var target = null;
function setUp() {
source = new goog.fx.DragDropGroup();
source.setSourceClass('ss');
source.setTargetClass('st');
target = new goog.fx.DragDropGroup();
target.setSourceClass('ts');
target.setTargetClass('tt');
source.addTarget(target);
}
function tearDown() {
source.removeItems();
target.removeItems();
}
function addElementsToGroups() {
source.addItem(s1);
source.addItem(s2);
target.addItem(t1);
target.addItem(t2);
}
function testAddItemsBeforeInit() {
addElementsToGroups();
source.init();
target.init();
assertEquals(2, source.items_.length);
assertEquals(2, target.items_.length);
assertEquals('s ss', s1.className);
assertEquals('s ss', s2.className);
assertEquals('t tt', t1.className);
assertEquals('t tt', t2.className);
assertTrue(goog.events.hasListener(s1));
assertTrue(goog.events.hasListener(s2));
assertFalse(goog.events.hasListener(t1));
assertFalse(goog.events.hasListener(t2));
}
function testAddItemsAfterInit() {
source.init();
target.init();
addElementsToGroups();
assertEquals(2, source.items_.length);
assertEquals(2, target.items_.length);
assertEquals('s ss', s1.className);
assertEquals('s ss', s2.className);
assertEquals('t tt', t1.className);
assertEquals('t tt', t2.className);
assertTrue(goog.events.hasListener(s1));
assertTrue(goog.events.hasListener(s2));
assertFalse(goog.events.hasListener(t1));
assertFalse(goog.events.hasListener(t2));
}
function testRemoveItems() {
source.init();
target.init();
addElementsToGroups();
assertEquals(2, source.items_.length);
assertEquals(s1, source.items_[0].element);
assertEquals(s2, source.items_[1].element);
assertEquals('s ss', s1.className);
assertEquals('s ss', s2.className);
assertTrue(goog.events.hasListener(s1));
assertTrue(goog.events.hasListener(s2));
source.removeItems();
assertEquals(0, source.items_.length);
assertEquals('s', s1.className);
assertEquals('s', s2.className);
assertFalse(goog.events.hasListener(s1));
assertFalse(goog.events.hasListener(s2));
}
function testRemoveSourceItem1() {
source.init();
target.init();
addElementsToGroups();
assertEquals(2, source.items_.length);
assertEquals(s1, source.items_[0].element);
assertEquals(s2, source.items_[1].element);
assertEquals('s ss', s1.className);
assertEquals('s ss', s2.className);
assertTrue(goog.events.hasListener(s1));
assertTrue(goog.events.hasListener(s2));
source.removeItem(s1);
assertEquals(1, source.items_.length);
assertEquals(s2, source.items_[0].element);
assertEquals('s', s1.className);
assertEquals('s ss', s2.className);
assertFalse(goog.events.hasListener(s1));
assertTrue(goog.events.hasListener(s2));
}
function testRemoveSourceItem2() {
source.init();
target.init();
addElementsToGroups();
assertEquals(2, source.items_.length);
assertEquals(s1, source.items_[0].element);
assertEquals(s2, source.items_[1].element);
assertEquals('s ss', s1.className);
assertEquals('s ss', s2.className);
assertTrue(goog.events.hasListener(s1));
assertTrue(goog.events.hasListener(s2));
source.removeItem(s2);
assertEquals(1, source.items_.length);
assertEquals(s1, source.items_[0].element);
assertEquals('s ss', s1.className);
assertEquals('s', s2.className);
assertTrue(goog.events.hasListener(s1));
assertFalse(goog.events.hasListener(s2));
}
function testRemoveTargetItem1() {
source.init();
target.init();
addElementsToGroups();
assertEquals(2, target.items_.length);
assertEquals(t1, target.items_[0].element);
assertEquals(t2, target.items_[1].element);
assertEquals('t tt', t1.className);
assertEquals('t tt', t2.className);
assertFalse(goog.events.hasListener(t1));
assertFalse(goog.events.hasListener(t2));
target.removeItem(t1);
assertEquals(1, target.items_.length);
assertEquals(t2, target.items_[0].element);
assertEquals('t', t1.className);
assertEquals('t tt', t2.className);
assertFalse(goog.events.hasListener(t1));
assertFalse(goog.events.hasListener(t2));
}
function testRemoveTargetItem2() {
source.init();
target.init();
addElementsToGroups();
assertEquals(2, target.items_.length);
assertEquals(t1, target.items_[0].element);
assertEquals(t2, target.items_[1].element);
assertEquals('t tt', t1.className);
assertEquals('t tt', t2.className);
assertFalse(goog.events.hasListener(t1));
assertFalse(goog.events.hasListener(t2));
target.removeItem(t2);
assertEquals(1, target.items_.length);
assertEquals(t1, target.items_[0].element);
assertEquals('t tt', t1.className);
assertEquals('t', t2.className);
assertFalse(goog.events.hasListener(t1));
assertFalse(goog.events.hasListener(t2));
}
</script>
</body>
</html>