aboutsummaryrefslogtreecommitdiff
path: root/tests/function/string/testscript
blob: a363cc325fb1a2359459970f52600a299e56aaff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# file      : tests/function/string/testscript
# license   : MIT; see accompanying LICENSE file

.include ../../common.testscript

: icasecmp
:
{
  : equal
  :
  {
    $* <'print $icasecmp([string] "a", [string] "A")' >'true' : string-string
    $* <'print $icasecmp([string] "a", "A")'          >'true' : string-untyped
    $* <'print $icasecmp("a", [string] "A")'          >'true' : untyped-string
    $* <'print $string.icasecmp("a", "A")'            >'true' : untyped-untyped
  }

  : different
  :
  {
    $* <'print $icasecmp([string] "a", [string] "b")' >'false' : string-string
    $* <'print $icasecmp([string] "a", "b")'          >'false' : string-untyped
    $* <'print $icasecmp("a", [string] "b")'          >'false' : untyped-string
    $* <'print $string.icasecmp("a", "b")'            >'false' : untyped-untyped
  }
}

: 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_map] a@1 b@2 c@3)' >'3' : 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'