123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
- /* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
- // Whitelisting this test.
- // As part of bug 1077403, the leaking uncaught rejection should be fixed.
- //
- "use strict";
- thisTestLeaksUncaughtRejectionsAndShouldBeFixed("null");
- // Test the webconsole output for various types of objects.
- const TEST_URI = "data:text/html;charset=utf8,test for console output - 01";
- var {DebuggerServer} = require("devtools/server/main");
- var longString = (new Array(DebuggerServer.LONG_STRING_LENGTH + 4)).join("a");
- var initialString = longString.substring(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH);
- var inputTests = [
- // 0
- {
- input: "'hello \\nfrom \\rthe \\\"string world!'",
- output: "\"hello \nfrom \rthe \"string world!\"",
- consoleOutput: "hello \nfrom \rthe \"string world!",
- },
- // 1
- {
- // unicode test
- input: "'\xFA\u1E47\u0129\xE7\xF6d\xEA \u021B\u0115\u0219\u0165'",
- output: "\"\xFA\u1E47\u0129\xE7\xF6d\xEA \u021B\u0115\u0219\u0165\"",
- consoleOutput: "\xFA\u1E47\u0129\xE7\xF6d\xEA \u021B\u0115\u0219\u0165",
- },
- // 2
- {
- input: "'" + longString + "'",
- output: '"' + initialString + "\"[\u2026]",
- consoleOutput: initialString + "[\u2026]",
- printOutput: initialString,
- },
- // 3
- {
- input: "''",
- output: '""',
- consoleOutput: "",
- printOutput: '""',
- },
- // 4
- {
- input: "0",
- output: "0",
- },
- // 5
- {
- input: "'0'",
- output: '"0"',
- consoleOutput: "0",
- },
- // 6
- {
- input: "42",
- output: "42",
- },
- // 7
- {
- input: "'42'",
- output: '"42"',
- consoleOutput: "42",
- },
- // 8
- {
- input: "/foobar/",
- output: "/foobar/",
- inspectable: true,
- },
- // 9
- {
- input: "Symbol()",
- output: "Symbol()"
- },
- // 10
- {
- input: "Symbol('foo')",
- output: "Symbol(foo)"
- },
- // 11
- {
- input: "Symbol.iterator",
- output: "Symbol(Symbol.iterator)"
- },
- ];
- longString = initialString = null;
- function test() {
- requestLongerTimeout(2);
- Task.spawn(function* () {
- let {tab} = yield loadTab(TEST_URI);
- let hud = yield openConsole(tab);
- return checkOutputForInputs(hud, inputTests);
- }).then(finishUp);
- }
- function finishUp() {
- longString = initialString = inputTests = null;
- finishTest();
- }
|