22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5+ import 'package:dartdoc/src/model/model.dart' ;
56import 'package:test/test.dart' ;
67import 'package:test_reflective_loader/test_reflective_loader.dart' ;
78
89import 'dartdoc_test_base.dart' ;
910import 'src/utils.dart' ;
1011
12+ extension on InheritingContainer {
13+ String languageFeatureChips () =>
14+ displayedLanguageFeatures.map ((l) => l.name).join (' ' );
15+ }
16+
1117void main () {
1218 defineReflectiveSuite (() {
1319 if (classModifiersAllowed) {
@@ -63,21 +69,21 @@ base mixin O {}
6369 var Mclass = library.classes.named ('M' );
6470 var Nmixin = library.mixins.named ('N' );
6571 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' ));
8187 }
8288
8389 void test_abstractSealed () async {
@@ -86,7 +92,8 @@ abstract class A {}
8692sealed class B extends A {}
8793''' );
8894 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
9097 }
9198
9299 void test_inferredModifiers () async {
@@ -116,13 +123,14 @@ base class M extends L {}
116123 var Iclass = library.classes.named ('I' );
117124 var Lclass = library.classes.named ('L' );
118125 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' ));
127135 }
128136}
0 commit comments