feat(settings): add page path normalization type check

Added a type check to the normalizePagePath function. The function now
returns an empty array if the path is not a string.
This commit is contained in:
2026-07-28 20:10:22 +02:00
parent 6b347bb845
commit 24b4e45116
2 changed files with 7 additions and 1 deletions
@@ -57,7 +57,12 @@ describe('useSettingsPage', () => {
{ path: '....@a/#...)!&§[b.#§c..d....', expected: ['a', 'b', 'c', 'd'] },
{ path: '....@a/#...)!&§[b.#§c..dä....', expected: ['a', 'b', 'c', 'd'] },
{ path: '..,...~..@a/#.+..)!&§[b.#§c..dä..)..', expected: ['a', 'b', 'c', 'd'] },
{ path: 'a.@.b', expected: ['a', 'b'] }
{ path: 'a.@.b', expected: ['a', 'b'] },
{ path: 1, expected: [] },
{ path: false, expected: [] },
{ path: true, expected: [] },
{ path: null, expected: [] },
{ path: undefined, expected: [] }
])('normalizes path correctly', async ({ path, expected }) => {
expect(normalizePagePath(path)).toStrictEqual(expected);
});
@@ -17,6 +17,7 @@ limitations under the License.
import { useRouter } from 'vue-router';
export const normalizePagePath = function normalizePagePath (path) {
if (typeof path !== 'string') return [];
return path
.replace(/^\.+|\.+$/g, '')
.split('.')