Re-land of Use parenthesis in descriptions for array/map/set lengths/sizes
Descriptions for (typed)arrays will use parenthesis instead of square brackets "Array(10)" instead of "Array[10]". This CL also adds size hints to descriptions of maps and sets. Related CL for DevTools: https://codereview.chromium.org/2524913002/ BUG=405845 Committed: https://crrev.com/92c77a57390e6a9ef726535b255a24359751992d Review-Url: https://codereview.chromium.org/2521853003 Cr-Original-Commit-Position: refs/heads/master@{#41237} Cr-Commit-Position: refs/heads/master@{#41442}
This commit is contained in:
parent
717d59394d
commit
2c1fb7a821
@ -618,7 +618,13 @@ InjectedScript.prototype = {
|
||||
var className = InjectedScriptHost.internalConstructorName(obj);
|
||||
if (subtype === "array" || subtype === "typedarray") {
|
||||
if (typeof obj.length === "number")
|
||||
className += "[" + obj.length + "]";
|
||||
return className + "(" + obj.length + ")";
|
||||
return className;
|
||||
}
|
||||
|
||||
if (subtype === "map" || subtype === "set") {
|
||||
if (typeof obj.size === "number")
|
||||
return className + "(" + obj.size + ")";
|
||||
return className;
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,7 @@ expression: (new Map([[1,2]])).entries()
|
||||
[
|
||||
[0] : {
|
||||
value : {
|
||||
description : Array[2]
|
||||
description : Array(2)
|
||||
overflow : false
|
||||
properties : [
|
||||
[0] : {
|
||||
@ -204,20 +204,20 @@ expression: (new Set([[1,2]])).entries()
|
||||
[
|
||||
[0] : {
|
||||
value : {
|
||||
description : Array[2]
|
||||
description : Array(2)
|
||||
overflow : false
|
||||
properties : [
|
||||
[0] : {
|
||||
name : 0
|
||||
subtype : array
|
||||
type : object
|
||||
value : Array[2]
|
||||
value : Array(2)
|
||||
}
|
||||
[1] : {
|
||||
name : 1
|
||||
subtype : array
|
||||
type : object
|
||||
value : Array[2]
|
||||
value : Array(2)
|
||||
}
|
||||
]
|
||||
subtype : array
|
||||
@ -251,3 +251,4 @@ expression: ({})
|
||||
|
||||
Running test: overridenArrayGetter
|
||||
expression: Promise.resolve(42)
|
||||
|
||||
|
@ -0,0 +1,17 @@
|
||||
Test that descriptions for arrays, maps, and sets include the correct length or size.
|
||||
Set(0)
|
||||
Set(2)
|
||||
Map(0)
|
||||
Map(2)
|
||||
Array(0)
|
||||
Array(2)
|
||||
Uint8Array(0)
|
||||
Uint8Array(2)
|
||||
Set(0)
|
||||
Set(2)
|
||||
Map(0)
|
||||
Map(2)
|
||||
Array(0)
|
||||
Array(2)
|
||||
Uint8Array(0)
|
||||
Uint8Array(2)
|
23
test/inspector/runtime/length-or-size-description.js
Normal file
23
test/inspector/runtime/length-or-size-description.js
Normal file
@ -0,0 +1,23 @@
|
||||
// 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 descriptions for arrays, maps, and sets include the correct length or size.")
|
||||
|
||||
Promise.all([
|
||||
testExpression("new Set()"),
|
||||
testExpression("new Set([1,2])"),
|
||||
testExpression("new Map()"),
|
||||
testExpression("new Map([[1,2],[3,4]])"),
|
||||
testExpression("new Array()"),
|
||||
testExpression("new Array(2)"),
|
||||
testExpression("new Uint8Array()"),
|
||||
testExpression("new Uint8Array(2)")
|
||||
]).then(() => InspectorTest.completeTest());
|
||||
|
||||
function testExpression(expression) {
|
||||
return Protocol.Runtime.evaluate({ expression: expression })
|
||||
.then(result => InspectorTest.logMessage(result.result.result.description))
|
||||
.then(() => Protocol.Runtime.evaluate({ expression: "[" + expression + "]", generatePreview: true }))
|
||||
.then(result => InspectorTest.logMessage(result.result.result.preview.properties[0].value))
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
Test that Runtime.getProperties doesn't truncate set and map entries in internalProperties.
|
||||
Entries for "createSet(10)"
|
||||
Array[10]
|
||||
Array(10)
|
||||
Entries for "createSet(1000)"
|
||||
Array[1000]
|
||||
Array(1000)
|
||||
Entries for "createMap(10)"
|
||||
Array[10]
|
||||
Array(10)
|
||||
Entries for "createMap(1000)"
|
||||
Array[1000]
|
||||
Array(1000)
|
||||
|
Loading…
Reference in New Issue
Block a user