blob: 978c104866cf1617b3664a9c2fea53b371aed8fa [file] [log] [blame]
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 : resolved
}
}
[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
}
}
]
}
}