`avoid_type_to_string` extension type tests

Fixes: https://github.com/dart-lang/linter/issues/4783

Change-Id: I1477048ea933cdc7f11706a9caab3f0769d66f86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/331082
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/linter/test/rules/all.dart b/pkg/linter/test/rules/all.dart
index 1359788..b3572b9 100644
--- a/pkg/linter/test/rules/all.dart
+++ b/pkg/linter/test/rules/all.dart
@@ -39,6 +39,7 @@
 import 'avoid_single_cascade_in_expression_statements_test.dart'
     as avoid_single_cascade_in_expression_statements;
 import 'avoid_slow_async_io_test.dart' as avoid_slow_async_io;
+import 'avoid_type_to_string_test.dart' as avoid_type_to_string;
 import 'avoid_types_as_parameter_names_test.dart'
     as avoid_types_as_parameter_names;
 import 'avoid_types_on_closure_parameters_test.dart'
@@ -277,6 +278,7 @@
   avoid_shadowing_type_parameters.main();
   avoid_single_cascade_in_expression_statements.main();
   avoid_slow_async_io.main();
+  avoid_type_to_string.main();
   avoid_types_as_parameter_names.main();
   avoid_types_on_closure_parameters.main();
   avoid_unnecessary_containers.main();
diff --git a/pkg/linter/test/rules/avoid_type_to_string_test.dart b/pkg/linter/test/rules/avoid_type_to_string_test.dart
new file mode 100644
index 0000000..fc481f7b
--- /dev/null
+++ b/pkg/linter/test/rules/avoid_type_to_string_test.dart
@@ -0,0 +1,43 @@
+// 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.
+
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import '../rule_test_support.dart';
+
+main() {
+  defineReflectiveSuite(() {
+    defineReflectiveTests(AvoidTypeToStringTest);
+  });
+}
+
+@reflectiveTest
+class AvoidTypeToStringTest extends LintRuleTest {
+  @override
+  String get lintRule => 'avoid_type_to_string';
+
+  test_extensionType_implicitThis() async {
+    await assertDiagnostics(r'''
+extension type E(int i) {
+  m() {
+    runtimeType.toString();
+  }
+}
+''', [
+      lint(50, 8),
+    ]);
+  }
+
+  test_extensionType_instance() async {
+    await assertDiagnostics(r'''
+extension type E(int i) {
+  m() {
+    E(i).runtimeType.toString();
+  }
+}
+''', [
+      lint(55, 8),
+    ]);
+  }
+}