diff options
author | Refael Ackermann <refack@gmail.com> | 2014-09-29 13:20:04 +0400 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-10-08 15:44:38 +0400 |
commit | 9116b240c924d37627313416b7ee038d0580afbc (patch) | |
tree | 86c586915a96d308b1b04de679a8ae293caf3e41 /deps/v8/test/mjsunit/es7/object-observe-debug-event.js | |
parent | a2a3fd48934f36d94575dd33d2a2cb732f937f77 (diff) | |
download | node-9116b240c924d37627313416b7ee038d0580afbc.tar.gz |
deps: update v8 to 3.28.73
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/joyent/node/pull/8476
Diffstat (limited to 'deps/v8/test/mjsunit/es7/object-observe-debug-event.js')
-rw-r--r-- | deps/v8/test/mjsunit/es7/object-observe-debug-event.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/es7/object-observe-debug-event.js b/deps/v8/test/mjsunit/es7/object-observe-debug-event.js new file mode 100644 index 000000000..ed627642c --- /dev/null +++ b/deps/v8/test/mjsunit/es7/object-observe-debug-event.js @@ -0,0 +1,51 @@ +// Copyright 2014 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --expose-debug-as debug + +Debug = debug.Debug; + +var base_id = -1; +var exception = null; +var expected = [ + "enqueue #1", + "willHandle #1", + "didHandle #1", +]; + +function assertLog(msg) { + print(msg); + assertTrue(expected.length > 0); + assertEquals(expected.shift(), msg); + if (!expected.length) { + Debug.setListener(null); + } +} + +function listener(event, exec_state, event_data, data) { + if (event != Debug.DebugEvent.AsyncTaskEvent) return; + try { + if (base_id < 0) + base_id = event_data.id(); + var id = event_data.id() - base_id + 1; + assertEquals("Object.observe", event_data.name()); + assertLog(event_data.type() + " #" + id); + } catch (e) { + print(e + e.stack) + exception = e; + } +} + +Debug.setListener(listener); + +var obj = {}; +Object.observe(obj, function(changes) { + print(change.type + " " + change.name + " " + change.oldValue); +}); + +obj.foo = 1; +obj.zoo = 2; +obj.foo = 3; + +assertNull(exception); |