mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-04 23:08:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
283
devtools/client/webconsole/test/browser_webconsole_output_06.js
Normal file
283
devtools/client/webconsole/test/browser_webconsole_output_06.js
Normal file
|
|
@ -0,0 +1,283 @@
|
|||
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
// Test the webconsole output for various arrays.
|
||||
|
||||
const TEST_URI = "data:text/html;charset=utf8,test for console output - 06";
|
||||
const {ELLIPSIS} = require("devtools/shared/l10n");
|
||||
|
||||
const testStrIn = "SHOW\\nALL\\nOF\\nTHIS\\nON\\nA\\nSINGLE" +
|
||||
"\\nLINE ONLY. ESCAPE ALL NEWLINE";
|
||||
const testStrOut = "SHOW ALL OF THIS ON A SINGLE LINE O" + ELLIPSIS;
|
||||
|
||||
var inputTests = [
|
||||
// 1 - array with empty slots only
|
||||
{
|
||||
input: "Array(5)",
|
||||
output: "Array [ <5 empty slots> ]",
|
||||
printOutput: ",,,,",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[5]",
|
||||
},
|
||||
// 2 - array with one empty slot at the beginning
|
||||
{
|
||||
input: "[,1,2,3]",
|
||||
output: "Array [ <1 empty slot>, 1, 2, 3 ]",
|
||||
printOutput: ",1,2,3",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[4]",
|
||||
},
|
||||
// 3 - array with multiple consecutive empty slots at the beginning
|
||||
{
|
||||
input: "[,,,3,4,5]",
|
||||
output: "Array [ <3 empty slots>, 3, 4, 5 ]",
|
||||
printOutput: ",,,3,4,5",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]",
|
||||
},
|
||||
// 4 - array with one empty slot at the middle
|
||||
{
|
||||
input: "[0,1,,3,4,5]",
|
||||
output: "Array [ 0, 1, <1 empty slot>, 3, 4, 5 ]",
|
||||
printOutput: "0,1,,3,4,5",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]",
|
||||
},
|
||||
// 5 - array with multiple successive empty slots at the middle
|
||||
{
|
||||
input: "[0,1,,,,5]",
|
||||
output: "Array [ 0, 1, <3 empty slots>, 5 ]",
|
||||
printOutput: "0,1,,,,5",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]",
|
||||
},
|
||||
// 6 - array with multiple non successive single empty slots
|
||||
{
|
||||
input: "[0,,2,,4,5]",
|
||||
output: "Array [ 0, <1 empty slot>, 2, <1 empty slot>, 4, 5 ]",
|
||||
printOutput: "0,,2,,4,5",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]",
|
||||
},
|
||||
// 7 - array with multiple multi-slot holes
|
||||
{
|
||||
input: "[0,,,3,,,,7,8]",
|
||||
output: "Array [ 0, <2 empty slots>, 3, <3 empty slots>, 7, 8 ]",
|
||||
printOutput: "0,,,3,,,,7,8",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[9]",
|
||||
},
|
||||
// 8 - array with a single slot hole at the end
|
||||
{
|
||||
input: "[0,1,2,3,4,,]",
|
||||
output: "Array [ 0, 1, 2, 3, 4, <1 empty slot> ]",
|
||||
printOutput: "0,1,2,3,4,",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]",
|
||||
},
|
||||
// 9 - array with multiple consecutive empty slots at the end
|
||||
{
|
||||
input: "[0,1,2,,,,]",
|
||||
output: "Array [ 0, 1, 2, <3 empty slots> ]",
|
||||
printOutput: "0,1,2,,,",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]",
|
||||
},
|
||||
|
||||
// 10 - array with members explicitly set to null
|
||||
{
|
||||
input: "[0,null,null,3,4,5]",
|
||||
output: "Array [ 0, null, null, 3, 4, 5 ]",
|
||||
printOutput: "0,,,3,4,5",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]"
|
||||
},
|
||||
|
||||
// 11 - array with members explicitly set to undefined
|
||||
{
|
||||
input: "[0,undefined,undefined,3,4,5]",
|
||||
output: "Array [ 0, undefined, undefined, 3, 4, 5 ]",
|
||||
printOutput: "0,,,3,4,5",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Array[6]"
|
||||
},
|
||||
|
||||
// 12 - array with long strings as elements
|
||||
{
|
||||
input: '["' + testStrIn + '", "' + testStrIn + '", "' + testStrIn + '"]',
|
||||
output: 'Array [ "' + testStrOut + '", "' + testStrOut + '", "' +
|
||||
testStrOut + '" ]',
|
||||
inspectable: true,
|
||||
printOutput: "SHOW\nALL\nOF\nTHIS\nON\nA\nSINGLE\nLINE ONLY. ESCAPE " +
|
||||
"ALL NEWLINE,SHOW\nALL\nOF\nTHIS\nON\nA\nSINGLE\nLINE ONLY. " +
|
||||
"ESCAPE ALL NEWLINE,SHOW\nALL\nOF\nTHIS\nON\nA\nSINGLE\n" +
|
||||
"LINE ONLY. ESCAPE ALL NEWLINE",
|
||||
variablesViewLabel: "Array[3]"
|
||||
},
|
||||
|
||||
// 13
|
||||
{
|
||||
input: '({0: "a", 1: "b"})',
|
||||
output: 'Object [ "a", "b" ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[2]",
|
||||
},
|
||||
|
||||
// 14
|
||||
{
|
||||
input: '({0: "a", 42: "b"})',
|
||||
output: '[ "a", <9 empty slots>, 33 more\u2026 ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[43]",
|
||||
},
|
||||
|
||||
// 15
|
||||
{
|
||||
input: '({0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f", 6: "g", ' +
|
||||
'7: "h", 8: "i", 9: "j", 10: "k", 11: "l"})',
|
||||
output: 'Object [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", ' +
|
||||
"2 more\u2026 ]",
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[12]",
|
||||
},
|
||||
|
||||
// 16
|
||||
{
|
||||
input: '({0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f", 6: "g", ' +
|
||||
'7: "h", 8: "i", 9: "j", 10: "k", 11: "l", m: "n"})',
|
||||
output: 'Object { 0: "a", 1: "b", 2: "c", 3: "d", 4: "e", 5: "f", ' +
|
||||
'6: "g", 7: "h", 8: "i", 9: "j", 3 more\u2026 }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 17
|
||||
{
|
||||
input: '({" ": "a"})',
|
||||
output: 'Object { : "a" }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 18
|
||||
{
|
||||
input: '({})',
|
||||
output: 'Object { }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 19
|
||||
{
|
||||
input: '({length: 0})',
|
||||
output: 'Object [ ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[0]",
|
||||
},
|
||||
|
||||
// 20
|
||||
{
|
||||
input: '({length: 1})',
|
||||
output: '[ <1 empty slot> ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[1]",
|
||||
},
|
||||
|
||||
// 21
|
||||
{
|
||||
input: '({0: "a", 1: "b", length: 1})',
|
||||
output: 'Object { 0: "a", 1: "b", length: 1 }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 22
|
||||
{
|
||||
input: '({0: "a", 1: "b", length: 2})',
|
||||
output: 'Object [ "a", "b" ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[2]",
|
||||
},
|
||||
|
||||
// 23
|
||||
{
|
||||
input: '({0: "a", 1: "b", length: 3})',
|
||||
output: '[ "a", "b", <1 empty slot> ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[3]",
|
||||
},
|
||||
|
||||
// 24
|
||||
{
|
||||
input: '({0: "a", 2: "b", length: 2})',
|
||||
output: 'Object { 0: "a", 2: "b", length: 2 }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 25
|
||||
{
|
||||
input: '({0: "a", 2: "b", length: 3})',
|
||||
output: '[ "a", <1 empty slot>, "b" ]',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object[3]",
|
||||
},
|
||||
|
||||
// 26
|
||||
{
|
||||
input: '({0: "a", b: "b", length: 1})',
|
||||
output: 'Object { 0: "a", b: "b", length: 1 }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 27
|
||||
{
|
||||
input: '({0: "a", b: "b", length: 2})',
|
||||
output: 'Object { 0: "a", b: "b", length: 2 }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
|
||||
// 28
|
||||
{
|
||||
input: '({42: "a"})',
|
||||
output: 'Object { 42: "a" }',
|
||||
printOutput: "[object Object]",
|
||||
inspectable: true,
|
||||
variablesViewLabel: "Object",
|
||||
},
|
||||
];
|
||||
|
||||
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() {
|
||||
inputTests = null;
|
||||
finishTest();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue