mirror of
https://github.com/opencv/opencv.git
synced 2024-12-16 10:29:11 +08:00
ab2c59b80e
Fix Test Case: in latest version, window.cv is a promise instance that makes most test case failed. * Fix Browser Test Case: In latest version, window.cv is a promise instance In latest version of opencv.js, window.cv is promise instance. So that most of the test cases is run failed. This commit is to fix browser test case. * Add comment for backward compatible Add comments for backward compatible
118 lines
4.5 KiB
HTML
118 lines
4.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>OpenCV JS Tests</title>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
|
|
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.20.0.css" type="text/css" media="screen">
|
|
<style>
|
|
body {
|
|
font-family: Monospace;
|
|
background-color: #ffffff;
|
|
margin: 0px;
|
|
}
|
|
a {
|
|
color: #0040ff;
|
|
}
|
|
</style>
|
|
<script src="http://code.jquery.com/qunit/qunit-2.0.1.js"></script>
|
|
<script type="text/javascript">
|
|
QUnit.config.autostart = false;
|
|
|
|
QUnit.log(function(details) {
|
|
if (details.result) {
|
|
return;
|
|
}
|
|
var loc = details.module + ": " + details.name + ": ",
|
|
output = "FAILED: " + loc + ( details.message ? details.message : "" )
|
|
prefix = details.message ? ", " : "";
|
|
|
|
if (details.actual) {
|
|
output += prefix + "expected: " + details.expected + ", actual: " + details.actual;
|
|
prefix = ', ';
|
|
}
|
|
if (details.source) {
|
|
output += prefix + details.source;
|
|
}
|
|
console.warn(output);
|
|
});
|
|
QUnit.done(function(details) {
|
|
console.log("Total: " + details.total + " Failed: " + details.failed + " Passed: " + details.passed);
|
|
console.log("Time(ms): " + details.runtime);
|
|
});
|
|
|
|
// Helper for opencv.js (see below)
|
|
var Module = {
|
|
preRun: [function() {
|
|
Module.FS_createPreloadedFile('/', 'haarcascade_frontalface_default.xml', 'haarcascade_frontalface_default.xml', true, false);
|
|
}],
|
|
postRun: [] ,
|
|
onRuntimeInitialized: function() {
|
|
console.log("Emscripten runtime is ready, launching QUnit tests...");
|
|
if (window.cv instanceof Promise) {
|
|
window.cv.then((target) => {
|
|
window.cv = target;
|
|
//console.log(cv.getBuildInformation());
|
|
QUnit.start();
|
|
})
|
|
} else {
|
|
// for backward compatible
|
|
// console.log(cv.getBuildInformation());
|
|
QUnit.start();
|
|
}
|
|
},
|
|
print: (function() {
|
|
var element = document.getElementById('output');
|
|
if (element) element.value = ''; // clear browser cache
|
|
return function(text) {
|
|
console.log(text);
|
|
if (element) {
|
|
element.value += text + "\n";
|
|
element.scrollTop = element.scrollHeight; // focus on bottom
|
|
}
|
|
};
|
|
})(),
|
|
printErr: function(text) {
|
|
console.error(text);
|
|
},
|
|
setStatus: function(text) {
|
|
console.log(text);
|
|
},
|
|
totalDependencies: 0
|
|
};
|
|
|
|
Module.setStatus('Downloading...');
|
|
window.onerror = function(event) {
|
|
Module.setStatus('Exception thrown, see JavaScript console');
|
|
Module.setStatus = function(text) {
|
|
if (text) Module.printErr('[post-exception status] ' + text);
|
|
};
|
|
};
|
|
|
|
function opencvjs_LoadError() {
|
|
Module.printErr('Failed to load/initialize opencv.js');
|
|
QUnit.module('LoaderFatalError', {});
|
|
QUnit.config.module = 'LoaderFatalError';
|
|
QUnit.only("Failed to load OpenCV.js", function(assert) {
|
|
assert.ok(false, "Can't load/initialize opencv.js");
|
|
});
|
|
QUnit.start();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="qunit"></div>
|
|
<div id="qunit-fixture"></div>
|
|
|
|
<script type="application/javascript" async src="opencv.js" onerror="opencvjs_LoadError()"></script>
|
|
<script type="application/javascript" src="test_mat.js"></script>
|
|
<script type="application/javascript" src="test_utils.js"></script>
|
|
<script type="application/javascript" src="test_imgproc.js"></script>
|
|
<script type="application/javascript" src="test_objdetect.js"></script>
|
|
<script type="application/javascript" src="test_video.js"></script>
|
|
<script type="application/javascript" src="test_features2d.js"></script>
|
|
<script type="application/javascript" src="test_calib3d.js"></script>
|
|
</body>
|
|
</html>
|