mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 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][] = [
 | |
|     ["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).toEqual(expected);
 | |
|         });
 | |
|     });
 | |
| });
 | |
| 
 | |
| execute();
 |