aboutsummaryrefslogtreecommitdiffstats
path: root/csc/format-test.csc
diff options
context:
space:
mode:
authorRose Hogenson <rhogenson@posteo.net>2022-01-11 22:01:23 -0800
committerRose Hogenson <rhogenson@posteo.net>2022-01-11 22:01:23 -0800
commit68986fe0410584c6934c835bb0ee784655f5f8c5 (patch)
treed51bc2f3e09df35ef81b7a0c462ff555b4344701 /csc/format-test.csc
parentAdd a first implementation of a macro expander. (diff)
downloadchromatopelma-68986fe0410584c6934c835bb0ee784655f5f8c5.tar.zst
Move scheme compiler into a separate directory.
Diffstat (limited to 'csc/format-test.csc')
-rw-r--r--csc/format-test.csc24
1 files changed, 24 insertions, 0 deletions
diff --git a/csc/format-test.csc b/csc/format-test.csc
new file mode 100644
index 0000000..6efaa87
--- /dev/null
+++ b/csc/format-test.csc
@@ -0,0 +1,24 @@
+(import (scheme base)
+ (only (csc strings) str-quote)
+ (only (csc testing) assert-equal test)
+ (csc format))
+
+
+(test sprintf-single-string
+ (assert-equal "test-string" (sprintf "test-string")))
+
+
+(test sprintf-list
+ (assert-equal "(1 2 3)" (sprintf "{}" '(1 2 3))))
+
+
+(test sprintf-complex
+ (assert-equal "this (1 2 3) is 1 a bbb test" (sprintf "this {} is {} a {} test" '(1 2 3) 1 "bbb")))
+
+
+(test sprintf-escape-open
+ (assert-equal "{" (sprintf "{{")))
+
+
+(test sprintf-escape-close
+ (assert-equal "}" (sprintf "}}")))