78 lines
1.9 KiB
JavaScript
78 lines
1.9 KiB
JavaScript
/*
|
|
* Copyright 2016 Jacek Caban for CodeWeavers
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
function guard(f) {
|
|
return function() {
|
|
try {
|
|
f();
|
|
}catch(e) {
|
|
var msg = "Got exception ";
|
|
if(e && typeof(e) == "object" && "message")
|
|
msg += e.msg;
|
|
else
|
|
msg += e;
|
|
ok(false, msg);
|
|
}
|
|
};
|
|
}
|
|
|
|
function next_test() {
|
|
var test = tests.shift();
|
|
window.setTimeout(guard(test), 0);
|
|
}
|
|
|
|
function run_tests() {
|
|
tests.push(reportSuccess);
|
|
next_test();
|
|
}
|
|
|
|
function ok(b,m) {
|
|
return external.ok(b, format_message(m));
|
|
}
|
|
|
|
function trace(m) {
|
|
external.trace(format_message(m));
|
|
}
|
|
|
|
function win_skip(m) {
|
|
external.win_skip(m);
|
|
}
|
|
|
|
function reportSuccess() {
|
|
external.reportSuccess();
|
|
}
|
|
|
|
var todo_wine = {
|
|
ok: function(b,m) {
|
|
return external.todo_wine_ok(b, format_message(m));
|
|
}
|
|
};
|
|
|
|
function todo_wine_if(expr) {
|
|
return expr ? todo_wine : { ok: ok };
|
|
}
|
|
|
|
var file_prefix = document.location.pathname;
|
|
if(document.location.search)
|
|
file_prefix += document.location.search;
|
|
file_prefix += ": ";
|
|
|
|
function format_message(msg) {
|
|
return file_prefix + msg;
|
|
}
|