From 2bea0bd50beb580a795b3d23274b3b3e4b8bde75 Mon Sep 17 00:00:00 2001 From: regexowl Date: Tue, 5 Aug 2025 14:03:05 +0200 Subject: [PATCH] Wizard: Update kernel argument validation regex There are special characters missing from the validation regex. --- playwright/Customizations/Kernel.spec.ts | 2 +- src/Components/CreateImageWizard/validators.ts | 2 +- src/test/Components/Blueprints/ImportBlueprintModal.test.tsx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/playwright/Customizations/Kernel.spec.ts b/playwright/Customizations/Kernel.spec.ts index c385cbe1..881459d9 100644 --- a/playwright/Customizations/Kernel.spec.ts +++ b/playwright/Customizations/Kernel.spec.ts @@ -47,7 +47,7 @@ test('Create a blueprint with Kernel customization', async ({ await frame.getByRole('button', { name: 'Add kernel argument' }).click(); await frame .getByPlaceholder('Add kernel argument') - .fill('invalid/argument'); + .fill('invalid$argument'); await frame.getByRole('button', { name: 'Add kernel argument' }).click(); await expect( frame.getByText( diff --git a/src/Components/CreateImageWizard/validators.ts b/src/Components/CreateImageWizard/validators.ts index 59b93ce7..35838256 100644 --- a/src/Components/CreateImageWizard/validators.ts +++ b/src/Components/CreateImageWizard/validators.ts @@ -122,7 +122,7 @@ export const isKernelNameValid = (kernelName: string) => { }; export const isKernelArgumentValid = (arg: string) => { - return /^[a-zA-Z0-9=-_,."']*$/.test(arg); + return /^[a-zA-Z0-9=\-_,."'/:#+]*$/.test(arg); }; export const isPortValid = (port: string) => { diff --git a/src/test/Components/Blueprints/ImportBlueprintModal.test.tsx b/src/test/Components/Blueprints/ImportBlueprintModal.test.tsx index 709f32ae..88200855 100644 --- a/src/test/Components/Blueprints/ImportBlueprintModal.test.tsx +++ b/src/test/Components/Blueprints/ImportBlueprintModal.test.tsx @@ -262,7 +262,7 @@ keyboard = "invalid-keyboard" [customizations.kernel] name = "--invalid-kernel-name--" -append = "invalid-kernel-argument" +append = "invalid$kernel$argument" [customizations.firewall] ports = ["invalid-port"] @@ -640,7 +640,7 @@ describe('Import modal', () => { ); await waitFor(() => user.click( - screen.getByRole('button', { name: /close invalid-kernel-argument/i }) + screen.getByRole('button', { name: /close invalid\$kernel\$argument/i }) ) );