aboutsummaryrefslogtreecommitdiff
path: root/test/cases3/error.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-12-22 01:42:30 -0500
committerAndrew Kelley <superjoe30@gmail.com>2016-12-22 01:42:30 -0500
commitdab3ddab4539b79b1dee4bc82f78c1b3f41ffeb2 (patch)
treeb792312c1cf2025041a3370fc9b59b91ff53c9c0 /test/cases3/error.zig
parent5a717187571e5eed99087a9b4359f6ac194db1cf (diff)
downloadzig-dab3ddab4539b79b1dee4bc82f78c1b3f41ffeb2.tar.gz
zig-dab3ddab4539b79b1dee4bc82f78c1b3f41ffeb2.zip
IR: port more tests
Diffstat (limited to 'test/cases3/error.zig')
-rw-r--r--test/cases3/error.zig31
1 files changed, 30 insertions, 1 deletions
diff --git a/test/cases3/error.zig b/test/cases3/error.zig
index 4e6e72689c..c41572b417 100644
--- a/test/cases3/error.zig
+++ b/test/cases3/error.zig
@@ -25,8 +25,11 @@ fn gimmeItBroke() -> []const u8 {
fn errorName() {
@setFnTest(this);
- assert(memeql(@errorName(error.ItBroke), "ItBroke"));
+ assert(memeql(@errorName(error.AnError), "AnError"));
+ assert(memeql(@errorName(error.ALongerErrorName), "ALongerErrorName"));
}
+error AnError;
+error ALongerErrorName;
fn errorValues() {
@@ -53,6 +56,32 @@ fn shouldBeNotEqual(a: error, b: error) {
}
+fn errBinaryOperator() {
+ @setFnTest(this);
+
+ const a = errBinaryOperatorG(true) %% 3;
+ const b = errBinaryOperatorG(false) %% 3;
+ assert(a == 3);
+ assert(b == 10);
+}
+error ItBroke;
+fn errBinaryOperatorG(x: bool) -> %isize {
+ if (x) {
+ error.ItBroke
+ } else {
+ isize(10)
+ }
+}
+
+
+fn unwrapSimpleValueFromError() {
+ @setFnTest(this);
+
+ const i = %%unwrapSimpleValueFromErrorDo();
+ assert(i == 13);
+}
+fn unwrapSimpleValueFromErrorDo() -> %isize { 13 }
+