@@ -20,13 +20,38 @@ void main() {
20
20
21
21
@reflectiveTest
22
22
class TypedefTest extends DartdocTestBase {
23
+ @override
24
+ List <String > get experiments => ['inline-class' ];
25
+
23
26
@override
24
27
String get libraryName => 'typedefs' ;
25
28
26
29
@override
27
- String get sdkConstraint => '>=3.0.0 <4.0.0' ;
30
+ String get sdkConstraint => '>=3.3.0 <4.0.0' ;
31
+
32
+ void test_class_basic () async {
33
+ var library = await bootPackageWithLibrary ('''
34
+ class C {}
35
+ typedef T = C;
36
+ ''' );
37
+ final tTypedef = library.typedefs.named ('T' );
38
+ expect (tTypedef.nameWithGenerics, 'T' );
39
+ expect (tTypedef.genericParameters, '' );
40
+ expect (tTypedef.aliasedType, isA <InterfaceType >());
41
+ }
42
+
43
+ void test_extensionType_basic () async {
44
+ var library = await bootPackageWithLibrary ('''
45
+ extension type E(int i) {}
46
+ typedef T = E;
47
+ ''' );
48
+ final tTypedef = library.typedefs.named ('T' );
49
+ expect (tTypedef.nameWithGenerics, 'T' );
50
+ expect (tTypedef.genericParameters, '' );
51
+ expect (tTypedef.aliasedType, isA <InterfaceType >());
52
+ }
28
53
29
- void test_basicFunctionTypedef () async {
54
+ void test_function_basic () async {
30
55
var library = await bootPackageWithLibrary ('''
31
56
/// Line _one_.
32
57
///
@@ -52,7 +77,7 @@ Line _two_.''');
52
77
<p>Line <em>two</em>.</p>''' );
53
78
}
54
79
55
- void test_genericFunctionTypedef () async {
80
+ void test_function_generic () async {
56
81
var library = await bootPackageWithLibrary ('''
57
82
typedef Cb2<T> = T Function(T);
58
83
''' );
@@ -69,7 +94,7 @@ typedef Cb2<T> = T Function(T);
69
94
expect (cb2Typedef.aliasedType, isA <FunctionType >());
70
95
}
71
96
72
- void test_genericFunctionTypedefReferringToGenericTypedef () async {
97
+ void test_function_generic_referringToGenericTypedef () async {
73
98
var library = await bootPackageWithLibrary ('''
74
99
typedef Cb2<T> = T Function(T);
75
100
@@ -92,7 +117,7 @@ typedef Cb3<T> = Cb2<List<T>>;
92
117
// TODO(srawlins): Dramatically improve typedef testing.
93
118
}
94
119
95
- void test_typedefInDocCommentReference () async {
120
+ void test_inDocCommentReference () async {
96
121
var library = await bootPackageWithLibrary ('''
97
122
typedef Cb2<T> = T Function(T);
98
123
@@ -111,7 +136,39 @@ typedef Cb3<T> = Cb2<List<T>>;
111
136
);
112
137
}
113
138
114
- void test_basicRecordTypedef () async {
139
+ void test_inDocCommentReference2 () async {
140
+ var library = await bootPackageWithLibrary ('''
141
+ typedef R2<T> = (T, String);
142
+
143
+ /// Not unlike [R2].
144
+ typedef R3<T> = R2<List<T>>;
145
+ ''' );
146
+ final r3Typedef = library.typedefs.named ('R3' );
147
+
148
+ expect (r3Typedef.isDocumented, isTrue);
149
+
150
+ expect (r3Typedef.documentation, 'Not unlike [R2].' );
151
+
152
+ expect (
153
+ r3Typedef.documentationAsHtml,
154
+ '<p>Not unlike '
155
+ '<a href="%%__HTMLBASE_dartdoc_internal__%%typedefs/R2.html">R2</a>.'
156
+ '</p>' ,
157
+ );
158
+ }
159
+
160
+ void test_mixin_basic () async {
161
+ var library = await bootPackageWithLibrary ('''
162
+ mixin M {}
163
+ typedef T = M;
164
+ ''' );
165
+ final tTypedef = library.typedefs.named ('T' );
166
+ expect (tTypedef.nameWithGenerics, 'T' );
167
+ expect (tTypedef.genericParameters, '' );
168
+ expect (tTypedef.aliasedType, isA <InterfaceType >());
169
+ }
170
+
171
+ void test_record_basic () async {
115
172
var library = await bootPackageWithLibrary ('''
116
173
/// Line _one_.
117
174
///
@@ -137,7 +194,7 @@ Line _two_.''');
137
194
<p>Line <em>two</em>.</p>''' );
138
195
}
139
196
140
- void test_genericRecordTypedef () async {
197
+ void test_record_generic () async {
141
198
var library = await bootPackageWithLibrary ('''
142
199
typedef R2<T> = (T, String);
143
200
''' );
@@ -154,7 +211,7 @@ typedef R2<T> = (T, String);
154
211
expect (r2Typedef.aliasedType, isA <RecordType >());
155
212
}
156
213
157
- void test_genericRecordTypedefReferringToGenericTypedef () async {
214
+ void test_record_generic_referringToGenericTypedef () async {
158
215
var library = await bootPackageWithLibrary ('''
159
216
typedef R2<T> = (T, String);
160
217
@@ -174,28 +231,7 @@ typedef R3<T> = R2<List<T>>;
174
231
expect (r3Typedef.aliasedType, isA <RecordType >());
175
232
}
176
233
177
- void test_typedefInDocCommentReference2 () async {
178
- var library = await bootPackageWithLibrary ('''
179
- typedef R2<T> = (T, String);
180
-
181
- /// Not unlike [R2].
182
- typedef R3<T> = R2<List<T>>;
183
- ''' );
184
- final r3Typedef = library.typedefs.named ('R3' );
185
-
186
- expect (r3Typedef.isDocumented, isTrue);
187
-
188
- expect (r3Typedef.documentation, 'Not unlike [R2].' );
189
-
190
- expect (
191
- r3Typedef.documentationAsHtml,
192
- '<p>Not unlike '
193
- '<a href="%%__HTMLBASE_dartdoc_internal__%%typedefs/R2.html">R2</a>.'
194
- '</p>' ,
195
- );
196
- }
197
-
198
- void test_typedefRetainsAliasWhenUsed () async {
234
+ void test_retainsAliasWhenUsed () async {
199
235
var library = await bootPackageWithLibrary ('''
200
236
typedef R<T> = (T, String);
201
237
0 commit comments