From f2c906687ec936ff1d401d7cd2b093a6dd76266d Mon Sep 17 00:00:00 2001 From: Dmitry Vasilev Date: Wed, 7 Dec 2022 05:57:32 +0800 Subject: [PATCH] instanceof --- src/parse_js.js | 2 +- test/test.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/parse_js.js b/src/parse_js.js index 52aef70..b5ebe1f 100644 --- a/src/parse_js.js +++ b/src/parse_js.js @@ -1023,7 +1023,7 @@ const expr = binary(['**']), binary(['*','/','%']), binary(['+','-']), - binary(['<','>','<=','>=']), + binary(['<','>','<=','>=', 'instanceof']), binary(['===', '==', '!==', '!=']), binary(['&&']), binary(['||', '??']), diff --git a/test/test.js b/test/test.js index 34a2b86..84d0d3f 100644 --- a/test/test.js +++ b/test/test.js @@ -573,7 +573,7 @@ export const tests = [ assert_code_evals_to('typeof 1', 'number') }), - test_only('eval_frame unary minus', () => { + test('eval_frame unary minus', () => { assert_code_evals_to(`-(1)`, -1) assert_code_evals_to(`-1`, -1) assert_code_evals_to(`-(-1)`, 1) @@ -587,6 +587,11 @@ export const tests = [ assert_equal(eval_frame(tree).children[0].result.value, 2) }), + test('eval_frame instanceof', () => { + assert_code_evals_to('1 instanceof Object', false) + assert_code_evals_to('{} instanceof Object', true) + }), + test('eval_frame grouping', () => { const parsed = parse('(1+1)') const tree = eval_tree(parsed.node)