-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failuresarea-web-jsIssues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.Issues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.web-dev-compiler
Milestone
Description
The following code fails to run with flutter test --platform=chrome test/pure_dart_test.dart under Dart 3.0:
test/pure_dart_test.dart:
import 'package:test/test.dart';
void main() {
test('calculate', () {
Foo().buildOverscrollIndicator(TargetPlatform.android, AndroidOverscrollIndicator.glow);
});
}
class Foo {
int buildOverscrollIndicator(TargetPlatform platform, AndroidOverscrollIndicator indicator) {
switch (platform) {
case TargetPlatform.iOS:
case TargetPlatform.linux:
case TargetPlatform.macOS:
case TargetPlatform.windows:
return 1;
case TargetPlatform.android:
switch (indicator) {
case AndroidOverscrollIndicator.stretch:
return 2;
case AndroidOverscrollIndicator.glow:
continue glow;
}
glow:
case TargetPlatform.fuchsia:
return 3;
}
}
}
enum AndroidOverscrollIndicator {
stretch,
glow,
}
enum TargetPlatform {
android,
fuchsia,
iOS,
linux,
macOS,
windows,
}pubspec.yaml
name: pure_dart
description: A sample command-line application.
version: 1.0.0
environment:
sdk: '>=3.0.0-0 <4.0.0'
dependencies:
flutter:
sdk: flutter
dev_dependencies:
lints: ^2.0.0
test: ^1.16.0
flutter_test:
sdk: flutter
Exception:
UnimplementedError: node <ContinueSwitchStatement> see https://github.com/dart-lang/sdk/issues/29352 `ContinueSwitchStatement(continue "case 2.0:";)`
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 288:49 throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 17:3 throwUnimplementedError
pure_dart_test.dart.js 124:28 buildOverscrollIndicator
pure_dart_test.dart.js 225:36 <fn>
packages/test_api/src/backend/declarer.dart.js 258:56 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 184:98 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 236:16 [_run]
packages/stack_trace/src/stack_zone_specification.dart.js 184:80 <fn>
dart-sdk/lib/async/zone.dart 1406:47 _rootRunUnary
dart-sdk/lib/async/zone.dart 1307:19 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 448:9 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 236:16 [_run]
packages/stack_trace/src/stack_zone_specification.dart.js 179:71 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1208:7 runGuarded
dart-sdk/lib/async/zone.dart 1248:23 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15 <fn>
===== asynchronous gap ===========================
dart-sdk/lib/async/zone.dart 1328:19 registerUnaryCallback
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 67:19 _async
packages/test_api/src/backend/declarer.dart.js 256:69 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1802:67 _runZoned
dart-sdk/lib/async/zone.dart 1746:10 runZoned
packages/test_api/src/backend/declarer.dart.js 256:21 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/test_api/src/backend/declarer.dart.js 246:90 <fn>
packages/test_api/src/backend/declarer.dart.js 662:61 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/test_api/src/backend/declarer.dart.js 658:61 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1802:67 _runZoned
dart-sdk/lib/async/zone.dart 1746:10 runZoned
packages/test_api/src/backend/declarer.dart.js 658:13 [_waitForOutstandingCallbacks]
packages/test_api/src/backend/declarer.dart.js 741:53 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 184:98 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 236:16 [_run]
packages/stack_trace/src/stack_zone_specification.dart.js 184:80 <fn>
dart-sdk/lib/async/zone.dart 1406:47 _rootRunUnary
dart-sdk/lib/async/zone.dart 1307:19 runUnary
dart-sdk/lib/async/future_impl.dart 147:18 handleValue
dart-sdk/lib/async/future_impl.dart 784:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 575:7 [_complete]
dart-sdk/lib/async/future.dart 255:15 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 236:16 [_run]
packages/stack_trace/src/stack_zone_specification.dart.js 179:71 <fn>
dart-sdk/lib/async/zone.dart 1390:47 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1208:7 runGuarded
dart-sdk/lib/async/zone.dart 1248:23 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 236:16 [_run]
packages/stack_trace/src/stack_zone_specification.dart.js 179:71 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1232:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19 internalCallback
===== asynchronous gap ===========================
dart-sdk/lib/async/zone.dart 1328:19 registerUnaryCallback
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 67:19 _async
packages/test_api/src/backend/declarer.dart.js 738:65 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1802:67 _runZoned
dart-sdk/lib/async/zone.dart 1746:10 runZoned
packages/test_api/src/backend/declarer.dart.js 738:17 <fn>
packages/test_api/src/backend/declarer.dart.js 759:9 [_guardIfGuarded]
packages/test_api/src/backend/declarer.dart.js 737:30 <fn>
packages/stack_trace/src/stack_zone_specification.dart.js 1118:18 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1802:67 _runZoned
dart-sdk/lib/async/zone.dart 1746:10 runZoned
packages/stack_trace/src/stack_zone_specification.dart.js 1116:20 capture
packages/test_api/src/backend/declarer.dart.js 736:19 [_onRun]
packages/test_api/src/backend/live_test_controller.dart.js 157:20 run
packages/test_api/src/backend/remote_listener.dart.js 210:18 <fn>
dart-sdk/lib/async/zone.dart 1398:13 _rootRun
dart-sdk/lib/async/zone.dart 1300:19 run
dart-sdk/lib/async/zone.dart 1802:67 _runZoned
dart-sdk/lib/async/zone.dart 1746:10 runZoned
packages/test_api/src/backend/remote_listener.dart.js 209:13 [_runLiveTest]
packages/test_api/src/backend/remote_listener.dart.js 190:27 <fn>
dart-sdk/lib/async/zone.dart 1406:47 _rootRunUnary
dart-sdk/lib/async/zone.dart 1307:19 runUnary
dart-sdk/lib/async/zone.dart 1216:7 runUnaryGuarded
dart-sdk/lib/async/stream_impl.dart 339:11 [_sendData]
dart-sdk/lib/async/stream_impl.dart 271:7 [_add]
dart-sdk/lib/async/stream_controller.dart 774:19 [_sendData]
dart-sdk/lib/async/stream_controller.dart 648:7 [_add]
dart-sdk/lib/async/stream_controller.dart 596:5 add
dart-sdk/lib/async/zone.dart 1414:13 _rootRunUnary
dart-sdk/lib/async/zone.dart 1307:19 runUnary
dart-sdk/lib/async/zone.dart 1216:7 runUnaryGuarded
dart-sdk/lib/async/stream_impl.dart 339:11 [_sendData]
dart-sdk/lib/async/stream_impl.dart 271:7 [_add]
dart-sdk/lib/async/stream_controller.dart 774:19 [_sendData]
dart-sdk/lib/async/stream_controller.dart 648:7 [_add]
dart-sdk/lib/async/stream_controller.dart 596:5 add
dart-sdk/lib/async/stream_controller.dart 866:13 add
packages/stream_channel/src/stream_channel_controller.dart.js 1177:24 add
packages/stream_channel/src/stream_channel_controller.dart.js 458:33 <fn>
dart-sdk/lib/async/zone.dart 1593:10 runUnaryGuarded
dart-sdk/lib/internal/async_cast.dart 85:11 [_onData]
dart-sdk/lib/async/zone.dart 1593:10 runUnaryGuarded
dart-sdk/lib/async/stream_impl.dart 339:11 [_sendData]
dart-sdk/lib/async/stream_impl.dart 271:7 [_add]
dart-sdk/lib/async/stream_controller.dart 774:19 [_sendData]
dart-sdk/lib/async/stream_controller.dart 648:7 [_add]
dart-sdk/lib/async/stream_controller.dart 596:5 add
dart-sdk/lib/async/zone.dart 1593:10 runUnaryGuarded
dart-sdk/lib/async/stream_impl.dart 339:11 [_sendData]
dart-sdk/lib/async/stream_impl.dart 271:7 [_add]
dart-sdk/lib/async/stream_controller.dart 774:19 [_sendData]
dart-sdk/lib/async/stream_controller.dart 648:7 [_add]
dart-sdk/lib/async/stream_controller.dart 596:5 add
dart-sdk/lib/async/stream_controller.dart 866:13 add
dart-sdk/lib/async/zone.dart 1593:10 runUnaryGuarded
dart-sdk/lib/async/stream_impl.dart 339:11 [_sendData]
dart-sdk/lib/async/stream_impl.dart 271:7 [_add]
dart-sdk/lib/async/stream_controller.dart 774:19 [_sendData]
dart-sdk/lib/async/stream_controller.dart 648:7 [_add]
dart-sdk/lib/async/stream_controller.dart 596:5 add
dart-sdk/lib/async/zone.dart 1593:10 runUnaryGuarded
dart-sdk/lib/async/stream_impl.dart 339:11 [_sendData]
dart-sdk/lib/async/stream_impl.dart 271:7 [_add]
dart-sdk/lib/async/stream_controller.dart 774:19 [_sendData]
dart-sdk/lib/async/stream_controller.dart 648:7 [_add]
dart-sdk/lib/async/stream_controller.dart 596:5 add
dart-sdk/lib/async/stream_controller.dart 866:13 add
packages/stream_channel/src/stream_channel_controller.dart.js 1177:24 add
pure_dart_test.dart.test.dart.js 85:31 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37 _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 372:39 dcall
dart-sdk/lib/html/dart2js/html_dart2js.dart 37235:58 <fn>
Everything works fine when running the test on the VM with flutter test test/pure_dart_test.dart .
Metadata
Metadata
Assignees
Labels
P1A high priority bug; for example, a single project is unusable or has many test failuresA high priority bug; for example, a single project is unusable or has many test failuresarea-web-jsIssues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.Issues related to JavaScript support for Dart Web, including DDC, dart2js, and JS interop.web-dev-compiler