feat(parser): support === and !== operators

Closes #1496

Closes #1500
This commit is contained in:
Pawel Kozlowski
2015-04-22 11:45:33 +02:00
parent 2e3e41ba64
commit afe0e45453
5 changed files with 32 additions and 5 deletions

View File

@ -104,6 +104,7 @@ export function main() {
it('should parse unary ! expressions', () => {
expectEval("!true").toEqual(!true);
expectEval("!!true").toEqual(!!true);
expectEval("!!!true").toEqual(!!!true);
});
it('should parse multiplicative expressions', () => {
@ -123,7 +124,23 @@ export function main() {
it('should parse equality expressions', () => {
expectEval("2==3").toEqual(2 == 3);
expectEval("2=='2'").toEqual(2 == '2');
expectEval("2=='3'").toEqual(2 == '3');
expectEval("2!=3").toEqual(2 != 3);
expectEval("2!='3'").toEqual(2 != '3');
expectEval("2!='2'").toEqual(2 != '2');
expectEval("2!=!false").toEqual(2!=!false);
});
it('should parse strict equality expressions', () => {
expectEval("2===3").toEqual(2 === 3);
expectEval("2==='3'").toEqual(2 === '3');
expectEval("2==='2'").toEqual(2 === '2');
expectEval("2!==3").toEqual(2 !== 3);
expectEval("2!=='3'").toEqual(2 !== '3');
expectEval("2!=='2'").toEqual(2 !== '2');
expectEval("false===!true").toEqual(false===!true);
expectEval("false!==!!true").toEqual(false!==!!true);
});
it('should parse logicalAND expressions', () => {
@ -608,4 +625,4 @@ export function main() {
});
});
});
}
}