authorgravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2021-05-20 19:59:37+02:00
committergravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2021-05-20 19:59:37+02:00
log0ac56e7f3aba39f96ec9ca3fa3b253c9654979cf
tree46eb89d632518ec7eed4e22cc2b0def72ab2232d
parentf8d0501f50985b2953dc0eec6a555e7bc91f7798
signaturelock-open Commit is signed but in an unrecognized format.

Add test cases for switches


1 files changed, 61 insertions(+), 0 deletions(-)

test/stage2/wasm.zig+61
......@@ -474,4 +474,65 @@ pub fn addCases(ctx: *TestContext) !void {
474474 \\}
475475 , "30\n");
476476 }
477
478 {
479 var case = ctx.exe("wasm switch", wasi);
480
481 case.addCompareOutput(
482 \\pub export fn _start() u32 {
483 \\ var val: u32 = 1;
484 \\ var a: u32 = switch (val) {
485 \\ 0, 1 => 2,
486 \\ 2 => 3,
487 \\ 3 => 4,
488 \\ else => 5,
489 \\ };
490 \\
491 \\ return a;
492 \\}
493 , "2\n");
494
495 case.addCompareOutput(
496 \\pub export fn _start() u32 {
497 \\ var val: u32 = 2;
498 \\ var a: u32 = switch (val) {
499 \\ 0, 1 => 2,
500 \\ 2 => 3,
501 \\ 3 => 4,
502 \\ else => 5,
503 \\ };
504 \\
505 \\ return a;
506 \\}
507 , "3\n");
508
509 case.addCompareOutput(
510 \\pub export fn _start() u32 {
511 \\ var val: u32 = 10;
512 \\ var a: u32 = switch (val) {
513 \\ 0, 1 => 2,
514 \\ 2 => 3,
515 \\ 3 => 4,
516 \\ else => 5,
517 \\ };
518 \\
519 \\ return a;
520 \\}
521 , "5\n");
522
523 case.addCompareOutput(
524 \\const MyEnum = enum { One, Two, Three };
525 \\
526 \\pub export fn _start() u32 {
527 \\ var val: MyEnum = .Two;
528 \\ var a: u32 = switch (val) {
529 \\ .One => 1,
530 \\ .Two => 2,
531 \\ .Three => 3,
532 \\ };
533 \\
534 \\ return a;
535 \\}
536 , "2\n");
537 }
477538}