generated from Seekra/repository-template
Feat(settings): add renderer for settings configuration #142
@@ -55,7 +55,9 @@ describe('useSettingsPage', () => {
|
|||||||
{ path: 'a-1.#b.c/', expected: ['a-1', 'b', 'c'] },
|
{ path: 'a-1.#b.c/', expected: ['a-1', 'b', 'c'] },
|
||||||
{ path: 'a-1.b@.c', expected: ['a-1', 'b', 'c'] },
|
{ path: 'a-1.b@.c', expected: ['a-1', 'b', 'c'] },
|
||||||
{ 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.#§c..dä....', expected: ['a', 'b', 'c', 'd'] },
|
||||||
|
{ path: '..,...~..@a/#.+..)!&§[b.#§c..dä..)..', expected: ['a', 'b', 'c', 'd'] },
|
||||||
|
{ path: 'a.@.b', expected: ['a', 'b'] }
|
||||||
])('normalizes path correctly', async ({ path, expected }) => {
|
])('normalizes path correctly', async ({ path, expected }) => {
|
||||||
expect(normalizePagePath(path)).toStrictEqual(expected);
|
expect(normalizePagePath(path)).toStrictEqual(expected);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ import { useRouter } from 'vue-router';
|
|||||||
|
|
||||||
export const normalizePagePath = function normalizePagePath (path) {
|
export const normalizePagePath = function normalizePagePath (path) {
|
||||||
return path
|
return path
|
||||||
.replace(/\.+/g, '.')
|
|
||||||
.replace(/^\.+|\.+$/g, '')
|
.replace(/^\.+|\.+$/g, '')
|
||||||
.split('.')
|
.split('.')
|
||||||
.map(
|
.map(
|
||||||
(segment) => segment.replace(/[^a-zA-Z0-9-]/g, '')
|
(segment) => segment.replace(/[^a-zA-Z0-9-]/g, '')
|
||||||
);
|
)
|
||||||
|
.filter(Boolean);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useSettingsPage = function useSettingsPage () {
|
export const useSettingsPage = function useSettingsPage () {
|
||||||
|
|||||||
Reference in New Issue
Block a user