detector-same-object.https.html (2773B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="resources/shapedetection-helpers.js"></script> 5 <script> 6 7 // These tests verify that detect()ed Detected{Barcode,Face, Text}'s individual 8 // fields are [SameObject]. 9 const imageDataTests = 10 [ 11 { 12 createDetector: () => { return new FaceDetector(); }, 13 mockTestName: "FaceDetectionTest", 14 detectionResultTest: CheckDetectedFaceSameObjects, 15 name: "Face - detect(ImageData), [SameObject]" 16 }, 17 { 18 createDetector: () => { return new BarcodeDetector(); }, 19 mockTestName: "BarcodeDetectionTest", 20 detectionResultTest: CheckDetectedBarcodesSameObjects, 21 name: "Barcode - detect(ImageData), [SameObject]" 22 }, 23 { 24 createDetector: () => { return new TextDetector(); }, 25 mockTestName: "TextDetectionTest", 26 detectionResultTest: CheckDetectedTextBlocksSameObjects, 27 name: "Text - detect(ImageData), [SameObject]", 28 } 29 ]; 30 31 for (let imageDataTest of imageDataTests) { 32 detection_test(imageDataTest.mockTestName, async t => { 33 const img = new Image(); 34 const imgWatcher = new EventWatcher(t, img, ["load", "error"]); 35 img.src = "/images/green-16x16.png"; 36 await imgWatcher.wait_for("load"); 37 const canvas = document.createElement("canvas"); 38 canvas.getContext("2d").drawImage(img, 0, 0); 39 40 const detector = imageDataTest.createDetector(); 41 const detectionResult = await detector.detect(canvas.getContext("2d") 42 .getImageData(0, 0, canvas.width, canvas.height)); 43 imageDataTest.detectionResultTest(detectionResult); 44 }, imageDataTest.name); 45 } 46 47 function CheckDetectedFaceSameObjects(detectedFaces) { 48 assert_greater_than(detectedFaces.length, 0, "Number of faces"); 49 assert_equals(detectedFaces[0].boundingBox, detectedFaces[0].boundingBox); 50 assert_equals(detectedFaces[0].landmarks, detectedFaces[0].landmarks); 51 } 52 53 function CheckDetectedBarcodesSameObjects(detectedBarcodes) { 54 assert_greater_than(detectedBarcodes.length, 0, "Number of barcodes"); 55 assert_equals(detectedBarcodes[0].rawValue, detectedBarcodes[0].rawValue); 56 assert_equals(detectedBarcodes[0].boundingBox, detectedBarcodes[0].boundingBox); 57 assert_equals(detectedBarcodes[0].format, detectedBarcodes[0].format); 58 assert_equals(detectedBarcodes[0].cornerPoints, detectedBarcodes[0].cornerPoints); 59 } 60 61 function CheckDetectedTextBlocksSameObjects(detectedTextBlocks) { 62 assert_greater_than(detectedTextBlocks.length, 0, "Number of textBlocks"); 63 assert_equals(detectedTextBlocks[0].rawValue, detectedTextBlocks[0].rawValue); 64 assert_equals(detectedTextBlocks[0].boundingBox, detectedTextBlocks[0].boundingBox); 65 } 66 67 </script>