v8/test/inspector/debugger/object-preview-internal-properties-expected.txt
Ruben Bridgewater 74571c80a9 Fix preview of set entries
Set entries return an array with the value as first and second entry.
As such these are considered key value pairs to align with maps
entries iterator.
So far the return value was identical to the values iterator and that
is misleading.

This also adds tests to verify the results and improves the coverage
a tiny bit by testing different iterators.

Refs: https://github.com/nodejs/node/issues/24629

R=yangguo@chromium.org

Change-Id: I669a724bb4afaf5a713e468b1f51691d22c25253
Reviewed-on: https://chromium-review.googlesource.com/c/1350790
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59311}
2019-02-03 19:35:11 +00:00

262 lines
4.1 KiB
Plaintext

Check internal properties reported in object preview.
Running test: boxedObjects
expression: new Number(239)
{
name : [[PrimitiveValue]]
type : number
value : 239
}
expression: new Boolean(false)
{
name : [[PrimitiveValue]]
type : boolean
value : false
}
expression: new String("abc")
{
name : [[PrimitiveValue]]
type : string
value : abc
}
expression: Object(Symbol(42))
{
name : [[PrimitiveValue]]
type : symbol
value : Symbol(42)
}
expression: Object(BigInt(2))
{
name : [[PrimitiveValue]]
type : bigint
value : 2n
}
Running test: promise
expression: Promise.resolve(42)
{
name : [[PromiseStatus]]
type : string
value : resolved
}
{
name : [[PromiseValue]]
type : number
value : 42
}
expression: new Promise(() => undefined)
{
name : [[PromiseStatus]]
type : string
value : pending
}
{
name : [[PromiseValue]]
type : undefined
value : undefined
}
Running test: generatorObject
expression: (function* foo() { yield 1 })()
{
name : [[GeneratorStatus]]
type : string
value : suspended
}
Running test: entriesInMapAndSet
expression: new Map([[1,2]])
[[Entries]]:
[
[0] : {
key : {
description : 1
overflow : false
properties : [
]
type : number
}
value : {
description : 2
overflow : false
properties : [
]
type : number
}
}
]
expression: new Set([1])
[[Entries]]:
[
[0] : {
value : {
description : 1
overflow : false
properties : [
]
type : number
}
}
]
expression: new WeakMap([[{}, 42]])
[[Entries]]:
[
[0] : {
key : {
description : Object
overflow : false
properties : [
]
type : object
}
value : {
description : 42
overflow : false
properties : [
]
type : number
}
}
]
expression: new WeakSet([{}])
[[Entries]]:
[
[0] : {
value : {
description : Object
overflow : false
properties : [
]
type : object
}
}
]
Running test: iteratorObject
expression: (new Map([[1,2]])).entries()
[[Entries]]:
[
[0] : {
key : {
description : 1
overflow : false
properties : [
]
type : number
}
value : {
description : 2
overflow : false
properties : [
]
type : number
}
}
]
expression: (new Set([1,2])).entries()
[[Entries]]:
[
[0] : {
key : {
description : 1
overflow : false
properties : [
]
type : number
}
value : {
description : 1
overflow : false
properties : [
]
type : number
}
}
[1] : {
key : {
description : 2
overflow : false
properties : [
]
type : number
}
value : {
description : 2
overflow : false
properties : [
]
type : number
}
}
]
Running test: noPreviewForFunctionObject
(function foo(){})
{
id : <messageId>
result : {
result : {
className : Function
description : function foo(){}
objectId : <objectId>
type : function
}
}
}
Running test: otherObjects
expression: [1,2,3]
{
name : 0
type : number
value : 1
}
{
name : 1
type : number
value : 2
}
{
name : 2
type : number
value : 3
}
expression: /123/
{
name : lastIndex
type : number
value : 0
}
expression: ({})
Running test: overridenArrayGetter
expression: Promise.resolve(42)
{
name : [[PromiseStatus]]
type : string
value : resolved
}
{
name : [[PromiseValue]]
type : number
value : 42
}