File tree Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Expand file tree Collapse file tree 3 files changed +25
-2
lines changed Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff 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 (
Original file line number Diff line number Diff 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 {
You can’t perform that action at this time.
0 commit comments