topical media & game development
mobile-sugar-test-TaskTest.js / js
(function() {
'use strict';
module('Task');
test('constructor, properties, and getters', function() {
var task1 = new DivSugar.Task();
strictEqual(task1.id, null);
strictEqual(task1.active, true);
strictEqual(task1.deltaTime, 0);
strictEqual(task1.onUpdate, null);
strictEqual(task1.onDestroy, null);
strictEqual(task1.getParent(), null);
var task2 = new DivSugar.Task('task2');
strictEqual(task2.id, 'task2');
});
test('update', function() {
var updatedCount = 0;
var task1 = new DivSugar.Task();
var task2 = new DivSugar.Task();
task1.deltaTime = task2.deltaTime = 100;
task1.onUpdate = task2.onUpdate = function() {
strictEqual(this.deltaTime, 223);
updatedCount++;
};
task1.append(task2);
task1.update(123);
strictEqual(updatedCount, 2);
strictEqual(task1.deltaTime, 0);
strictEqual(task2.deltaTime, 0);
task1.onUpdate = task2.onUpdate = null;
ok(task1.update(1).update(1));
});
test('destroy', function() {
var destroyedCount = 0;
var task1 = new DivSugar.Task();
var task2 = new DivSugar.Task();
task1.onDestroy = task2.onDestroy = function() { destroyedCount++; };
task1.append(task2);
task1.destroy();
strictEqual(destroyedCount, 2);
ok(task1.destroy().destroy());
});
test('append', function() {
var task1 = new DivSugar.Task();
var task2 = new DivSugar.Task();
var task3 = new DivSugar.Task();
var task4 = new DivSugar.Task();
task1.append(task2);
task1.append(task3);
task3.append(task4);
strictEqual(task1.getParent(), null);
strictEqual(task2.getParent(), task1);
strictEqual(task3.getParent(), task1);
strictEqual(task4.getParent(), task3);
ok(task1.append(task2).append(task2));
});
test('remove', function() {
var task1 = new DivSugar.Task();
var task2 = new DivSugar.Task();
var task3 = new DivSugar.Task();
var task4 = new DivSugar.Task();
task1.append(task2);
task1.append(task3);
task3.append(task4);
task1.remove(task3);
strictEqual(task1.getParent(), null);
strictEqual(task2.getParent(), task1);
strictEqual(task3.getParent(), null);
strictEqual(task4.getParent(), task3);
ok(task1.remove(task2).remove(task2));
});
test('getTaskById', function() {
var task1 = new DivSugar.Task('task1');
var task2 = new DivSugar.Task('task2');
var task3 = new DivSugar.Task('task3');
var task4 = new DivSugar.Task('task4');
task1.append(task2);
task1.append(task3);
task3.append(task4);
strictEqual(task1.getTaskById('task4'), task4);
strictEqual(task1.getTaskById('dummy'), null);
});
})();
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.