diff options
Diffstat (limited to 'tests/mason-core/functional/string_spec.lua')
| -rw-r--r-- | tests/mason-core/functional/string_spec.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/mason-core/functional/string_spec.lua b/tests/mason-core/functional/string_spec.lua new file mode 100644 index 00000000..25409f64 --- /dev/null +++ b/tests/mason-core/functional/string_spec.lua @@ -0,0 +1,43 @@ +local _ = require "mason-core.functional" + +describe("functional: string", function() + it("matches string patterns", function() + assert.is_true(_.matches("foo", "foo")) + assert.is_true(_.matches("bar", "foobarbaz")) + assert.is_true(_.matches("ba+r", "foobaaaaaaarbaz")) + + assert.is_false(_.matches("ba+r", "foobharbaz")) + assert.is_false(_.matches("bar", "foobaz")) + end) + + it("should format strings", function() + assert.equals("Hello World!", _.format("%s", "Hello World!")) + assert.equals("special manouvers", _.format("%s manouvers", "special")) + end) + + it("should split strings", function() + assert.same({ "This", "is", "a", "sentence" }, _.split("%s", "This is a sentence")) + assert.same({ "This", "is", "a", "sentence" }, _.split("|", "This|is|a|sentence")) + end) + + it("should gsub strings", function() + assert.same("predator", _.gsub("^apex%s*", "", "apex predator")) + end) + + it("should dedent strings", function() + assert.equals( + [[Lorem +Ipsum + Dolor + Sit + Amet]], + _.dedent [[ + Lorem + Ipsum + Dolor + Sit + Amet +]] + ) + end) +end) |
