aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/package.lisp5
-rw-r--r--tests/property/file.lisp76
2 files changed, 81 insertions, 0 deletions
diff --git a/tests/package.lisp b/tests/package.lisp
new file mode 100644
index 0000000..286243c
--- /dev/null
+++ b/tests/package.lisp
@@ -0,0 +1,5 @@
+(in-package :cl-user)
+
+(defpackage :consfigurator/tests
+ (:use #:cl #:consfigurator #+sbcl :sb-rt #-sbcl :rtest)
+ (:local-nicknames (#:file #:consfigurator.property.file)))
diff --git a/tests/property/file.lisp b/tests/property/file.lisp
new file mode 100644
index 0000000..10a20b1
--- /dev/null
+++ b/tests/property/file.lisp
@@ -0,0 +1,76 @@
+(in-package :consfigurator/tests)
+(named-readtables:in-readtable :consfigurator)
+(in-consfig "consfigurator/tests")
+
+(deftest contains-conf-space
+ (with-temporary-file (:pathname temp)
+ (with-open-file (s temp :if-exists :supersede :direction :output)
+ (write-sequence #>EOF>foo bar
+
+# one two
+one three
+# one three
+EOF s))
+ (with-local-connection
+ (file:contains-conf-space temp "foo" "baz" "one" "four" "two" "five"))
+ (read-file-string temp))
+ #>EOF>foo baz
+
+one four
+# one three
+# one three
+two five
+EOF)
+
+(deftest contains-conf-shell
+ (with-temporary-file (:pathname temp)
+ (with-open-file (s temp :if-exists :supersede :direction :output)
+ (write-sequence #>EOF>foo="bar baz"
+
+# bar=baz
+other="three word s"
+EOF s))
+ (with-local-connection
+ (file:contains-conf-shell
+ temp "bar" "two words" "quux" "one" "other" "one"))
+ (read-file-string temp))
+ #>EOF>foo="bar baz"
+
+bar="two words"
+other=one
+quux=one
+EOF)
+
+(deftest contains-ini-settings
+ (with-temporary-file (:pathname temp)
+ (with-open-file (s temp :if-exists :supersede :direction :output)
+ (write-sequence #>EOF>[one]
+two=three
+
+[other]
+; bar = ba
+bar = baz baz quux
+EOF s))
+ (with-local-connection
+ (file:contains-ini-settings temp
+ '("one" "four" "five")
+ '("another" "k" "v")
+ '("other" "bar" "baz")
+ '("another" "key" "val")
+ '("finally" "this" "one")))
+ (read-file-string temp))
+ #>EOF>[one]
+two=three
+four=five
+
+[other]
+bar=baz
+# bar=baz baz quux
+
+[another]
+k=v
+key=val
+
+[finally]
+this=one
+EOF)