@google/gemini-cli 0.1.20 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -29
- package/dist/package.json +4 -4
- package/dist/src/commands/mcp/add.js +21 -10
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/commands/mcp/remove.js +2 -2
- package/dist/src/commands/mcp/remove.js.map +1 -1
- package/dist/src/config/auth.js +4 -3
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/auth.test.d.ts +6 -0
- package/dist/src/config/auth.test.js +57 -0
- package/dist/src/config/auth.test.js.map +1 -0
- package/dist/src/config/config.d.ts +2 -1
- package/dist/src/config/config.js +28 -18
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/keyBindings.js +7 -2
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/keyBindings.test.d.ts +6 -0
- package/dist/src/config/keyBindings.test.js +51 -0
- package/dist/src/config/keyBindings.test.js.map +1 -0
- package/dist/src/config/sandboxConfig.js +3 -3
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.js +7 -7
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.test.d.ts +6 -0
- package/dist/src/config/settingsSchema.test.js +195 -0
- package/dist/src/config/settingsSchema.test.js.map +1 -0
- package/dist/src/config/trustedFolders.d.ts +37 -0
- package/dist/src/config/trustedFolders.js +118 -0
- package/dist/src/config/trustedFolders.js.map +1 -0
- package/dist/src/config/trustedFolders.test.d.ts +6 -0
- package/dist/src/config/trustedFolders.test.js +160 -0
- package/dist/src/config/trustedFolders.test.js.map +1 -0
- package/dist/src/gemini.js +23 -10
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.d.ts +6 -0
- package/dist/src/gemini.test.js +193 -0
- package/dist/src/gemini.test.js.map +1 -0
- package/dist/src/generated/git-commit.d.ts +2 -1
- package/dist/src/generated/git-commit.js +2 -1
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +1 -4
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +2 -0
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
- package/dist/src/services/BuiltinCommandLoader.test.js +108 -0
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
- package/dist/src/services/CommandService.test.d.ts +6 -0
- package/dist/src/services/CommandService.test.js +232 -0
- package/dist/src/services/CommandService.test.js.map +1 -0
- package/dist/src/services/FileCommandLoader.js +10 -8
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +3 -3
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/prompt-processors/argumentProcessor.d.ts +2 -7
- package/dist/src/services/prompt-processors/argumentProcessor.js +2 -10
- package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.d.ts +16 -13
- package/dist/src/services/prompt-processors/shellProcessor.js +133 -40
- package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/types.d.ts +2 -0
- package/dist/src/services/prompt-processors/types.js +2 -0
- package/dist/src/services/prompt-processors/types.js.map +1 -1
- package/dist/src/test-utils/customMatchers.d.ts +14 -0
- package/dist/src/test-utils/customMatchers.js +46 -0
- package/dist/src/test-utils/customMatchers.js.map +1 -0
- package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
- package/dist/src/test-utils/mockCommandContext.js +86 -0
- package/dist/src/test-utils/mockCommandContext.js.map +1 -0
- package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
- package/dist/src/test-utils/mockCommandContext.test.js +51 -0
- package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
- package/dist/src/test-utils/render.d.ts +8 -0
- package/dist/src/test-utils/render.js +10 -0
- package/dist/src/test-utils/render.js.map +1 -0
- package/dist/src/ui/App.js +14 -6
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.js +3 -3
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.js +8 -5
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +6 -4
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.js +8 -6
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +2 -4
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/docsCommand.js +1 -1
- package/dist/src/ui/commands/docsCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +2 -2
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +4 -0
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/setupGithubCommand.test.js +74 -0
- package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
- package/dist/src/ui/commands/terminalSetupCommand.d.ts +13 -0
- package/dist/src/ui/commands/terminalSetupCommand.js +41 -0
- package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -0
- package/dist/src/ui/commands/types.d.ts +1 -0
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AboutBox.d.ts +1 -0
- package/dist/src/ui/components/AboutBox.js +1 -1
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +8 -8
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
- package/dist/src/ui/components/AuthDialog.test.js +242 -0
- package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
- package/dist/src/ui/components/ContextSummaryDisplay.js +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
- package/dist/src/ui/components/FolderTrustDialog.test.js +26 -0
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
- package/dist/src/ui/components/Footer.d.ts +1 -0
- package/dist/src/ui/components/Footer.js +3 -2
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Header.test.d.ts +6 -0
- package/dist/src/ui/components/Header.test.js +37 -0
- package/dist/src/ui/components/Header.test.js.map +1 -0
- package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js +91 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.js +3 -1
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
- package/dist/src/ui/components/LoadingIndicator.test.js +190 -0
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
- package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
- package/dist/src/ui/components/SettingsDialog.test.js +555 -0
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
- package/dist/src/ui/components/ShellConfirmationDialog.js +2 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ShellConfirmationDialog.test.js +40 -0
- package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
- package/dist/src/ui/components/StatsDisplay.js +1 -1
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.js +10 -1
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
- package/dist/src/ui/components/messages/InfoMessage.js +2 -1
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +2 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js +118 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
- package/dist/src/ui/components/shared/MaxSizedBox.js +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +111 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
- package/dist/src/ui/components/shared/text-buffer.js +32 -10
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js +2 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +30 -0
- package/dist/src/ui/contexts/KeypressContext.js +310 -0
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -0
- package/dist/src/ui/contexts/KeypressContext.test.d.ts +6 -0
- package/dist/src/ui/contexts/KeypressContext.test.js +220 -0
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -0
- package/dist/src/ui/contexts/SessionContext.d.ts +1 -0
- package/dist/src/ui/contexts/SessionContext.js +2 -1
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +9 -9
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
- package/dist/src/ui/hooks/atCommandProcessor.test.js +802 -0
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
- package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +328 -0
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
- package/dist/src/ui/hooks/slashCommandProcessor.js +74 -53
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +3 -5
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +191 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
- package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
- package/dist/src/ui/hooks/useEditorSettings.test.js +164 -0
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
- package/dist/src/ui/hooks/useFocus.d.ts +4 -0
- package/dist/src/ui/hooks/useFocus.js +4 -4
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +3 -2
- package/dist/src/ui/hooks/useFolderTrust.js +43 -10
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +1 -2
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
- package/dist/src/ui/hooks/useGitBranchName.test.js +175 -0
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
- package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
- package/dist/src/ui/hooks/useHistoryManager.test.js +171 -0
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
- package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
- package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
- package/dist/src/ui/hooks/useKeypress.d.ts +4 -16
- package/dist/src/ui/hooks/useKeypress.js +8 -140
- package/dist/src/ui/hooks/useKeypress.js.map +1 -1
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +15 -0
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +20 -0
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +91 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
- package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
- package/dist/src/ui/hooks/useShellHistory.test.js +162 -0
- package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.js +272 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
- package/dist/src/ui/hooks/useThemeCommand.js +1 -1
- package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
- package/dist/src/ui/hooks/useTimer.test.d.ts +6 -0
- package/dist/src/ui/hooks/useTimer.test.js +90 -0
- package/dist/src/ui/hooks/useTimer.test.js.map +1 -0
- package/dist/src/ui/hooks/useToolScheduler.test.d.ts +6 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js +841 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -0
- package/dist/src/ui/keyMatchers.test.d.ts +6 -0
- package/dist/src/ui/keyMatchers.test.js +276 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -0
- package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
- package/dist/src/ui/themes/color-utils.test.js +197 -0
- package/dist/src/ui/themes/color-utils.test.js.map +1 -0
- package/dist/src/ui/themes/theme-manager.js +1 -1
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
- package/dist/src/ui/themes/theme-manager.test.js +83 -0
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
- package/dist/src/ui/types.d.ts +2 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +1 -1
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +8 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
- package/dist/src/ui/utils/MarkdownDisplay.test.js +151 -0
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
- package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/clipboardUtils.test.js +65 -0
- package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
- package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/commandUtils.test.js +294 -0
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
- package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/displayUtils.test.js +42 -0
- package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
- package/dist/src/ui/utils/formatters.test.d.ts +6 -0
- package/dist/src/ui/utils/formatters.test.js +56 -0
- package/dist/src/ui/utils/formatters.test.js.map +1 -0
- package/dist/src/ui/utils/kittyProtocolDetector.d.ts +13 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js +88 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -0
- package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
- package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
- package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
- package/dist/src/ui/utils/platformConstants.d.ts +43 -0
- package/dist/src/ui/utils/platformConstants.js +44 -0
- package/dist/src/ui/utils/platformConstants.js.map +1 -0
- package/dist/src/ui/utils/terminalSetup.d.ts +30 -0
- package/dist/src/ui/utils/terminalSetup.js +281 -0
- package/dist/src/ui/utils/terminalSetup.js.map +1 -0
- package/dist/src/ui/utils/updateCheck.js +1 -1
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
- package/dist/src/ui/utils/updateCheck.test.js +145 -0
- package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
- package/dist/src/utils/checks.d.ts +19 -0
- package/dist/src/utils/checks.js +24 -0
- package/dist/src/utils/checks.js.map +1 -0
- package/dist/src/utils/gitUtils.test.d.ts +6 -0
- package/dist/src/utils/gitUtils.test.js +113 -0
- package/dist/src/utils/gitUtils.test.js.map +1 -0
- package/dist/src/utils/installationInfo.test.d.ts +6 -0
- package/dist/src/utils/installationInfo.test.js +242 -0
- package/dist/src/utils/installationInfo.test.js.map +1 -0
- package/dist/src/utils/readStdin.js +10 -0
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/sandbox.js +62 -60
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.test.d.ts +6 -0
- package/dist/src/utils/settingsUtils.test.js +514 -0
- package/dist/src/utils/settingsUtils.test.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
- package/dist/src/utils/userStartupWarnings.test.js +67 -0
- package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
- package/dist/src/utils/version.js +1 -1
- package/dist/src/utils/version.js.map +1 -1
- package/dist/src/validateNonInterActiveAuth.js +3 -3
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/acp.d.ts +63 -0
- package/dist/src/{acp → zed-integration}/acp.js +76 -44
- package/dist/src/zed-integration/acp.js.map +1 -0
- package/dist/src/zed-integration/schema.d.ts +11679 -0
- package/dist/src/zed-integration/schema.js +305 -0
- package/dist/src/zed-integration/schema.js.map +1 -0
- package/dist/src/zed-integration/zedIntegration.d.ts +10 -0
- package/dist/src/{acp/acpPeer.js → zed-integration/zedIntegration.js} +333 -187
- package/dist/src/zed-integration/zedIntegration.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/src/acp/acp.d.ts +0 -208
- package/dist/src/acp/acp.js.map +0 -1
- package/dist/src/acp/acpPeer.d.ts +0 -8
- package/dist/src/acp/acpPeer.js.map +0 -1
- package/dist/src/ui/utils/errorParsing.d.ts +0 -7
- package/dist/src/ui/utils/errorParsing.js +0 -90
- package/dist/src/ui/utils/errorParsing.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToolScheduler.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useToolScheduler.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect } from 'vitest';
|
|
7
|
+
import { keyMatchers, Command, createKeyMatchers } from './keyMatchers.js';
|
|
8
|
+
import { defaultKeyBindings } from '../config/keyBindings.js';
|
|
9
|
+
describe('keyMatchers', () => {
|
|
10
|
+
const createKey = (name, mods = {}) => ({
|
|
11
|
+
name,
|
|
12
|
+
ctrl: false,
|
|
13
|
+
meta: false,
|
|
14
|
+
shift: false,
|
|
15
|
+
paste: false,
|
|
16
|
+
sequence: name,
|
|
17
|
+
...mods,
|
|
18
|
+
});
|
|
19
|
+
// Original hard-coded logic (for comparison)
|
|
20
|
+
const originalMatchers = {
|
|
21
|
+
[Command.RETURN]: (key) => key.name === 'return',
|
|
22
|
+
[Command.HOME]: (key) => key.ctrl && key.name === 'a',
|
|
23
|
+
[Command.END]: (key) => key.ctrl && key.name === 'e',
|
|
24
|
+
[Command.KILL_LINE_RIGHT]: (key) => key.ctrl && key.name === 'k',
|
|
25
|
+
[Command.KILL_LINE_LEFT]: (key) => key.ctrl && key.name === 'u',
|
|
26
|
+
[Command.CLEAR_INPUT]: (key) => key.ctrl && key.name === 'c',
|
|
27
|
+
[Command.CLEAR_SCREEN]: (key) => key.ctrl && key.name === 'l',
|
|
28
|
+
[Command.HISTORY_UP]: (key) => key.ctrl && key.name === 'p',
|
|
29
|
+
[Command.HISTORY_DOWN]: (key) => key.ctrl && key.name === 'n',
|
|
30
|
+
[Command.NAVIGATION_UP]: (key) => key.name === 'up',
|
|
31
|
+
[Command.NAVIGATION_DOWN]: (key) => key.name === 'down',
|
|
32
|
+
[Command.ACCEPT_SUGGESTION]: (key) => key.name === 'tab' || (key.name === 'return' && !key.ctrl),
|
|
33
|
+
[Command.COMPLETION_UP]: (key) => key.name === 'up' || (key.ctrl && key.name === 'p'),
|
|
34
|
+
[Command.COMPLETION_DOWN]: (key) => key.name === 'down' || (key.ctrl && key.name === 'n'),
|
|
35
|
+
[Command.ESCAPE]: (key) => key.name === 'escape',
|
|
36
|
+
[Command.SUBMIT]: (key) => key.name === 'return' && !key.ctrl && !key.meta && !key.paste,
|
|
37
|
+
[Command.NEWLINE]: (key) => key.name === 'return' && (key.ctrl || key.meta || key.paste),
|
|
38
|
+
[Command.OPEN_EXTERNAL_EDITOR]: (key) => key.ctrl && (key.name === 'x' || key.sequence === '\x18'),
|
|
39
|
+
[Command.PASTE_CLIPBOARD_IMAGE]: (key) => key.ctrl && key.name === 'v',
|
|
40
|
+
[Command.SHOW_ERROR_DETAILS]: (key) => key.ctrl && key.name === 'o',
|
|
41
|
+
[Command.TOGGLE_TOOL_DESCRIPTIONS]: (key) => key.ctrl && key.name === 't',
|
|
42
|
+
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: (key) => key.ctrl && key.name === 'g',
|
|
43
|
+
[Command.QUIT]: (key) => key.ctrl && key.name === 'c',
|
|
44
|
+
[Command.EXIT]: (key) => key.ctrl && key.name === 'd',
|
|
45
|
+
[Command.SHOW_MORE_LINES]: (key) => key.ctrl && key.name === 's',
|
|
46
|
+
[Command.REVERSE_SEARCH]: (key) => key.ctrl && key.name === 'r',
|
|
47
|
+
[Command.SUBMIT_REVERSE_SEARCH]: (key) => key.name === 'return' && !key.ctrl,
|
|
48
|
+
[Command.ACCEPT_SUGGESTION_REVERSE_SEARCH]: (key) => key.name === 'tab',
|
|
49
|
+
};
|
|
50
|
+
// Test data for each command with positive and negative test cases
|
|
51
|
+
const testCases = [
|
|
52
|
+
// Basic bindings
|
|
53
|
+
{
|
|
54
|
+
command: Command.RETURN,
|
|
55
|
+
positive: [createKey('return')],
|
|
56
|
+
negative: [createKey('r')],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
command: Command.ESCAPE,
|
|
60
|
+
positive: [createKey('escape'), createKey('escape', { ctrl: true })],
|
|
61
|
+
negative: [createKey('e'), createKey('esc')],
|
|
62
|
+
},
|
|
63
|
+
// Cursor movement
|
|
64
|
+
{
|
|
65
|
+
command: Command.HOME,
|
|
66
|
+
positive: [createKey('a', { ctrl: true })],
|
|
67
|
+
negative: [
|
|
68
|
+
createKey('a'),
|
|
69
|
+
createKey('a', { shift: true }),
|
|
70
|
+
createKey('b', { ctrl: true }),
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
command: Command.END,
|
|
75
|
+
positive: [createKey('e', { ctrl: true })],
|
|
76
|
+
negative: [
|
|
77
|
+
createKey('e'),
|
|
78
|
+
createKey('e', { shift: true }),
|
|
79
|
+
createKey('a', { ctrl: true }),
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
// Text deletion
|
|
83
|
+
{
|
|
84
|
+
command: Command.KILL_LINE_RIGHT,
|
|
85
|
+
positive: [createKey('k', { ctrl: true })],
|
|
86
|
+
negative: [createKey('k'), createKey('l', { ctrl: true })],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
command: Command.KILL_LINE_LEFT,
|
|
90
|
+
positive: [createKey('u', { ctrl: true })],
|
|
91
|
+
negative: [createKey('u'), createKey('k', { ctrl: true })],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
command: Command.CLEAR_INPUT,
|
|
95
|
+
positive: [createKey('c', { ctrl: true })],
|
|
96
|
+
negative: [createKey('c'), createKey('k', { ctrl: true })],
|
|
97
|
+
},
|
|
98
|
+
// Screen control
|
|
99
|
+
{
|
|
100
|
+
command: Command.CLEAR_SCREEN,
|
|
101
|
+
positive: [createKey('l', { ctrl: true })],
|
|
102
|
+
negative: [createKey('l'), createKey('k', { ctrl: true })],
|
|
103
|
+
},
|
|
104
|
+
// History navigation
|
|
105
|
+
{
|
|
106
|
+
command: Command.HISTORY_UP,
|
|
107
|
+
positive: [createKey('p', { ctrl: true })],
|
|
108
|
+
negative: [createKey('p'), createKey('up')],
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
command: Command.HISTORY_DOWN,
|
|
112
|
+
positive: [createKey('n', { ctrl: true })],
|
|
113
|
+
negative: [createKey('n'), createKey('down')],
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
command: Command.NAVIGATION_UP,
|
|
117
|
+
positive: [createKey('up'), createKey('up', { ctrl: true })],
|
|
118
|
+
negative: [createKey('p'), createKey('u')],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
command: Command.NAVIGATION_DOWN,
|
|
122
|
+
positive: [createKey('down'), createKey('down', { ctrl: true })],
|
|
123
|
+
negative: [createKey('n'), createKey('d')],
|
|
124
|
+
},
|
|
125
|
+
// Auto-completion
|
|
126
|
+
{
|
|
127
|
+
command: Command.ACCEPT_SUGGESTION,
|
|
128
|
+
positive: [createKey('tab'), createKey('return')],
|
|
129
|
+
negative: [createKey('return', { ctrl: true }), createKey('space')],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
command: Command.COMPLETION_UP,
|
|
133
|
+
positive: [createKey('up'), createKey('p', { ctrl: true })],
|
|
134
|
+
negative: [createKey('p'), createKey('down')],
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
command: Command.COMPLETION_DOWN,
|
|
138
|
+
positive: [createKey('down'), createKey('n', { ctrl: true })],
|
|
139
|
+
negative: [createKey('n'), createKey('up')],
|
|
140
|
+
},
|
|
141
|
+
// Text input
|
|
142
|
+
{
|
|
143
|
+
command: Command.SUBMIT,
|
|
144
|
+
positive: [createKey('return')],
|
|
145
|
+
negative: [
|
|
146
|
+
createKey('return', { ctrl: true }),
|
|
147
|
+
createKey('return', { meta: true }),
|
|
148
|
+
createKey('return', { paste: true }),
|
|
149
|
+
],
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
command: Command.NEWLINE,
|
|
153
|
+
positive: [
|
|
154
|
+
createKey('return', { ctrl: true }),
|
|
155
|
+
createKey('return', { meta: true }),
|
|
156
|
+
createKey('return', { paste: true }),
|
|
157
|
+
],
|
|
158
|
+
negative: [createKey('return'), createKey('n')],
|
|
159
|
+
},
|
|
160
|
+
// External tools
|
|
161
|
+
{
|
|
162
|
+
command: Command.OPEN_EXTERNAL_EDITOR,
|
|
163
|
+
positive: [
|
|
164
|
+
createKey('x', { ctrl: true }),
|
|
165
|
+
{ ...createKey('\x18'), sequence: '\x18', ctrl: true },
|
|
166
|
+
],
|
|
167
|
+
negative: [createKey('x'), createKey('c', { ctrl: true })],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
command: Command.PASTE_CLIPBOARD_IMAGE,
|
|
171
|
+
positive: [createKey('v', { ctrl: true })],
|
|
172
|
+
negative: [createKey('v'), createKey('c', { ctrl: true })],
|
|
173
|
+
},
|
|
174
|
+
// App level bindings
|
|
175
|
+
{
|
|
176
|
+
command: Command.SHOW_ERROR_DETAILS,
|
|
177
|
+
positive: [createKey('o', { ctrl: true })],
|
|
178
|
+
negative: [createKey('o'), createKey('e', { ctrl: true })],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
command: Command.TOGGLE_TOOL_DESCRIPTIONS,
|
|
182
|
+
positive: [createKey('t', { ctrl: true })],
|
|
183
|
+
negative: [createKey('t'), createKey('s', { ctrl: true })],
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
command: Command.TOGGLE_IDE_CONTEXT_DETAIL,
|
|
187
|
+
positive: [createKey('g', { ctrl: true })],
|
|
188
|
+
negative: [createKey('g'), createKey('t', { ctrl: true })],
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
command: Command.QUIT,
|
|
192
|
+
positive: [createKey('c', { ctrl: true })],
|
|
193
|
+
negative: [createKey('c'), createKey('d', { ctrl: true })],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
command: Command.EXIT,
|
|
197
|
+
positive: [createKey('d', { ctrl: true })],
|
|
198
|
+
negative: [createKey('d'), createKey('c', { ctrl: true })],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
command: Command.SHOW_MORE_LINES,
|
|
202
|
+
positive: [createKey('s', { ctrl: true })],
|
|
203
|
+
negative: [createKey('s'), createKey('l', { ctrl: true })],
|
|
204
|
+
},
|
|
205
|
+
// Shell commands
|
|
206
|
+
{
|
|
207
|
+
command: Command.REVERSE_SEARCH,
|
|
208
|
+
positive: [createKey('r', { ctrl: true })],
|
|
209
|
+
negative: [createKey('r'), createKey('s', { ctrl: true })],
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
command: Command.SUBMIT_REVERSE_SEARCH,
|
|
213
|
+
positive: [createKey('return')],
|
|
214
|
+
negative: [createKey('return', { ctrl: true }), createKey('tab')],
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
command: Command.ACCEPT_SUGGESTION_REVERSE_SEARCH,
|
|
218
|
+
positive: [createKey('tab'), createKey('tab', { ctrl: true })],
|
|
219
|
+
negative: [createKey('return'), createKey('space')],
|
|
220
|
+
},
|
|
221
|
+
];
|
|
222
|
+
describe('Data-driven key binding matches original logic', () => {
|
|
223
|
+
testCases.forEach(({ command, positive, negative }) => {
|
|
224
|
+
it(`should match ${command} correctly`, () => {
|
|
225
|
+
positive.forEach((key) => {
|
|
226
|
+
expect(keyMatchers[command](key), `Expected ${command} to match ${JSON.stringify(key)}`).toBe(true);
|
|
227
|
+
expect(originalMatchers[command](key), `Original matcher should also match ${JSON.stringify(key)}`).toBe(true);
|
|
228
|
+
});
|
|
229
|
+
negative.forEach((key) => {
|
|
230
|
+
expect(keyMatchers[command](key), `Expected ${command} to NOT match ${JSON.stringify(key)}`).toBe(false);
|
|
231
|
+
expect(originalMatchers[command](key), `Original matcher should also NOT match ${JSON.stringify(key)}`).toBe(false);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
it('should properly handle ACCEPT_SUGGESTION_REVERSE_SEARCH cases', () => {
|
|
236
|
+
expect(keyMatchers[Command.ACCEPT_SUGGESTION_REVERSE_SEARCH](createKey('return', { ctrl: true }))).toBe(false); // ctrl must be false
|
|
237
|
+
expect(keyMatchers[Command.ACCEPT_SUGGESTION_REVERSE_SEARCH](createKey('tab'))).toBe(true);
|
|
238
|
+
expect(keyMatchers[Command.ACCEPT_SUGGESTION_REVERSE_SEARCH](createKey('tab', { ctrl: true }))).toBe(true); // modifiers ignored
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
describe('Custom key bindings', () => {
|
|
242
|
+
it('should work with custom configuration', () => {
|
|
243
|
+
const customConfig = {
|
|
244
|
+
...defaultKeyBindings,
|
|
245
|
+
[Command.HOME]: [{ key: 'h', ctrl: true }, { key: '0' }],
|
|
246
|
+
};
|
|
247
|
+
const customMatchers = createKeyMatchers(customConfig);
|
|
248
|
+
expect(customMatchers[Command.HOME](createKey('h', { ctrl: true }))).toBe(true);
|
|
249
|
+
expect(customMatchers[Command.HOME](createKey('0'))).toBe(true);
|
|
250
|
+
expect(customMatchers[Command.HOME](createKey('a', { ctrl: true }))).toBe(false);
|
|
251
|
+
});
|
|
252
|
+
it('should support multiple key bindings for same command', () => {
|
|
253
|
+
const config = {
|
|
254
|
+
...defaultKeyBindings,
|
|
255
|
+
[Command.QUIT]: [
|
|
256
|
+
{ key: 'q', ctrl: true },
|
|
257
|
+
{ key: 'q', command: true },
|
|
258
|
+
],
|
|
259
|
+
};
|
|
260
|
+
const matchers = createKeyMatchers(config);
|
|
261
|
+
expect(matchers[Command.QUIT](createKey('q', { ctrl: true }))).toBe(true);
|
|
262
|
+
expect(matchers[Command.QUIT](createKey('q', { meta: true }))).toBe(true);
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
describe('Edge Cases', () => {
|
|
266
|
+
it('should handle empty binding arrays', () => {
|
|
267
|
+
const config = {
|
|
268
|
+
...defaultKeyBindings,
|
|
269
|
+
[Command.HOME]: [],
|
|
270
|
+
};
|
|
271
|
+
const matchers = createKeyMatchers(config);
|
|
272
|
+
expect(matchers[Command.HOME](createKey('a', { ctrl: true }))).toBe(false);
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
//# sourceMappingURL=keyMatchers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyMatchers.test.js","sourceRoot":"","sources":["../../../src/ui/keyMatchers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { describe, it, expect } from 'vitest';
|
|
7
|
+
import { isValidColor, resolveColor, CSS_NAME_TO_HEX_MAP, INK_SUPPORTED_NAMES, } from './color-utils.js';
|
|
8
|
+
describe('Color Utils', () => {
|
|
9
|
+
describe('isValidColor', () => {
|
|
10
|
+
it('should validate hex colors', () => {
|
|
11
|
+
expect(isValidColor('#ff0000')).toBe(true);
|
|
12
|
+
expect(isValidColor('#00ff00')).toBe(true);
|
|
13
|
+
expect(isValidColor('#0000ff')).toBe(true);
|
|
14
|
+
expect(isValidColor('#fff')).toBe(true);
|
|
15
|
+
expect(isValidColor('#000')).toBe(true);
|
|
16
|
+
expect(isValidColor('#FF0000')).toBe(true); // Case insensitive
|
|
17
|
+
});
|
|
18
|
+
it('should validate Ink-supported color names', () => {
|
|
19
|
+
expect(isValidColor('black')).toBe(true);
|
|
20
|
+
expect(isValidColor('red')).toBe(true);
|
|
21
|
+
expect(isValidColor('green')).toBe(true);
|
|
22
|
+
expect(isValidColor('yellow')).toBe(true);
|
|
23
|
+
expect(isValidColor('blue')).toBe(true);
|
|
24
|
+
expect(isValidColor('cyan')).toBe(true);
|
|
25
|
+
expect(isValidColor('magenta')).toBe(true);
|
|
26
|
+
expect(isValidColor('white')).toBe(true);
|
|
27
|
+
expect(isValidColor('gray')).toBe(true);
|
|
28
|
+
expect(isValidColor('grey')).toBe(true);
|
|
29
|
+
expect(isValidColor('blackbright')).toBe(true);
|
|
30
|
+
expect(isValidColor('redbright')).toBe(true);
|
|
31
|
+
expect(isValidColor('greenbright')).toBe(true);
|
|
32
|
+
expect(isValidColor('yellowbright')).toBe(true);
|
|
33
|
+
expect(isValidColor('bluebright')).toBe(true);
|
|
34
|
+
expect(isValidColor('cyanbright')).toBe(true);
|
|
35
|
+
expect(isValidColor('magentabright')).toBe(true);
|
|
36
|
+
expect(isValidColor('whitebright')).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
it('should validate Ink-supported color names case insensitive', () => {
|
|
39
|
+
expect(isValidColor('BLACK')).toBe(true);
|
|
40
|
+
expect(isValidColor('Red')).toBe(true);
|
|
41
|
+
expect(isValidColor('GREEN')).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it('should validate CSS color names', () => {
|
|
44
|
+
expect(isValidColor('darkkhaki')).toBe(true);
|
|
45
|
+
expect(isValidColor('coral')).toBe(true);
|
|
46
|
+
expect(isValidColor('teal')).toBe(true);
|
|
47
|
+
expect(isValidColor('tomato')).toBe(true);
|
|
48
|
+
expect(isValidColor('turquoise')).toBe(true);
|
|
49
|
+
expect(isValidColor('violet')).toBe(true);
|
|
50
|
+
expect(isValidColor('wheat')).toBe(true);
|
|
51
|
+
expect(isValidColor('whitesmoke')).toBe(true);
|
|
52
|
+
expect(isValidColor('yellowgreen')).toBe(true);
|
|
53
|
+
});
|
|
54
|
+
it('should validate CSS color names case insensitive', () => {
|
|
55
|
+
expect(isValidColor('DARKKHAKI')).toBe(true);
|
|
56
|
+
expect(isValidColor('Coral')).toBe(true);
|
|
57
|
+
expect(isValidColor('TEAL')).toBe(true);
|
|
58
|
+
});
|
|
59
|
+
it('should reject invalid color names', () => {
|
|
60
|
+
expect(isValidColor('invalidcolor')).toBe(false);
|
|
61
|
+
expect(isValidColor('notacolor')).toBe(false);
|
|
62
|
+
expect(isValidColor('')).toBe(false);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('resolveColor', () => {
|
|
66
|
+
it('should resolve hex colors', () => {
|
|
67
|
+
expect(resolveColor('#ff0000')).toBe('#ff0000');
|
|
68
|
+
expect(resolveColor('#00ff00')).toBe('#00ff00');
|
|
69
|
+
expect(resolveColor('#0000ff')).toBe('#0000ff');
|
|
70
|
+
expect(resolveColor('#fff')).toBe('#fff');
|
|
71
|
+
expect(resolveColor('#000')).toBe('#000');
|
|
72
|
+
});
|
|
73
|
+
it('should resolve Ink-supported color names', () => {
|
|
74
|
+
expect(resolveColor('black')).toBe('black');
|
|
75
|
+
expect(resolveColor('red')).toBe('red');
|
|
76
|
+
expect(resolveColor('green')).toBe('green');
|
|
77
|
+
expect(resolveColor('yellow')).toBe('yellow');
|
|
78
|
+
expect(resolveColor('blue')).toBe('blue');
|
|
79
|
+
expect(resolveColor('cyan')).toBe('cyan');
|
|
80
|
+
expect(resolveColor('magenta')).toBe('magenta');
|
|
81
|
+
expect(resolveColor('white')).toBe('white');
|
|
82
|
+
expect(resolveColor('gray')).toBe('gray');
|
|
83
|
+
expect(resolveColor('grey')).toBe('grey');
|
|
84
|
+
});
|
|
85
|
+
it('should resolve CSS color names to hex', () => {
|
|
86
|
+
expect(resolveColor('darkkhaki')).toBe('#bdb76b');
|
|
87
|
+
expect(resolveColor('coral')).toBe('#ff7f50');
|
|
88
|
+
expect(resolveColor('teal')).toBe('#008080');
|
|
89
|
+
expect(resolveColor('tomato')).toBe('#ff6347');
|
|
90
|
+
expect(resolveColor('turquoise')).toBe('#40e0d0');
|
|
91
|
+
expect(resolveColor('violet')).toBe('#ee82ee');
|
|
92
|
+
expect(resolveColor('wheat')).toBe('#f5deb3');
|
|
93
|
+
expect(resolveColor('whitesmoke')).toBe('#f5f5f5');
|
|
94
|
+
expect(resolveColor('yellowgreen')).toBe('#9acd32');
|
|
95
|
+
});
|
|
96
|
+
it('should handle case insensitive color names', () => {
|
|
97
|
+
expect(resolveColor('DARKKHAKI')).toBe('#bdb76b');
|
|
98
|
+
expect(resolveColor('Coral')).toBe('#ff7f50');
|
|
99
|
+
expect(resolveColor('TEAL')).toBe('#008080');
|
|
100
|
+
});
|
|
101
|
+
it('should return undefined for invalid colors', () => {
|
|
102
|
+
expect(resolveColor('invalidcolor')).toBeUndefined();
|
|
103
|
+
expect(resolveColor('notacolor')).toBeUndefined();
|
|
104
|
+
expect(resolveColor('')).toBeUndefined();
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe('CSS_NAME_TO_HEX_MAP', () => {
|
|
108
|
+
it('should contain expected CSS color mappings', () => {
|
|
109
|
+
expect(CSS_NAME_TO_HEX_MAP['darkkhaki']).toBe('#bdb76b');
|
|
110
|
+
expect(CSS_NAME_TO_HEX_MAP['coral']).toBe('#ff7f50');
|
|
111
|
+
expect(CSS_NAME_TO_HEX_MAP['teal']).toBe('#008080');
|
|
112
|
+
expect(CSS_NAME_TO_HEX_MAP['tomato']).toBe('#ff6347');
|
|
113
|
+
expect(CSS_NAME_TO_HEX_MAP['turquoise']).toBe('#40e0d0');
|
|
114
|
+
});
|
|
115
|
+
it('should not contain Ink-supported color names', () => {
|
|
116
|
+
expect(CSS_NAME_TO_HEX_MAP['black']).toBeUndefined();
|
|
117
|
+
expect(CSS_NAME_TO_HEX_MAP['red']).toBeUndefined();
|
|
118
|
+
expect(CSS_NAME_TO_HEX_MAP['green']).toBeUndefined();
|
|
119
|
+
expect(CSS_NAME_TO_HEX_MAP['blue']).toBeUndefined();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('INK_SUPPORTED_NAMES', () => {
|
|
123
|
+
it('should contain all Ink-supported color names', () => {
|
|
124
|
+
expect(INK_SUPPORTED_NAMES.has('black')).toBe(true);
|
|
125
|
+
expect(INK_SUPPORTED_NAMES.has('red')).toBe(true);
|
|
126
|
+
expect(INK_SUPPORTED_NAMES.has('green')).toBe(true);
|
|
127
|
+
expect(INK_SUPPORTED_NAMES.has('yellow')).toBe(true);
|
|
128
|
+
expect(INK_SUPPORTED_NAMES.has('blue')).toBe(true);
|
|
129
|
+
expect(INK_SUPPORTED_NAMES.has('cyan')).toBe(true);
|
|
130
|
+
expect(INK_SUPPORTED_NAMES.has('magenta')).toBe(true);
|
|
131
|
+
expect(INK_SUPPORTED_NAMES.has('white')).toBe(true);
|
|
132
|
+
expect(INK_SUPPORTED_NAMES.has('gray')).toBe(true);
|
|
133
|
+
expect(INK_SUPPORTED_NAMES.has('grey')).toBe(true);
|
|
134
|
+
expect(INK_SUPPORTED_NAMES.has('blackbright')).toBe(true);
|
|
135
|
+
expect(INK_SUPPORTED_NAMES.has('redbright')).toBe(true);
|
|
136
|
+
expect(INK_SUPPORTED_NAMES.has('greenbright')).toBe(true);
|
|
137
|
+
expect(INK_SUPPORTED_NAMES.has('yellowbright')).toBe(true);
|
|
138
|
+
expect(INK_SUPPORTED_NAMES.has('bluebright')).toBe(true);
|
|
139
|
+
expect(INK_SUPPORTED_NAMES.has('cyanbright')).toBe(true);
|
|
140
|
+
expect(INK_SUPPORTED_NAMES.has('magentabright')).toBe(true);
|
|
141
|
+
expect(INK_SUPPORTED_NAMES.has('whitebright')).toBe(true);
|
|
142
|
+
});
|
|
143
|
+
it('should not contain CSS color names', () => {
|
|
144
|
+
expect(INK_SUPPORTED_NAMES.has('darkkhaki')).toBe(false);
|
|
145
|
+
expect(INK_SUPPORTED_NAMES.has('coral')).toBe(false);
|
|
146
|
+
expect(INK_SUPPORTED_NAMES.has('teal')).toBe(false);
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
describe('Consistency between validation and resolution', () => {
|
|
150
|
+
it('should have consistent behavior between isValidColor and resolveColor', () => {
|
|
151
|
+
// Test that any color that isValidColor returns true for can be resolved
|
|
152
|
+
const testColors = [
|
|
153
|
+
'#ff0000',
|
|
154
|
+
'#00ff00',
|
|
155
|
+
'#0000ff',
|
|
156
|
+
'#fff',
|
|
157
|
+
'#000',
|
|
158
|
+
'black',
|
|
159
|
+
'red',
|
|
160
|
+
'green',
|
|
161
|
+
'yellow',
|
|
162
|
+
'blue',
|
|
163
|
+
'cyan',
|
|
164
|
+
'magenta',
|
|
165
|
+
'white',
|
|
166
|
+
'gray',
|
|
167
|
+
'grey',
|
|
168
|
+
'darkkhaki',
|
|
169
|
+
'coral',
|
|
170
|
+
'teal',
|
|
171
|
+
'tomato',
|
|
172
|
+
'turquoise',
|
|
173
|
+
'violet',
|
|
174
|
+
'wheat',
|
|
175
|
+
'whitesmoke',
|
|
176
|
+
'yellowgreen',
|
|
177
|
+
];
|
|
178
|
+
for (const color of testColors) {
|
|
179
|
+
expect(isValidColor(color)).toBe(true);
|
|
180
|
+
expect(resolveColor(color)).toBeDefined();
|
|
181
|
+
}
|
|
182
|
+
// Test that invalid colors are consistently rejected
|
|
183
|
+
const invalidColors = [
|
|
184
|
+
'invalidcolor',
|
|
185
|
+
'notacolor',
|
|
186
|
+
'',
|
|
187
|
+
'#gg0000',
|
|
188
|
+
'#ff00',
|
|
189
|
+
];
|
|
190
|
+
for (const color of invalidColors) {
|
|
191
|
+
expect(isValidColor(color)).toBe(false);
|
|
192
|
+
expect(resolveColor(color)).toBeUndefined();
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
//# sourceMappingURL=color-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-utils.test.js","sourceRoot":"","sources":["../../../../src/ui/themes/color-utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ class ThemeManager {
|
|
|
100
100
|
* @returns The active theme.
|
|
101
101
|
*/
|
|
102
102
|
getActiveTheme() {
|
|
103
|
-
if (process.env
|
|
103
|
+
if (process.env['NO_COLOR']) {
|
|
104
104
|
return NoColorTheme;
|
|
105
105
|
}
|
|
106
106
|
// Ensure the active theme is always valid (fall back to default if not)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../../../src/ui/themes/theme-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../../../src/ui/themes/theme-manager.ts"],"names":[],"mappings":"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"}
|