blob: ec127fc18f76acee768e05dc0b8933a902526b63 [file] [log] [blame]
pfeldman@chromium.org38776e02009-10-19 00:20:43 +00001<html>
2<head>
pfeldman@chromium.org950f4242011-02-15 10:02:26 +00003<script src="../../http/tests/inspector/inspector-test.js"></script>
4<script src="../../http/tests/inspector/console-test.js"></script>
pfeldman@chromium.org38776e02009-10-19 00:20:43 +00005<script>
6
joepeck@webkit.org723f16e2009-11-30 21:19:42 +00007// Global Values
8var globals = [];
9
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000010function onload()
pfeldman@chromium.org38776e02009-10-19 00:20:43 +000011{
12 console.log('Message format number %i, %d and %f', 1, 2, 3.5);
13 console.log('Message %s for %s', 'format', 'string');
14 console.log('Object %o', {'foo' : 'bar' });
15
pfeldman@chromium.org0ac54b12012-02-22 17:39:03 +000016 var array = ["test", "test2"]; array.length = 10;
pfeldman@chromium.org279884b2012-08-09 15:13:56 +000017 array.foo = {};
pfeldman@chromium.orgbb499a92009-10-19 02:09:14 +000018 array[4] = "test4";
pfeldman@chromium.org514cc762009-12-24 10:38:27 +000019
pfeldman@chromium.orgbb499a92009-10-19 02:09:14 +000020 console.log(array);
pfeldman@chromium.org514cc762009-12-24 10:38:27 +000021 console.log("%o", array);
22 console.log("%O", array);
pfeldman@chromium.orgbb499a92009-10-19 02:09:14 +000023
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000024 // Populate Globals
25 var regex1 = /^url\(\s*(?:(?:"(?:[^\\\"]|(?:\\[\da-f]{1,6}\s?|\.))*"|'(?:[^\\\']|(?:\\[\da-f]{1,6}\s?|\.))*')|(?:[!#$%&*-~\w]|(?:\\[\da-f]{1,6}\s?|\.))*)\s*\)/i;
26 var regex2 = new RegExp("foo\\\\bar\\sbaz", "i");
27 var str = "test";
pfeldman@chromium.org514cc762009-12-24 10:38:27 +000028 var str2 = "test named \"test\"";
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000029 var error = new Error;
pfeldman@chromium.org279884b2012-08-09 15:13:56 +000030 var node = document.getElementById("p");
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000031 var func = function() { return 1; };
32 var multilinefunc = function() {
33 return 2;
34 };
35 var num = 1.2e-1;
36 var linkify = "http://webkit.org/";
joepeck@webkit.orgef12d0d2010-08-28 00:08:32 +000037 var valuelessAttribute = document.createAttribute("attr");
38 var valuedAttribute = document.createAttribute("attr");
39 valuedAttribute.value = "value";
40 var existingAttribute = document.getElementById("x").attributes[0];
pfeldman@chromium.org18ac4eb32011-03-09 09:53:56 +000041 var throwingLengthGetter = {get length() { throw "Length called"; }};
joepeck@webkit.orgef12d0d2010-08-28 00:08:32 +000042
43 globals = [
44 regex1, regex2, str, str2, error, node, func, multilinefunc, num, linkify,
pfeldman@chromium.org19665e82011-07-26 10:09:52 +000045 null, undefined, valuelessAttribute, valuedAttribute, existingAttribute, throwingLengthGetter,
pfeldman@chromium.org03b896d2012-08-10 15:42:23 +000046 NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, array
joepeck@webkit.orgef12d0d2010-08-28 00:08:32 +000047 ];
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000048
49 runTest();
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000050}
51
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000052function log(current)
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000053{
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000054 console.log(globals[current]);
55 console.log([globals[current]]);
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000056}
57
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000058function test()
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000059{
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000060 InspectorTest.evaluateInPage("globals.length", loopOverGlobals.bind(this, 0));
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000061
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000062 function loopOverGlobals(current, total)
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000063 {
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000064 function advance()
65 {
66 var next = current + 1;
67 if (next == total.description) {
pfeldman@chromium.org279884b2012-08-09 15:13:56 +000068 InspectorTest.expandConsoleMessages();
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000069 InspectorTest.dumpConsoleMessages();
70 InspectorTest.completeTest();
pfeldman@chromium.org279884b2012-08-09 15:13:56 +000071 } else
pfeldman@chromium.org52d790f2011-02-14 10:58:58 +000072 loopOverGlobals(next, total);
73 }
74
75 InspectorTest.evaluateInPage("log(" + current + ")");
76 InspectorTest.runAfterPendingDispatches(evalInConsole);
77 function evalInConsole()
78 {
79 InspectorTest.evaluateInConsole("globals[" + current + "]");
80 InspectorTest.runAfterPendingDispatches(advance);
81 }
joepeck@webkit.org723f16e2009-11-30 21:19:42 +000082 }
pfeldman@chromium.org38776e02009-10-19 00:20:43 +000083}
pfeldman@chromium.org38776e02009-10-19 00:20:43 +000084</script>
85</head>
86
87<body onload="onload()">
joepeck@webkit.orgef12d0d2010-08-28 00:08:32 +000088<div id="x"></div>
pfeldman@chromium.org279884b2012-08-09 15:13:56 +000089<p id="p">Tests that console logging dumps proper messages.</p>
pfeldman@chromium.org38776e02009-10-19 00:20:43 +000090</body>
91</html>