This commit is contained in:
17
src/lib/server/slugify.test.ts
Normal file
17
src/lib/server/slugify.test.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { slugify, validSlug } from './slugify';
|
||||
|
||||
describe('content slugs', () => {
|
||||
it('turns titles into readable URL segments', () => {
|
||||
expect(slugify('Hello, World!')).toBe('hello-world');
|
||||
expect(slugify(' A / B ')).toBe('a-b');
|
||||
expect(slugify('!!!', 'list')).toBe('list');
|
||||
});
|
||||
|
||||
it('accepts only canonical editable slugs', () => {
|
||||
expect(validSlug('my-list-2026')).toBe(true);
|
||||
for (const value of ['My-List', 'two words', '-leading', 'trailing-', 'double--dash', '']) {
|
||||
expect(validSlug(value)).toBe(false);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user