var o = {
valueOf : function () {
return {
toString : function () { return "fail" }
}
},
toString : function () { return "good" }
};
var p = {
valueOf : function () {
return {
toString : function () { return "0" }
}
},
toString : function () { return "7" }
};
var q = {
toString : function () {
return {
valueOf : function () { return "0" }
}
},
valueOf : function () { return "7" }
};
function assert (b, s) {
if (b)
return ;
assertEq("imacro produces incorrect result for " + s, "fail" );
}
function run() {
for (var i = 0; i < 5; ++i) {
// equality / inequality
assert (!(o == "fail" ), "obj == any" );
assert (!("fail" == o), "any == obj" );
assert (!(o != "good" ), "obj != any" );
assert (!("good" != o), "any != obj" );
// binary
assert (!((p | 3) != 7), "obj | any" );
assert (!((3 | p) != 7), "any | obj" );
assert (!((p | p) != 7), "obj | obj" );
assert (!((p & 3) != 3), "obj & any" );
assert (!((3 & p) != 3), "any & obj" );
assert (!((p & p) != 7), "obj & obj" );
assert (!((p * 3) != 21), "obj * any" );
assert (!((3 * p) != 21), "any * obj" );
assert (!((p * p) != 49), "obj * obj" );
// addition
assert (!(o + "" != "good" ), "obj + any" );
assert (!("" + o != "good" ), "any + obj" );
assert (!(o + o != "goodgood" ), "any + any" );
// sign
assert (!(-p != -7), "-obj" );
assert (!(+p != 7), "+obj" );
// String
assert (!(String(q) != "7" ), "String(obj)" );
assert (!(new String(q) != "7" ), "new String(obj)" );
}
return true ;
}
run();
Messung V0.5 C=91 H=96 G=93
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland