From 7174cca4f9fe09271bc9b4bf3ce7ecc2b4fe1639 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Thu, 1 Apr 2021 13:19:41 -0700 Subject: add some tests for new conf file properties Signed-off-by: Sean Whitton --- tests/package.lisp | 5 ++++ tests/property/file.lisp | 76 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 tests/package.lisp create mode 100644 tests/property/file.lisp (limited to 'tests') 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) -- cgit v1.2.3