diff options
| author | William Boman <william@redwill.se> | 2022-10-05 20:33:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-05 20:33:21 +0200 |
| commit | 738684097dfdd9a4a67cd217b0beda3e169bd85d (patch) | |
| tree | d2eb8485dedcac66061b0d99ad7f810828911073 /tests/mason-core/optional_spec.lua | |
| parent | test(cargo): stub crates.io http call (#508) (diff) | |
| download | mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.tar mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.tar.gz mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.tar.bz2 mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.tar.lz mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.tar.xz mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.tar.zst mason-738684097dfdd9a4a67cd217b0beda3e169bd85d.zip | |
feat(cargo): improve handling of git-based crates (#512)
This is all pretty overkill, especially considering the small amount of
packages based on git-based crates.
Diffstat (limited to 'tests/mason-core/optional_spec.lua')
| -rw-r--r-- | tests/mason-core/optional_spec.lua | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/mason-core/optional_spec.lua b/tests/mason-core/optional_spec.lua index 4e6b1325..b1a4f41a 100644 --- a/tests/mason-core/optional_spec.lua +++ b/tests/mason-core/optional_spec.lua @@ -1,4 +1,5 @@ local Optional = require "mason-core.optional" +local Result = require "mason-core.result" local spy = require "luassert.spy" describe("Optional.of_nilable", function() @@ -75,3 +76,19 @@ describe("Optional.if_not_present()", function() assert.spy(present).was_called(1) end) end) + +describe("Optional.ok_or()", function() + it("should return success variant if non-empty", function() + local result = Optional.of_nilable("Hello world!"):ok_or() + assert.is_true(getmetatable(result) == Result) + assert.equals("Hello world!", result:get_or_nil()) + end) + + it("should return failure variant if empty", function() + local result = Optional.empty():ok_or(function() + return "I'm empty." + end) + assert.is_true(getmetatable(result) == Result) + assert.equals("I'm empty.", result:err_or_nil()) + end) +end) |
