| <!DOCTYPE html> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| // This test verifies *Detector.detect() rejects the promise when fed with |
| // an HTMLImageElement with an empty 'src'. |
| const emptyInputTests = [ |
| { |
| createDetector: () => { return new FaceDetector(); }, |
| name: "Face - detect(empty src)" |
| }, |
| { |
| createDetector: () => { return new BarcodeDetector(); }, |
| name: "Barcode - detect(empty src)" |
| }, |
| { |
| createDetector: () => { return new TextDetector(); }, |
| name: "Text - detect(empty src)" |
| } |
| ]; |
| |
| for (let emptyInputTest of emptyInputTests) { |
| promise_test(async t => { |
| const img = new Image(); |
| const imgWatcher = new EventWatcher(t, img, ["load", "error"]); |
| img.src = ""; |
| await imgWatcher.wait_for("error"); |
| |
| const detector = emptyInputTest.createDetector(); |
| promise_rejects_dom(t, "InvalidStateError", detector.detect(img)); |
| }, emptyInputTest.name); |
| } |
| </script> |