Skip to content
This repository was archived by the owner on Nov 20, 2024. It is now read-only.

Commit 06616d0

Browse files
authored
validate incompatible rules (#1965)
1 parent 8b276d5 commit 06616d0

File tree

3 files changed

+29
-25
lines changed

3 files changed

+29
-25
lines changed

test/all.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import 'rule_test.dart' as rule_test;
1313
import 'utils_test.dart' as utils_test;
1414
import 'validate_format_test.dart' as validate_format;
1515
import 'validate_headers_test.dart' as validate_headers;
16-
import 'validate_metadata.dart' as validate_metadata;
16+
import 'validate_incompatible_rules.dart' as validate_incompatible_rules;
1717
import 'version_test.dart' as version_test;
1818

1919
void main() {
@@ -28,6 +28,6 @@ void main() {
2828
utils_test.main();
2929
validate_format.main();
3030
validate_headers.main();
31-
validate_metadata.main();
31+
validate_incompatible_rules.main();
3232
version_test.main();
3333
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
2+
// for details. All rights reserved. Use of this source code is governed by a
3+
// BSD-style license that can be found in the LICENSE file.
4+
5+
import 'package:linter/src/analyzer.dart';
6+
import 'package:linter/src/rules.dart';
7+
import 'package:test/test.dart';
8+
9+
void main() {
10+
group('check for incompatible rules:', () {
11+
registerLintRules();
12+
for (var rule in Analyzer.facade.registeredRules) {
13+
for (var incompatibleRule in rule.incompatibleRules) {
14+
test(rule.name, () async {
15+
var referencedRule = Analyzer.facade.registeredRules
16+
.firstWhere((r) => r.name == incompatibleRule);
17+
expect(referencedRule, isNotNull,
18+
reason:
19+
'No rule found for id: $incompatibleRule (check for typo?)');
20+
expect(referencedRule.incompatibleRules, contains(rule.name),
21+
reason:
22+
'$referencedRule should define ${rule.name} in `incompatibleRules` but does not.');
23+
});
24+
}
25+
}
26+
});
27+
}

test/validate_metadata.dart

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)