From 2f1f5ed2f8e062271efcbcef7a44cb1c67e2548c Mon Sep 17 00:00:00 2001 From: luxick Date: Thu, 2 Jul 2020 18:10:48 +0200 Subject: [PATCH] Add alias for "fail" --- src/op.nim | 4 ++++ tests/tests.nim | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/op.nim b/src/op.nim index 8a71710..2bac93e 100644 --- a/src/op.nim +++ b/src/op.nim @@ -45,3 +45,7 @@ proc fail*[T](msg: string): OP[T] = assert res.error == "Something is wrong!" OP[T](isOK: false, error: msg) +proc fail*(T: typedesc, msg: string): OP[T] = + ## Alias for `fail[T](string) proc <#fail,string>`_ + fail[T] msg + diff --git a/tests/tests.nim b/tests/tests.nim index 2177d5c..a2fca25 100644 --- a/tests/tests.nim +++ b/tests/tests.nim @@ -19,7 +19,7 @@ test "Check proc results": check data.isOk check data.val == "This is test code!" -test "Check failing proc": +test "Check failing result proc": proc someProc(): OP[int] = result.fail "Not implemented!" @@ -27,6 +27,22 @@ test "Check failing proc": assert data.isOk == false assert data.error == "Not implemented!" +test "Check failing typedesc proc ": + proc someProc(): OP[int] = + fail(int, "Not implemented!") + + let data = someProc() + assert data.isOk == false + assert data.error == "Not implemented!" + +test "Check failing type param proc ": + proc someProc(): OP[int] = + op.fail[int]("Not implemented!") + + let data = someProc() + assert data.isOk == false + assert data.error == "Not implemented!" + test "Check changing result": proc checker(): OP[int] = result = ok 42