* test/Makefile.am (EXTRA_DIST): Add test-riece-eval.el.
[riece] / lisp / test / test-riece-eval.el
1 (require 'riece-eval)
2
3 (luna-define-class test-riece-eval (lunit-test-case))
4
5 (luna-define-method test-riece-eval-string ((case test-riece-eval))
6   (lunit-assert-2
7    case
8    (equal
9     (riece-eval-form "\"abc\"")
10     "abc"))
11   (lunit-assert-2
12    case
13    (equal
14     (riece-eval-form "(concat \"d\" \"e\" \"f\")")
15     "def")))
16
17 (luna-define-method test-riece-eval-list ((case test-riece-eval))
18   (lunit-assert-2
19    case
20    (equal
21     (riece-eval-form "'(a b c)")
22     "(a b c)"))
23   (lunit-assert-2
24    case
25    (equal
26     (riece-eval-form "(cons 'd \"e\")")
27     "(d . \"e\")")))
28
29 (luna-define-method test-riece-eval-number ((case test-riece-eval))
30   (lunit-assert-2
31    case
32    (equal
33     (riece-eval-form "123")
34     "123"))
35   (lunit-assert-2
36    case
37    (equal
38     (riece-eval-form "(+ 123 45.6)")
39     "168.6")))
40
41 (luna-define-method test-riece-eval-nil ((case test-riece-eval))
42   (lunit-assert-2
43    case
44    (equal
45     (riece-eval-form "nil")
46     ""))
47   (lunit-assert-2
48    case
49    (equal
50     (riece-eval-form "'()")
51     "")))
52
53 (luna-define-method test-riece-eval-error ((case test-riece-eval))
54   (let (riece-eval-ignore-error symbol)
55     (makunbound 'symbol)
56     (lunit-assert-2
57      case
58      (equal
59       (riece-eval-form "symbol")
60       "Error evaluating symbol: (void-variable symbol)"))
61     (setq riece-eval-ignore-error t)
62     (lunit-assert-2
63      case
64      (equal
65       (riece-eval-form "symbol")
66       nil))))