git.fiddlerwoaroof.com
Browse code

Add emitter tests

Fernando Borretti authored on 31/01/2015 20:02:47
Showing 4 changed files
... ...
@@ -9,4 +9,5 @@
9 9
                 ((:file "float")
10 10
                  (:file "scalar")
11 11
                  (:file "parser")
12
+                 (:file "emitter")
12 13
                  (:file "cl-yaml")))))
... ...
@@ -6,3 +6,4 @@
6 6
 (run! 'cl-yaml-test.float:float)
7 7
 (run! 'cl-yaml-test.scalar:scalar)
8 8
 (run! 'cl-yaml-test.parser:parser)
9
+(run! 'cl-yaml-test.emitter:emitter)
9 10
new file mode 100644
... ...
@@ -0,0 +1,25 @@
1
+(in-package :cl-user)
2
+(defpackage cl-yaml-test.emitter
3
+  (:use :cl :fiveam)
4
+  (:export :emitter))
5
+(in-package :cl-yaml-test.emitter)
6
+
7
+;;; Macros
8
+
9
+(defmacro define-test-cases ((name) &rest pairs)
10
+  `(test ,name
11
+     ,@(loop for (form string) in pairs collecting
12
+         `(is (equal (yaml.emitter:emit-to-string ,form)
13
+                     ,string)))))
14
+
15
+;;; Tests
16
+
17
+(def-suite emitter
18
+  :description "YAML emitter tests.")
19
+(in-suite emitter)
20
+
21
+(define-test-cases (boolean)
22
+  (t
23
+   "true")
24
+  (nil
25
+   "false"))
... ...
@@ -1,6 +1,8 @@
1 1
 (in-package :cl-user)
2 2
 (defpackage cl-yaml-test.parser
3 3
   (:use :cl :fiveam)
4
+  (:import-from :alexandria
5
+                :alist-hash-table)
4 6
   (:export :parser))
5 7
 (in-package :cl-yaml-test.parser)
6 8