aboutsummaryrefslogtreecommitdiff
path: root/tests/function/path/testscript
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2021-11-02 15:18:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2021-11-02 15:24:35 +0200
commitf500b3274b4c937d315a652aad3bfcdd808b49ec (patch)
tree551ced41e7912f7a4b71e77c6dc0bdef23f90b76 /tests/function/path/testscript
parentc56aa2d2e407bfffc2b62d4bad3a65051f31b80b (diff)
Add $sort() function
Available overloads: $sort(<names> [, <flags>]) $sort(<ints> [, <flags>]) $sort(<strings> [, <flags>]) $sort(<paths> [, <flags>]) $sort(<dir_paths> [, <flags>]) The following flag is supported by the all overloads: dedup - in addition to sorting also remove duplicates Additionally, the strings overload also support the following flag: icase - sort ignoring case Note that on case-insensitive filesystem the paths and dir_paths overload's order is case-insensitive.
Diffstat (limited to 'tests/function/path/testscript')
-rw-r--r--tests/function/path/testscript17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/function/path/testscript b/tests/function/path/testscript
index ad76513..a408ba4 100644
--- a/tests/function/path/testscript
+++ b/tests/function/path/testscript
@@ -3,7 +3,8 @@
.include ../../common.testscript
-posix = ($cxx.target.class != 'windows')
+windows = ($cxx.target.class == 'windows')
+posix = (!$windows)
s = ($posix ? '/' : '\')
@@ -104,6 +105,20 @@ if! $posix
EOO
}
+: sort
+:
+{
+ $* <'print $sort([paths] a c b a)' >'a a b c' : basics
+ $* <'print $sort([paths] a c b a, dedup)' >'a b c' : dedup
+
+ : icase
+ :
+ if $windows
+ {
+ $* <'print $sort([paths] a C B a)' >'a a B c'
+ }
+}
+
: invalid-path
:
p = ($posix ? /../foo : 'c:/../foo');