diff --git a/.changeset/real-dryers-study.md b/.changeset/real-dryers-study.md new file mode 100644 index 000000000..0b6003485 --- /dev/null +++ b/.changeset/real-dryers-study.md @@ -0,0 +1,5 @@ +--- +'@scaleway/regex': minor +--- + +fix: absolute path is more permissive diff --git a/packages/regex/src/__tests__/index.ts b/packages/regex/src/__tests__/index.ts index 54908e5c3..04416e506 100644 --- a/packages/regex/src/__tests__/index.ts +++ b/packages/regex/src/__tests__/index.ts @@ -961,7 +961,7 @@ describe('@regex', () => { }) }) - describe.only('pathSegment', () => { + describe('pathSegment', () => { test.each([ ['/hello', false], ['hello', true], @@ -974,14 +974,20 @@ describe('@regex', () => { }) }) - describe.only('absolutePath', () => { + describe('absolutePath', () => { test.each([ ['/hello', true], + ['/a', true], ['hello', false], - ['/hello nop', false], + ['/hello nop', true], ['/hello?', false], ['/hello-world', true], ['/hello/world', true], + [ + `/hello/world + ciao/test`, + false, + ], ])('should match regex %s to be %s', (string, expected) => { expect(absolutePath.test(string)).toBe(expected) }) diff --git a/packages/regex/src/index.ts b/packages/regex/src/index.ts index d2356ac3e..cc58d60f1 100644 --- a/packages/regex/src/index.ts +++ b/packages/regex/src/index.ts @@ -83,5 +83,4 @@ export const dashedIpv4 = /(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(-(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/ export const pathSegment = /^[_a-zA-Z0-9][-_.a-zA-Z0-9]*[_a-zA-Z0-9]$/ -export const absolutePath = - /^\/([_a-zA-Z0-9][-_.a-zA-Z0-9]*[_a-zA-Z0-9]\/?){1,10}$/ +export const absolutePath = /^\/(([\w. -]*)[^\s?]\/?)+$/