| ... | @@ -474,4 +474,65 @@ pub fn addCases(ctx: *TestContext) !void { | ... | @@ -474,4 +474,65 @@ pub fn addCases(ctx: *TestContext) !void { |
| 474 | \\} | 474 | \\} |
| 475 | , "30\n"); | 475 | , "30\n"); |
| 476 | } | 476 | } |
| | 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 | } |
| 477 | } | 538 | } |