2025-01-09 18:07:02 +02:00
|
|
|
import sanitizeAttributeName from "../src/services/sanitize_attribute_name";
|
2025-01-02 18:16:13 +01:00
|
|
|
import { describe, it, execute, expect } from "./mini_test";
|
|
|
|
|
|
|
|
// fn value, expected value
|
|
|
|
const testCases: [fnValue: string, expectedValue: string][] = [
|
2025-01-09 18:07:02 +02:00
|
|
|
["testName", "testName"],
|
|
|
|
["test_name", "test_name"],
|
|
|
|
["test with space", "test_with_space"],
|
|
|
|
["test:with:colon", "test:with:colon"],
|
2025-01-02 18:16:13 +01:00
|
|
|
|
2025-01-09 18:07:02 +02:00
|
|
|
// numbers
|
|
|
|
["123456", "123456"],
|
|
|
|
["123:456", "123:456"],
|
|
|
|
["123456 abc", "123456_abc"],
|
2025-01-02 18:16:13 +01:00
|
|
|
|
2025-01-09 18:07:02 +02:00
|
|
|
// non-latin characters
|
|
|
|
["ε", "ε"],
|
|
|
|
["attribute ε", "attribute_ε"],
|
2025-01-02 18:16:13 +01:00
|
|
|
|
2025-01-09 18:07:02 +02:00
|
|
|
// special characters
|
|
|
|
["test/name", "test_name"],
|
|
|
|
["test%name", "test_name"],
|
|
|
|
["\/", "_"],
|
2025-01-02 18:16:13 +01:00
|
|
|
|
2025-01-09 18:07:02 +02:00
|
|
|
// empty string
|
|
|
|
["", "unnamed"]
|
|
|
|
];
|
2025-01-02 18:16:13 +01:00
|
|
|
|
|
|
|
describe("sanitizeAttributeName unit tests", () => {
|
2025-01-09 18:07:02 +02:00
|
|
|
testCases.forEach((testCase) => {
|
|
|
|
return it(`'${testCase[0]}' should return '${testCase[1]}'`, () => {
|
|
|
|
const [value, expected] = testCase;
|
|
|
|
const actual = sanitizeAttributeName(value);
|
|
|
|
expect(actual).toEqual(expected);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
execute();
|