v8/test/inspector/debugger/object-preview-internal-properties-expected.txt
Benedikt Meurer fb86158a3b Reland "[inspector] Consistently format all native accessors as own properties."
This is a reland of ce8cef36aa

Original change's description:
> [inspector] Consistently format all native accessors as own properties.
>
> Previously the V8 inspector would only turn embedder accessors on the
> prototype chain into data properties, but would not do the same for
> ECMAScript builtins, which is kind of inconsistent and weird behavior.
>
> This leaves in the hack that the inspector reports native accessor
> properties as (own) data properties, but now at least the very least
> does so consistently. In the absence of a better solution, we'll go
> with this for now.
>
> Bug: chromium:1076820, chromium:1199247
> Change-Id: I593f909a46cb714dbec629a2944eeb892881ba6f
> Before: https://imgur.com/kPuSldj.png
> After: https://imgur.com/eFau45m.png
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067319
> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#76059}

Bug: chromium:1076820, chromium:1199247
Change-Id: I11987194b0d0b8b250eda4f8ce0ae5fc743eb27c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3070701
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#76084}
2021-08-04 09:49:50 +00:00

324 lines
5.0 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 : [[PromiseState]]
type : string
value : fulfilled
}
{
name : [[PromiseResult]]
type : number
value : 42
}
expression: new Promise(() => undefined)
{
name : [[PromiseState]]
type : string
value : pending
}
{
name : [[PromiseResult]]
type : undefined
value : undefined
}
Running test: generatorObject
expression: (function* foo() { yield 1 })()
{
name : [[GeneratorState]]
type : string
value : suspended
}
Running test: entriesInMapAndSet
expression: new Map([[1,2]])
{
name : size
type : number
value : 1
}
[[Entries]]:
[
[0] : {
key : {
description : 1
overflow : false
properties : [
]
type : number
}
value : {
description : 2
overflow : false
properties : [
]
type : number
}
}
]
expression: new Set([1])
{
name : size
type : number
value : 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 : [[PromiseState]]
type : string
value : fulfilled
}
{
name : [[PromiseResult]]
type : number
value : 42
}
Running test: privateNames
expression: new class { #foo = 1; #bar = 2; baz = 3;}
{
name : #foo
type : number
value : 1
}
{
name : #bar
type : number
value : 2
}
{
name : baz
type : number
value : 3
}
expression: new class extends class { #baz = 3; } { #foo = 1; #bar = 2; }
{
name : #baz
type : number
value : 3
}
{
name : #foo
type : number
value : 1
}
{
name : #bar
type : number
value : 2
}
expression: new class extends class { constructor() { return new Proxy({}, {}); } } { #foo = 1; #bar = 2; }
Running test: functionProxy
expression: new Proxy(() => {}, { get: () => x++ })
{
name : length
type : number
value : 0
}
{
name : name
type : string
value :
}