mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-11 02:10:17 +01:00
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
|
|
function test_matchObject()
|
|
{
|
|
var f = true;
|
|
|
|
obj1 = {foo:"hey", bar:"ho"}
|
|
obj2 = {a:"1", b:"2"}
|
|
|
|
p1 = {foo:"hey"}
|
|
p2 = {bar:"ho"}
|
|
p3 = {a:"1"}
|
|
p4 = {b:"2"}
|
|
|
|
/* true, single pattern, and it matches */
|
|
f &= matchObject (obj1, p1);
|
|
/* false, single pattern matches, negated */
|
|
f &= !matchObject (obj1, p1, true);
|
|
|
|
/* false, single pattern doesn't match */
|
|
f &= !matchObject (obj1, p3);
|
|
/* true, single pattern doesn't match, negated */
|
|
f &= matchObject (obj1, p3, true);
|
|
|
|
/* true, p1 matches */
|
|
f &= matchObject (obj1, [p1, p3]);
|
|
/* false, p1 matches, negated */
|
|
f &= !matchObject (obj1, [p1, p3], true);
|
|
|
|
/* true, both paterns match */
|
|
f &= matchObject (obj2, [p3, p4]);
|
|
/* false, both patterns match, negated */
|
|
f &= !matchObject (obj2, [p3, p4], true);
|
|
|
|
/* false, neither pattern matches */
|
|
f &= !matchObject (obj1, [p3, p4]);
|
|
/* true, neither pattern matches, negated */
|
|
f &= matchObject (obj1, [p3, p4], true);
|
|
|
|
return Boolean(f); /* you've got to find any problems by hand :) */
|
|
|
|
} |