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 | |
| parent | 2102e7608b1b3634a651cb40508d2f560f3eeb05 (diff) | |
| download | css-everything-e01cb693bc5737792e2b37abfd98d2d8f81bac4d.tar.gz css-everything-e01cb693bc5737792e2b37abfd98d2d8f81bac4d.zip | |
feat: adds simple evaluator
Diffstat (limited to '')
| -rw-r--r-- | tests/eval.spec.ts | 29 | ||||
| -rw-r--r-- | tests/parser.spec.ts (renamed from tests/parse-expr.spec.ts) | 2 |
2 files changed, 30 insertions, 1 deletions
diff --git a/tests/eval.spec.ts b/tests/eval.spec.ts new file mode 100644 index 0000000..63062e3 --- /dev/null +++ b/tests/eval.spec.ts @@ -0,0 +1,29 @@ +import { Dependencies, evalExpr } from '../src/eval' +import { Expr } from '../src/parser' + +describe('eval', () => { + const deps: Dependencies = { + addClass: jest.fn(), + removeClass: jest.fn(), + } + + it('should add classes', async () => { + await evalExpr(Expr.Call({ + name: 'add-class', + args: [ Expr.Identifier('element-id'), Expr.LiteralString('class-name') ], + }), deps) + + expect(deps.addClass).toHaveBeenCalledTimes(1) + expect(deps.addClass).toHaveBeenCalledWith('element-id', 'class-name') + }) + + it('should add classes', async () => { + await evalExpr(Expr.Call({ + name: 'remove-class', + args: [ Expr.Identifier('element-id'), Expr.LiteralString('class-name') ], + }), deps) + + expect(deps.removeClass).toHaveBeenCalledTimes(1) + expect(deps.removeClass).toHaveBeenCalledWith('element-id', 'class-name') + }) +}) diff --git a/tests/parse-expr.spec.ts b/tests/parser.spec.ts index f873464..48c398c 100644 --- a/tests/parse-expr.spec.ts +++ b/tests/parser.spec.ts @@ -1,4 +1,4 @@ -import { Expr, parse } from '../src/parse-expr' +import { Expr, parse } from '../src/parser' describe('parser', () => { it('should parse function call', () => { |
