230 lines
5.7 KiB
JavaScript
230 lines
5.7 KiB
JavaScript
// Copyright 2010 The Closure Library Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS-IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
goog.provide('goog.fx.DragDropGroupTest');
|
|
goog.setTestOnly('goog.fx.DragDropGroupTest');
|
|
|
|
goog.require('goog.events');
|
|
goog.require('goog.fx.DragDropGroup');
|
|
goog.require('goog.testing.jsunit');
|
|
|
|
var s1;
|
|
var s2;
|
|
var t1;
|
|
var t2;
|
|
|
|
var source = null;
|
|
var target = null;
|
|
|
|
function setUpPage() {
|
|
s1 = document.getElementById('s1');
|
|
s2 = document.getElementById('s2');
|
|
t1 = document.getElementById('t1');
|
|
t2 = document.getElementById('t2');
|
|
}
|
|
|
|
|
|
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));
|
|
}
|