/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
load(libdir + "non262.js");
if (typeof assertWarning === 'undefined') { var assertWarning = function assertWarning(f, pattern) {
enableLastWarning();
// Verify that a warning is issued.
clearLastWarning();
f(); var warning = getLastWarning();
clearLastWarning();
disableLastWarning();
if (warning) { if (!warning.message.match(pattern)) { thrownew Error(`assertWarning failed: "${warning.message}" does not match "${pattern}"`);
} return;
}
thrownew Error("assertWarning failed: no warning");
};
}
if (typeof assertNoWarning === 'undefined') { var assertNoWarning = function assertNoWarning(f, msg) {
enableLastWarning();
// Verify that no warning is issued.
clearLastWarning();
f(); var warning = getLastWarning();
clearLastWarning();
disableLastWarning();
if (warning) { if (msg) {
print("assertNoWarning: " + msg);
}
if (typeof assertErrorMessage === 'undefined') { var assertErrorMessage = function assertErrorMessage(f, ctor, test, message) { try {
f();
} catch (e) { // Propagate non-specific OOM errors, we never test for these with // assertErrorMessage, as there is no meaningful ctor. if (e === "out of memory") { throw e;
} if (!(e instanceof ctor)) { thrownew Error((message ? `${message}: ` : "") + `assertion failed: expected exception ${ctor.name}, got ${e}`);
} if (typeof test == "string") { if (test == e.message) { return;
} thrownew Error((message ? `${message}: ` : "") + `assertion failed: expected message "${test}", got "${e.message}"`);
} if (test instanceof RegExp) { if (test.test(e.message)) { return;
} thrownew Error((message ? `${message}: ` : "") + `assertion failed: expected message ${test.toString()}, got "${e.message}"`);
} if (!test) { thrownew Error((message ? `${message}: ` : "") + `assertErrorMessage requires an error message`);
} thrownew Error((message ? `${message}: ` : "") + `unknown failure in assertErrorMessage: ${e}`);
} thrownew Error((message ? `${message}: ` : "") + `assertion failed: expected exception ${ctor.name}, no exception thrown`);
};
}
if (typeof assertTypeErrorMessage === 'undefined') { var assertTypeErrorMessage = function assertTypeErrorMessage(f, test) {
assertErrorMessage(f, TypeError, test);
};
}
if (typeof assertRangeErrorMessage === 'undefined') { var assertRangeErrorMessage = function assertRangeErrorMessage(f, test) {
assertErrorMessage(f, RangeError, test);
};
}
if (typeof assertArrayEq === 'undefined') { var assertArrayEq = function assertArrayEq(a,b) {
assertEq(a.length, b.length); for (var i = 0; i < a.length; i++) {
assertEq(a[i], b[i]);
}
};
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.