Tests that Runtime.evaluate will generate correct previews.

Running test: testObjectPropertiesPreview
{
    description : Object
    overflow : false
    properties : [
        [0] : {
            name : p1
            type : object
            value : Object
        }
        [1] : {
            name : p2
            type : object
            value : Object
        }
        [2] : {
            name : p3
            type : function
            value :
        }
        [3] : {
            name : p4
            type : accessor
        }
        [4] : {
            name : p6
            type : accessor
        }
    ]
    type : object
}

Running test: testArrayPropertiesPreview
{
    description : Array(8)
    overflow : false
    properties : [
        [0] : {
            name : 2
            type : number
            value : 1
        }
        [1] : {
            name : 3
            subtype : array
            type : object
            value : Array(1)
        }
        [2] : {
            name : 4
            type : function
            value :
        }
        [3] : {
            name : nonEntryFunction
            type : function
            value :
        }
        [4] : {
            name : 5
            type : accessor
        }
        [5] : {
            name : 7
            type : accessor
        }
    ]
    subtype : array
    type : object
}

Running test: testInheritingObjectPropertiesPreview
{
    description : Object
    overflow : false
    properties : [
        [0] : {
            name : prototype
            type : object
            value : Object
        }
    ]
    type : object
}

Running test: testInheritingArrayPropertiesPreview
{
    description : Array(0)
    overflow : false
    properties : [
        [0] : {
            name : prototype
            subtype : array
            type : object
            value : Array(8)
        }
    ]
    subtype : array
    type : object
}

Running test: testShortTypedArrayPropertiesPreview
{
    description : Uint8Array(3)
    overflow : false
    properties : [
        [0] : {
            name : 0
            type : number
            value : 0
        }
        [1] : {
            name : 1
            type : number
            value : 0
        }
        [2] : {
            name : 2
            type : number
            value : 0
        }
        [3] : {
            name : buffer
            subtype : arraybuffer
            type : object
            value : ArrayBuffer(3)
        }
        [4] : {
            name : byteLength
            type : number
            value : 3
        }
        [5] : {
            name : byteOffset
            type : number
            value : 0
        }
        [6] : {
            name : length
            type : number
            value : 3
        }
        [7] : {
            name : Symbol(Symbol.toStringTag)
            type : string
            value : Uint8Array
        }
    ]
    subtype : typedarray
    type : object
}

Running test: testLongTypedArrayPropertiesPreview
{
    description : Uint8Array(500001)
    overflow : true
    properties : [
        [0] : {
            name : 0
            type : number
            value : 0
        }
        [1] : {
            name : 1
            type : number
            value : 0
        }
        [2] : {
            name : 2
            type : number
            value : 0
        }
        [3] : {
            name : 3
            type : number
            value : 0
        }
        [4] : {
            name : 4
            type : number
            value : 0
        }
        [5] : {
            name : 5
            type : number
            value : 0
        }
        [6] : {
            name : 6
            type : number
            value : 0
        }
        [7] : {
            name : 7
            type : number
            value : 0
        }
        [8] : {
            name : 8
            type : number
            value : 0
        }
        [9] : {
            name : 9
            type : number
            value : 0
        }
        [10] : {
            name : 10
            type : number
            value : 0
        }
        [11] : {
            name : 11
            type : number
            value : 0
        }
        [12] : {
            name : 12
            type : number
            value : 0
        }
        [13] : {
            name : 13
            type : number
            value : 0
        }
        [14] : {
            name : 14
            type : number
            value : 0
        }
        [15] : {
            name : 15
            type : number
            value : 0
        }
        [16] : {
            name : 16
            type : number
            value : 0
        }
        [17] : {
            name : 17
            type : number
            value : 0
        }
        [18] : {
            name : 18
            type : number
            value : 0
        }
        [19] : {
            name : 19
            type : number
            value : 0
        }
        [20] : {
            name : 20
            type : number
            value : 0
        }
        [21] : {
            name : 21
            type : number
            value : 0
        }
        [22] : {
            name : 22
            type : number
            value : 0
        }
        [23] : {
            name : 23
            type : number
            value : 0
        }
        [24] : {
            name : 24
            type : number
            value : 0
        }
        [25] : {
            name : 25
            type : number
            value : 0
        }
        [26] : {
            name : 26
            type : number
            value : 0
        }
        [27] : {
            name : 27
            type : number
            value : 0
        }
        [28] : {
            name : 28
            type : number
            value : 0
        }
        [29] : {
            name : 29
            type : number
            value : 0
        }
        [30] : {
            name : 30
            type : number
            value : 0
        }
        [31] : {
            name : 31
            type : number
            value : 0
        }
        [32] : {
            name : 32
            type : number
            value : 0
        }
        [33] : {
            name : 33
            type : number
            value : 0
        }
        [34] : {
            name : 34
            type : number
            value : 0
        }
        [35] : {
            name : 35
            type : number
            value : 0
        }
        [36] : {
            name : 36
            type : number
            value : 0
        }
        [37] : {
            name : 37
            type : number
            value : 0
        }
        [38] : {
            name : 38
            type : number
            value : 0
        }
        [39] : {
            name : 39
            type : number
            value : 0
        }
        [40] : {
            name : 40
            type : number
            value : 0
        }
        [41] : {
            name : 41
            type : number
            value : 0
        }
        [42] : {
            name : 42
            type : number
            value : 0
        }
        [43] : {
            name : 43
            type : number
            value : 0
        }
        [44] : {
            name : 44
            type : number
            value : 0
        }
        [45] : {
            name : 45
            type : number
            value : 0
        }
        [46] : {
            name : 46
            type : number
            value : 0
        }
        [47] : {
            name : 47
            type : number
            value : 0
        }
        [48] : {
            name : 48
            type : number
            value : 0
        }
        [49] : {
            name : 49
            type : number
            value : 0
        }
        [50] : {
            name : 50
            type : number
            value : 0
        }
        [51] : {
            name : 51
            type : number
            value : 0
        }
        [52] : {
            name : 52
            type : number
            value : 0
        }
        [53] : {
            name : 53
            type : number
            value : 0
        }
        [54] : {
            name : 54
            type : number
            value : 0
        }
        [55] : {
            name : 55
            type : number
            value : 0
        }
        [56] : {
            name : 56
            type : number
            value : 0
        }
        [57] : {
            name : 57
            type : number
            value : 0
        }
        [58] : {
            name : 58
            type : number
            value : 0
        }
        [59] : {
            name : 59
            type : number
            value : 0
        }
        [60] : {
            name : 60
            type : number
            value : 0
        }
        [61] : {
            name : 61
            type : number
            value : 0
        }
        [62] : {
            name : 62
            type : number
            value : 0
        }
        [63] : {
            name : 63
            type : number
            value : 0
        }
        [64] : {
            name : 64
            type : number
            value : 0
        }
        [65] : {
            name : 65
            type : number
            value : 0
        }
        [66] : {
            name : 66
            type : number
            value : 0
        }
        [67] : {
            name : 67
            type : number
            value : 0
        }
        [68] : {
            name : 68
            type : number
            value : 0
        }
        [69] : {
            name : 69
            type : number
            value : 0
        }
        [70] : {
            name : 70
            type : number
            value : 0
        }
        [71] : {
            name : 71
            type : number
            value : 0
        }
        [72] : {
            name : 72
            type : number
            value : 0
        }
        [73] : {
            name : 73
            type : number
            value : 0
        }
        [74] : {
            name : 74
            type : number
            value : 0
        }
        [75] : {
            name : 75
            type : number
            value : 0
        }
        [76] : {
            name : 76
            type : number
            value : 0
        }
        [77] : {
            name : 77
            type : number
            value : 0
        }
        [78] : {
            name : 78
            type : number
            value : 0
        }
        [79] : {
            name : 79
            type : number
            value : 0
        }
        [80] : {
            name : 80
            type : number
            value : 0
        }
        [81] : {
            name : 81
            type : number
            value : 0
        }
        [82] : {
            name : 82
            type : number
            value : 0
        }
        [83] : {
            name : 83
            type : number
            value : 0
        }
        [84] : {
            name : 84
            type : number
            value : 0
        }
        [85] : {
            name : 85
            type : number
            value : 0
        }
        [86] : {
            name : 86
            type : number
            value : 0
        }
        [87] : {
            name : 87
            type : number
            value : 0
        }
        [88] : {
            name : 88
            type : number
            value : 0
        }
        [89] : {
            name : 89
            type : number
            value : 0
        }
        [90] : {
            name : 90
            type : number
            value : 0
        }
        [91] : {
            name : 91
            type : number
            value : 0
        }
        [92] : {
            name : 92
            type : number
            value : 0
        }
        [93] : {
            name : 93
            type : number
            value : 0
        }
        [94] : {
            name : 94
            type : number
            value : 0
        }
        [95] : {
            name : 95
            type : number
            value : 0
        }
        [96] : {
            name : 96
            type : number
            value : 0
        }
        [97] : {
            name : 97
            type : number
            value : 0
        }
        [98] : {
            name : 98
            type : number
            value : 0
        }
        [99] : {
            name : 99
            type : number
            value : 0
        }
    ]
    subtype : typedarray
    type : object
}

Running test: testSetPropertiesPreview
{
    description : Set(3)
    entries : [
        [0] : {
            value : {
                description : 1
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [1] : {
            value : {
                description : 2
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [2] : {
            value : {
                description : 3
                overflow : false
                properties : [
                ]
                type : number
            }
        }
    ]
    overflow : false
    properties : [
        [0] : {
            name : size
            type : number
            value : 3
        }
    ]
    subtype : set
    type : object
}

Running test: testBigSetPropertiesPreview
{
    description : Set(10)
    entries : [
        [0] : {
            value : {
                description : 0
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [1] : {
            value : {
                description : 1
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [2] : {
            value : {
                description : 2
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [3] : {
            value : {
                description : 3
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [4] : {
            value : {
                description : 4
                overflow : false
                properties : [
                ]
                type : number
            }
        }
    ]
    overflow : true
    properties : [
        [0] : {
            name : size
            type : number
            value : 10
        }
    ]
    subtype : set
    type : object
}

Running test: testMixedSetPropertiesPreview
{
    description : Set(10)
    entries : [
        [0] : {
            value : {
                description : 0
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [1] : {
            value : {
                description : 1
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [2] : {
            value : {
                description : 2
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [3] : {
            value : {
                description : 3
                overflow : false
                properties : [
                ]
                type : number
            }
        }
        [4] : {
            value : {
                description : 4
                overflow : false
                properties : [
                ]
                type : number
            }
        }
    ]
    overflow : true
    properties : [
        [0] : {
            name : _prop_0
            type : number
            value : 1
        }
        [1] : {
            name : _prop_1
            type : number
            value : 1
        }
        [2] : {
            name : _prop_2
            type : number
            value : 1
        }
        [3] : {
            name : _prop_3
            type : number
            value : 1
        }
        [4] : {
            name : _prop_4
            type : number
            value : 1
        }
    ]
    subtype : set
    type : object
}

Running test: testObjWithArrayAsProto
{
    description : Array
    overflow : false
    properties : [
    ]
    type : object
}

Running test: testArrayWithLongValues
{
    description : Array(2)
    overflow : false
    properties : [
        [0] : {
            name : 0
            type : string
            value : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        }
        [1] : {
            name : 1
            type : bigint
            value : 51644997561738171793118383440060237486594115856584…033682389259290706560275662871806343945494986752n
        }
    ]
    subtype : array
    type : object
}
