v8/test/inspector/runtime/internal-properties-expected.txt
Mathias Bynens 93b4f186dd Improve terminology for internal promise state
Per the spec [1], a resolved promise may be “pending, fulfilled, or
rejected”, but previously V8 incorrectly used the term “resolved”
instead of “fulfilled”. This change is user-observable through the
`d8` REPL and the DevTools Console.

Corresponding DevTools CL:
https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2141673

Corresponding Chromium CL:
https://chromium-review.googlesource.com/c/chromium/src/+/2144095

[1]: https://tc39.es/ecma262/#sec-properties-of-promise-instances

Bug: v8:6751, v8:5416
Change-Id: I6c5302c280d01cf681c6358add3d2e88fbffa36f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2144011
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67086}
2020-04-09 13:44:24 +00:00

603 lines
16 KiB
Plaintext

Checks internal properties in Runtime.getProperties output
Running test: generatorFunction
expression: (function* foo() { yield 1 })
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[FunctionLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 14
lineNumber : 0
scriptId : <scriptId>
}
}
}
[1] : {
name : [[IsGenerator]]
value : {
type : boolean
value : true
}
}
[2] : {
name : [[Scopes]]
value : {
className : Array
description : Scopes[1]
objectId : <objectId>
subtype : internal#scopeList
type : object
}
}
]
}
}
Running test: regularFunction
expression: (function foo() {})
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[FunctionLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 13
lineNumber : 0
scriptId : <scriptId>
}
}
}
[1] : {
name : [[Scopes]]
value : {
className : Array
description : Scopes[1]
objectId : <objectId>
subtype : internal#scopeList
type : object
}
}
]
}
}
Running test: boxedObjects
expression: new Number(239)
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PrimitiveValue]]
value : {
description : 239
type : number
value : 239
}
}
]
}
}
expression: new Boolean(false)
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PrimitiveValue]]
value : {
type : boolean
value : false
}
}
]
}
}
expression: new String('abc')
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PrimitiveValue]]
value : {
type : string
value : abc
}
}
]
}
}
expression: Object(Symbol(42))
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PrimitiveValue]]
value : {
description : Symbol(42)
objectId : <objectId>
type : symbol
}
}
]
}
}
expression: Object(BigInt(2))
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PrimitiveValue]]
value : {
description : 2n
type : bigint
unserializableValue : 2n
}
}
]
}
}
Running test: promise
expression: Promise.resolve(42)
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PromiseStatus]]
value : {
type : string
value : fulfilled
}
}
[1] : {
name : [[PromiseValue]]
value : {
description : 42
type : number
value : 42
}
}
]
}
}
expression: new Promise(() => undefined)
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[PromiseStatus]]
value : {
type : string
value : pending
}
}
[1] : {
name : [[PromiseValue]]
value : {
type : undefined
}
}
]
}
}
Running test: generatorObject
expression: gen1
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[GeneratorLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 13
lineNumber : 8
scriptId : <scriptId>
}
}
}
[1] : {
name : [[GeneratorStatus]]
value : {
type : string
value : suspended
}
}
[2] : {
name : [[GeneratorFunction]]
value : {
className : GeneratorFunction
description : function* foo() { yield 1; }
objectId : <objectId>
type : function
}
}
[3] : {
name : [[GeneratorReceiver]]
value : {
className : global
description : global
objectId : <objectId>
type : object
}
}
[4] : {
name : [[Scopes]]
value : {
className : Array
description : Scopes[2]
objectId : <objectId>
subtype : internal#scopeList
type : object
}
}
]
}
}
expression: gen1.next();gen1
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[GeneratorLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 2
lineNumber : 9
scriptId : <scriptId>
}
}
}
[1] : {
name : [[GeneratorStatus]]
value : {
type : string
value : suspended
}
}
[2] : {
name : [[GeneratorFunction]]
value : {
className : GeneratorFunction
description : function* foo() { yield 1; }
objectId : <objectId>
type : function
}
}
[3] : {
name : [[GeneratorReceiver]]
value : {
className : global
description : global
objectId : <objectId>
type : object
}
}
[4] : {
name : [[Scopes]]
value : {
className : Array
description : Scopes[2]
objectId : <objectId>
subtype : internal#scopeList
type : object
}
}
]
}
}
expression: gen1.next();gen1
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[GeneratorLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 13
lineNumber : 8
scriptId : <scriptId>
}
}
}
[1] : {
name : [[GeneratorStatus]]
value : {
type : string
value : closed
}
}
[2] : {
name : [[GeneratorFunction]]
value : {
className : GeneratorFunction
description : function* foo() { yield 1; }
objectId : <objectId>
type : function
}
}
[3] : {
name : [[GeneratorReceiver]]
value : {
className : global
description : global
objectId : <objectId>
type : object
}
}
]
}
}
Running test: generatorObjectDebuggerDisabled
expression: gen2
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[GeneratorLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 13
lineNumber : 8
scriptId : <scriptId>
}
}
}
[1] : {
name : [[GeneratorStatus]]
value : {
type : string
value : suspended
}
}
[2] : {
name : [[GeneratorFunction]]
value : {
className : GeneratorFunction
description : function* foo() { yield 1; }
objectId : <objectId>
type : function
}
}
[3] : {
name : [[GeneratorReceiver]]
value : {
className : global
description : global
objectId : <objectId>
type : object
}
}
[4] : {
name : [[Scopes]]
value : {
className : Array
description : Scopes[2]
objectId : <objectId>
subtype : internal#scopeList
type : object
}
}
]
}
}
expression: gen2.next();gen2
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[GeneratorLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 2
lineNumber : 9
scriptId : <scriptId>
}
}
}
[1] : {
name : [[GeneratorStatus]]
value : {
type : string
value : suspended
}
}
[2] : {
name : [[GeneratorFunction]]
value : {
className : GeneratorFunction
description : function* foo() { yield 1; }
objectId : <objectId>
type : function
}
}
[3] : {
name : [[GeneratorReceiver]]
value : {
className : global
description : global
objectId : <objectId>
type : object
}
}
[4] : {
name : [[Scopes]]
value : {
className : Array
description : Scopes[2]
objectId : <objectId>
subtype : internal#scopeList
type : object
}
}
]
}
}
expression: gen2.next();gen2
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[GeneratorLocation]]
value : {
description : Object
subtype : internal#location
type : object
value : {
columnNumber : 13
lineNumber : 8
scriptId : <scriptId>
}
}
}
[1] : {
name : [[GeneratorStatus]]
value : {
type : string
value : closed
}
}
[2] : {
name : [[GeneratorFunction]]
value : {
className : GeneratorFunction
description : function* foo() { yield 1; }
objectId : <objectId>
type : function
}
}
[3] : {
name : [[GeneratorReceiver]]
value : {
className : global
description : global
objectId : <objectId>
type : object
}
}
]
}
}
Running test: iteratorObject
expression: (new Map([[1,2]])).entries()
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[IteratorHasMore]]
value : {
type : boolean
value : true
}
}
[1] : {
name : [[IteratorIndex]]
value : {
description : 0
type : number
value : 0
}
}
[2] : {
name : [[IteratorKind]]
value : {
type : string
value : entries
}
}
[3] : {
name : [[Entries]]
value : {
className : Array
description : Array(1)
objectId : <objectId>
subtype : array
type : object
}
}
]
}
}
expression: (new Set([[1,2]])).entries()
{
id : <messageId>
result : {
internalProperties : [
[0] : {
name : [[IteratorHasMore]]
value : {
type : boolean
value : true
}
}
[1] : {
name : [[IteratorIndex]]
value : {
description : 0
type : number
value : 0
}
}
[2] : {
name : [[IteratorKind]]
value : {
type : string
value : entries
}
}
[3] : {
name : [[Entries]]
value : {
className : Array
description : Array(1)
objectId : <objectId>
subtype : array
type : object
}
}
]
}
}