Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Unified Diff: test/inspector/runtime/set-or-map-entries.js

Issue 2376863002: [inspector] test Runtime.getProperties for set and map [[Entries]] (Closed)
Patch Set: addressed comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | test/inspector/runtime/set-or-map-entries-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/inspector/runtime/set-or-map-entries.js
diff --git a/test/inspector/runtime/set-or-map-entries.js b/test/inspector/runtime/set-or-map-entries.js
new file mode 100644
index 0000000000000000000000000000000000000000..ccefb794d6cd00a0f081daa09b7eb1f7a1e1f6d4
--- /dev/null
+++ b/test/inspector/runtime/set-or-map-entries.js
@@ -0,0 +1,52 @@
+// Copyright 2016 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.
+
+print("Test that Runtime.getProperties doesn't truncate set and map entries in internalProperties.")
+
+InspectorTest.evaluateInPage(`
+ function createSet(size) {
+ var s = new Set();
+ var a = {};
+ a.a = a;
+ for (var i = 0; i < size; ++i) s.add({ wrapper: a});
+ return s;
+ }
+
+ function createMap(size) {
+ var m = new Map();
+ var a = {};
+ a.a = a;
+ for (var i = 0; i < size; ++i) m.set(i, { wrapper: a});
+ return m;
+ }
+`);
+
+InspectorTest.sendCommand("Debugger.enable");
+InspectorTest.sendCommand("Runtime.enable");
+
+testExpression("createSet(10)")
+ .then(() => testExpression("createSet(1000)"))
+ .then(() => testExpression("createMap(10)"))
+ .then(() => testExpression("createMap(1000)"))
+ .then(() => InspectorTest.completeTest());
+
+function testExpression(expression)
+{
+ return InspectorTest.sendCommandPromise("Runtime.evaluate", { "expression": expression})
+ .then(result => InspectorTest.sendCommandPromise("Runtime.getProperties", { ownProperties: true, objectId: result.result.result.objectId }))
+ .then(message => dumpEntriesDescription(expression, message));
+}
+
+function dumpEntriesDescription(expression, message)
+{
+ InspectorTest.log(`Entries for "${expression}"`);
+ var properties = message.result.internalProperties;
+ var property;
+ if (properties)
+ property = properties.find(property => property.name === "[[Entries]]");
+ if (!property)
+ InspectorTest.log("[[Entries]] not found");
+ else
+ InspectorTest.log(property.value.description);
+}
« no previous file with comments | « no previous file | test/inspector/runtime/set-or-map-entries-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698