126d477925
1. Add `toISOString` to `v8::Date`. 2. Switch serialization to `ISOString`. Bug: v8:13043 Change-Id: I8a852f4a4a46bb3b8e5d52ef3cdffde7a408b403 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3749203 Auto-Submit: Maksim Sadym <sadym@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#81647}
689 lines
12 KiB
Plaintext
689 lines
12 KiB
Plaintext
RemoteObject.webDriverValue
|
|
|
|
Running test: PrimitiveValue
|
|
testing expression: undefined
|
|
Runtime.evaluate
|
|
{
|
|
type : undefined
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : undefined
|
|
}
|
|
testing expression: null
|
|
Runtime.evaluate
|
|
{
|
|
type : null
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : null
|
|
}
|
|
testing expression: 'foo'
|
|
Runtime.evaluate
|
|
{
|
|
type : string
|
|
value : foo
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : string
|
|
value : foo
|
|
}
|
|
testing expression: [true, false]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
[1] : {
|
|
type : boolean
|
|
value : false
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
[1] : {
|
|
type : boolean
|
|
value : false
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: Number
|
|
testing expression: [123, 0.56, -0, +Infinity, -Infinity, NaN]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : number
|
|
value : 123
|
|
}
|
|
[1] : {
|
|
type : number
|
|
value : 0.56
|
|
}
|
|
[2] : {
|
|
type : number
|
|
value : -0
|
|
}
|
|
[3] : {
|
|
type : number
|
|
value : Infinity
|
|
}
|
|
[4] : {
|
|
type : number
|
|
value : -Infinity
|
|
}
|
|
[5] : {
|
|
type : number
|
|
value : NaN
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : number
|
|
value : 123
|
|
}
|
|
[1] : {
|
|
type : number
|
|
value : 0.56
|
|
}
|
|
[2] : {
|
|
type : number
|
|
value : -0
|
|
}
|
|
[3] : {
|
|
type : number
|
|
value : Infinity
|
|
}
|
|
[4] : {
|
|
type : number
|
|
value : -Infinity
|
|
}
|
|
[5] : {
|
|
type : number
|
|
value : NaN
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: BigInt
|
|
testing expression: [123n, 1234567890n]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : bigint
|
|
value : 123
|
|
}
|
|
[1] : {
|
|
type : bigint
|
|
value : 1234567890
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : bigint
|
|
value : 123
|
|
}
|
|
[1] : {
|
|
type : bigint
|
|
value : 1234567890
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: Symbol
|
|
testing expression: Symbol('foo')
|
|
Runtime.evaluate
|
|
{
|
|
type : symbol
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : symbol
|
|
}
|
|
|
|
Running test: Function
|
|
testing expression: [function qwe(){}, ()=>{}]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : function
|
|
}
|
|
[1] : {
|
|
type : function
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : function
|
|
}
|
|
[1] : {
|
|
type : function
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: Array
|
|
testing expression: [1,2,undefined]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : number
|
|
value : 1
|
|
}
|
|
[1] : {
|
|
type : number
|
|
value : 2
|
|
}
|
|
[2] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : number
|
|
value : 1
|
|
}
|
|
[1] : {
|
|
type : number
|
|
value : 2
|
|
}
|
|
[2] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
}
|
|
testing expression: new Array(1,2,undefined)
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : number
|
|
value : 1
|
|
}
|
|
[1] : {
|
|
type : number
|
|
value : 2
|
|
}
|
|
[2] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : number
|
|
value : 1
|
|
}
|
|
[1] : {
|
|
type : number
|
|
value : 2
|
|
}
|
|
[2] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: RegExp
|
|
testing expression: [new RegExp('ab+c'), new RegExp('ab+c', 'ig')]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : regexp
|
|
value : {
|
|
pattern : ab+c
|
|
}
|
|
}
|
|
[1] : {
|
|
type : regexp
|
|
value : {
|
|
flags : gi
|
|
pattern : ab+c
|
|
}
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : regexp
|
|
value : {
|
|
pattern : ab+c
|
|
}
|
|
}
|
|
[1] : {
|
|
type : regexp
|
|
value : {
|
|
flags : gi
|
|
pattern : ab+c
|
|
}
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: Date
|
|
testing expression: new Date('Thu Apr 07 2022 16:17:18 GMT')
|
|
Runtime.evaluate
|
|
{
|
|
type : date
|
|
value : 2022-04-07T16:17:18.000Z
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : date
|
|
value : 2022-04-07T16:17:18.000Z
|
|
}
|
|
testing expression: new Date('Thu Apr 07 2022 16:17:18 GMT+1100')
|
|
Runtime.evaluate
|
|
{
|
|
type : date
|
|
value : 2022-04-07T05:17:18.000Z
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : date
|
|
value : 2022-04-07T05:17:18.000Z
|
|
}
|
|
testing expression: new Date('Thu Apr 07 2022 16:17:18 GMT-1100')
|
|
Runtime.evaluate
|
|
{
|
|
type : date
|
|
value : 2022-04-08T03:17:18.000Z
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : date
|
|
value : 2022-04-08T03:17:18.000Z
|
|
}
|
|
|
|
Running test: Error
|
|
testing expression: [new Error(), new Error('qwe')]
|
|
Runtime.evaluate
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : error
|
|
}
|
|
[1] : {
|
|
type : error
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : array
|
|
value : [
|
|
[0] : {
|
|
type : error
|
|
}
|
|
[1] : {
|
|
type : error
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: Map
|
|
testing expression: new Map([['keyString1', {valueObject1: 1}], [{keyObject2: 2}, 'valueString2'], ['keyString3', new Array()]])
|
|
Runtime.evaluate
|
|
{
|
|
type : map
|
|
value : [
|
|
[0] : [
|
|
[0] : keyString1
|
|
[1] : {
|
|
type : object
|
|
}
|
|
]
|
|
[1] : [
|
|
[0] : {
|
|
type : object
|
|
}
|
|
[1] : {
|
|
type : string
|
|
value : valueString2
|
|
}
|
|
]
|
|
[2] : [
|
|
[0] : keyString3
|
|
[1] : {
|
|
type : array
|
|
}
|
|
]
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : map
|
|
value : [
|
|
[0] : [
|
|
[0] : keyString1
|
|
[1] : {
|
|
type : object
|
|
}
|
|
]
|
|
[1] : [
|
|
[0] : {
|
|
type : object
|
|
}
|
|
[1] : {
|
|
type : string
|
|
value : valueString2
|
|
}
|
|
]
|
|
[2] : [
|
|
[0] : keyString3
|
|
[1] : {
|
|
type : array
|
|
}
|
|
]
|
|
]
|
|
}
|
|
|
|
Running test: WeakMap
|
|
testing expression: new WeakMap([[{valueObject1: 1}, 'keyString1'],[{valueObject2: 2}, 'keyString2']])
|
|
Runtime.evaluate
|
|
{
|
|
type : weakmap
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : weakmap
|
|
}
|
|
|
|
Running test: Set
|
|
testing expression: new Set([{valueObject1: 1}, 'valueString2', new Array(), undefined])
|
|
Runtime.evaluate
|
|
{
|
|
type : set
|
|
value : [
|
|
[0] : {
|
|
type : object
|
|
}
|
|
[1] : {
|
|
type : string
|
|
value : valueString2
|
|
}
|
|
[2] : {
|
|
type : array
|
|
}
|
|
[3] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : set
|
|
value : [
|
|
[0] : {
|
|
type : object
|
|
}
|
|
[1] : {
|
|
type : string
|
|
value : valueString2
|
|
}
|
|
[2] : {
|
|
type : array
|
|
}
|
|
[3] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
}
|
|
|
|
Running test: Weakset
|
|
testing expression: new WeakSet([{valueObject1: 1}, {valueObject2: 2}])
|
|
Runtime.evaluate
|
|
{
|
|
type : weakset
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : weakset
|
|
}
|
|
|
|
Running test: Proxy
|
|
testing expression: new Proxy({}, ()=>{})
|
|
Runtime.evaluate
|
|
{
|
|
type : proxy
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : proxy
|
|
}
|
|
|
|
Running test: Promise
|
|
testing expression: new Promise(()=>{})
|
|
Runtime.evaluate
|
|
{
|
|
type : promise
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : promise
|
|
}
|
|
|
|
Running test: Typedarray
|
|
testing expression: new Uint16Array()
|
|
Runtime.evaluate
|
|
{
|
|
type : typedarray
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : typedarray
|
|
}
|
|
|
|
Running test: ArrayBuffer
|
|
testing expression: new ArrayBuffer()
|
|
Runtime.evaluate
|
|
{
|
|
type : arraybuffer
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : arraybuffer
|
|
}
|
|
|
|
Running test: Object
|
|
testing expression: {nullKey: null, stringKey: 'foo',boolKey: true,numberKey: 123,bigintKey: 123n,symbolKey: Symbol('foo'),functionKey: () => {},arrayKey:[1],undefinedKey:undefined}
|
|
Runtime.evaluate
|
|
{
|
|
type : object
|
|
value : [
|
|
[0] : [
|
|
[0] : nullKey
|
|
[1] : {
|
|
type : null
|
|
}
|
|
]
|
|
[1] : [
|
|
[0] : stringKey
|
|
[1] : {
|
|
type : string
|
|
value : foo
|
|
}
|
|
]
|
|
[2] : [
|
|
[0] : boolKey
|
|
[1] : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
]
|
|
[3] : [
|
|
[0] : numberKey
|
|
[1] : {
|
|
type : number
|
|
value : 123
|
|
}
|
|
]
|
|
[4] : [
|
|
[0] : bigintKey
|
|
[1] : {
|
|
type : bigint
|
|
value : 123
|
|
}
|
|
]
|
|
[5] : [
|
|
[0] : symbolKey
|
|
[1] : {
|
|
type : symbol
|
|
}
|
|
]
|
|
[6] : [
|
|
[0] : functionKey
|
|
[1] : {
|
|
type : function
|
|
}
|
|
]
|
|
[7] : [
|
|
[0] : arrayKey
|
|
[1] : {
|
|
type : array
|
|
}
|
|
]
|
|
[8] : [
|
|
[0] : undefinedKey
|
|
[1] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : object
|
|
value : [
|
|
[0] : [
|
|
[0] : nullKey
|
|
[1] : {
|
|
type : null
|
|
}
|
|
]
|
|
[1] : [
|
|
[0] : stringKey
|
|
[1] : {
|
|
type : string
|
|
value : foo
|
|
}
|
|
]
|
|
[2] : [
|
|
[0] : boolKey
|
|
[1] : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
]
|
|
[3] : [
|
|
[0] : numberKey
|
|
[1] : {
|
|
type : number
|
|
value : 123
|
|
}
|
|
]
|
|
[4] : [
|
|
[0] : bigintKey
|
|
[1] : {
|
|
type : bigint
|
|
value : 123
|
|
}
|
|
]
|
|
[5] : [
|
|
[0] : symbolKey
|
|
[1] : {
|
|
type : symbol
|
|
}
|
|
]
|
|
[6] : [
|
|
[0] : functionKey
|
|
[1] : {
|
|
type : function
|
|
}
|
|
]
|
|
[7] : [
|
|
[0] : arrayKey
|
|
[1] : {
|
|
type : array
|
|
}
|
|
]
|
|
[8] : [
|
|
[0] : undefinedKey
|
|
[1] : {
|
|
type : undefined
|
|
}
|
|
]
|
|
]
|
|
}
|
|
testing expression: {key_level_1: {key_level_2: {key_level_3: 'value_level_3'}}}
|
|
Runtime.evaluate
|
|
{
|
|
type : object
|
|
value : [
|
|
[0] : [
|
|
[0] : key_level_1
|
|
[1] : {
|
|
type : object
|
|
}
|
|
]
|
|
]
|
|
}
|
|
Runtime.callFunctionOn
|
|
{
|
|
type : object
|
|
value : [
|
|
[0] : [
|
|
[0] : key_level_1
|
|
[1] : {
|
|
type : object
|
|
}
|
|
]
|
|
]
|
|
}
|