diff options
| -rw-r--r-- | Makefile | 5 | ||||
| -rw-r--r-- | scratch.lisp | 1 | ||||
| -rw-r--r-- | src/package.lisp | 4 | ||||
| -rw-r--r-- | src/xfdf.lisp | 17 | ||||
| -rw-r--r-- | test/run.lisp | 3 | ||||
| -rw-r--r-- | test/xfdf.lisp | 37 | ||||
| -rw-r--r-- | xfdf-test.asd | 17 | 
7 files changed, 81 insertions, 3 deletions
| diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cc12c71 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +LISP := sbcl + +.PHONY: test +test: +	$(LISP) --load test/run.lisp diff --git a/scratch.lisp b/scratch.lisp new file mode 100644 index 0000000..7e2d577 --- /dev/null +++ b/scratch.lisp @@ -0,0 +1 @@ +(ql:quickload "xfdf-test") diff --git a/src/package.lisp b/src/package.lisp index d535a24..e914975 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -1,2 +1,4 @@  (defpackage :xfdf -  (:use :cl)) +  (:use :cl) + +  (:export #:write-xfdf)) diff --git a/src/xfdf.lisp b/src/xfdf.lisp index 315c63c..a61fcdd 100644 --- a/src/xfdf.lisp +++ b/src/xfdf.lisp @@ -1,13 +1,26 @@  (in-package :xfdf)  (defun write-xfdf (output-stream fields) -  (format output-stream "<?xml version=\"1.0\" encoding=\"UTF-8\"?> +  (format output-stream "~ +<?xml version=\"1.0\" encoding=\"UTF-8\"?>  <xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\">  	<fields>  ")    ;; TODO    ; (loop do) +  (format output-stream "		<field name=\"checkbox-on\"> +			<value>Yes</value> +		</field> +		<field name=\"checkbox-off\"> +			<value>Off</value> +		</field> +		<field name=\"text\"> +			<value>123 Fake Street, Springfield</value> +		</field> +")    (format output-stream "	</fields> -</xfdf>")) +</xfdf>") + +  output-stream) diff --git a/test/run.lisp b/test/run.lisp new file mode 100644 index 0000000..067bcff --- /dev/null +++ b/test/run.lisp @@ -0,0 +1,3 @@ +(ql:quickload "xfdf-test") +(asdf:test-system :xfdf-test) +(quit) diff --git a/test/xfdf.lisp b/test/xfdf.lisp new file mode 100644 index 0000000..87accaf --- /dev/null +++ b/test/xfdf.lisp @@ -0,0 +1,37 @@ +(defpackage :xfdf-test +  (:use :cl +        :1am +        :xfdf) + +  ; (:export #:run) +  ) + +(in-package :xfdf-test) + +; (defun run () +;   (1am:run)) + +(test generates-xfdf-xml +  (let ((xfdf-string +          (with-output-to-string (xfdf-stream) +            (xfdf:write-xfdf +              xfdf-stream +              '(("checkbox-on" . T) +                ("checkbox-off" . nil) +                ("text" . "123 Fake Street, Springfield")))))) +    (is (string= +          xfdf-string +          "<?xml version=\"1.0\" encoding=\"UTF-8\"?> +<xfdf xmlns=\"http://ns.adobe.com/xfdf/\" xml:space=\"preserve\"> +	<fields> +		<field name=\"checkbox-on\"> +			<value>Yes</value> +		</field> +		<field name=\"checkbox-off\"> +			<value>Off</value> +		</field> +		<field name=\"text\"> +			<value>123 Fake Street, Springfield</value> +		</field> +	</fields> +</xfdf>")))) diff --git a/xfdf-test.asd b/xfdf-test.asd new file mode 100644 index 0000000..9a5b0ab --- /dev/null +++ b/xfdf-test.asd @@ -0,0 +1,17 @@ +(asdf:defsystem xfdf-test +  :description "Test suite for xfdf" +  :version "0.0.1" +  :license "GPL-3.0-or-later" +  :author "Teddy Wing" + +  :depends-on (:1am +               :xfdf) + +  :components ((:module "test" +                :serial t +                :components ((:file "xfdf")))) + +  :perform (test-op +             (op system) +             ; (symbol-call :xfdf-test :run) +             (symbol-call :1am :run))) | 
