summaryrefslogtreecommitdiffhomepage
path: root/tests/custom/03_stdlib/25_ltrim
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2022-01-29 23:31:16 +0100
committerJo-Philipp Wich <jo@mein.io>2022-02-03 17:22:43 +0100
commit7edad5cefa0f065aa83dffd2d7830aeaf9f38662 (patch)
tree86b727f434302ffb28cb59278243517f9765e170 /tests/custom/03_stdlib/25_ltrim
parentd5003fde57eab19588da7bfdbaefe93d47435eb6 (diff)
tests: add functional tests for builtin functions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'tests/custom/03_stdlib/25_ltrim')
-rw-r--r--tests/custom/03_stdlib/25_ltrim46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/custom/03_stdlib/25_ltrim b/tests/custom/03_stdlib/25_ltrim
new file mode 100644
index 0000000..2001322
--- /dev/null
+++ b/tests/custom/03_stdlib/25_ltrim
@@ -0,0 +1,46 @@
+The `ltrim()` function removes specific leading characters from the given
+input string. If the characters to trim are unspecified, the space, tab,
+carriage return and newline characters will be used by default.
+
+Returns a copy of the input string with the specified leading characters
+removed.
+
+Returns `null` if the given input argment is not a valid string value.
+
+-- Testcase --
+{%
+ printf("%.J\n", [
+ // not specifying trim characters will trim whitespace
+ ltrim(" Hello World!"),
+
+ // if trim characters are specified, only those are removed
+ ltrim("|* Foo Bar +|", "+*|"),
+
+ // ltrim does not affect characters in the middle or the end
+ ltrim(" Foo Bar "),
+ ltrim("|Foo|Bar|", "|")
+ ]);
+%}
+-- End --
+
+-- Expect stdout --
+[
+ "Hello World!",
+ " Foo Bar +|",
+ "Foo Bar ",
+ "Foo|Bar|"
+]
+-- End --
+
+
+Supplying an invalid string will yield `null`.
+
+-- Testcase --
+{%
+ printf("%.J\n", ltrim(true));
+%}
+-- End --
+
+-- Expect stdout --
+null
+-- End --