diff --git a/lib/validations.accessibility.test.ts b/lib/validations.accessibility.test.ts index e69bb2d86..5ed8bff39 100644 --- a/lib/validations.accessibility.test.ts +++ b/lib/validations.accessibility.test.ts @@ -6,6 +6,8 @@ describe('validations.ts - Accessibility Standards & Screen Reader Aria Complian // Assert schema function returns expected output expect(validateGitHubUsername('octocat')).toBe(true); expect(validateGitHubUsername('invalid--user')).toBe(false); + expect(validateGitHubUsername('a'.repeat(39))).toBe(true); + expect(validateGitHubUsername('a'.repeat(40))).toBe(false); const validationAlert = { role: 'alert', diff --git a/lib/validations.ts b/lib/validations.ts index b5119196d..e37cc11ef 100644 --- a/lib/validations.ts +++ b/lib/validations.ts @@ -67,7 +67,7 @@ export function toDimensionValue(val?: string): number | undefined { } export function validateGitHubUsername(username: string): boolean { - return /^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$/i.test(username); + return GITHUB_USERNAME_REGEX.test(username); } /** @@ -141,7 +141,7 @@ const timeZoneParam = z .optional() .refine(isValidTimeZone, { message: 'Invalid timezone' }); -export const GITHUB_USERNAME_REGEX = /^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9]))*$/; +export const GITHUB_USERNAME_REGEX = /^[a-zA-Z0-9](?:[a-zA-Z0-9]|-(?=[a-zA-Z0-9])){0,38}$/; export const githubUsernameSchema = z .string({ error: 'Invalid GitHub username' })