summaryrefslogtreecommitdiffstats
path: root/tests/015
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-06-12 19:35:06 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-06-12 19:35:06 -0700
commitecb2cd4a54505d3068cad1faa9bf02c28162bc55 (patch)
tree91663dc250a746daa35d1dab5007da34b6d29119 /tests/015
parente72f960431aa61185c40cf38a471b6d8b0924a58 (diff)
downloadtxr-ecb2cd4a54505d3068cad1faa9bf02c28162bc55.tar.gz
txr-ecb2cd4a54505d3068cad1faa9bf02c28162bc55.tar.bz2
txr-ecb2cd4a54505d3068cad1faa9bf02c28162bc55.zip
New function: str
The str function is like mkstring but allows a fill pattern to be specified. * eval.c (eval_init): str intrinsic registered. * lib.[ch[ (str): New function. * tests/015/str.tl: New file. * txr.1: Documented. * stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'tests/015')
-rw-r--r--tests/015/str.tl28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/015/str.tl b/tests/015/str.tl
new file mode 100644
index 00000000..c0d8dc58
--- /dev/null
+++ b/tests/015/str.tl
@@ -0,0 +1,28 @@
+(load "../common")
+
+(mtest
+ (str "x") :error
+ (str 0) ""
+ (str 0 5) :error
+ (str 0 "abcd") ""
+ (str 0 "") ""
+ (str 0 #\x) ""
+ (str -1) :error
+ (str -1 #\x) :error
+ (str -1 "") :error
+ (str -1 "abc") :error)
+
+(mtest
+ (str 10) " "
+ (str 10 "") " "
+ (str 10 #\a) "aaaaaaaaaa"
+ (str 10 "a") "aaaaaaaaaa"
+ (str 10 "ab") "ababababab"
+ (str 10 "abc") "abcabcabca"
+ (str 10 "abcd") "abcdabcdab"
+ (str 10 "abcde") "abcdeabcde"
+ (str 10 "abcdef") "abcdefabcd"
+ (str 10 "abcdefghij") "abcdefghij"
+ (str 10 "abcdefghijk") "abcdefghij"
+ (str 10 "abcdefghijklmnopqrst") "abcdefghij"
+ (str 10 "abcdefghijklmnopqrstuvwxyz") "abcdefghij")