2016-07-05 22:45:17 +02:00
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
|
2016-07-19 18:42:34 +02:00
|
|
|
function guard(f) {
|
|
|
|
return function() {
|
2016-07-05 22:45:17 +02:00
|
|
|
try {
|
2016-07-19 18:42:34 +02:00
|
|
|
f();
|
2016-07-05 22:45:17 +02:00
|
|
|
}catch(e) {
|
2019-07-01 15:30:40 +02:00
|
|
|
var msg = "Got exception ";
|
|
|
|
if(e && typeof(e) == "object" && "message")
|
|
|
|
msg += e.msg;
|
|
|
|
else
|
|
|
|
msg += e;
|
|
|
|
ok(false, msg);
|
2016-07-05 22:45:17 +02:00
|
|
|
}
|
2016-07-19 18:42:34 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
function next_test() {
|
|
|
|
var test = tests.shift();
|
|
|
|
window.setTimeout(guard(test), 0);
|
2016-07-05 22:45:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function run_tests() {
|
|
|
|
tests.push(reportSuccess);
|
|
|
|
next_test();
|
|
|
|
}
|
|
|
|
|
|
|
|
function ok(b,m) {
|
2019-07-01 15:30:49 +02:00
|
|
|
return external.ok(b, format_message(m));
|
2016-07-05 22:45:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function trace(m) {
|
2019-07-01 15:30:49 +02:00
|
|
|
external.trace(format_message(m));
|
2016-07-05 22:45:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function win_skip(m) {
|
|
|
|
external.win_skip(m);
|
|
|
|
}
|
|
|
|
|
|
|
|
function reportSuccess() {
|
|
|
|
external.reportSuccess();
|
|
|
|
}
|
2017-10-12 14:27:24 +02:00
|
|
|
|
|
|
|
var todo_wine = {
|
|
|
|
ok: function(b,m) {
|
2019-07-01 15:30:49 +02:00
|
|
|
return external.todo_wine_ok(b, format_message(m));
|
2017-10-12 14:27:24 +02:00
|
|
|
}
|
|
|
|
};
|
2018-05-11 14:43:20 +02:00
|
|
|
|
|
|
|
function todo_wine_if(expr) {
|
|
|
|
return expr ? todo_wine : { ok: ok };
|
|
|
|
}
|
2019-07-01 15:30:49 +02:00
|
|
|
|
|
|
|
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;
|
|
|
|
}
|