aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/es6/mirror-promises.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/es6/mirror-promises.js')
-rw-r--r--deps/v8/test/mjsunit/es6/mirror-promises.js90
1 files changed, 0 insertions, 90 deletions
diff --git a/deps/v8/test/mjsunit/es6/mirror-promises.js b/deps/v8/test/mjsunit/es6/mirror-promises.js
deleted file mode 100644
index deeba8f549..0000000000
--- a/deps/v8/test/mjsunit/es6/mirror-promises.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// 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
-// Test the mirror object for promises.
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-function testPromiseMirror(promise, status, value) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(promise);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
- var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.ObjectMirror);
- assertTrue(mirror instanceof debug.PromiseMirror);
-
- // Check the mirror properties.
- assertEquals(status, mirror.status());
- assertTrue(mirror.isPromise());
- assertEquals('promise', mirror.type());
- assertFalse(mirror.isPrimitive());
- assertEquals("Object", mirror.className());
- assertEquals("#<Promise>", mirror.toText());
- assertSame(promise, mirror.value());
- assertTrue(mirror.promiseValue() instanceof debug.Mirror);
- assertEquals(value, mirror.promiseValue().value());
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('promise', fromJSON.type);
- assertEquals('Object', fromJSON.className);
- assertEquals('function', refs.lookup(fromJSON.constructorFunction.ref).type);
- assertEquals('Promise', refs.lookup(fromJSON.constructorFunction.ref).name);
- assertEquals(status, fromJSON.status);
- assertEquals(value, refs.lookup(fromJSON.promiseValue.ref).value);
-}
-
-// Test a number of different promises.
-var resolved = new Promise(function(resolve, reject) { resolve() });
-var rejected = new Promise(function(resolve, reject) { reject() });
-var pending = new Promise(function(resolve, reject) {});
-
-testPromiseMirror(resolved, "resolved", undefined);
-testPromiseMirror(rejected, "rejected", undefined);
-testPromiseMirror(pending, "pending", undefined);
-
-var resolvedv = new Promise(function(resolve, reject) { resolve('resolve') });
-var rejectedv = new Promise(function(resolve, reject) { reject('reject') });
-var thrownv = new Promise(function(resolve, reject) { throw 'throw' });
-
-testPromiseMirror(resolvedv, "resolved", 'resolve');
-testPromiseMirror(rejectedv, "rejected", 'reject');
-testPromiseMirror(thrownv, "rejected", 'throw');
-
-// Test internal properties of different promises.
-var m1 = debug.MakeMirror(new Promise(
- function(resolve, reject) { resolve(1) }));
-var ip = m1.internalProperties();
-assertEquals(2, ip.length);
-assertEquals("[[PromiseStatus]]", ip[0].name());
-assertEquals("[[PromiseValue]]", ip[1].name());
-assertEquals("resolved", ip[0].value().value());
-assertEquals(1, ip[1].value().value());
-
-var m2 = debug.MakeMirror(new Promise(function(resolve, reject) { reject(2) }));
-ip = m2.internalProperties();
-assertEquals("rejected", ip[0].value().value());
-assertEquals(2, ip[1].value().value());
-
-var m3 = debug.MakeMirror(new Promise(function(resolve, reject) { }));
-ip = m3.internalProperties();
-assertEquals("pending", ip[0].value().value());
-assertEquals("undefined", typeof(ip[1].value().value()));