Commit cdb9b7fb authored by Will Chen's avatar Will Chen Committed by Commit Bot

DevTools: add a mega test for console format before devtools startup

With the new test framework, all of the console messages in the regular
console tests are displaying object preview. This closes the gap in coverage
by testing the formatting of console messages fired before DevTools is open
(these messages don't have object preview.)

Note: This is a combination of console-format.js, console-format-es6.js,
console-format-table.js, and console-format-collections.js. (Which helps
explain why this test is slow).

Bug: 667560
Change-Id: Ibe5317570030c8964486121fddc1f5af29d387d2
Reviewed-on: https://chromium-review.googlesource.com/691042Reviewed-by: default avatarWill Chen <chenwilliam@chromium.org>
Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Will Chen <chenwilliam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505433}
parent 4ab438c6
...@@ -137,6 +137,7 @@ crbug.com/246190 [ Release ] http/tests/devtools/indexeddb/ [ Slow ] ...@@ -137,6 +137,7 @@ crbug.com/246190 [ Release ] http/tests/devtools/indexeddb/ [ Slow ]
crbug.com/246190 [ Release ] virtual/mojo-loading/http/tests/devtools/indexeddb/ [ Slow ] crbug.com/246190 [ Release ] virtual/mojo-loading/http/tests/devtools/indexeddb/ [ Slow ]
crbug.com/451577 [ Mac ] http/tests/devtools/extensions/extensions-sidebar.html [ Slow ] crbug.com/451577 [ Mac ] http/tests/devtools/extensions/extensions-sidebar.html [ Slow ]
crbug.com/451577 [ Mac ] http/tests/devtools/extensions/extensions-events.html [ Slow ] crbug.com/451577 [ Mac ] http/tests/devtools/extensions/extensions-events.html [ Slow ]
crbug.com/667560 http/tests/devtools/startup/console/console-format-startup.html [ Slow ]
# Random slow tests # Random slow tests
webkit.org/b/90488 [ Release ] http/tests/devtools/compiler-source-mapping-debug.html [ Slow ] webkit.org/b/90488 [ Release ] http/tests/devtools/compiler-source-mapping-debug.html [ Slow ]
......
CONSOLE MESSAGE: line 25: test,test2,,,test4,,,,,
CONSOLE MESSAGE: line 26: %o
CONSOLE MESSAGE: line 27: %O
CONSOLE MESSAGE: line 28: Test for zero "%f" in formatter
CONSOLE MESSAGE: line 29: %% self-escape1
CONSOLE MESSAGE: line 30: %%s self-escape2
CONSOLE MESSAGE: line 31: %%ss self-escape3
CONSOLE MESSAGE: line 32: %%s%s%%s self-escape4
CONSOLE MESSAGE: line 33: %%%%% self-escape5
CONSOLE MESSAGE: line 34: %%%s self-escape6
CONSOLE MESSAGE: line 157: null
CONSOLE MESSAGE: line 159: Array of arrays
CONSOLE MESSAGE: line 160: 1,2,3,4,5,6
CONSOLE MESSAGE: line 162: Large array of arrays
CONSOLE MESSAGE: line 163: 1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6
CONSOLE MESSAGE: line 165: Array or array and object
CONSOLE MESSAGE: line 166: 1,2,3,[object Object]
CONSOLE MESSAGE: line 168: Object table
CONSOLE MESSAGE: line 169: [object Object]
CONSOLE MESSAGE: line 171: Null as columns
CONSOLE MESSAGE: line 172: 1,2,3,4,5,6
CONSOLE MESSAGE: line 174: Digit as columns
CONSOLE MESSAGE: line 175: 1,2,3,4,5,6
CONSOLE MESSAGE: line 177: String as columns
CONSOLE MESSAGE: line 178: 1,2,3,4,5,6
CONSOLE MESSAGE: line 180: Random string as columns
CONSOLE MESSAGE: line 181: 1,2,3,4,5,6
CONSOLE MESSAGE: line 183: Array of strings as columns
CONSOLE MESSAGE: line 184: [object Object],[object Object]
CONSOLE MESSAGE: line 186: Good and bad column names
CONSOLE MESSAGE: line 187: [object Object],[object Object]
CONSOLE MESSAGE: line 189: Missing column name
CONSOLE MESSAGE: line 190: [object Object],[object Object]
CONSOLE MESSAGE: line 192: Shallow array
CONSOLE MESSAGE: line 193: 1,foo,
CONSOLE MESSAGE: line 195: Shallow array with 'Value' column
CONSOLE MESSAGE: line 196: 1,[object Object]
CONSOLE MESSAGE: line 198: Deep and shallow array
CONSOLE MESSAGE: line 199: 1,foo,2
CONSOLE MESSAGE: line 210: [object HTMLCollection]
CONSOLE MESSAGE: line 214: [object HTMLCollection]
CONSOLE MESSAGE: line 218: [object HTMLOptionsCollection]
CONSOLE MESSAGE: line 222: [object HTMLAllCollection]
CONSOLE MESSAGE: line 226: [object HTMLFormControlsCollection]
CONSOLE MESSAGE: line 230: [object RadioNodeList]
CONSOLE MESSAGE: line 236: 1,2,
CONSOLE MESSAGE: line 239: [object Object]
CONSOLE MESSAGE: line 246: [object Arguments]
CONSOLE MESSAGE: line 250: [object DOMTokenList]
CONSOLE MESSAGE: line 253: [object Object]
CONSOLE MESSAGE: line 254: [object Object]
CONSOLE MESSAGE: line 256: [object Object]
CONSOLE MESSAGE: line 257: [object Object]
CONSOLE MESSAGE: line 258: [object Object]
CONSOLE MESSAGE: line 259: [object Object]
CONSOLE MESSAGE: line 260: [object Object]
CONSOLE MESSAGE: line 261: [object Object]
CONSOLE MESSAGE: line 11: /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
CONSOLE MESSAGE: line 12: /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
CONSOLE MESSAGE: line 11: /foo\\bar\sbaz/i
CONSOLE MESSAGE: line 12: /foo\\bar\sbaz/i
CONSOLE MESSAGE: line 11: test
CONSOLE MESSAGE: line 12: test
CONSOLE MESSAGE: line 11: test named "test"
CONSOLE MESSAGE: line 12: test named "test"
CONSOLE MESSAGE: line 11: Error
CONSOLE MESSAGE: line 12: Error
CONSOLE MESSAGE: line 11: Error: my error message
CONSOLE MESSAGE: line 12: Error: my error message
CONSOLE MESSAGE: line 11: Error: my multiline
error message
CONSOLE MESSAGE: line 12: Error: my multiline
error message
CONSOLE MESSAGE: line 11: [object HTMLParagraphElement]
CONSOLE MESSAGE: line 12: [object HTMLParagraphElement]
CONSOLE MESSAGE: line 11: function () { return 1; }
CONSOLE MESSAGE: line 12: function () { return 1; }
CONSOLE MESSAGE: line 11: function () {
return 2;
}
CONSOLE MESSAGE: line 12: function () {
return 2;
}
CONSOLE MESSAGE: line 11: 0.12
CONSOLE MESSAGE: line 12: 0.12
CONSOLE MESSAGE: line 11: http://webkit.org/
CONSOLE MESSAGE: line 12: http://webkit.org/
CONSOLE MESSAGE: line 11: null
CONSOLE MESSAGE: line 12:
CONSOLE MESSAGE: line 11: undefined
CONSOLE MESSAGE: line 12:
CONSOLE MESSAGE: line 11: [object Attr]
CONSOLE MESSAGE: line 12: [object Attr]
CONSOLE MESSAGE: line 11: [object Attr]
CONSOLE MESSAGE: line 12: [object Attr]
CONSOLE MESSAGE: line 11: [object Attr]
CONSOLE MESSAGE: line 12: [object Attr]
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: NaN
CONSOLE MESSAGE: line 12: NaN
CONSOLE MESSAGE: line 11: Infinity
CONSOLE MESSAGE: line 12: Infinity
CONSOLE MESSAGE: line 11: -Infinity
CONSOLE MESSAGE: line 12: -Infinity
CONSOLE MESSAGE: line 11: test,test2,,,test4,,,,,
CONSOLE MESSAGE: line 12: test,test2,,,test4,,,,,
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: function () {}
CONSOLE MESSAGE: line 12: function () {}
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: [object SVGSVGElement]
CONSOLE MESSAGE: line 12: [object SVGSVGElement]
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: 0
CONSOLE MESSAGE: line 12: 0
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: function Object() { [native code] }
CONSOLE MESSAGE: line 12: function Object() { [native code] }
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: function ( /**/ foo/**/, /*/**/bar,
/**/baz) {}
CONSOLE MESSAGE: line 12: function ( /**/ foo/**/, /*/**/bar,
/**/baz) {}
CONSOLE MESSAGE: line 11: 42.0000
CONSOLE MESSAGE: line 12: 42.0000
CONSOLE MESSAGE: line 11: abc
CONSOLE MESSAGE: line 12: abc
CONSOLE MESSAGE: line 11: [object Uint16Array]
CONSOLE MESSAGE: line 12: [object Uint16Array]
CONSOLE MESSAGE: line 11: [object Text]
CONSOLE MESSAGE: line 12: [object Text]
CONSOLE MESSAGE: line 11: [object DOMException]
CONSOLE MESSAGE: line 12: [object DOMException]
CONSOLE MESSAGE: line 11: [object Uint8Array]
CONSOLE MESSAGE: line 12: [object Uint8Array]
CONSOLE MESSAGE: line 11: [object Uint8Array]
CONSOLE MESSAGE: line 12: [object Uint8Array]
CONSOLE MESSAGE: line 11: [object Uint8Array]
CONSOLE MESSAGE: line 12: [object Uint8Array]
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
CONSOLE MESSAGE: line 12: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
CONSOLE MESSAGE: line 11: test
CONSOLE MESSAGE: line 12: test
CONSOLE MESSAGE: line 11: 42.0000
CONSOLE MESSAGE: line 12: 42.0000
CONSOLE MESSAGE: line 11: abc
CONSOLE MESSAGE: line 12: abc
CONSOLE MESSAGE: line 11: [object Promise]
CONSOLE MESSAGE: line 12: [object Promise]
CONSOLE MESSAGE: line 11: [object Promise]
CONSOLE MESSAGE: line 12: [object Promise]
CONSOLE MESSAGE: line 11: [object Promise]
CONSOLE MESSAGE: line 12: [object Promise]
CONSOLE MESSAGE: line 11: Symbol()
CONSOLE MESSAGE: line 12: Symbol()
CONSOLE MESSAGE: line 11: Symbol(a)
CONSOLE MESSAGE: line 12: Symbol(a)
CONSOLE MESSAGE: line 11: [object Object]
CONSOLE MESSAGE: line 12: [object Object]
CONSOLE MESSAGE: line 11: [object Map]
CONSOLE MESSAGE: line 12: [object Map]
CONSOLE MESSAGE: line 11: [object WeakMap]
CONSOLE MESSAGE: line 12: [object WeakMap]
CONSOLE MESSAGE: line 11: [object Set]
CONSOLE MESSAGE: line 12: [object Set]
CONSOLE MESSAGE: line 11: [object WeakSet]
CONSOLE MESSAGE: line 12: [object WeakSet]
CONSOLE MESSAGE: line 11: [object Map]
CONSOLE MESSAGE: line 12: [object Map]
CONSOLE MESSAGE: line 11: [object Map]
CONSOLE MESSAGE: line 12: [object Map]
CONSOLE MESSAGE: line 11: [object Set]
CONSOLE MESSAGE: line 12: [object Set]
CONSOLE MESSAGE: line 11: [object Set]
CONSOLE MESSAGE: line 12: [object Set]
CONSOLE MESSAGE: line 11: [object Map]
CONSOLE MESSAGE: line 12: [object Map]
CONSOLE MESSAGE: line 11: [object Generator]
CONSOLE MESSAGE: line 12: [object Generator]
Tests console logging for messages that happen before DevTools is open.
console-format-startup.html:25 Array(10)
console-format-startup.html:26 Array(10)
console-format-startup.html:27 Array(10)
console-format-startup.html:28 Test for zero "0" in formatter
console-format-startup.html:29 % self-escape1 dummy
console-format-startup.html:30 %s self-escape2 dummy
console-format-startup.html:31 %ss self-escape3 dummy
console-format-startup.html:32 %sdummy%s self-escape4
console-format-startup.html:33 %%% self-escape5 dummy
console-format-startup.html:34 %dummy self-escape6
console-format-startup.html:157
console-format-startup.html:159 Array of arrays
console-format-startup.html:160
console-format-startup.html:162 Large array of arrays
console-format-startup.html:163
console-format-startup.html:165 Array or array and object
console-format-startup.html:166
console-format-startup.html:168 Object table
console-format-startup.html:169
console-format-startup.html:171 Null as columns
console-format-startup.html:172
console-format-startup.html:174 Digit as columns
console-format-startup.html:175
console-format-startup.html:177 String as columns
console-format-startup.html:178
console-format-startup.html:180 Random string as columns
console-format-startup.html:181
console-format-startup.html:183 Array of strings as columns
console-format-startup.html:184
console-format-startup.html:186 Good and bad column names
console-format-startup.html:187
console-format-startup.html:189 Missing column name
console-format-startup.html:190
console-format-startup.html:192 Shallow array
console-format-startup.html:193
console-format-startup.html:195 Shallow array with 'Value' column
console-format-startup.html:196
console-format-startup.html:198 Deep and shallow array
console-format-startup.html:199
console-format-startup.html:210 HTMLCollection(1)
console-format-startup.html:214 HTMLCollection(4)
console-format-startup.html:218 HTMLOptionsCollection(2)
console-format-startup.html:222 HTMLAllCollection(18)
console-format-startup.html:226 HTMLFormControlsCollection(3)
console-format-startup.html:230 RadioNodeList(2)
console-format-startup.html:236 Array(2)
console-format-startup.html:239 NonArrayWithLength
console-format-startup.html:246 Arguments(2)
console-format-startup.html:250 DOMTokenList(0)
console-format-startup.html:253 ArrayLike(5)
console-format-startup.html:254 ArrayLike(4294967295)
console-format-startup.html:256 ArrayLike
console-format-startup.html:257 ArrayLike
console-format-startup.html:258 ArrayLike
console-format-startup.html:259 ArrayLike
console-format-startup.html:260 ArrayLike
console-format-startup.html:261 ArrayLike
console-format-startup.html:11 /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
console-format-startup.html:12 [/^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\…?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i]
globals[0]
/^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
console-format-startup.html:11 /foo\\bar\sbaz/i
console-format-startup.html:12 [/foo\\bar\sbaz/i]
globals[1]
/foo\\bar\sbaz/i
console-format-startup.html:11 test
console-format-startup.html:12 ["test"]
globals[2]
"test"
console-format-startup.html:11 test named "test"
console-format-startup.html:12 ["test named "test""]
globals[3]
"test named "test""
console-format-startup.html:11 Error
console-format-startup.html:12 [Error
]
globals[4]
Error
console-format-startup.html:11 Error: my error message
console-format-startup.html:12 [Error: my error message
]
globals[5]
Error: my error message
console-format-startup.html:11 Error: my multiline
error message
console-format-startup.html:12 [Error: my multiline
error message
]
globals[6]
Error: my multiline
error message
console-format-startup.html:11
<p id="p"></p>
console-format-startup.html:12 [p#p]
globals[7]
<p id="p"></p>
console-format-startup.html:11 ƒ () { return 1; }
console-format-startup.html:12 [ƒ]
globals[8]
ƒ () { return 1; }
console-format-startup.html:11 ƒ () {
return 2;
}
console-format-startup.html:12 [ƒ]
globals[9]
ƒ () {
return 2;
}
console-format-startup.html:11 0.12
console-format-startup.html:12 [0.12]
globals[10]
0.12
console-format-startup.html:11 http://webkit.org/
console-format-startup.html:12 ["http://webkit.org/"]
globals[11]
"http://webkit.org/"
console-format-startup.html:11 null
console-format-startup.html:12 [null]
globals[12]
null
console-format-startup.html:11 undefined
console-format-startup.html:12 [undefined]
globals[13]
undefined
console-format-startup.html:11
attr=""
console-format-startup.html:12 [attr]
globals[14]
attr=""
console-format-startup.html:11
attr="value"
console-format-startup.html:12 [attr]
globals[15]
attr="value"
console-format-startup.html:11
id="x"
console-format-startup.html:12 [id]
globals[16]
id="x"
console-format-startup.html:11 {}
console-format-startup.html:12 [{…}]
globals[17]
{}
console-format-startup.html:11 NaN
console-format-startup.html:12 [NaN]
globals[18]
NaN
console-format-startup.html:11 Infinity
console-format-startup.html:12 [Infinity]
globals[19]
Infinity
console-format-startup.html:11 -Infinity
console-format-startup.html:12 [-Infinity]
globals[20]
-Infinity
console-format-startup.html:11 (10) ["test", "test2", empty × 2, "test4", empty × 5, foo: {…}]
console-format-startup.html:12 [Array(10)]
globals[21]
(10) ["test", "test2", empty × 2, "test4", empty × 5, foo: {…}]
console-format-startup.html:11 {}
console-format-startup.html:12 [{…}]
globals[22]
{}
console-format-startup.html:11 [ƒ]
console-format-startup.html:12 [Array(1)]
globals[23]
[ƒ]
console-format-startup.html:11 {bar: "bar"}
console-format-startup.html:12 [{…}]
globals[24]
{bar: "bar"}
console-format-startup.html:11
<svg id="svg-node"></svg>
console-format-startup.html:12 [svg#svg-node]
globals[25]
<svg id="svg-node"></svg>
console-format-startup.html:11 {enumerableProp: 4, __underscoreEnumerableProp__: 5, __underscoreNonEnumerableProp: 2, abc: 3, getFoo: ƒ, …}
console-format-startup.html:12 [{…}]
globals[26]
{enumerableProp: 4, __underscoreEnumerableProp__: 5, __underscoreNonEnumerableProp: 2, abc: 3, getFoo: ƒ, …}
console-format-startup.html:11 -0
console-format-startup.html:12 [-0]
globals[27]
-0
console-format-startup.html:11 {}
console-format-startup.html:12 [{…}]
globals[28]
{}
console-format-startup.html:11 ƒ Object() { [native code] }
console-format-startup.html:12 [ƒ]
globals[29]
ƒ Object() { [native code] }
console-format-startup.html:11 {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
console-format-startup.html:12 [{…}]
globals[30]
{constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
console-format-startup.html:11 ƒ ( /**/ foo/**/, /*/**/bar,
/**/baz) {}
console-format-startup.html:12 [ƒ]
globals[31]
ƒ ( /**/ foo/**/, /*/**/bar,
/**/baz) {}
console-format-startup.html:11 Number {42}
console-format-startup.html:12 [Number]
globals[32]
Number {42}
console-format-startup.html:11 String {"abc"}
console-format-startup.html:12 [String]
globals[33]
String {"abc"}
console-format-startup.html:11 Uint16Array(3) [1, 2, 3]
console-format-startup.html:12 [Uint16Array(3)]
globals[34]
Uint16Array(3) [1, 2, 3]
console-format-startup.html:11 #text
console-format-startup.html:12 [text]
globals[35]
#text
console-format-startup.html:11 DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
console-format-startup.html:12 [DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of th…]
globals[36]
DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
console-format-startup.html:11 Uint8Array [3]
console-format-startup.html:12 [Uint8Array(1)]
globals[37]
Uint8Array [3]
console-format-startup.html:11 Uint8Array(400) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
console-format-startup.html:12 [Uint8Array(400)]
globals[38]
Uint8Array(400) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
console-format-startup.html:11 Uint8Array(400000000) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
console-format-startup.html:12 [Uint8Array(400000000)]
globals[39]
Uint8Array(400000000) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
console-format-startup.html:11 namespace.longSubNamespace.x.className {}
console-format-startup.html:12 [n…e.l…e.x.className]
globals[40]
namespace.longSubNamespace.x.className {}
console-format-startup.html:11 (200) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …]
console-format-startup.html:12 [Array(200)]
globals[41]
(200) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …]
console-format-startup.html:11 ["test"]
console-format-startup.html:12 [Array(1)]
globals[42]
["test"]
console-format-startup.html:11 Number {42, 1: "foo", a: "bar"}
console-format-startup.html:12 [Number]
globals[43]
Number {42, 1: "foo", a: "bar"}
console-format-startup.html:11 String {"abc", 3: "foo", 01: "foo", a: "bar"}
console-format-startup.html:12 [String]
globals[44]
String {"abc", 3: "foo", 01: "foo", a: "bar"}
console-format-startup.html:11 Promise {<rejected>: -0}
console-format-startup.html:12 [Promise]
globals[45]
Promise {<rejected>: -0}
console-format-startup.html:11 Promise {<resolved>: 1}
console-format-startup.html:12 [Promise]
globals[46]
Promise {<resolved>: 1}
console-format-startup.html:11 Promise {<pending>}
console-format-startup.html:12 [Promise]
globals[47]
Promise {<pending>}
console-format-startup.html:11 Symbol()
console-format-startup.html:12 [Symbol()]
globals[48]
Symbol()
console-format-startup.html:11 Symbol(a)
console-format-startup.html:12 [Symbol(a)]
globals[49]
Symbol(a)
console-format-startup.html:11 {a: Symbol(), Symbol(a): 2}
console-format-startup.html:12 [{…}]
globals[50]
{a: Symbol(), Symbol(a): 2}
console-format-startup.html:11 Map(1) {{…} => {…}}
console-format-startup.html:12 [Map(1)]
globals[51]
Map(1) {{…} => {…}}
console-format-startup.html:11 WeakMap {{…} => {…}}
console-format-startup.html:12 [WeakMap]
globals[52]
WeakMap {{…} => {…}}
console-format-startup.html:11 Set(1) {{…}}
console-format-startup.html:12 [Set(1)]
globals[53]
Set(1) {{…}}
console-format-startup.html:11 WeakSet {{…}}
console-format-startup.html:12 [WeakSet]
globals[54]
WeakSet {{…}}
console-format-startup.html:11 Map(1) {Map(0) => WeakMap}
console-format-startup.html:12 [Map(1)]
globals[55]
Map(1) {Map(0) => WeakMap}
console-format-startup.html:11 Map(1) {Map(1) => WeakMap}
console-format-startup.html:12 [Map(1)]
globals[56]
Map(1) {Map(1) => WeakMap}
console-format-startup.html:11 Set(1) {WeakSet}
console-format-startup.html:12 [Set(1)]
globals[57]
Set(1) {WeakSet}
console-format-startup.html:11 Set(1) {WeakSet}
console-format-startup.html:12 [Set(1)]
globals[58]
Set(1) {WeakSet}
console-format-startup.html:11 Map(6) {" from str " => " to str ", undefined => undefined, null => null, 42 => 42, {…} => {…}, …}
console-format-startup.html:12 [Map(6)]
globals[59]
Map(6) {" from str " => " to str ", undefined => undefined, null => null, 42 => 42, {…} => {…}, …}
console-format-startup.html:11 genFunction {<suspended>}
console-format-startup.html:12 [genFunction]
globals[60]
genFunction {<suspended>}
Expanded all messages
console-format-startup.html:25 Array(10)
0: "test"
1: "test2"
4: "test4"
foo: {}
length: 10
__proto__: Array(0)
console-format-startup.html:26 Array(10)
0: "test"
1: "test2"
4: "test4"
foo: {}
length: 10
__proto__: Array(0)
console-format-startup.html:27 Array(10)
0: "test"
1: "test2"
4: "test4"
foo: {}
length: 10
__proto__: Array(0)
console-format-startup.html:28 Test for zero "0" in formatter
console-format-startup.html:29 % self-escape1 dummy
console-format-startup.html:30 %s self-escape2 dummy
console-format-startup.html:31 %ss self-escape3 dummy
console-format-startup.html:32 %sdummy%s self-escape4
console-format-startup.html:33 %%% self-escape5 dummy
console-format-startup.html:34 %dummy self-escape6
console-format-startup.html:157
console-format-startup.html:159 Array of arrays
console-format-startup.html:160
console-format-startup.html:162 Large array of arrays
console-format-startup.html:163
console-format-startup.html:165 Array or array and object
console-format-startup.html:166
console-format-startup.html:168 Object table
console-format-startup.html:169
console-format-startup.html:171 Null as columns
console-format-startup.html:172
console-format-startup.html:174 Digit as columns
console-format-startup.html:175
console-format-startup.html:177 String as columns
console-format-startup.html:178
console-format-startup.html:180 Random string as columns
console-format-startup.html:181
console-format-startup.html:183 Array of strings as columns
console-format-startup.html:184
console-format-startup.html:186 Good and bad column names
console-format-startup.html:187
console-format-startup.html:189 Missing column name
console-format-startup.html:190
console-format-startup.html:192 Shallow array
console-format-startup.html:193
console-format-startup.html:195 Shallow array with 'Value' column
console-format-startup.html:196
console-format-startup.html:198 Deep and shallow array
console-format-startup.html:199
console-format-startup.html:210 HTMLCollection(1)
0: select#sel
length: 1
sel: select#sel
__proto__: HTMLCollection
console-format-startup.html:214 HTMLCollection(4)
0: script
1: script
2: script
3: script
length: 4
__proto__: HTMLCollection
console-format-startup.html:218 HTMLOptionsCollection(2)
0: option
1: option
length: 2
selectedIndex: 0
__proto__: HTMLOptionsCollection
console-format-startup.html:222 HTMLAllCollection(18)
0: html
1: head
2: script
3: script
4: script
5: script
6: body
7: p
8: div#x
9: p#p
10: svg#svg-node
11: div.c1.c2.c3
12: form#f
13: select#sel
14: option
15: option
16: input
17: input
length: 18
f: form#f
p: p#p
sel: select#sel
svg-node: svg#svg-node
x: (3) [div#x, input, input]
__proto__: HTMLAllCollection
console-format-startup.html:226 HTMLFormControlsCollection(3)
0: select#sel
1: input
2: input
length: 3
sel: select#sel
x: (2) [input, input, value: ""]
__proto__: HTMLFormControlsCollection
console-format-startup.html:230 RadioNodeList(2)
0: input
1: input
length: 2
value: ""
__proto__: RadioNodeList
console-format-startup.html:236 Array(2)
0: 1
1: (2) [2, Array(2)]
length: 2
__proto__: Array(0)
console-format-startup.html:239 NonArrayWithLength
keys: []
length: (...)
__proto__: Object
console-format-startup.html:246 Arguments(2)
0: 1
1: "2"
callee: ƒ generateArguments(foo, bar)
length: 2
Symbol(Symbol.iterator): ƒ values()
__proto__: Object
console-format-startup.html:250 DOMTokenList(0)
length: 0
value: ""
__proto__: DOMTokenList
console-format-startup.html:253 ArrayLike(5)
length: 5
__proto__: Object
console-format-startup.html:254 ArrayLike(4294967295)
length: 4294967295
__proto__: Object
console-format-startup.html:256 ArrayLike
length: -5
__proto__: Object
console-format-startup.html:257 ArrayLike
length: 5.6
__proto__: Object
console-format-startup.html:258 ArrayLike
length: NaN
__proto__: Object
console-format-startup.html:259 ArrayLike
length: Infinity
__proto__: Object
console-format-startup.html:260 ArrayLike
length: -0
__proto__: Object
console-format-startup.html:261 ArrayLike
length: 4294967296
__proto__: Object
console-format-startup.html:11 /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
console-format-startup.html:12 [/^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\…?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i]
0: /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
length: 1
__proto__: Array(0)
globals[0]
/^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i
console-format-startup.html:11 /foo\\bar\sbaz/i
console-format-startup.html:12 [/foo\\bar\sbaz/i]
0: /foo\\bar\sbaz/i
length: 1
__proto__: Array(0)
globals[1]
/foo\\bar\sbaz/i
console-format-startup.html:11 test
console-format-startup.html:12 ["test"]
0: "test"
length: 1
__proto__: Array(0)
globals[2]
"test"
console-format-startup.html:11 test named "test"
console-format-startup.html:12 ["test named "test""]
0: "test named "test""
length: 1
__proto__: Array(0)
globals[3]
"test named "test""
console-format-startup.html:11 Error
console-format-startup.html:12 [Error
]
0: Error
length: 1
__proto__: Array(0)
globals[4]
Error
console-format-startup.html:11 Error: my error message
console-format-startup.html:12 [Error: my error message
]
0: Error: my error message
length: 1
__proto__: Array(0)
globals[5]
Error: my error message
console-format-startup.html:11 Error: my multiline
error message
console-format-startup.html:12 [Error: my multiline
error message
]
0: Error: my multiline
error message
length: 1
__proto__: Array(0)
globals[6]
Error: my multiline
error message
console-format-startup.html:11
<p id="p"></p>
console-format-startup.html:12 [p#p]
0: p#p
length: 1
__proto__: Array(0)
globals[7]
<p id="p"></p>
console-format-startup.html:11 ƒ () { return 1; }
console-format-startup.html:12 [ƒ]
0: ƒ ()
length: 1
__proto__: Array(0)
globals[8]
ƒ () { return 1; }
console-format-startup.html:11 ƒ () {
return 2;
}
console-format-startup.html:12 [ƒ]
0: ƒ ()
length: 1
__proto__: Array(0)
globals[9]
ƒ () {
return 2;
}
console-format-startup.html:11 0.12
console-format-startup.html:12 [0.12]
0: 0.12
length: 1
__proto__: Array(0)
globals[10]
0.12
console-format-startup.html:11 http://webkit.org/
console-format-startup.html:12 ["http://webkit.org/"]
0: "http://webkit.org/"
length: 1
__proto__: Array(0)
globals[11]
"http://webkit.org/"
console-format-startup.html:11 null
console-format-startup.html:12 [null]
0: null
length: 1
__proto__: Array(0)
globals[12]
null
console-format-startup.html:11 undefined
console-format-startup.html:12 [undefined]
0: undefined
length: 1
__proto__: Array(0)
globals[13]
undefined
console-format-startup.html:11
attr=""
console-format-startup.html:12 [attr]
0: attr
length: 1
__proto__: Array(0)
globals[14]
attr=""
console-format-startup.html:11
attr="value"
console-format-startup.html:12 [attr]
0: attr
length: 1
__proto__: Array(0)
globals[15]
attr="value"
console-format-startup.html:11
id="x"
console-format-startup.html:12 [id]
0: id
length: 1
__proto__: Array(0)
globals[16]
id="x"
console-format-startup.html:11 {}
length: (...)
get length: ƒ length()
__proto__: Object
console-format-startup.html:12 [{…}]
0: {}
length: 1
__proto__: Array(0)
globals[17]
{}
length: (...)
get length: ƒ length()
__proto__: Object
console-format-startup.html:11 NaN
console-format-startup.html:12 [NaN]
0: NaN
length: 1
__proto__: Array(0)
globals[18]
NaN
console-format-startup.html:11 Infinity
console-format-startup.html:12 [Infinity]
0: Infinity
length: 1
__proto__: Array(0)
globals[19]
Infinity
console-format-startup.html:11 -Infinity
console-format-startup.html:12 [-Infinity]
0: -Infinity
length: 1
__proto__: Array(0)
globals[20]
-Infinity
console-format-startup.html:11 (10) ["test", "test2", empty × 2, "test4", empty × 5, foo: {…}]
0: "test"
1: "test2"
4: "test4"
foo: {}
length: 10
__proto__: Array(0)
console-format-startup.html:12 [Array(10)]
0: (10) ["test", "test2", empty × 2, "test4", empty × 5, foo: {…}]
length: 1
__proto__: Array(0)
globals[21]
(10) ["test", "test2", empty × 2, "test4", empty × 5, foo: {…}]
0: "test"
1: "test2"
4: "test4"
foo: {}
length: 10
__proto__: Array(0)
console-format-startup.html:11 {}
__proto__: Object
console-format-startup.html:12 [{…}]
0: {}
length: 1
__proto__: Array(0)
globals[22]
{}
__proto__: Object
console-format-startup.html:11 [ƒ]
0: ƒ ()
length: 1
__proto__: Array(0)
console-format-startup.html:12 [Array(1)]
0: [ƒ]
length: 1
__proto__: Array(0)
globals[23]
[ƒ]
0: ƒ ()
length: 1
__proto__: Array(0)
console-format-startup.html:11 {bar: "bar"}
bar: "bar"
__proto__: Object
console-format-startup.html:12 [{…}]
0: {bar: "bar"}
length: 1
__proto__: Array(0)
globals[24]
{bar: "bar"}
bar: "bar"
__proto__: Object
console-format-startup.html:11
<svg id="svg-node"></svg>
console-format-startup.html:12 [svg#svg-node]
0: svg#svg-node
length: 1
__proto__: Array(0)
globals[25]
<svg id="svg-node"></svg>
console-format-startup.html:11 {enumerableProp: 4, __underscoreEnumerableProp__: 5, __underscoreNonEnumerableProp: 2, abc: 3, getFoo: ƒ, …}
enumerableProp: 4
__underscoreEnumerableProp__: 5
abc: 3
bar: (...)
getFoo: ƒ ()
__underscoreNonEnumerableProp: 2
get bar: ƒ ()
set bar: ƒ (x)
__proto__: Object
console-format-startup.html:12 [{…}]
0: {enumerableProp: 4, __underscoreEnumerableProp__: 5, __underscoreNonEnumerableProp: 2, abc: 3, getFoo: ƒ, …}
length: 1
__proto__: Array(0)
globals[26]
{enumerableProp: 4, __underscoreEnumerableProp__: 5, __underscoreNonEnumerableProp: 2, abc: 3, getFoo: ƒ, …}
enumerableProp: 4
__underscoreEnumerableProp__: 5
abc: 3
bar: (...)
getFoo: ƒ ()
__underscoreNonEnumerableProp: 2
get bar: ƒ ()
set bar: ƒ (x)
__proto__: Object
console-format-startup.html:11 -0
console-format-startup.html:12 [-0]
0: -0
length: 1
__proto__: Array(0)
globals[27]
-0
console-format-startup.html:11 {}
No properties
console-format-startup.html:12 [{…}]
0: {}
length: 1
__proto__: Array(0)
globals[28]
{}
No properties
console-format-startup.html:11 ƒ Object() { [native code] }
console-format-startup.html:12 [ƒ]
0: ƒ Object()
length: 1
__proto__: Array(0)
globals[29]
ƒ Object() { [native code] }
console-format-startup.html:11 {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
constructor: ƒ Object()
hasOwnProperty: ƒ hasOwnProperty()
isPrototypeOf: ƒ isPrototypeOf()
propertyIsEnumerable: ƒ propertyIsEnumerable()
toLocaleString: ƒ toLocaleString()
toString: ƒ toString()
valueOf: ƒ valueOf()
__defineGetter__: ƒ __defineGetter__()
__defineSetter__: ƒ __defineSetter__()
__lookupGetter__: ƒ __lookupGetter__()
__lookupSetter__: ƒ __lookupSetter__()
get __proto__: ƒ __proto__()
set __proto__: ƒ __proto__()
console-format-startup.html:12 [{…}]
0: {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
length: 1
__proto__: Array(0)
globals[30]
{constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
constructor: ƒ Object()
hasOwnProperty: ƒ hasOwnProperty()
isPrototypeOf: ƒ isPrototypeOf()
propertyIsEnumerable: ƒ propertyIsEnumerable()
toLocaleString: ƒ toLocaleString()
toString: ƒ toString()
valueOf: ƒ valueOf()
__defineGetter__: ƒ __defineGetter__()
__defineSetter__: ƒ __defineSetter__()
__lookupGetter__: ƒ __lookupGetter__()
__lookupSetter__: ƒ __lookupSetter__()
get __proto__: ƒ __proto__()
set __proto__: ƒ __proto__()
console-format-startup.html:11 ƒ ( /**/ foo/**/, /*/**/bar,
/**/baz) {}
console-format-startup.html:12 [ƒ]
0: ƒ ( /**/ foo/**/, /*/**/bar, /**/baz)
length: 1
__proto__: Array(0)
globals[31]
ƒ ( /**/ foo/**/, /*/**/bar,
/**/baz) {}
console-format-startup.html:11 Number {42}
__proto__: Number
[[PrimitiveValue]]: 42
console-format-startup.html:12 [Number]
0: Number {42}
length: 1
__proto__: Array(0)
globals[32]
Number {42}
__proto__: Number
[[PrimitiveValue]]: 42
console-format-startup.html:11 String {"abc"}
0: "a"
1: "b"
2: "c"
length: 3
__proto__: String
[[PrimitiveValue]]: "abc"
console-format-startup.html:12 [String]
0: String {"abc"}
length: 1
__proto__: Array(0)
globals[33]
String {"abc"}
0: "a"
1: "b"
2: "c"
length: 3
__proto__: String
[[PrimitiveValue]]: "abc"
console-format-startup.html:11 Uint16Array(3) [1, 2, 3]
0: 1
1: 2
2: 3
buffer: (...)
byteLength: (...)
byteOffset: (...)
length: (...)
Symbol(Symbol.toStringTag): (...)
__proto__: TypedArray
console-format-startup.html:12 [Uint16Array(3)]
0: Uint16Array(3) [1, 2, 3]
length: 1
__proto__: Array(0)
globals[34]
Uint16Array(3) [1, 2, 3]
0: 1
1: 2
2: 3
buffer: (...)
byteLength: (...)
byteOffset: (...)
length: (...)
Symbol(Symbol.toStringTag): (...)
__proto__: TypedArray
console-format-startup.html:11 #text
console-format-startup.html:12 [text]
0: text
length: 1
__proto__: Array(0)
globals[35]
#text
console-format-startup.html:11 DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
console-format-startup.html:12 [DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of th…]
0: DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
length: 1
__proto__: Array(0)
globals[36]
DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
console-format-startup.html:11 Uint8Array [3]
0: 3
buffer: (...)
byteLength: (...)
byteOffset: (...)
length: (...)
Symbol(Symbol.toStringTag): (...)
__proto__: TypedArray
console-format-startup.html:12 [Uint8Array(1)]
0: Uint8Array [3]
length: 1
__proto__: Array(0)
globals[37]
Uint8Array [3]
0: 3
buffer: (...)
byteLength: (...)
byteOffset: (...)
length: (...)
Symbol(Symbol.toStringTag): (...)
__proto__: TypedArray
console-format-startup.html:11 Uint8Array(400) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
[0 … 99]
[100 … 199]
[200 … 299]
[300 … 399]
foo: "bar"
__proto__: TypedArray
console-format-startup.html:12 [Uint8Array(400)]
0: Uint8Array(400) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
length: 1
__proto__: Array(0)
globals[38]
Uint8Array(400) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
[0 … 99]
[100 … 199]
[200 … 299]
[300 … 399]
foo: "bar"
__proto__: TypedArray
console-format-startup.html:11 Uint8Array(400000000) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
[0 … 99999999]
[100000000 … 199999999]
[200000000 … 299999999]
[300000000 … 399999999]
__proto__: TypedArray
console-format-startup.html:12 [Uint8Array(400000000)]
0: Uint8Array(400000000) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
length: 1
__proto__: Array(0)
globals[39]
Uint8Array(400000000) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …]
[0 … 99999999]
[100000000 … 199999999]
[200000000 … 299999999]
[300000000 … 399999999]
__proto__: TypedArray
console-format-startup.html:11 namespace.longSubNamespace.x.className {}
__proto__: Object
console-format-startup.html:12 [n…e.l…e.x.className]
0: namespace.longSubNamespace.x.className {}
length: 1
__proto__: Array(0)
globals[40]
namespace.longSubNamespace.x.className {}
__proto__: Object
console-format-startup.html:11 (200) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …]
[0 … 99]
[100 … 199]
length: 200
__proto__: Array(0)
console-format-startup.html:12 [Array(200)]
0: (200) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …]
length: 1
__proto__: Array(0)
globals[41]
(200) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …]
[0 … 99]
[100 … 199]
length: 200
__proto__: Array(0)
console-format-startup.html:11 ["test"]
0: "test"
length: 1
__proto__: Array(0)
console-format-startup.html:12 [Array(1)]
0: ["test"]
length: 1
__proto__: Array(0)
globals[42]
["test"]
0: "test"
length: 1
__proto__: Array(0)
console-format-startup.html:11 Number {42, 1: "foo", a: "bar"}
1: "foo"
a: "bar"
__proto__: Number
[[PrimitiveValue]]: 42
console-format-startup.html:12 [Number]
0: Number {42, 1: "foo", a: "bar"}
length: 1
__proto__: Array(0)
globals[43]
Number {42, 1: "foo", a: "bar"}
1: "foo"
a: "bar"
__proto__: Number
[[PrimitiveValue]]: 42
console-format-startup.html:11 String {"abc", 3: "foo", 01: "foo", a: "bar"}
0: "a"
01: "foo"
1: "b"
2: "c"
3: "foo"
a: "bar"
length: 3
__proto__: String
[[PrimitiveValue]]: "abc"
console-format-startup.html:12 [String]
0: String {"abc", 3: "foo", 01: "foo", a: "bar"}
length: 1
__proto__: Array(0)
globals[44]
String {"abc", 3: "foo", 01: "foo", a: "bar"}
0: "a"
01: "foo"
1: "b"
2: "c"
3: "foo"
a: "bar"
length: 3
__proto__: String
[[PrimitiveValue]]: "abc"
console-format-startup.html:11 Promise {<rejected>: -0}
__proto__: Promise
[[PromiseStatus]]: "rejected"
[[PromiseValue]]: -0
console-format-startup.html:12 [Promise]
0: Promise {<rejected>: -0}
length: 1
__proto__: Array(0)
globals[45]
Promise {<rejected>: -0}
__proto__: Promise
[[PromiseStatus]]: "rejected"
[[PromiseValue]]: -0
console-format-startup.html:11 Promise {<resolved>: 1}
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: 1
console-format-startup.html:12 [Promise]
0: Promise {<resolved>: 1}
length: 1
__proto__: Array(0)
globals[46]
Promise {<resolved>: 1}
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: 1
console-format-startup.html:11 Promise {<pending>}
__proto__: Promise
[[PromiseStatus]]: "pending"
[[PromiseValue]]: undefined
console-format-startup.html:12 [Promise]
0: Promise {<pending>}
length: 1
__proto__: Array(0)
globals[47]
Promise {<pending>}
__proto__: Promise
[[PromiseStatus]]: "pending"
[[PromiseValue]]: undefined
console-format-startup.html:11 Symbol()
console-format-startup.html:12 [Symbol()]
0: Symbol()
length: 1
__proto__: Array(0)
globals[48]
Symbol()
console-format-startup.html:11 Symbol(a)
console-format-startup.html:12 [Symbol(a)]
0: Symbol(a)
length: 1
__proto__: Array(0)
globals[49]
Symbol(a)
console-format-startup.html:11 {a: Symbol(), Symbol(a): 2}
a: Symbol()
getter: (...)
Symbol(a): 2
get getter: ƒ getter()
__proto__: Object
console-format-startup.html:12 [{…}]
0: {a: Symbol(), Symbol(a): 2}
length: 1
__proto__: Array(0)
globals[50]
{a: Symbol(), Symbol(a): 2}
a: Symbol()
getter: (...)
Symbol(a): 2
get getter: ƒ getter()
__proto__: Object
console-format-startup.html:11 Map(1) {{…} => {…}}
size: (...)
__proto__: Map
[[Entries]]: Array(1)
0: {Object => Object}
length: 1
console-format-startup.html:12 [Map(1)]
0: Map(1) {{…} => {…}}
length: 1
__proto__: Array(0)
globals[51]
Map(1) {{…} => {…}}
size: (...)
__proto__: Map
[[Entries]]: Array(1)
0: {Object => Object}
length: 1
console-format-startup.html:11 WeakMap {{…} => {…}}
__proto__: WeakMap
[[Entries]]: Array(1)
0: {Object => Object}
length: 1
console-format-startup.html:12 [WeakMap]
0: WeakMap {{…} => {…}}
length: 1
__proto__: Array(0)
globals[52]
WeakMap {{…} => {…}}
__proto__: WeakMap
[[Entries]]: Array(1)
0: {Object => Object}
length: 1
console-format-startup.html:11 Set(1) {{…}}
size: (...)
__proto__: Set
[[Entries]]: Array(1)
0: Object
length: 1
console-format-startup.html:12 [Set(1)]
0: Set(1) {{…}}
length: 1
__proto__: Array(0)
globals[53]
Set(1) {{…}}
size: (...)
__proto__: Set
[[Entries]]: Array(1)
0: Object
length: 1
console-format-startup.html:11 WeakSet {{…}}
__proto__: WeakSet
[[Entries]]: Array(1)
0: Object
length: 1
console-format-startup.html:12 [WeakSet]
0: WeakSet {{…}}
length: 1
__proto__: Array(0)
globals[54]
WeakSet {{…}}
__proto__: WeakSet
[[Entries]]: Array(1)
0: Object
length: 1
console-format-startup.html:11 Map(1) {Map(0) => WeakMap}
size: (...)
__proto__: Map
[[Entries]]: Array(1)
0: {Map(0) => WeakMap}
length: 1
console-format-startup.html:12 [Map(1)]
0: Map(1) {Map(0) => WeakMap}
length: 1
__proto__: Array(0)
globals[55]
Map(1) {Map(0) => WeakMap}
size: (...)
__proto__: Map
[[Entries]]: Array(1)
0: {Map(0) => WeakMap}
length: 1
console-format-startup.html:11 Map(1) {Map(1) => WeakMap}
size: (...)
__proto__: Map
[[Entries]]: Array(1)
0: {Map(1) => WeakMap}
length: 1
console-format-startup.html:12 [Map(1)]
0: Map(1) {Map(1) => WeakMap}
length: 1
__proto__: Array(0)
globals[56]
Map(1) {Map(1) => WeakMap}
size: (...)
__proto__: Map
[[Entries]]: Array(1)
0: {Map(1) => WeakMap}
length: 1
console-format-startup.html:11 Set(1) {WeakSet}
size: (...)
__proto__: Set
[[Entries]]: Array(1)
0: WeakSet
length: 1
console-format-startup.html:12 [Set(1)]
0: Set(1) {WeakSet}
length: 1
__proto__: Array(0)
globals[57]
Set(1) {WeakSet}
size: (...)
__proto__: Set
[[Entries]]: Array(1)
0: WeakSet
length: 1
console-format-startup.html:11 Set(1) {WeakSet}
size: (...)
__proto__: Set
[[Entries]]: Array(1)
0: WeakSet
length: 1
console-format-startup.html:12 [Set(1)]
0: Set(1) {WeakSet}
length: 1
__proto__: Array(0)
globals[58]
Set(1) {WeakSet}
size: (...)
__proto__: Set
[[Entries]]: Array(1)
0: WeakSet
length: 1
console-format-startup.html:11 Map(6) {" from str " => " to str ", undefined => undefined, null => null, 42 => 42, {…} => {…}, …}
size: (...)
__proto__: Map
[[Entries]]: Array(6)
0: {" from str " => " to str "}
1: {undefined => undefined}
2: {null => null}
3: {42 => 42}
4: {Object => Object}
5: {Array(1) => Array(1)}
length: 6
console-format-startup.html:12 [Map(6)]
0: Map(6) {" from str " => " to str ", undefined => undefined, null => null, 42 => 42, {…} => {…}, …}
length: 1
__proto__: Array(0)
globals[59]
Map(6) {" from str " => " to str ", undefined => undefined, null => null, 42 => 42, {…} => {…}, …}
size: (...)
__proto__: Map
[[Entries]]: Array(6)
0: {" from str " => " to str "}
1: {undefined => undefined}
2: {null => null}
3: {42 => 42}
4: {Object => Object}
5: {Array(1) => Array(1)}
length: 6
console-format-startup.html:11 genFunction {<suspended>}
__proto__: Generator
[[GeneratorStatus]]: "suspended"
[[GeneratorFunction]]: ƒ* ()
[[GeneratorReceiver]]: Window
[[GeneratorLocation]]: console-format-startup.html:132
[[Scopes]]: Scopes[2]
console-format-startup.html:12 [genFunction]
0: genFunction {<suspended>}
length: 1
__proto__: Array(0)
globals[60]
genFunction {<suspended>}
__proto__: Generator
[[GeneratorStatus]]: "suspended"
[[GeneratorFunction]]: ƒ* ()
[[GeneratorReceiver]]: Window
[[GeneratorLocation]]: console-format-startup.html:132
[[Scopes]]: Scopes[2]
<html>
<head>
<script src="../../../inspector/inspector-test.js"></script>
<script src="../../../inspector/console-test.js"></script>
<script type="text/javascript">
// Global Values
var globals = [];
function log(current)
{
console.log(globals[current]);
console.log([globals[current]]);
}
function onload()
{
var foo = { foo: "foo"};
var bar = { bar: "bar" };
bar.__proto__ = foo;
var singleArray = ["test"];
var array = ["test", "test2"]; array.length = 10;
array.foo = {};
array[4] = "test4";
var svg = document.getElementById("svg-node");
console.log(array);
console.log("%o", array);
console.log("%O", array);
console.log("Test for zero \"%f\" in formatter", 0);
console.log("%% self-escape1", "dummy");
console.log("%%s self-escape2", "dummy");
console.log("%%ss self-escape3", "dummy");
console.log("%%s%s%%s self-escape4", "dummy");
console.log("%%%%% self-escape5", "dummy");
console.log("%%%s self-escape6", "dummy");
// Populate Globals
var regex1 = /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i;
var regex2 = new RegExp("foo\\\\bar\\sbaz", "i");
var str = "test";
var str2 = "test named \"test\"";
var error = new Error;
var errorWithMessage = new Error("my error message");
var errorWithMultilineMessage = new Error("my multiline\nerror message");
var node = document.getElementById("p");
var func = function() { return 1; };
var multilinefunc = function() {
return 2;
};
var num = 1.2e-1;
var linkify = "http://webkit.org/";
var valuelessAttribute = document.createAttribute("attr");
var valuedAttribute = document.createAttribute("attr");
valuedAttribute.value = "value";
var existingAttribute = document.getElementById("x").attributes[0];
var throwingLengthGetter = {get length() { throw "Length called"; }};
var objectWithNonEnumerables = Object.create({ foo: 1 }, {
__underscoreNonEnumerableProp: { value: 2, enumerable: false },
abc: { value: 3, enumerable: false },
getFoo: { value: function() { return this.foo; } },
bar: { get: function() { return this.bar; }, set: function(x) { this.bar = x; } }
});
objectWithNonEnumerables.enumerableProp = 4;
objectWithNonEnumerables.__underscoreEnumerableProp__ = 5;
var negZero = 1 / Number.NEGATIVE_INFINITY;
var textNode = document.getElementById("x").nextSibling;
var arrayLikeFunction = function( /**/ foo/**/, /*/**/bar,
/**/baz) {};
arrayLikeFunction.splice = function() {};
var tinyTypedArray = new Uint8Array([3]);
var smallTypedArray = new Uint8Array(new ArrayBuffer(400));
smallTypedArray["foo"] = "bar";
var bigTypedArray = new Uint8Array(new ArrayBuffer(400 * 1000 * 1000));
bigTypedArray["FAIL"] = "FAIL: Object.getOwnPropertyNames() should not have been run";
var namespace = {};
namespace.longSubNamespace = {};
namespace.longSubNamespace.x = {};
namespace.longSubNamespace.x.className = function(){};
var instanceWithLongClassName = new namespace.longSubNamespace.x.className();
var bigArray = [];
bigArray.length = 200;
bigArray.fill(1);
var boxedNumberWithProps = new Number(42);
boxedNumberWithProps[1] = "foo";
boxedNumberWithProps["a"] = "bar";
var boxedStringWithProps = new String("abc");
boxedStringWithProps["01"] = "foo";
boxedStringWithProps[3] = "foo";
boxedStringWithProps["a"] = "bar";
var p = Promise.reject(-0);
p.catch(function() {});
var p2 = Promise.resolve(1);
var p3 = new Promise(() => {});
var smb1 = Symbol();
var smb2 = Symbol("a");
var obj = {
get getter() {}
};
obj["a"] = smb1;
obj[smb2] = 2;
var map = new Map();
var weakMap = new WeakMap();
map.set(obj, {foo: 1});
weakMap.set(obj, {foo: 1});
var set = new Set();
var weakSet = new WeakSet();
set.add(obj);
weakSet.add(obj);
var mapMap0 = new Map();
mapMap0.set(new Map(), new WeakMap());
var mapMap = new Map();
mapMap.set(map, weakMap);
var setSet0 = new Set();
setSet0.add(new WeakSet());
var setSet = new Set();
setSet.add(weakSet);
var bigmap = new Map();
bigmap.set(" from str ", " to str ");
bigmap.set(undefined, undefined);
bigmap.set(null, null);
bigmap.set(42, 42);
bigmap.set({foo:"from"}, {foo:"to"});
bigmap.set(["from"], ["to"]);
var genFunction = function *() {
yield 1;
yield 2;
}
var generator = genFunction();
globals = [
regex1, regex2, str, str2, error, errorWithMessage, errorWithMultilineMessage, node, func, multilinefunc,
num, linkify, null, undefined, valuelessAttribute, valuedAttribute, existingAttribute, throwingLengthGetter,
NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, array, {}, [function() {}], bar, svg,
objectWithNonEnumerables, negZero, Object.create(null), Object, Object.prototype, arrayLikeFunction,
new Number(42), new String("abc"), new Uint16Array([1, 2, 3]), textNode, domException(),
tinyTypedArray, smallTypedArray, bigTypedArray, instanceWithLongClassName, bigArray, singleArray,
boxedNumberWithProps, boxedStringWithProps,
p, p2, p3, smb1, smb2, obj, map, weakMap, set, weakSet,
mapMap0, mapMap, setSet0, setSet, bigmap, generator,
];
logTable();
logCollections();
runTest();
}
function logTable()
{
console.table();
console.table(null);
console.log("Array of arrays");
console.table([[1,2,3], [4,5,6]]);
console.log("Large array of arrays");
console.table([[1,2,3], [4,5,6], [1,2,3], [4,5,6], [1,2,3], [4,5,6], [1,2,3], [4,5,6]]);
console.log("Array or array and object");
console.table([[1,2,3], {a:1, b:2, c:3}]);
console.log("Object table");
console.table({"foo": {a:1, b:2}, "bar": {a:3, b:4}});
console.log("Null as columns");
console.table([[1,2,3], [4,5,6]], null);
console.log("Digit as columns");
console.table([[1,2,3], [4,5,6]], 0);
console.log("String as columns");
console.table([[1,2,3], [4,5,6]], "0");
console.log("Random string as columns");
console.table([[1,2,3], [4,5,6]], "Foo");
console.log("Array of strings as columns");
console.table([{a:1, b:2, c:3}, {a:"foo", b:"bar"}], ["a", "b"]);
console.log("Good and bad column names");
console.table([{a:1, b:2, c:3}, {a:"foo"}], ["a", "b", "d"]);
console.log("Missing column name");
console.table([{a:1, b:2, c:3}, {a:"foo"}], ["d"]);
console.log("Shallow array");
console.table([1, "foo", null]);
console.log("Shallow array with 'Value' column");
console.table([1, {Value: 2}]);
console.log("Deep and shallow array");
console.table([1, "foo", [2]]);
}
function logCollections()
{
var formElement = document.getElementById("f");
var selectElement = document.getElementById("sel");
var spanElement = document.getElementById("span");
// NodeList
var nodelist = document.getElementsByTagName("select");
console.log(nodelist);
// HTMLCollection
var htmlcollection = document.head.children;
console.log(htmlcollection);
// HTMLOptionsCollection
var options = selectElement.options;
console.log(options);
// HTMLAllCollection
var all = document.all;
console.log(all);
// HTMLFormControlsCollection (currently shows HTMLCollection)
var formControls = formElement.elements;
console.log(formControls);
// RadioNodeList
var radioNodeList = formElement.x;
console.log(radioNodeList);
// Cross-referencing arrays.
var arrayX = [1];
var arrayY = [2, arrayX];
arrayX.push(arrayY);
console.log(arrayX);
var nonArray = new NonArrayWithLength();
console.log(nonArray);
// Arguments
function generateArguments(foo, bar)
{
return arguments;
}
console.log(generateArguments(1, "2"));
// DOMTokenList
var div = document.getElementsByTagName("div")[0];
console.log(div.classList);
// Array-like's.
console.log(new ArrayLike(5));
console.log(new ArrayLike(0xFFFFFFFF));
// Array-like's with wrong length.
console.log(new ArrayLike(-5));
console.log(new ArrayLike(5.6));
console.log(new ArrayLike(NaN));
console.log(new ArrayLike(Infinity));
console.log(new ArrayLike(-0));
console.log(new ArrayLike(0xFFFFFFFF + 1));
}
function NonArrayWithLength()
{
this.keys = [];
}
NonArrayWithLength.prototype.__defineGetter__("length", function()
{
console.log("FAIL: 'length' should not be called");
return this.keys.length;
});
function ArrayLike(length)
{
this.length = length;
}
ArrayLike.prototype.splice = function() {};
function domException()
{
var result = "FAIL";
try {
var a = document.createElement("div");
var b = document.createElement("div");
a.removeChild(b);
} catch(e) {
e.stack = "";
result = e;
}
return result;
}
function showInspectorAndRunTest()
{
if (window.testRunner)
testRunner.showWebInspector();
runTest();
}
</script>
<script>
function test() {
TestRunner.hideInspectorView();
TestRunner.evaluateInPage('globals.length', loopOverGlobals.bind(this, 0));
function loopOverGlobals(current, total) {
function advance() {
var next = current + 1;
if (next == total.description)
ConsoleTestRunner.waitForRemoteObjectsConsoleMessages(onRemoteObjectsLoaded);
else
loopOverGlobals(next, total);
}
function onRemoteObjectsLoaded() {
ConsoleTestRunner.dumpConsoleMessagesIgnoreErrorStackFrames();
TestRunner.addResult('Expanded all messages');
ConsoleTestRunner.expandConsoleMessages(
ConsoleTestRunner.expandConsoleMessagesErrorParameters.bind(this, finish), undefined, function(section) {
return section.element.firstChild.textContent !== '#text';
});
}
function finish() {
ConsoleTestRunner.dumpConsoleMessagesIgnoreErrorStackFrames();
TestRunner.completeTest();
}
TestRunner.evaluateInPage('log(' + current + ')');
TestRunner.deprecatedRunAfterPendingDispatches(evalInConsole);
function evalInConsole() {
ConsoleTestRunner.evaluateInConsole('globals[' + current + ']');
TestRunner.deprecatedRunAfterPendingDispatches(advance);
}
}
}
</script>
</head>
<body onload="onload()">
<p>Tests console logging for messages that happen before DevTools is open.</p>
<div id="x"></div>
<p id="p"></p>
</body>
<svg id="svg-node"></svg>
<div style="display:none" class="c1 c2 c3">
<form id="f">
<select id="sel" name="sel">
<option value="1">one</option>
<option value="2">two</option>
</select>
<input type="radio" name="x" value="x1" /> x1
<input type="radio" name="x" value="x2" /> x2
</form>
</div>
</body>
</html>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment