Tests for the Runtime.getProperties command.


== Running test suite: Runtime.getProperties
-- Running test case: Runtime.getProperties.Object
Evaluating expression...
Getting own properties...
Properties:
    "foo"        =>  "cat" (string)  [writable | enumerable | configurable | isOwn]
    "__proto__"  =>  "Number" (object)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.Array
Evaluating expression...
Getting own properties...
Properties:
    "0"          =>  "red" (string)  [writable | enumerable | configurable | isOwn]
    "1"          =>  "green" (string)  [writable | enumerable | configurable | isOwn]
    "2"          =>  "blue" (string)  [writable | enumerable | configurable | isOwn]
    "__proto__"  =>  "Array" (object array)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.Constructor
Evaluating expression...
Getting own properties...
Properties:
    "length"     =>  0 (number)  [configurable | isOwn]
    "prototype"  =>  "Test" (object)  [isOwn]
    "name"       =>  "Test" (string)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.BoundConstructor
Evaluating expression...
Getting own properties...
Properties:
    "name"       =>  "bound Test" (string)  [configurable | isOwn]
    "length"     =>  0 (number)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]
Internal Properties:
    "targetFunction"  =>  "class Test { }" (function class)  []
    "boundThis"       =>  null (object null)  []

-- Running test case: Runtime.getProperties.BoundConstructorArguments
Evaluating expression...
Getting own properties...
Properties:
    "name"       =>  "bound Test" (string)  [configurable | isOwn]
    "length"     =>  0 (number)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]
Internal Properties:
    "targetFunction"  =>  "class Test { }" (function class)  []
    "boundThis"       =>  null (object null)  []
    "boundArgs"       =>  "Array" (object array)  []

-- Running test case: Runtime.getProperties.Function
Evaluating expression...
Getting own properties...
Properties:
    "arguments"  =>  null (object null)  [isOwn]
    "caller"     =>  null (object null)  [isOwn]
    "length"     =>  3 (number)  [configurable | isOwn]
    "name"       =>  "" (string)  [configurable | isOwn]
    "prototype"  =>  "Object" (object)  [writable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.FunctionNoParameters
Evaluating expression...
Getting own properties...
Properties:
    "arguments"  =>  null (object null)  [isOwn]
    "caller"     =>  null (object null)  [isOwn]
    "length"     =>  0 (number)  [configurable | isOwn]
    "name"       =>  "" (string)  [configurable | isOwn]
    "prototype"  =>  "Object" (object)  [writable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.BoundFunction
Evaluating expression...
Getting own properties...
Properties:
    "name"       =>  "bound " (string)  [configurable | isOwn]
    "length"     =>  3 (number)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]
Internal Properties:
    "targetFunction"  =>  "function (a, b, c){}" (function)  []
    "boundThis"       =>  null (object null)  []

-- Running test case: Runtime.getProperties.BoundFunctionWithArguments
Evaluating expression...
Getting own properties...
Properties:
    "name"       =>  "bound " (string)  [configurable | isOwn]
    "length"     =>  0 (number)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]
Internal Properties:
    "targetFunction"  =>  "function (a, b, c){}" (function)  []
    "boundThis"       =>  null (object null)  []
    "boundArgs"       =>  "Array" (object array)  []

-- Running test case: Runtime.getProperties.BoundFunctionNoParameters
Evaluating expression...
Getting own properties...
Properties:
    "name"       =>  "bound " (string)  [configurable | isOwn]
    "length"     =>  0 (number)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]
Internal Properties:
    "targetFunction"  =>  "function (){}" (function)  []
    "boundThis"       =>  null (object null)  []

-- Running test case: Runtime.getProperties.BoundFunctionNoParametersWithArguments
Evaluating expression...
Getting own properties...
Properties:
    "name"       =>  "bound " (string)  [configurable | isOwn]
    "length"     =>  0 (number)  [configurable | isOwn]
    "__proto__"  =>  "function () {\n    [native code]\n}" (function)  [writable | configurable | isOwn]
Internal Properties:
    "targetFunction"  =>  "function (){}" (function)  []
    "boundThis"       =>  null (object null)  []
    "boundArgs"       =>  "Array" (object array)  []

-- Running test case: Runtime.getProperties.Promise.Resolved
Evaluating expression...
Getting own properties...
Properties:
    "__proto__"  =>  "Promise" (object)  [writable | configurable | isOwn]
Internal Properties:
    "status"  =>  "resolved" (string)  []
    "result"  =>  123 (number)  []

-- Running test case: Runtime.getProperties.Promise.Rejected
Evaluating expression...
Getting own properties...
Properties:
    "__proto__"  =>  "Promise" (object)  [writable | configurable | isOwn]
Internal Properties:
    "status"  =>  "rejected" (string)  []
    "result"  =>  123 (number)  []

-- Running test case: Runtime.getProperties.fetchStart.Object
Evaluating expression...
Getting own properties with fetchStart 5...
Properties:
    "U"  =>  5 (number)  [writable | enumerable | configurable | isOwn]
    "G"  =>  6 (number)  [writable | enumerable | configurable | isOwn]
    "S"  =>  7 (number)  [writable | enumerable | configurable | isOwn]
    "I"  =>  8 (number)  [writable | enumerable | configurable | isOwn]
    "Q"  =>  9 (number)  [writable | enumerable | configurable | isOwn]

-- Running test case: Runtime.getProperties.fetchCount.Object
Evaluating expression...
Getting own properties with fetchCount 5...
Properties:
    "A"          =>  0 (number)  [writable | enumerable | configurable | isOwn]
    "Y"          =>  1 (number)  [writable | enumerable | configurable | isOwn]
    "C"          =>  2 (number)  [writable | enumerable | configurable | isOwn]
    "W"          =>  3 (number)  [writable | enumerable | configurable | isOwn]
    "E"          =>  4 (number)  [writable | enumerable | configurable | isOwn]
    "__proto__"  =>  "Object" (object)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.fetchStartCount.Object
Evaluating expression...
Getting own properties with fetchStart 3 with fetchCount 4...
Properties:
    "W"  =>  3 (number)  [writable | enumerable | configurable | isOwn]
    "E"  =>  4 (number)  [writable | enumerable | configurable | isOwn]
    "U"  =>  5 (number)  [writable | enumerable | configurable | isOwn]
    "G"  =>  6 (number)  [writable | enumerable | configurable | isOwn]

-- Running test case: Runtime.getProperties.fetchStart.Array
Evaluating expression...
Getting own properties with fetchStart 5...
Properties:
    "5"  =>  "U" (string)  [writable | enumerable | configurable | isOwn]
    "6"  =>  "G" (string)  [writable | enumerable | configurable | isOwn]
    "7"  =>  "S" (string)  [writable | enumerable | configurable | isOwn]
    "8"  =>  "I" (string)  [writable | enumerable | configurable | isOwn]
    "9"  =>  "Q" (string)  [writable | enumerable | configurable | isOwn]

-- Running test case: Runtime.getProperties.fetchCount.Array
Evaluating expression...
Getting own properties with fetchCount 5...
Properties:
    "0"          =>  "A" (string)  [writable | enumerable | configurable | isOwn]
    "1"          =>  "Y" (string)  [writable | enumerable | configurable | isOwn]
    "2"          =>  "C" (string)  [writable | enumerable | configurable | isOwn]
    "3"          =>  "W" (string)  [writable | enumerable | configurable | isOwn]
    "4"          =>  "E" (string)  [writable | enumerable | configurable | isOwn]
    "__proto__"  =>  "Array" (object array)  [writable | configurable | isOwn]

-- Running test case: Runtime.getProperties.fetchStartCount.Array
Evaluating expression...
Getting own properties with fetchStart 3 with fetchCount 4...
Properties:
    "3"  =>  "W" (string)  [writable | enumerable | configurable | isOwn]
    "4"  =>  "E" (string)  [writable | enumerable | configurable | isOwn]
    "5"  =>  "U" (string)  [writable | enumerable | configurable | isOwn]
    "6"  =>  "G" (string)  [writable | enumerable | configurable | isOwn]

