diff options
| author | Akshay Nair <phenax5@gmail.com> | 2023-08-10 22:45:00 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2023-08-10 22:45:00 +0530 |
| commit | e01cb693bc5737792e2b37abfd98d2d8f81bac4d (patch) | |
| tree | 894d367e14f5a7edac5a80fb7caf9f9a84727d1e /tests/parse-expr.spec.ts | |
| parent | 2102e7608b1b3634a651cb40508d2f560f3eeb05 (diff) | |
| download | css-everything-e01cb693bc5737792e2b37abfd98d2d8f81bac4d.tar.gz css-everything-e01cb693bc5737792e2b37abfd98d2d8f81bac4d.zip | |
feat: adds simple evaluator
Diffstat (limited to 'tests/parse-expr.spec.ts')
| -rw-r--r-- | tests/parse-expr.spec.ts | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/tests/parse-expr.spec.ts b/tests/parse-expr.spec.ts deleted file mode 100644 index f873464..0000000 --- a/tests/parse-expr.spec.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Expr, parse } from '../src/parse-expr' - -describe('parser', () => { - it('should parse function call', () => { - expect(parse('hello()')).toEqual([Expr.Call({ name: 'hello', args: [] })]) - expect(parse('hello ( wow , foo ) ')).toEqual([ - Expr.Call({ - name: 'hello', - args: [Expr.Identifier('wow'), Expr.Identifier('foo')], - }), - ]) - expect(parse('hello(wow,foo)')).toEqual([ - Expr.Call({ - name: 'hello', - args: [Expr.Identifier('wow'), Expr.Identifier('foo')], - }), - ]) - expect(parse('hello(wow,foo, coolio)')).toEqual([ - Expr.Call({ - name: 'hello', - args: [ - Expr.Identifier('wow'), - Expr.Identifier('foo'), - Expr.Identifier('coolio'), - ], - }), - ]) - expect(parse('hello(wow)')).toEqual([ - Expr.Call({ name: 'hello', args: [Expr.Identifier('wow')] }), - ]) - }) - - it('should parse sequential function calls', () => { - expect(parse('hello(world) foo-doo(bar, baz)')).toEqual([ - Expr.Call({ - name: 'hello', - args: [Expr.Identifier('world')], - }), - Expr.Call({ - name: 'foo-doo', - args: [Expr.Identifier('bar'), Expr.Identifier('baz')], - }), - ]) - }) - - it('should parse string literal', () => { - expect(parse(`"hello world toodles \' nice single quote there"`)).toEqual([ - Expr.LiteralString(`hello world toodles \' nice single quote there`), - ]) - - expect(parse(` 'hello world toodles \" nice double quote there' `)).toEqual( - [Expr.LiteralString(`hello world toodles \" nice double quote there`)] - ) - }) - - it('should parse var identifiers', () => { - expect(parse(`var(--hello, 'default')`)).toEqual([ - Expr.Call({ - name: 'var', - args: [Expr.VarIdentifier('--hello'), Expr.LiteralString(`default`)], - }), - ]) - - expect(parse(`calc(var(--hello))`)).toEqual([ - Expr.Call({ - name: 'calc', - args: [ - Expr.Call({ - name: 'var', - args: [Expr.VarIdentifier('--hello')], - }), - ], - }), - ]) - }) -}) |
