dart-sdk/tests/language/switch/fallthru_test.dart
Jake Macdonald 41bc0b4d07 opt assignable_expression_test into 2.19
opt switch related tests back to 2.19
opt map/set hashCode override tests back to 2.19

Change-Id: Ib5c44fc17de43eaf9bcad71d7a326c5fcbff02bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285800
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2023-02-27 22:48:51 +00:00

34 lines
842 B
Dart

// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
// @dart=2.19
import "package:expect/expect.dart";
String test(int n) {
String result = "foo";
switch (n) {
case 0:
result = "zero";
break;
case 1:
// ^^^^
// [analyzer] COMPILE_TIME_ERROR.SWITCH_CASE_COMPLETES_NORMALLY
// [cfe] Switch case may fall through to the next case.
result = "one";
// fall-through, error if case is non-empty
case 9:
result = "nine";
// No error at end of last switch case.
}
return result;
}
main() {
Expect.equals("zero", test(0));
Expect.equals("nine", test(1));
Expect.equals("nine", test(9));
Expect.equals("foo", test(99));
}