mirror of
https://github.com/ziglang/zig.git
synced 2026-02-21 08:45:52 +00:00
wasm: Test cases for optionals
This commit is contained in:
parent
61de59e121
commit
a861b7d160
@ -644,4 +644,58 @@ pub fn addCases(ctx: *TestContext) !void {
|
||||
\\}
|
||||
, "5\n");
|
||||
}
|
||||
|
||||
{
|
||||
var case = ctx.exe("wasm optionals", wasi);
|
||||
|
||||
case.addCompareOutput(
|
||||
\\pub export fn _start() u32 {
|
||||
\\ var x: ?u32 = 5;
|
||||
\\ var y: u32 = 0;
|
||||
\\ if (x) |val| {
|
||||
\\ y = val;
|
||||
\\ }
|
||||
\\ return y;
|
||||
\\}
|
||||
, "5\n");
|
||||
|
||||
case.addCompareOutput(
|
||||
\\pub export fn _start() u32 {
|
||||
\\ var x: ?u32 = null;
|
||||
\\ var y: u32 = 0;
|
||||
\\ if (x) |val| {
|
||||
\\ y = val;
|
||||
\\ }
|
||||
\\ return y;
|
||||
\\}
|
||||
, "0\n");
|
||||
|
||||
case.addCompareOutput(
|
||||
\\pub export fn _start() u32 {
|
||||
\\ var x: ?u32 = 5;
|
||||
\\ return x.?;
|
||||
\\}
|
||||
, "5\n");
|
||||
|
||||
case.addCompareOutput(
|
||||
\\pub export fn _start() u32 {
|
||||
\\ var x: u32 = 5;
|
||||
\\ var y: ?u32 = x;
|
||||
\\ return y.?;
|
||||
\\}
|
||||
, "5\n");
|
||||
|
||||
case.addCompareOutput(
|
||||
\\pub export fn _start() u32 {
|
||||
\\ var val: ?u32 = 5;
|
||||
\\ while (val) |*v| {
|
||||
\\ v.* -= 1;
|
||||
\\ if (v.* == 2) {
|
||||
\\ val = null;
|
||||
\\ }
|
||||
\\ }
|
||||
\\ return 0;
|
||||
\\}
|
||||
, "0\n");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user