/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ /** * Test for unEscapeURIForUI function in UrlbarUtils. */ "use strict"; const TEST_DATA = [ { description: "Test for characters including percent encoded chars", input: "A%E3%81%82%F0%A0%AE%B7%21", expected: "Aあ𠮷!", testMessage: "Unescape given characters correctly", }, { description: "Test for characters over the limit", input: "A%E3%81%82%F0%A0%AE%B7%21".repeat( Math.ceil(UrlbarUtils.MAX_TEXT_LENGTH / 25) ), expected: "A%E3%81%82%F0%A0%AE%B7%21".repeat( Math.ceil(UrlbarUtils.MAX_TEXT_LENGTH / 25) ), testMessage: "Return given characters as it is because of over the limit", }, ]; add_task(function () { for (const { description, input, expected, testMessage } of TEST_DATA) { info(description); const result = UrlbarUtils.unEscapeURIForUI(input); Assert.equal(result, expected, testMessage); } });