2
2
// for details. All rights reserved. Use of this source code is governed by a
3
3
// BSD-style license that can be found in the LICENSE file.
4
4
5
+ import 'package:dartdoc/src/model/model.dart' ;
5
6
import 'package:test/test.dart' ;
6
7
import 'package:test_reflective_loader/test_reflective_loader.dart' ;
7
8
8
9
import 'dartdoc_test_base.dart' ;
9
10
import 'src/utils.dart' ;
10
11
12
+ extension on InheritingContainer {
13
+ String languageFeatureChips () =>
14
+ displayedLanguageFeatures.map ((l) => l.name).join (' ' );
15
+ }
16
+
11
17
void main () {
12
18
defineReflectiveSuite (() {
13
19
if (classModifiersAllowed) {
@@ -63,21 +69,21 @@ base mixin O {}
63
69
var Mclass = library.classes.named ('M' );
64
70
var Nmixin = library.mixins.named ('N' );
65
71
var Omixin = library.mixins.named ('O' );
66
- expect (Aclass .fullkind , equals ('class ' ));
67
- expect (Bclass .fullkind , equals ('base class ' ));
68
- expect (Cclass .fullkind , equals ('interface class ' ));
69
- expect (Dclass .fullkind , equals ('final class ' ));
70
- expect (Eclass .fullkind , equals ('sealed class ' ));
71
- expect (Fclass .fullkind , equals ('abstract class ' ));
72
- expect (Gclass .fullkind , equals ('abstract base class ' ));
73
- expect (Hclass .fullkind , equals ('abstract interface class ' ));
74
- expect (Iclass .fullkind , equals ('abstract final class ' ));
75
- expect (Jclass .fullkind , equals ('mixin class ' ));
76
- expect (Kclass .fullkind , equals ('base mixin class ' ));
77
- expect (Lclass .fullkind , equals ('abstract mixin class ' ));
78
- expect (Mclass .fullkind , equals ('abstract base mixin class ' ));
79
- expect (Nmixin .fullkind , equals ('mixin ' ));
80
- expect (Omixin .fullkind , equals ('base mixin ' ));
72
+ expect (Aclass .languageFeatureChips () , equals ('' ));
73
+ expect (Bclass .languageFeatureChips () , equals ('base' ));
74
+ expect (Cclass .languageFeatureChips () , equals ('interface' ));
75
+ expect (Dclass .languageFeatureChips () , equals ('final' ));
76
+ expect (Eclass .languageFeatureChips () , equals ('sealed' ));
77
+ expect (Fclass .languageFeatureChips () , equals ('abstract' ));
78
+ expect (Gclass .languageFeatureChips () , equals ('abstract base' ));
79
+ expect (Hclass .languageFeatureChips () , equals ('abstract interface' ));
80
+ expect (Iclass .languageFeatureChips () , equals ('abstract final' ));
81
+ expect (Jclass .languageFeatureChips () , equals ('mixin' ));
82
+ expect (Kclass .languageFeatureChips () , equals ('base mixin' ));
83
+ expect (Lclass .languageFeatureChips () , equals ('abstract mixin' ));
84
+ expect (Mclass .languageFeatureChips () , equals ('abstract base mixin' ));
85
+ expect (Nmixin .languageFeatureChips () , equals ('' ));
86
+ expect (Omixin .languageFeatureChips () , equals ('base' ));
81
87
}
82
88
83
89
void test_abstractSealed () async {
@@ -86,7 +92,8 @@ abstract class A {}
86
92
sealed class B extends A {}
87
93
''' );
88
94
var Bclass = library.classes.named ('B' );
89
- expect (Bclass .fullkind, equals ('sealed class' )); // *not* sealed abstract
95
+ expect (Bclass .languageFeatureChips (),
96
+ equals ('sealed' )); // *not* sealed abstract
90
97
}
91
98
92
99
void test_inferredModifiers () async {
@@ -116,13 +123,14 @@ base class M extends L {}
116
123
var Iclass = library.classes.named ('I' );
117
124
var Lclass = library.classes.named ('L' );
118
125
var Mclass = library.classes.named ('M' );
119
- expect (Bclass .fullkind, equals ('sealed class' )); // *not* sealed base
120
- expect (Cclass .fullkind, equals ('base class' ));
121
- expect (Eclass .fullkind, equals ('sealed class' ));
122
- expect (Fclass .fullkind, equals ('interface class' ));
123
- expect (Hclass .fullkind, equals ('sealed class' ));
124
- expect (Iclass .fullkind, equals ('final class' ));
125
- expect (Lclass .fullkind, equals ('sealed class' ));
126
- expect (Mclass .fullkind, equals ('base class' ));
126
+ expect (
127
+ Bclass .languageFeatureChips (), equals ('sealed' )); // *not* sealed base
128
+ expect (Cclass .languageFeatureChips (), equals ('base' ));
129
+ expect (Eclass .languageFeatureChips (), equals ('sealed' ));
130
+ expect (Fclass .languageFeatureChips (), equals ('interface' ));
131
+ expect (Hclass .languageFeatureChips (), equals ('sealed' ));
132
+ expect (Iclass .languageFeatureChips (), equals ('final' ));
133
+ expect (Lclass .languageFeatureChips (), equals ('sealed' ));
134
+ expect (Mclass .languageFeatureChips (), equals ('base' ));
127
135
}
128
136
}
0 commit comments