From 952256ae8bf5514a246db8f33bef207f5747b138 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 11 Aug 2023 17:13:57 +0530 Subject: feat: adds parser for literal numbers --- tests/parser.spec.ts | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'tests/parser.spec.ts') diff --git a/tests/parser.spec.ts b/tests/parser.spec.ts index 48c398c..f2893b8 100644 --- a/tests/parser.spec.ts +++ b/tests/parser.spec.ts @@ -72,5 +72,56 @@ describe('parser', () => { ], }), ]) + + expect(parse(`update(state-container, --count, var(--count))`)).toEqual([ + Expr.Call({ + name: 'update', + args: [ + Expr.Identifier('state-container'), + Expr.VarIdentifier('--count'), + Expr.Call({ + name: 'var', + args: [Expr.VarIdentifier('--count')], + }), + ], + }), + ]) + }) + + it('should parse number and css units', () => { + expect(parse(`100`)).toEqual([Expr.LiteralNumber({ value: 100, unit: '' })]) + expect(parse(`100s`)).toEqual([ + Expr.LiteralNumber({ value: 100, unit: 's' }), + ]) + expect(parse(`100ms`)).toEqual([ + Expr.LiteralNumber({ value: 100, unit: 'ms' }), + ]) + expect(parse(`3.82`)).toEqual([ + Expr.LiteralNumber({ value: 3.82, unit: '' }), + ]) + expect(parse(`3.82s`)).toEqual([ + Expr.LiteralNumber({ value: 3.82, unit: 's' }), + ]) + expect(parse(`3.82ms`)).toEqual([ + Expr.LiteralNumber({ value: 3.82, unit: 'ms' }), + ]) + expect(parse(`-100`)).toEqual([ + Expr.LiteralNumber({ value: -100, unit: '' }), + ]) + expect(parse(`-100s`)).toEqual([ + Expr.LiteralNumber({ value: -100, unit: 's' }), + ]) + expect(parse(`-100ms`)).toEqual([ + Expr.LiteralNumber({ value: -100, unit: 'ms' }), + ]) + expect(parse(`-3.82`)).toEqual([ + Expr.LiteralNumber({ value: -3.82, unit: '' }), + ]) + expect(parse(`-3.82s`)).toEqual([ + Expr.LiteralNumber({ value: -3.82, unit: 's' }), + ]) + expect(parse(`-3.82ms`)).toEqual([ + Expr.LiteralNumber({ value: -3.82, unit: 'ms' }), + ]) }) }) -- cgit v1.3.1