@@ -226,6 +226,11 @@ private static void TestOptionalNullable(HttpContext httpContext, int? value = 4
226226 httpContext . Items . Add ( "input" , value ) ;
227227 }
228228
229+ private static void TestOptionalNullableNull ( HttpContext httpContext , double ? value = null )
230+ {
231+ httpContext . Items . Add ( "input" , ( object ? ) value ?? "Null" ) ;
232+ }
233+
229234 private static void TestOptionalString ( HttpContext httpContext , string value = "default" )
230235 {
231236 httpContext . Items . Add ( "input" , value ) ;
@@ -364,13 +369,26 @@ public async Task RequestDelegatePopulatesFromNullableOptionalParameter()
364369 {
365370 var httpContext = CreateHttpContext ( ) ;
366371
367- var factoryResult = RequestDelegateFactory . Create ( TestOptional ) ;
372+ var factoryResult = RequestDelegateFactory . Create ( TestOptionalNullable ) ;
368373 var requestDelegate = factoryResult . RequestDelegate ;
369374
370375 await requestDelegate ( httpContext ) ;
371376
372377 Assert . Equal ( 42 , httpContext . Items [ "input" ] ) ;
373378 }
379+
380+ [ Fact ]
381+ public async Task RequestDelegatePopulatesFromNullableNullOptionalParameter ( )
382+ {
383+ var httpContext = CreateHttpContext ( ) ;
384+
385+ var factoryResult = RequestDelegateFactory . Create ( TestOptionalNullableNull ) ;
386+ var requestDelegate = factoryResult . RequestDelegate ;
387+
388+ await requestDelegate ( httpContext ) ;
389+
390+ Assert . Equal ( "Null" , httpContext . Items [ "input" ] ) ;
391+ }
374392
375393 [ Fact ]
376394 public async Task RequestDelegatePopulatesFromOptionalStringParameter ( )
0 commit comments