| 
									
										
										
										
											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(); |