From f8d286d4d2f18015ddeb1bcddfdedc6b21897449 Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Tue, 9 Jun 2026 12:34:43 -0700 Subject: [PATCH] CQ. Migrate from assertInvalidTestCode() to resolveTestCodeWithDiagnostics() and remove it. Change-Id: Id1306cef4434ee4f61fa3df8a33aa4009698203f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510189 Reviewed-by: Johnni Winther Commit-Queue: Konstantin Shcheglov --- .../src/dart/resolution/index_expression_test.dart | 10 ++++++++-- .../dart/resolution/method_invocation_test.dart | 10 ++++++++-- .../src/dart/resolution/property_access_test.dart | 14 +++++++++++--- .../test/src/dart/resolution/resolution.dart | 8 -------- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart index ba414c8f7a2..878105e470b 100644 --- a/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/index_expression_test.dart @@ -147,8 +147,10 @@ MethodInvocation } test_invalid_inDefaultValue_nullAware() async { - var result = await assertInvalidTestCode(r''' + var result = await resolveTestCodeWithDiagnostics(r''' void f({a = b?[0]}) {} +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); // TODO(scheglov): https://github.com/dart-lang/sdk/issues/49101 @@ -172,8 +174,12 @@ IndexExpression } test_invalid_inDefaultValue_nullAware2() async { - var result = await assertInvalidTestCode(r''' + var result = await resolveTestCodeWithDiagnostics(r''' typedef void F({a = b?[0]}); +// ^ +// [diag.defaultValueInFunctionType] Parameters in a function type can't have default values. +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); var node = result.findNode.index('[0]'); diff --git a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart index 970fc4ce5df..3b9e0d8c39d 100644 --- a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart @@ -5727,8 +5727,10 @@ MethodInvocation } test_invalid_inDefaultValue_nullAware() async { - var result = await assertInvalidTestCode(''' + var result = await resolveTestCodeWithDiagnostics(''' void f({a = b?.foo()}) {} +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); var node = result.findNode.methodInvocation('?.foo()'); @@ -5752,8 +5754,12 @@ MethodInvocation } test_invalid_inDefaultValue_nullAware2() async { - var result = await assertInvalidTestCode(''' + var result = await resolveTestCodeWithDiagnostics(''' typedef void F({a = b?.foo()}); +// ^ +// [diag.defaultValueInFunctionType] Parameters in a function type can't have default values. +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); var node = result.findNode.methodInvocation('?.foo()'); diff --git a/pkg/analyzer/test/src/dart/resolution/property_access_test.dart b/pkg/analyzer/test/src/dart/resolution/property_access_test.dart index e9f2a3d26b0..669919df83c 100644 --- a/pkg/analyzer/test/src/dart/resolution/property_access_test.dart +++ b/pkg/analyzer/test/src/dart/resolution/property_access_test.dart @@ -656,8 +656,10 @@ AssignmentExpression } test_invalid_inDefaultValue_nullAware() async { - var result = await assertInvalidTestCode(''' + var result = await resolveTestCodeWithDiagnostics(''' void f({a = b?.foo}) {} +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); var node = result.findNode.singlePropertyAccess; @@ -677,8 +679,12 @@ PropertyAccess } test_invalid_inDefaultValue_nullAware2() async { - var result = await assertInvalidTestCode(''' + var result = await resolveTestCodeWithDiagnostics(''' typedef void F({a = b?.foo}); +// ^ +// [diag.defaultValueInFunctionType] Parameters in a function type can't have default values. +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); var node = result.findNode.singlePropertyAccess; @@ -698,8 +704,10 @@ PropertyAccess } test_invalid_inDefaultValue_nullAware_cascade() async { - var result = await assertInvalidTestCode(''' + var result = await resolveTestCodeWithDiagnostics(''' void f({a = b?..foo}) {} +// ^ +// [diag.undefinedIdentifier] Undefined name 'b'. '''); var node = result.findNode.singleFormalParameter; diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart index bc866b8bfd1..bcab47fa3ef 100644 --- a/pkg/analyzer/test/src/dart/resolution/resolution.dart +++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart @@ -133,14 +133,6 @@ mixin ResolutionTest implements ResourceProviderMixin { expect(result.diagnostics, isNotEmpty); } - /// Resolve the [code], and ensure that it can be resolved without a crash, - /// and is invalid, i.e. produces a diagnostic. - Future assertInvalidTestCode(String code) async { - var result = await resolveTestCode(code); - expect(result.diagnostics, isNotEmpty); - return result; - } - void assertParsedNodeText(AstNode node, String expected) { var buffer = StringBuffer(); var sink = TreeStringSink(sink: buffer, indent: '');