Update of /cvsroot/nice/Nice/testsuite/compiler/expressions/operators
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26705/testsuite/compiler/expressions/operators
Added Files:
equality-primitive-optional.testsuite
Log Message:
Correctly compare possibly null values with primitive values by unwrapping
the possibly null value and performing a native comparison. Wrapping the
primitive value and performing reference comparison could return false even
with identical values. (fixes #1090679)
--- NEW FILE: equality-primitive-optional.testsuite ---
/// COMMENT Boolean jumps, non-primitive first
/// PASS
// bug #1090679
var ?int charcode = 64+1;
assert charcode == 65;
assert !(charcode == 0);
assert !(charcode == null);
/// PASS
var ?int charcode = 64+1;
assert !(charcode != 65);
assert charcode != 0;
assert charcode != null;
/// COMMENT Boolean jumps, primitive first
/// PASS
var ?int charcode = 64+1;
assert 65 == charcode;
assert !(0 == charcode);
assert !(null == charcode);
/// PASS
var ?int charcode = 64+1;
assert !(65 != charcode);
assert 0 != charcode;
assert null != charcode;
/// COMMENT Boolean assignments, non-primitive first
/// PASS
var ?int charcode = 64+1;
var res = charcode == 65;
assert res;
res = charcode == 0;
assert !res;
res = charcode == null;
assert !res;
/// PASS
var ?int charcode = 64+1;
var res = charcode != 65;
assert !res;
res = charcode != 0;
assert res;
res = charcode != null;
assert res;
/// COMMENT Boolean assignments, primitive first
/// PASS
var ?int charcode = 64+1;
var res = 65 == charcode;
assert res;
res = 0 == charcode;
assert !res;
res = null == charcode;
assert !res;
/// PASS
var ?int charcode = 64+1;
var res = 65 != charcode;
assert !res;
res = 0 != charcode;
assert res;
res = null != charcode;
assert res;
/// PASS
// check evaluation order
var ?int charcode = 0;
// If the left hand side is evaluated before the right, the result is true.
assert (()=> charcode = 1)() == charcode;
/// PASS
var ?boolean b = ! false;
var res = b == true;
assert res;
res = true == b;
assert res;
assert b == true;
assert true == b;
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
|