QUnit.test('immediately sets up dependencies if already being watched', function() { addObserver(obj, 'bar', incrementCount); defineProperty(obj, 'bar', alias('foo.faz')); ok(isWatching(obj, 'foo.faz')); set(obj, 'foo.faz', 'BAR'); equal(count, 1); });
QUnit.test('begins watching alt key as soon as alias is watched', function() { defineProperty(obj, 'bar', alias('foo.faz')); addObserver(obj, 'bar', incrementCount); ok(isWatching(obj, 'foo.faz')); set(obj, 'foo.faz', 'BAR'); equal(count, 1); });
QUnit.test('basic lifecycle', function() { defineProperty(obj, 'bar', alias('foo.faz')); var m = meta(obj); addObserver(obj, 'bar', incrementCount); equal(m.deps['foo.faz'].bar, 1); removeObserver(obj, 'bar', incrementCount); equal(m.deps['foo.faz'].bar, 0); });
expectAssertion(function() { defineProperty(obj, 'bar', alias('bar')); }, "Setting alias 'bar' on self");
QUnit.test('should proxy set to alt key', function() { defineProperty(obj, 'bar', alias('foo.faz')); set(obj, 'bar', 'BAR'); equal(get(obj, 'foo.faz'), 'BAR'); });