aboutsummaryrefslogtreecommitdiff
path: root/tests/function/string/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/function/string/testscript')
-rw-r--r--tests/function/string/testscript83
1 files changed, 83 insertions, 0 deletions
diff --git a/tests/function/string/testscript b/tests/function/string/testscript
index 9275fe5..244ace8 100644
--- a/tests/function/string/testscript
+++ b/tests/function/string/testscript
@@ -25,9 +25,92 @@
}
}
+: replace
+:
+{
+ : basics
+ :
+ {
+ $* <'print $string.replace( abcb, b, BB)' >'aBBcBB' : expand
+ $* <'print $string.replace( aabbccbb, bb, B)' >'aaBccB' : shrink
+ $* <'print $replace([string] abc, b, B)' >'aBc' : typed
+ $* <'print $replace([string] "", b, B)' >'' : empty
+ $* <'print $replace([string] bbb, b, "")' >'' : to-empty
+ }
+
+ : icase
+ :
+ {
+ $* <'print $string.replace(abcB, b, X, icase)' >'aXcX'
+ }
+
+ : first
+ :
+ {
+ $* <'print $string.replace(babc, b, B, first_only)' >'Babc' : first
+ $* <'print $string.replace(abcb, b, B, first_only)' >'aBcb' : middle
+ $* <'print $string.replace(b, b, B, first_only)' >'B' : only
+ }
+
+ : last
+ :
+ {
+ $* <'print $string.replace(babc, b, B, last_only)' >'baBc' : middle
+ $* <'print $string.replace(abcb, b, B, last_only)' >'abcB' : last
+ $* <'print $string.replace(b, b, B, last_only)' >'B' : only
+ }
+
+ : first-and-last
+ :
+ {
+ $* <'print $string.replace(ac, b, B, first_only last_only)' >'ac' : zero
+ $* <'print $string.replace(abc, b, B, first_only last_only)' >'aBc' : one
+ $* <'print $string.replace(abcb, b, B, first_only last_only)' >'abcb' : two
+ $* <'print $string.replace(b, b, B, first_only last_only)' >'B' : only
+ }
+}
+
: trim
:
{
$* <'print $trim([string] " a ")' >'a' : string
$* <'print $string.trim( " a ")' >'a' : untyped
}
+
+: sort
+:
+{
+ $* <'print $sort([strings] a c b a)' >'a a b c' : basics
+ $* <'print $sort([strings] a c b a, dedup)' >'a b c' : dedup
+ $* <'print $sort([strings] a C B a, icase)' >'a a B C' : icase
+}
+
+: size
+:
+{
+ $* <'print $size([string] abc)' >'3' : basics
+ $* <'print $size([string] )' >'0' : zero
+ $* <'print $size([strings] a b c)' >'3' : strings
+ $* <'print $size([string_set] a b b)' >'2' : string-set
+ $* <'print $size([string_map] a@1 b@2 b@3)' >'2' : string-map
+}
+
+: find
+:
+{
+ $* <'print $find([strings] x y z, y)' >'true' : basics-true
+ $* <'print $find([strings] x y z, Y)' >'false' : basics-false
+ $* <'print $find([strings] x y z, Y, icase)' >'true' : icase
+}
+
+: find_index
+:
+{
+ $* <'print $find_index([strings] x y z, y)' >'1' : basics-true
+ $* <'print $find_index([strings] x y z, Y)' >'3' : basics-false
+ $* <'print $find_index([strings] x y z, Y, icase)' >'1' : icase
+}
+
+: keys
+:
+$* <'print $keys([string_map] a@1 b@2 c@3)' >'a b c'