Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / ManualTests / inspector / console-log-formatting.html
blobd59ebc97bfe5f8a167ad40ae1c5530e13079f72a
1 <script>
2 var s = "this is a string";
3 var i = 5;
4 var ni = -5;
5 var f = 3.14159;
6 var o = { prop1: 1, prop2: 2 };
7 var specifiers = {
8 s: "string",
9 i: "integer",
10 d: "integer",
11 f: "float",
12 "0.3f": "float with precision",
13 o: "object",
14 z: "unsupported",
17 function test(args) {
18 var functions = ["log", "debug"];
19 for (var i = 0; i < functions.length; ++i) {
20 console.info("console." + functions[i] + "(%s)", args);
21 try {
22 eval("console." + functions[i] + "(" + args + ")");
23 } catch (e) {
24 console.error(e);
29 function testAllSpecifiers(value, description) {
30 for (var specifier in specifiers)
31 test("'Format " + description + " as " + specifiers[specifier] + ": %" + specifier + "', " + value + "");
34 function runTests() {
35 var values = [
36 { value: "window.noSuchVariable", description: "undefined" },
37 { value: "s", description: "string" },
38 { value: "i", description: "positive integer" },
39 { value: "ni", description: "negative integer" },
40 { value: "f", description: "float" },
41 { value: "o", description: "object" },
42 { value: "document.body", description: "body" },
43 { value: "/test/", description: "RegExp" },
44 { value: "true", description: "boolean" },
45 { value: "null", description: "null" },
48 for (var i = 0; i < values.length; ++i)
49 testAllSpecifiers(values[i].value, values[i].description);
51 var tests = [
52 "'simple test'",
53 "'multiple', 'parameters', 'should', 'be', 'concatenated'",
54 "document",
55 "document, document.body, window, window.location",
56 "document, document.body, 'hello', 'goodbye', window.location",
57 "'Format string with fewer specifiers than parameters: %o %i %f', document.body, i, f, ni, o",
58 "'Format string with more specifiers than parameters: %o %i %f %i %o', document.body, i, f",
61 for (var i = 0; i < tests.length; ++i)
62 test(tests[i]);
65 </script>
66 <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=17228">Bug 17228: console.{log,warn,info,error} should support format strings, variable arguments</a>.</p>
67 <p>Open the Inspector (right-click and choose "Inspect Element"), then click the "Run Tests" button.</p>
68 <button onclick="runTests()">Run Tests</button>