feat: support not operator, #575

This commit is contained in:
Harttle
2023-01-03 01:34:03 +08:00
committed by Harttle
parent aafaa0b4f9
commit 3f21382d43
7 changed files with 74 additions and 33 deletions
+7
View File
@@ -154,6 +154,13 @@ describe('Expression', function () {
const ctx = new Context({ obj: { foo: 'FOO' }, keys: { "what's this": 'foo' } })
expect(await toPromise(create('obj[keys["what\'s this"]]').evaluate(ctx, false))).to.equal('FOO')
})
it('should support not', async function () {
expect(await toPromise(create('not 1 < 2').evaluate(ctx))).to.equal(false)
})
it('not should have higher precedence than and/or', async function () {
expect(await toPromise(create('not 1 < 2 or not 1 > 2').evaluate(ctx))).to.equal(true)
expect(await toPromise(create('not 1 < 2 and not 1 > 2').evaluate(ctx))).to.equal(false)
})
})
describe('sync', function () {