mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	chore(test): add template literal for trimming indentation
This commit is contained in:
		
							
								
								
									
										14
									
								
								spec/support/utils.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								spec/support/utils.spec.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | import { trimIndentation } from "./utils.js"; | ||||||
|  |  | ||||||
|  | describe("Utils", () => { | ||||||
|  |     it("trims indentation", () => { | ||||||
|  |         expect(trimIndentation`\ | ||||||
|  |             Hello | ||||||
|  |                 world | ||||||
|  |             123` | ||||||
|  |         ).toBe(`\ | ||||||
|  | Hello | ||||||
|  |     world | ||||||
|  | 123`); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
							
								
								
									
										21
									
								
								spec/support/utils.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								spec/support/utils.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | export function trimIndentation(strings: TemplateStringsArray) {    | ||||||
|  |     const str = strings.toString(); | ||||||
|  |  | ||||||
|  |     // Count the number of spaces on the first line. | ||||||
|  |     let numSpaces = 0; | ||||||
|  |     while (str.charAt(numSpaces) == ' ' && numSpaces < str.length) { | ||||||
|  |         numSpaces++; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     // Trim the indentation of the first line in all the lines.    | ||||||
|  |     const lines = str.split("\n"); | ||||||
|  |     const output = [];  | ||||||
|  |     for (let i=0; i<lines.length; i++) { | ||||||
|  |         let numSpacesLine = 0; | ||||||
|  |         while (str.charAt(numSpacesLine) == ' ' && numSpacesLine < str.length) { | ||||||
|  |             numSpacesLine++; | ||||||
|  |         } | ||||||
|  |         output.push(lines[i].substring(numSpacesLine)); | ||||||
|  |     } | ||||||
|  |     return output.join("\n"); | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user