58 lines
2.2 KiB
HTML
58 lines
2.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script>
|
|
function Person(firstName, lastName) {
|
|
this.firstName = firstName;
|
|
this.lastName = lastName;
|
|
}
|
|
|
|
var john = new Person("John", "Smith");
|
|
var jane = new Person("Jane", "Doe");
|
|
var emily = new Person("Emily", "Jones");
|
|
var manyProperties = {one:1, two:2, three:3, four:4, five:5, six:6};
|
|
|
|
function test()
|
|
{
|
|
var currentStepIndex = 0;
|
|
var steps = [
|
|
"console.table([])", // Empty.
|
|
"console.table(['apple', 'orange', 'banana'])", // Index (array index), Value
|
|
"console.table({firstName: 'John', lastName: 'Smith'})", // Index (property name), Value (property value)
|
|
"console.table({f: function(){}, x: 10})", // Index (property name), Value (property value)
|
|
"console.table([['John', 'Smith'], ['Jane', 'Doe'], ['Emily', 'Jones']])", // Index, 0, 1
|
|
"console.table([john, jane, emily])", // Index, firstName, lastName
|
|
"console.table([john, jane, emily], ['firstName'])", // Index, firstName (at least).
|
|
`console.table([manyProperties, manyProperties], ['five', 'six'])`, // Index, five, size (at least)
|
|
];
|
|
|
|
function remoteObjectJSONFilter(key, value)
|
|
{
|
|
if (key === "_target" || key === "_listeners")
|
|
return undefined;
|
|
if (key === "_objectId" || key === "_stackTrace")
|
|
return "<filtered>";
|
|
return value;
|
|
}
|
|
|
|
WI.consoleManager.addEventListener(WI.ConsoleManager.Event.MessageAdded, function(event) {
|
|
var message = event.data.message;
|
|
InspectorTest.assert(message instanceof WI.ConsoleMessage);
|
|
InspectorTest.log("\nSTEP: " + steps[currentStepIndex]);
|
|
InspectorTest.log(JSON.stringify(message, remoteObjectJSONFilter, " "));
|
|
|
|
if (++currentStepIndex >= steps.length)
|
|
InspectorTest.completeTest();
|
|
});
|
|
|
|
for (var step of steps)
|
|
WI.runtimeManager.evaluateInInspectedWindow(step, {objectGroup: "test", doNotPauseOnExceptionsAndMuteConsole: true, generatePreview: true}, function(){});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
</body>
|
|
</html>
|