Skip to content

Commit a411b9d

Browse files
committed
Added string_functions compliance tests.
1 parent 9917a93 commit a411b9d

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
[
2+
{
3+
"given": {
4+
"abab": "aabaaabaaaab",
5+
"string": "subject string",
6+
"split": "avg|-|min|-|max|-|mean|-|mode|-|median"
7+
},
8+
"cases": [
9+
{
10+
"expression": "find_first(string, 'string', `1`, `2`, `3`)",
11+
"error": "invalid-arity"
12+
},
13+
{
14+
"expression": "find_first(@, 'string', `1`, `2`)",
15+
"error": "invalid-type"
16+
},
17+
{
18+
"expression": "find_first(string, 'string', '1')",
19+
"error": "invalid-type"
20+
},
21+
{
22+
"expression": "find_first(string, 'string', `1`, '2')",
23+
"error": "invalid-type"
24+
},
25+
26+
{ "expression": "find_first(string, 'string')", "result": 8 },
27+
{ "expression": "find_first(string, 'string', `0`)", "result": 8 },
28+
{ "expression": "find_first(string, 'string', `0`, `14`)", "result": 8 },
29+
{ "expression": "find_first(string, 'string', `-99`, `100`)", "result": 8 },
30+
{ "expression": "find_first(string, 'string', `0`, `13`)", "result": null },
31+
{ "expression": "find_first(string, 'string', `8`)", "result": 8 },
32+
{ "expression": "find_first(string, 'string', `9`)", "result": null },
33+
{ "expression": "find_first(string, 's')", "result": 0 },
34+
{ "expression": "find_first(string, 's', `1`)", "result": 8 },
35+
36+
{ "expression": "find_last(string, 'string')", "result": 8 },
37+
{ "expression": "find_last(string, 'string', `8`)", "result": 8 },
38+
{ "expression": "find_last(string, 'string', `7`)", "result": null },
39+
{ "expression": "find_last(string, 's', `8`)", "result": 8 },
40+
{ "expression": "find_last(string, 's', `7`)", "result": 0 },
41+
42+
{ "expression": "lower('STRING')", "result": "string" },
43+
{ "expression": "upper('string')", "result": "STRING" },
44+
45+
{
46+
"expression": "replace(abab, 'aa', '-', `0.333333`)",
47+
"error": "syntax"
48+
},
49+
50+
{ "expression": "replace(abab, 'aa', '-', `0`)", "result": "aabaaabaaaab" },
51+
{ "expression": "replace(abab, 'aa', '-', `1`)", "result": "-baaabaaaab" },
52+
{ "expression": "replace(abab, 'aa', '-', `2`)", "result": "-b-abaaaab" },
53+
{ "expression": "replace(abab, 'aa', '-', `3`)", "result": "-b-ab-aab" },
54+
{ "expression": "replace(abab, 'aa', '-')", "result": "-b-ab--b" },
55+
56+
{ "expression": "trim(' subject string ')", "result": "subject string" },
57+
{ "expression": "trim(' subject string ', '')", "result": "subject string" },
58+
{ "expression": "trim(' subject string ', ' ')", "result": "subject string" },
59+
{ "expression": "trim(' subject string ', 's')", "result": " subject string " },
60+
{ "expression": "trim(' subject string ', 'su')", "result": " subject string " },
61+
{ "expression": "trim(' subject string ', 'su ')", "result": "bject string" },
62+
{ "expression": "trim(' subject string ', 'gsu ')", "result": "bject strin" },
63+
64+
{ "expression": "trim_left(' subject string ')", "result": "subject string " },
65+
{ "expression": "trim_left(' subject string ', 's')", "result": " subject string " },
66+
{ "expression": "trim_left(' subject string ', 'su')", "result": " subject string " },
67+
{ "expression": "trim_left(' subject string ', 'su ')", "result": "bject string " },
68+
{ "expression": "trim_left(' subject string ', 'gsu ')", "result": "bject string " },
69+
70+
{ "expression": "trim_right(' subject string ')", "result": " subject string" },
71+
{ "expression": "trim_right(' subject string ', 's')", "result": " subject string " },
72+
{ "expression": "trim_right(' subject string ', 'su')", "result": " subject string " },
73+
{ "expression": "trim_right(' subject string ', 'su ')", "result": " subject string" },
74+
{ "expression": "trim_right(' subject string ', 'gsu ')", "result": " subject strin" },
75+
76+
{
77+
"expression": "pad_left('string', '1')",
78+
"error": "syntax"
79+
80+
},
81+
{
82+
"expression": "pad_left('string', `1`, '--')",
83+
"error": "syntax"
84+
85+
},
86+
87+
{ "expression": "pad_left('string', `0`)", "result": "string" },
88+
{ "expression": "pad_left('string', `5`)", "result": "string" },
89+
{ "expression": "pad_left('string', `10`)", "result": " string" },
90+
{ "expression": "pad_left('string', `10`, '-')", "result": "----string" },
91+
92+
{ "expression": "pad_right('string', `0`)", "result": "string" },
93+
{ "expression": "pad_right('string', `5`)", "result": "string" },
94+
{ "expression": "pad_right('string', `10`)", "result": "string " },
95+
{ "expression": "pad_right('string', `10`, '-')", "result": "string----" },
96+
97+
{ "expression": "split('/', '/')", "result": [ "", "" ] },
98+
{ "expression": "split('all chars', '')", "result": [ "a", "l", "l", " ", "c", "h", "a", "r", "s" ] },
99+
{ "expression": "split('all chars', '', `3`)", "result": [ "a", "l", "l", " chars" ] },
100+
101+
{ "expression": "split(split, '|-|')", "result": [ "avg", "min", "max", "mean", "mode", "median" ] },
102+
{ "expression": "split(split, '|-|', `3`)", "result": [ "avg", "min", "max", "mean|-|mode|-|median" ] },
103+
{ "expression": "split(split, '|-|', `2`)", "result": [ "avg", "min", "max|-|mean|-|mode|-|median" ] },
104+
{ "expression": "split(split, '|-|', `1`)", "result": [ "avg", "min|-|max|-|mean|-|mode|-|median" ] },
105+
{ "expression": "split(split, '|-|', `0`)", "result": [ "avg|-|min|-|max|-|mean|-|mode|-|median" ] }
106+
]
107+
}
108+
]

0 commit comments

Comments
 (0)