forked from MapComplete/MapComplete
		
	Fix tests
This commit is contained in:
		
							parent
							
								
									503cecf4b8
								
							
						
					
					
						commit
						639253d971
					
				
					 1 changed files with 10 additions and 6 deletions
				
			
		|  | @ -81,6 +81,8 @@ async function validateScriptIntegrityOf(path: string): Promise<void> { | |||
|     const doc = parse_html(htmlContents) | ||||
|     // @ts-ignore
 | ||||
|     const scripts = Array.from(doc.getElementsByTagName("script")) | ||||
|     // Maps source URL onto hash
 | ||||
|     const cachedHashes: Record<string, string> = {} | ||||
|     for (const script of scripts) { | ||||
|         let src = script.getAttribute("src") | ||||
|         if (src === undefined) { | ||||
|  | @ -102,13 +104,15 @@ async function validateScriptIntegrityOf(path: string): Promise<void> { | |||
|         if (src.startsWith("//")) { | ||||
|             src = "https:" + src | ||||
|         } | ||||
|         if (cachedHashes[src] === undefined) { | ||||
|             // Using 'scriptUtils' actually fetches data from the internet, it is not prohibited by the testHooks
 | ||||
|             const data: string = (await ScriptUtils.Download(src))["content"] | ||||
|             const hashed = await webcrypto.subtle.digest("SHA-384", new TextEncoder().encode(data)) | ||||
|         const hashedStr = _arrayBufferToBase64(hashed) | ||||
|         console.log(src, hashedStr, integrity) | ||||
|             cachedHashes[src] = _arrayBufferToBase64(hashed) | ||||
|         } | ||||
|         console.log(src, cachedHashes[src], integrity) | ||||
|         expect(integrity).to.equal( | ||||
|             "sha384-" + hashedStr, | ||||
|             "sha384-" + cachedHashes[src], | ||||
|             "Loading a script from '" + src + "' in the file " + path + " has a mismatched checksum" | ||||
|         ) | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue