From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- browser/components/shell/test/browser_pinning.js | 72 ++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 browser/components/shell/test/browser_pinning.js (limited to 'browser/components/shell/test/browser_pinning.js') diff --git a/browser/components/shell/test/browser_pinning.js b/browser/components/shell/test/browser_pinning.js new file mode 100644 index 0000000000..efdbc36239 --- /dev/null +++ b/browser/components/shell/test/browser_pinning.js @@ -0,0 +1,72 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function test_getTaskbarTabShortcutPath() { + // no exception generated for the following + ShellService.getTaskbarTabShortcutPath("working"); + ShellService.getTaskbarTabShortcutPath("workingPath.ink"); + + // confirm that multiple spaces aren't collapsed + ShellService.getTaskbarTabShortcutPath("working path.ink"); + + const invalidFilenames = [ + // These are reserved characters that can't be in names + "?", + ":", + "<", + ">", + "|", + '"', + "/", + "*", + "\t", + "\r", + "\n", + + // No path manipulation allowed + "..\\something", + ".\\something", + ".something", + + // Windows doesn't allow filenames ending in period or a space + "something.", + "something ", + + // The following are special reserved names + "CON", + "PRN", + "AUX", + "NUL", + "COM1", + "COM2", + "COM3", + "COM4", + "COM5", + "COM6", + "COM7", + "COM8", + "COM9", + "LPT1", + "LPT2", + "LPT3", + "LPT4", + "LPT5", + "LPT6", + "LPT7", + "LPT8", + "LPT9", + ]; + + for (const invalidFilename of invalidFilenames) { + Assert.throws( + () => { + ShellService.getTaskbarTabShortcutPath(invalidFilename); + }, + /NS_ERROR_FILE_INVALID_PATH/, + invalidFilename + + " is an invalid filename; getTaskbarTabShortcutPath should have failed with it as a parameter." + ); + } +}); -- cgit v1.2.3