blob: cc87324bd721782c505f5e503b33aaf9d3b6fe8d [file] [log] [blame]
// Copyright (c) 2023, 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.
String test1(int value) {
switch (value) {
case <2:
return "case <2";
case 2:
return "case 2";
}
return "not matched";
}
String test2(int value) {
switch (value) {
case <2:
return "case <2";
case 2:
default:
return "case 2";
}
return "not matched";
}
String test3(int value) {
switch (value) {
case 2:
return "case 2";
case <2:
default:
return "case <2";
}
return "not matched";
}
String test4(int value) {
switch (value) {
case 2:
return "case 2";
case <2:
return "case <2";
default:
return "default";
}
}
String test5(int value) {
switch (value) {
case 2:
return "case 2";
case <2:
case >3:
return "case <2 >3";
default:
return "default";
}
}
String test6(int value) {
switch (value) {
case 2:
return "case 2";
case 1:
case 4:
return "case 1/4";
default:
return "default";
}
}
main() {
expect("case <2", test1(1));
expect("case 2", test1(2));
expect("not matched", test1(3));
expect("case <2", test2(1));
expect("case 2", test2(2));
expect("case 2", test2(3));
expect("case <2", test3(1));
expect("case 2", test3(2));
expect("case <2", test3(3));
expect("case <2", test4(1));
expect("case 2", test4(2));
expect("default", test4(3));
expect("case <2", test4(1));
expect("case 2", test4(2));
expect("default", test4(3));
expect("case <2 >3", test5(1));
expect("case 2", test5(2));
expect("default", test5(3));
expect("case <2 >3", test5(4));
expect("case 1/4", test6(1));
expect("case 2", test6(2));
expect("default", test6(3));
expect("case 1/4", test6(4));
}
expect(expected, actual) {
if (expected != actual) throw 'Expected $expected, actual $actual';
}