/* * 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; }