dart-sdk/tests/language/bool/check_strong_test.dart
Alexander Markov 0f89df0c00 [tests/nnbd] Fork language/bool tests for weak and strong mode
Migrated language/bool tests expect TypeError when null value is used
in a condition (which is still possible if static type of condition is
dynamic). This is right in NNBD strong mode, as implicit cast of null
to bool will fail with TypeError. However, in NNBD weak mode implicit
cast passes, and then AssertionError is thrown as before.
Before migration language_2/bool tests expected AssertionError.

This change forks the tests to behave differently in weak and strong
modes.

Change-Id: Iaba9e606bafe5740a998a60a74a6b54e38cac86b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141800
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-04-01 00:35:37 +00:00

18 lines
426 B
Dart

// Copyright (c) 2014, 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.
// Requirements=nnbd-strong
import "package:expect/expect.dart";
main() {
Expect.throwsTypeError(() {
if (null as dynamic) {}
});
Expect.throwsTypeError(() {
if ("true" as dynamic) {}
});
}