mirror of
https://github.com/zadam/trilium.git
synced 2025-11-03 04:59:04 +01:00
38 lines
1.0 KiB
TypeScript
38 lines
1.0 KiB
TypeScript
import { expect, describe, it } from "vitest";
|
|
import sanitizeAttributeName from "./sanitize_attribute_name.js";
|
|
|
|
// fn value, expected value
|
|
const testCases: [fnValue: string, expectedValue: string][] = [
|
|
[ "testName", "testName" ],
|
|
[ "test_name", "test_name" ],
|
|
[ "test with space", "test_with_space" ],
|
|
[ "test:with:colon", "test:with:colon" ],
|
|
|
|
// numbers
|
|
[ "123456", "123456" ],
|
|
[ "123:456", "123:456" ],
|
|
[ "123456 abc", "123456_abc" ],
|
|
|
|
// non-latin characters
|
|
[ "ε", "ε" ],
|
|
[ "attribute ε", "attribute_ε" ],
|
|
|
|
// special characters
|
|
[ "test/name", "test_name" ],
|
|
[ "test%name", "test_name" ],
|
|
[ "\/", "_" ],
|
|
|
|
// empty string
|
|
[ "", "unnamed" ]
|
|
];
|
|
|
|
describe("sanitizeAttributeName unit tests", () => {
|
|
testCases.forEach((testCase) => {
|
|
return it(`'${testCase[0]}' should return '${testCase[1]}'`, () => {
|
|
const [ value, expected ] = testCase;
|
|
const actual = sanitizeAttributeName(value);
|
|
expect(actual).toStrictEqual(expected);
|
|
});
|
|
});
|
|
});
|