Skip to content

Commit b6dfbb9

Browse files
committed
Add end2end rendering test
1 parent 9a1a0cc commit b6dfbb9

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

test/end2end/model_special_cases_test.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ void main() {
8989
optOutOfNullSafety,
9090
nullableElements;
9191
Class b;
92+
Class c;
9293

9394
setUpAll(() async {
9495
lateFinalWithoutInitializer = (await _testPackageGraphExperiments)
@@ -105,6 +106,8 @@ void main() {
105106
.firstWhere((lib) => lib.name == 'nullable_elements');
106107
b = nullSafetyClassMemberDeclarations.allClasses
107108
.firstWhere((c) => c.name == 'B');
109+
c = nullSafetyClassMemberDeclarations.allClasses
110+
.firstWhere((c) => c.name == 'C');
108111
});
109112

110113
test('isNullSafety is set correctly for libraries', () {
@@ -154,6 +157,24 @@ void main() {
154157
'</ol>'));
155158
});
156159

160+
test('anonymous callback parameters are correctly marked as nullable', () {
161+
var m3 = c.instanceMethods.firstWhere((m) => m.name == 'm3');
162+
var listen = m3.allParameters.firstWhere((p) => p.name == 'listen');
163+
var onDone = m3.allParameters.firstWhere((p) => p.name == 'onDone');
164+
expect(listen.isRequiredPositional, isTrue);
165+
expect(onDone.isNamed, isTrue);
166+
167+
expect(
168+
m3.linkedParamsLines,
169+
equals(
170+
'<ol class="parameter-list"><li><span class="parameter" id="m3-param-listen"><span class="type-annotation">void</span> <span class="parameter-name">listen</span>(<ol class="parameter-list"><li><span class="parameter" id="param-t"><span class="type-annotation">int</span> <span class="parameter-name">t</span></span></li>\n'
171+
'</ol>\n'
172+
')?, </span></li>\n'
173+
'<li><span class="parameter" id="m3-param-onDone">{<span class="type-annotation">void</span> <span class="parameter-name">onDone</span>(<ol class="parameter-list"></ol>\n'
174+
')?}</span></li>\n'
175+
'</ol>'));
176+
});
177+
157178
test('Late final class member test', () {
158179
var c = lateFinalWithoutInitializer.allClasses
159180
.firstWhere((c) => c.name == 'C');

testing/test_package_experiments/lib/nnbd_class_member_declarations.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,6 @@ class C {
2626
List<int?> get testFieldNullableParameter => [];
2727

2828
List<Map<String, num?>>? method1() => null;
29+
30+
void m3(void listen(int t)?, {void onDone()?});
2931
}

0 commit comments

Comments
 (0)