Notes/spec-es6/sanitize_attribute_name.spec.ts

40 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-01-09 18:07:02 +02:00
import sanitizeAttributeName from "../src/services/sanitize_attribute_name";
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-09 18:07:02 +02:00
// numbers
["123456", "123456"],
["123:456", "123:456"],
["123456 abc", "123456_abc"],
2025-01-09 18:07:02 +02:00
// non-latin characters
["ε", "ε"],
["attribute ε", "attribute_ε"],
2025-01-09 18:07:02 +02:00
// special characters
["test/name", "test_name"],
["test%name", "test_name"],
["\/", "_"],
2025-01-09 18:07:02 +02:00
// empty string
["", "unnamed"]
];
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();