v8/test/inspector/runtime/internal-properties-entries-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

789 lines
18 KiB
Plaintext

Checks internal [[Entries]] in Runtime.getProperties output
Running test: maps
expression: new Map([[1,2],[3,4]])
[
[0] : {
key : 1
value : 2
}
[1] : {
key : 3
value : 4
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : {1 => 2}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : true
enumerable : true
isOwn : true
name : 1
value : {
className : Object
description : {3 => 4}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[2] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 2
type : number
value : 2
}
writable : true
}
]
}
}
expression: new Map()
[
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 0
type : number
value : 0
}
writable : true
}
]
}
}
Running test: mapIterators
expression: new Map([[1,2],[3,4]]).entries()
[
[0] : {
key : 1
value : 2
}
[1] : {
key : 3
value : 4
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : {1 => 2}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : true
enumerable : true
isOwn : true
name : 1
value : {
className : Object
description : {3 => 4}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[2] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 2
type : number
value : 2
}
writable : true
}
]
}
}
expression: it = new Map([[1,2],[3,4]]).entries(); it.next(); it
[
[0] : {
key : 3
value : 4
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : {3 => 4}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
expression: it = new Map([[1,2],[3,4]]).keys(); it.next(); it
[
[0] : {
value : 3
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : 3
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
expression: it = new Map([[1,2],[3,4]]).values(); it.next(); it
[
[0] : {
value : 4
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : 4
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
expression: it = new Map([[1,2],[3,4]]).entries(); it.next(); it.next(); it
[
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 0
type : number
value : 0
}
writable : true
}
]
}
}
expression: new Map([[1, undefined], [2, () => 42], [3, /abc/], [4, new Error()]]).entries()
[
[0] : {
key : 1
}
[1] : {
key : 2
value : {
}
}
[2] : {
key : 3
value : {
}
}
[3] : {
key : 4
value : {
}
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : {1 => undefined}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : true
enumerable : true
isOwn : true
name : 1
value : {
className : Object
description : {2 => () => 42}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[2] : {
configurable : true
enumerable : true
isOwn : true
name : 2
value : {
className : Object
description : {3 => /abc/}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[3] : {
configurable : true
enumerable : true
isOwn : true
name : 3
value : {
className : Object
description : {4 => Error at <anonymous>:1:57}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[4] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 4
type : number
value : 4
}
writable : true
}
]
}
}
Running test: sets
expression: new Set([1,2])
[
[0] : {
value : 1
}
[1] : {
value : 2
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : 1
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : true
enumerable : true
isOwn : true
name : 1
value : {
className : Object
description : 2
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[2] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 2
type : number
value : 2
}
writable : true
}
]
}
}
expression: new Set()
[
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 0
type : number
value : 0
}
writable : true
}
]
}
}
Running test: setIterators
expression: new Set([1,2]).values()
[
[0] : {
value : 1
}
[1] : {
value : 2
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : 1
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : true
enumerable : true
isOwn : true
name : 1
value : {
className : Object
description : 2
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[2] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 2
type : number
value : 2
}
writable : true
}
]
}
}
expression: it = new Set([1,2]).values(); it.next(); it
[
[0] : {
value : 2
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : 2
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
expression: it = new Set([1,2]).keys(); it.next(); it
[
[0] : {
value : 2
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : 2
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
expression: it = new Set([1,2]).entries(); it.next(); it
[
[0] : {
key : 2
value : 2
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : {2 => 2}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
expression: it = new Set([1,2]).values(); it.next(); it.next(); it
[
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 0
type : number
value : 0
}
writable : true
}
]
}
}
Running test: weakMaps
expression: new WeakMap()
[
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 0
type : number
value : 0
}
writable : true
}
]
}
}
expression: new WeakMap([[{ a: 2 }, 42]])
[
[0] : {
key : {
a : 2
}
value : 42
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : {Object => 42}
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}
Running test: weakSets
expression: new WeakSet()
[
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 0
type : number
value : 0
}
writable : true
}
]
}
}
expression: new WeakSet([{a:2}])
[
[0] : {
value : {
a : 2
}
}
]
{
id : <messageId>
result : {
result : [
[0] : {
configurable : true
enumerable : true
isOwn : true
name : 0
value : {
className : Object
description : Object
objectId : <objectId>
subtype : internal#entry
type : object
}
writable : true
}
[1] : {
configurable : false
enumerable : false
isOwn : true
name : length
value : {
description : 1
type : number
value : 1
}
writable : true
}
]
}
}