aboutsummaryrefslogtreecommitdiff
path: root/test/str_test.gleam
diff options
context:
space:
mode:
Diffstat (limited to 'test/str_test.gleam')
-rw-r--r--test/str_test.gleam130
1 files changed, 130 insertions, 0 deletions
diff --git a/test/str_test.gleam b/test/str_test.gleam
new file mode 100644
index 0000000..13d781c
--- /dev/null
+++ b/test/str_test.gleam
@@ -0,0 +1,130 @@
+import str
+import expect
+
+pub fn length_test() {
+ str:length("ß↑e̊")
+ |> expect:equal(_, 3)
+
+ str:length("Gleam")
+ |> expect:equal(_, 5)
+
+ str:length("")
+ |> expect:equal(_, 0)
+}
+
+pub fn lowercase_test() {
+ str:lowercase("Gleam")
+ |> expect:equal(_, "gleam")
+}
+
+pub fn uppercase_test() {
+ str:uppercase("Gleam")
+ |> expect:equal(_, "GLEAM")
+}
+
+pub fn reverse_test() {
+ str:reverse("Gleam")
+ |> expect:equal(_, "maelG")
+}
+
+pub fn split_test() {
+ "Gleam,Erlang,Elixir"
+ |> str:split(_, ",")
+ |> expect:equal(_, ["Gleam", "Erlang", "Elixir"])
+
+ "Gleam, Erlang,Elixir"
+ |> str:split(_, ", ")
+ |> expect:equal(_, ["Gleam", "Erlang,Elixir"])
+}
+
+pub fn replace_test() {
+ "Gleam,Erlang,Elixir"
+ |> str:replace(_, ",", "++")
+ |> expect:equal(_, "Gleam++Erlang++Elixir")
+}
+
+pub fn from_int_test() {
+ 123
+ |> str:from_int
+ |> expect:equal(_, "123")
+
+ -123
+ |> str:from_int
+ |> expect:equal(_, "-123")
+
+ 0123
+ |> str:from_int
+ |> expect:equal(_, "123")
+}
+
+pub fn parse_int_test() {
+ "123"
+ |> str:parse_int
+ |> expect:equal(_, Ok(123))
+
+ "-123"
+ |> str:parse_int
+ |> expect:equal(_, Ok(-123))
+
+ "0123"
+ |> str:parse_int
+ |> expect:equal(_, Ok(123))
+
+ ""
+ |> str:parse_int
+ |> expect:is_error
+
+ "what"
+ |> str:parse_int
+ |> expect:is_error
+
+ "1.23"
+ |> str:parse_int
+ |> expect:is_error
+}
+
+pub fn parse_float_test() {
+ "1.23"
+ |> str:parse_float
+ |> expect:equal(_, Ok(1.23))
+
+ "5.0"
+ |> str:parse_float
+ |> expect:equal(_, Ok(5.0))
+
+ "0.123456789"
+ |> str:parse_float
+ |> expect:equal(_, Ok(0.123456789))
+
+ ""
+ |> str:parse_float
+ |> expect:is_error
+
+ "what"
+ |> str:parse_float
+ |> expect:is_error
+
+ "1"
+ |> str:parse_float
+ |> expect:is_error
+}
+
+pub fn base_from_int_test() {
+ 100
+ |> str:base_from_int(_, 16)
+ |> expect:equal(_, "64")
+
+ -100
+ |> str:base_from_int(_, 16)
+ |> expect:equal(_, "-64")
+}
+
+pub fn from_float_test() {
+ 123.0
+ |> str:from_float
+ |> expect:equal(_, "123.0")
+
+ -8.1
+ |> str:from_float
+ |> expect:equal(_, "-8.1")
+}