Files
ThreadNet-Web/test/unit-tests/slash-commands/split-at-first-space-test.ts
T
Andy BalaamandGitHub 562f7cc2bd Move SlashCommands and SlashCommands-test into subdirs (#31979)
* Move SlashCommands into slash-commands

* Move SlashCommands test prep into a function that can be re-used from multiple files

* Move slash command tests into separate files

* Fix super-linear regexes and test some more slash commands

* Move splitAtFirstSpace tests into a separate file

* Test for parseCommandString

* Make parseCommandString able to handle leading whitespace and tabs

* Implement parseCommandString using splitAtFirstSpace

* Extract emoticons slash commands into a separate file and share their code
2026-02-09 11:08:51 +00:00

23 lines
1.2 KiB
TypeScript

/*
* Copyright 2026 Element Creations Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details.
*/
import { splitAtFirstSpace } from "../../../src/slash-commands/SlashCommands";
describe("splitAtFirstSpace", () => {
it("should be able to split arguments at the first whitespace", () => {
expect(splitAtFirstSpace("a b")).toEqual(["a", "b"]);
expect(splitAtFirstSpace("arg1 Followed by more stuff")).toEqual(["arg1", "Followed by more stuff"]);
expect(splitAtFirstSpace("arg1 Followed by more\nstuff")).toEqual(["arg1", "Followed by more\nstuff"]);
expect(splitAtFirstSpace(" arg1 Followed by more stuff ")).toEqual(["arg1", "Followed by more stuff"]);
expect(splitAtFirstSpace("arg1 \t\n Followed by more stuff")).toEqual(["arg1", "Followed by more stuff"]);
expect(splitAtFirstSpace("a")).toEqual(["a"]);
expect(splitAtFirstSpace("arg1")).toEqual(["arg1"]);
expect(splitAtFirstSpace("arg1 ")).toEqual(["arg1"]);
expect(splitAtFirstSpace(" arg1 ")).toEqual(["arg1"]);
});
});