// ========================================================================== // SC
.Statechart Unit Test // ========================================================================== /*globals SC
*/
var Obj, obj, async, func;
// .….….….….….….….….….….….….….….. // CONTENT CHANGING //
module(“SC.Async Tests”, {
setup: function() { Obj = SC.Object.extend({ fooInvoked: NO, arg1: null, arg2: null, foo: function(arg1, arg2) { this.set('fooInvoked', YES); this.set('arg1', arg1); this.set('arg2', arg2); } }); }, teardown: function() { Obj = obj = async = func = null; }
});
test(“test async - SC
.Async.perform('foo')”, function() {
async = SC.Async.perform('foo'); equals(SC.kindOf(async, SC.Async), YES); equals(async.get('func'), 'foo'); equals(async.get('arg1'), null); equals(async.get('arg2'), null); obj = Obj.create(); async.tryToPerform(obj); equals(obj.get('fooInvoked'), YES); equals(obj.get('arg1'), null); equals(obj.get('arg2'), null);
});
test(“test async - SC
.Async.perform('foo', 'hello', 'world')”, function() {
async = SC.Async.perform('foo', 'hello', 'world'); equals(async.get('func'), 'foo'); equals(async.get('arg1'), 'hello'); equals(async.get('arg2'), 'world'); obj = Obj.create(); async.tryToPerform(obj); equals(obj.get('fooInvoked'), YES); equals(obj.get('arg1'), 'hello'); equals(obj.get('arg2'), 'world');
});
test(“test async - SC
.Async.perform(function() { … })”, function() {
func = function() { this.foo(); }; async = SC.Async.perform(func); equals(async.get('func'), func); equals(async.get('arg1'), null); equals(async.get('arg2'), null); obj = Obj.create(); async.tryToPerform(obj); equals(obj.get('fooInvoked'), YES); equals(obj.get('arg1'), null); equals(obj.get('arg2'), null);
});
test(“test async - SC
.Async.perform(function() { … }, 'aaa', 'bbb')”, function() {
func = function(arg1, arg2) { this.foo(arg1, arg2); }; async = SC.Async.perform(func, 'aaa', 'bbb'); equals(async.get('func'), func); equals(async.get('arg1'), 'aaa'); equals(async.get('arg2'), 'bbb'); obj = Obj.create(); async.tryToPerform(obj); equals(obj.get('fooInvoked'), YES); equals(obj.get('arg1'), 'aaa'); equals(obj.get('arg2'), 'bbb');
});
test(“test async - SC
.Async.perform('bar')”, function() {
async = SC.Async.perform('bar'); equals(async.get('func'), 'bar'); obj = Obj.create(); async.tryToPerform(obj); equals(obj.get('fooInvoked'), NO);
});