| Index: test/mjsunit/harmony/object-observe.js
|
| diff --git a/test/mjsunit/harmony/object-observe.js b/test/mjsunit/harmony/object-observe.js
|
| index f982a66bc428227d2aaf3fb2ae24dc30fc0bcfaf..75f0ff8bb818402adf439516e31b347722a4dbfd 100644
|
| --- a/test/mjsunit/harmony/object-observe.js
|
| +++ b/test/mjsunit/harmony/object-observe.js
|
| @@ -110,16 +110,14 @@ Object.defineProperty(changeRecordWithAccessor, 'name', {
|
|
|
|
|
| // Object.observe
|
| -assertThrows(function() { Object.observe("non-object", observer.callback); },
|
| - TypeError);
|
| +assertThrows(function() { Object.observe("non-object", observer.callback); }, TypeError);
|
| assertThrows(function() { Object.observe(obj, nonFunction); }, TypeError);
|
| assertThrows(function() { Object.observe(obj, frozenFunction); }, TypeError);
|
| -assertEquals(obj, Object.observe(obj, observer.callback, [1]));
|
| -assertEquals(obj, Object.observe(obj, observer.callback, [true]));
|
| -assertEquals(obj, Object.observe(obj, observer.callback, ['foo', null]));
|
| -assertEquals(obj, Object.observe(obj, observer.callback, [undefined]));
|
| -assertEquals(obj, Object.observe(obj, observer.callback,
|
| - ['foo', 'bar', 'baz']));
|
| +assertThrows(function() { Object.observe(obj, function() {}, 1); }, TypeError);
|
| +assertThrows(function() { Object.observe(obj, function() {}, [undefined]); }, TypeError);
|
| +assertThrows(function() { Object.observe(obj, function() {}, [1]); }, TypeError);
|
| +assertThrows(function() { Object.observe(obj, function() {}, ['foo', null]); }, TypeError);
|
| +assertEquals(obj, Object.observe(obj, observer.callback, ['foo', 'bar', 'baz']));
|
| assertEquals(obj, Object.observe(obj, observer.callback, []));
|
| assertEquals(obj, Object.observe(obj, observer.callback, undefined));
|
| assertEquals(obj, Object.observe(obj, observer.callback));
|
| @@ -204,25 +202,6 @@ observer.assertCallbackRecords([
|
| { object: obj, name: 'bar', type: 'deleted', expando2: 'str' }
|
| ]);
|
|
|
| -// Non-string accept values are coerced to strings
|
| -reset();
|
| -Object.observe(obj, observer.callback, [true, 1, null, undefined]);
|
| -notifier = Object.getNotifier(obj);
|
| -notifier.notify({ type: 'true' });
|
| -notifier.notify({ type: 'false' });
|
| -notifier.notify({ type: '1' });
|
| -notifier.notify({ type: '-1' });
|
| -notifier.notify({ type: 'null' });
|
| -notifier.notify({ type: 'nill' });
|
| -notifier.notify({ type: 'undefined' });
|
| -notifier.notify({ type: 'defined' });
|
| -Object.deliverChangeRecords(observer.callback);
|
| -observer.assertCallbackRecords([
|
| - { object: obj, type: 'true' },
|
| - { object: obj, type: '1' },
|
| - { object: obj, type: 'null' },
|
| - { object: obj, type: 'undefined' }
|
| -]);
|
|
|
| // No delivery takes place if no records are pending
|
| reset();
|
| @@ -328,7 +307,7 @@ observer.assertCallbackRecords([
|
|
|
| // Accept
|
| reset();
|
| -Object.observe(obj, observer.callback, ['somethingElse']);
|
| +Object.observe(obj, observer.callback, []);
|
| Object.getNotifier(obj).notify({
|
| type: 'new'
|
| });
|
| @@ -1254,75 +1233,6 @@ observer.assertCallbackRecords([
|
| { object: array, name: '0', type: 'updated', oldValue: 2 },
|
| ]);
|
|
|
| -// Splice emitted after Array mutation methods
|
| -function MockArray(initial, observer) {
|
| - for (var i = 0; i < initial.length; i++)
|
| - this[i] = initial[i];
|
| -
|
| - this.length_ = initial.length;
|
| - this.observer = observer;
|
| -}
|
| -MockArray.prototype = {
|
| - set length(length) {
|
| - Object.getNotifier(this).notify({ type: 'lengthChange' });
|
| - this.length_ = length;
|
| - Object.observe(this, this.observer.callback, ['splice']);
|
| - },
|
| - get length() {
|
| - return this.length_;
|
| - }
|
| -}
|
| -
|
| -reset();
|
| -var array = new MockArray([], observer);
|
| -Object.observe(array, observer.callback, ['lengthChange']);
|
| -Array.prototype.push.call(array, 1);
|
| -Object.deliverChangeRecords(observer.callback);
|
| -observer.assertCallbackRecords([
|
| - { object: array, type: 'lengthChange' },
|
| - { object: array, type: 'splice', index: 0, removed: [], addedCount: 1 },
|
| -]);
|
| -
|
| -reset();
|
| -var array = new MockArray([1], observer);
|
| -Object.observe(array, observer.callback, ['lengthChange']);
|
| -Array.prototype.pop.call(array);
|
| -Object.deliverChangeRecords(observer.callback);
|
| -observer.assertCallbackRecords([
|
| - { object: array, type: 'lengthChange' },
|
| - { object: array, type: 'splice', index: 0, removed: [1], addedCount: 0 },
|
| -]);
|
| -
|
| -reset();
|
| -var array = new MockArray([1], observer);
|
| -Object.observe(array, observer.callback, ['lengthChange']);
|
| -Array.prototype.shift.call(array);
|
| -Object.deliverChangeRecords(observer.callback);
|
| -observer.assertCallbackRecords([
|
| - { object: array, type: 'lengthChange' },
|
| - { object: array, type: 'splice', index: 0, removed: [1], addedCount: 0 },
|
| -]);
|
| -
|
| -reset();
|
| -var array = new MockArray([], observer);
|
| -Object.observe(array, observer.callback, ['lengthChange']);
|
| -Array.prototype.unshift.call(array, 1);
|
| -Object.deliverChangeRecords(observer.callback);
|
| -observer.assertCallbackRecords([
|
| - { object: array, type: 'lengthChange' },
|
| - { object: array, type: 'splice', index: 0, removed: [], addedCount: 1 },
|
| -]);
|
| -
|
| -reset();
|
| -var array = new MockArray([0, 1, 2], observer);
|
| -Object.observe(array, observer.callback, ['lengthChange']);
|
| -Array.prototype.splice.call(array, 1, 1);
|
| -Object.deliverChangeRecords(observer.callback);
|
| -observer.assertCallbackRecords([
|
| - { object: array, type: 'lengthChange' },
|
| - { object: array, type: 'splice', index: 1, removed: [1], addedCount: 0 },
|
| -]);
|
| -
|
| //
|
| // === PLAIN OBJECTS ===
|
| //
|
|
|