/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
add_task(async
function () {
Assert .ok(
"console" in
this );
const tests = [
// Plain value.
[[42], [
"42" ]],
// Integers.
[[
"%d" , 42], [
"42" ]],
[[
"%i" , 42], [
"42" ]],
[[
"c%iao" , 42], [
"c42ao" ]],
// Floats.
[[
"%2.4f" , 42], [
"42.0000" ]],
[[
"%2.2f" , 42], [
"42.00" ]],
[[
"%1.2f" , 42], [
"42.00" ]],
[[
"a%3.2fb" , 42], [
"a42.00b" ]],
[[
"%f" , NaN], [
"NaN" ]],
// Strings
[[
"%s" , 42], [
"42" ]],
// Empty values.
[
[
"" , 42],
[
"" ,
"42" ],
],
[
[
"" , 42],
[
"" ,
"42" ],
],
];
let p =
new Promise(resolve => {
let t = 0;
function consoleListener() {
addConsoleStorageListener(
this );
}
consoleListener.prototype = {
observe(aSubject) {
let test = tests[t++];
let obj = aSubject.wrappedJSObject;
Assert .equal(
obj.arguments.length,
test[1].length,
"Same number of arguments"
);
for (let i = 0; i < test[1].length; ++i) {
Assert .equal(
"" + obj.arguments[i],
test[1][i],
"Message received: " + test[1][i]
);
}
if (t === tests.length) {
removeConsoleStorageListener(
this );
resolve();
}
},
};
new consoleListener();
});
tests.forEach(test => {
console.log(...test[0]);
});
await p;
});
Messung V0.5 C=93 H=92 G=92
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland