diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/webconsole/test/browser_webconsole_output_06.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/webconsole/test/browser_webconsole_output_06.js')
-rw-r--r-- | devtools/client/webconsole/test/browser_webconsole_output_06.js | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser_webconsole_output_06.js b/devtools/client/webconsole/test/browser_webconsole_output_06.js new file mode 100644 index 000000000..ad69b3908 --- /dev/null +++ b/devtools/client/webconsole/test/browser_webconsole_output_06.js @@ -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(); +} |