blob: adab1b1ec6b647e93c7d026acb902b42f5a0ba86 [file]
// 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';
void main() {
defineReflectiveSuite(() {
defineReflectiveTests(SlashForDocCommentsTest);
});
}
@reflectiveTest
class SlashForDocCommentsTest extends LintRuleTest {
@override
String get lintRule => LintNames.slash_for_doc_comments;
test_class() async {
await assertDiagnosticsFromMarkup(r'''
[!/** C */!]
class C {}
''');
}
test_constructor() async {
await assertDiagnosticsFromMarkup(r'''
class C {
[!/** C */!]
C();
}
''');
}
test_enum() async {
await assertDiagnosticsFromMarkup(r'''
[!/** E */!]
enum E {
A,
B
}
''');
}
test_enumConstant() async {
await assertDiagnosticsFromMarkup(r'''
enum E {
[!/** A */!]
A,
B
}
''');
}
test_extension() async {
await assertDiagnosticsFromMarkup(r'''
[!/** A */!]
extension on int {}
''');
}
test_field() async {
await assertDiagnosticsFromMarkup(r'''
class C {
[!/** x */!]
var x;
}
''');
}
test_library() async {
await assertDiagnosticsFromMarkup(r'''
[!/** l */!]
library l;
''');
}
test_localFunction() async {
await assertDiagnosticsFromMarkup(r'''
void f() {
[!/** g */!]
// ignore: unused_element
void g() {}
}
''');
}
test_method() async {
await assertDiagnosticsFromMarkup(r'''
class C {
[!/** f */!]
void f() {}
}
''');
}
test_mixin() async {
await assertDiagnosticsFromMarkup(r'''
[!/** M */!]
mixin M {}
''');
}
test_mixinApplication() async {
await assertDiagnosticsFromMarkup(r'''
[!/** C */!]
class C = Object with M;
mixin M {}
''');
}
test_noComment() async {
await assertNoDiagnostics(r'''
mixin M {}
''');
}
test_oneAsterisk_class() async {
await assertNoDiagnostics(r'''
/* C */
class C {}
''');
}
test_oneAsterisk_mixin() async {
await assertNoDiagnostics(r'''
/* M */
mixin M {}
''');
}
test_primaryConstructorBody() async {
await assertDiagnosticsFromMarkup(r'''
class C() {
[!/** C */!]
this;
}
''');
}
test_threeSlashes_class() async {
await assertNoDiagnostics(r'''
/// OK
class C {}
''');
}
test_topLevelFunction() async {
await assertDiagnosticsFromMarkup(r'''
[!/** f */!]
void f() {}
''');
}
test_topLevelVariable() async {
await assertDiagnosticsFromMarkup(r'''
[!/** x */!]
var x = 1;
''');
}
test_typedef_genericFunctionType() async {
await assertDiagnosticsFromMarkup(r'''
[!/** T */!]
typedef T = bool Function();
''');
}
test_typedef_legacy() async {
await assertDiagnosticsFromMarkup(r'''
[!/** F */!]
typedef bool F();
''');
}
test_typedef_nonFunction() async {
await assertDiagnosticsFromMarkup(r'''
[!/** T */!]
typedef T = Object;
''');
}
}