feat: test toegevoegd base64
This commit is contained in:
		
							parent
							
								
									7d78cd1440
								
							
						
					
					
						commit
						f62baae90f
					
				
					 5 changed files with 78 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								frontend/public/base64Sample.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								frontend/public/base64Sample.txt
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										52
									
								
								frontend/public/test-base64-image.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								frontend/public/test-base64-image.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | ||||||
|  | <!DOCTYPE html> | ||||||
|  | <html lang="en"> | ||||||
|  | <head> | ||||||
|  |     <meta charset="UTF-8"> | ||||||
|  |     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||||
|  |     <title>Base64 Image Test</title> | ||||||
|  |     <script> | ||||||
|  |         function convertBase64ToImageSrc(base64String) { | ||||||
|  |             return base64String.startsWith("data:image") | ||||||
|  |                 ? base64String | ||||||
|  |                 : `data:image/png;base64,${base64String}`; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         async function loadImage() { | ||||||
|  |             try { | ||||||
|  |                 const response = await fetch('base64Sample.txt'); | ||||||
|  |                 const base64String = await response.text(); | ||||||
|  | 
 | ||||||
|  |                 if (!base64String.trim()) { | ||||||
|  |                     console.error("❌ No Base64 data found in the file"); | ||||||
|  |                     return; | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |                 console.log("📸 Base64 Data (first 50 chars):", base64String.substring(0, 50) + "..."); | ||||||
|  | 
 | ||||||
|  |                 const imgElement = document.getElementById('imagePreview'); | ||||||
|  |                 imgElement.src = convertBase64ToImageSrc(base64String); | ||||||
|  |                 imgElement.alt = "Base64 Test Image"; | ||||||
|  | 
 | ||||||
|  |                 // Handle load event | ||||||
|  |                 imgElement.onload = () => { | ||||||
|  |                     console.log("✅ Image loaded successfully!"); | ||||||
|  |                 }; | ||||||
|  | 
 | ||||||
|  |                 imgElement.onerror = () => { | ||||||
|  |                     console.error("❌ Image failed to load!"); | ||||||
|  |                 }; | ||||||
|  | 
 | ||||||
|  |             } catch (error) { | ||||||
|  |                 console.error("❌ Error fetching Base64 image:", error); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         window.onload = loadImage; | ||||||
|  |     </script> | ||||||
|  | </head> | ||||||
|  | <body> | ||||||
|  | <h1>Base64 Image Test</h1> | ||||||
|  | <p>This page will fetch and display a Base64 image from <code>tests/base64.txt</code>.</p> | ||||||
|  | <img id="imagePreview" src="" alt="Loading image..." width="300"> | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
							
								
								
									
										1
									
								
								frontend/tests/base64/base64Sample.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								frontend/tests/base64/base64Sample.txt
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										24
									
								
								frontend/tests/base64/base64ToImage.test.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								frontend/tests/base64/base64ToImage.test.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | import { describe, it, expect, beforeAll } from 'vitest'; | ||||||
|  | import { convertBase64ToImageSrc } from '../../src/utils/base64ToImage.js'; | ||||||
|  | import fs from 'fs'; | ||||||
|  | import path from 'path'; | ||||||
|  | 
 | ||||||
|  | let sampleBase64: string; | ||||||
|  | 
 | ||||||
|  | beforeAll(() => { | ||||||
|  |     // Load base64 sample from text file
 | ||||||
|  |     const filePath = path.resolve(__dirname, 'base64Sample.txt'); | ||||||
|  |     sampleBase64 = fs.readFileSync(filePath, 'utf8').trim(); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | describe('convertBase64ToImageSrc', () => { | ||||||
|  |     it('should return the same string if it is already a valid data URL', () => { | ||||||
|  |         const base64Image = `data:image/png;base64,${sampleBase64}`; | ||||||
|  |         expect(convertBase64ToImageSrc(base64Image)).toBe(base64Image); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     it('should correctly format a raw Base64 string as a PNG image URL', () => { | ||||||
|  |         expect(convertBase64ToImageSrc(sampleBase64)).toBe(`data:image/png;base64,${sampleBase64}`); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  | }); | ||||||
		Reference in a new issue
	
	 Gabriellvl
						Gabriellvl