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