Skip to content

Commit 04b74f1

Browse files
committed
Automated g4 rollback of changelist 471719348.
*** Reason for rollback *** Rolling forward after fixes *** Original change description *** Automated g4 rollback of changelist 471650729. *** Reason for rollback *** Breaks GPay tap (pay.flutter.tap) https://fusion2.corp.google.com/ci;ids=1912127488/tap/pay.flutter.tap/activity/471652072/targets *** Original change description *** Include `required` keyword in functions used as default return values. *** *** PiperOrigin-RevId: 472723817
1 parent b33ce96 commit 04b74f1

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* Allow generating a mock class which includes overriding members with private
66
types in their signature. Such members cannot be stubbed with mockito, and
77
will only be generated when specified in MockSpec `unsupportedMembers`.
8+
* Include `required` keyword in functions used as default return values.
89

910
## 5.3.0
1011

lib/src/builder.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1492,7 +1492,11 @@ class _MockClassInfo {
14921492
superParameterType: parameter.type, defaultName: '__p$position');
14931493
b.optionalParameters.add(matchingParameter);
14941494
position++;
1495-
} else if (parameter.isNamed) {
1495+
} else if (parameter.isOptionalNamed) {
1496+
final matchingParameter =
1497+
_matchingParameter(parameter, superParameterType: parameter.type);
1498+
b.optionalParameters.add(matchingParameter);
1499+
} else if (parameter.isRequiredNamed) {
14961500
final matchingParameter =
14971501
_matchingParameter(parameter, superParameterType: parameter.type);
14981502
b.optionalParameters.add(matchingParameter);
@@ -1595,6 +1599,7 @@ class _MockClassInfo {
15951599
_typeReference(superParameterType, forceNullable: forceNullable);
15961600
}
15971601
if (parameter.isNamed) pBuilder.named = true;
1602+
if (parameter.isRequiredNamed) pBuilder.required = true;
15981603
if (parameter.defaultValueCode != null) {
15991604
try {
16001605
pBuilder.defaultTo = _expressionFromDartObject(

test/builder/auto_mocks_test.dart

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1524,7 +1524,7 @@ void main() {
15241524
void m({required covariant int a});
15251525
}
15261526
'''),
1527-
_containsAllOf('void m({num? a}) => super.noSuchMethod('),
1527+
_containsAllOf('void m({required num? a}) => super.noSuchMethod('),
15281528
);
15291529
});
15301530

@@ -2455,6 +2455,23 @@ void main() {
24552455
);
24562456
});
24572457

2458+
test(
2459+
'creates a dummy non-null function-typed return value, with required '
2460+
'named parameters', () async {
2461+
await expectSingleNonNullableOutput(
2462+
dedent(r'''
2463+
abstract class Foo {
2464+
void Function(Foo, {required bool b}) m();
2465+
}
2466+
'''),
2467+
_containsAllOf('''
2468+
returnValue: (
2469+
_i2.Foo __p0, {
2470+
required bool b,
2471+
}) {},'''),
2472+
);
2473+
});
2474+
24582475
test(
24592476
'creates a dummy non-null function-typed return value, with non-core '
24602477
'return type', () async {

0 commit comments

Comments
 (0)