File tree Expand file tree Collapse file tree 2 files changed +31
-1
lines changed 
src/Microsoft.OpenApi/Models 
test/Microsoft.OpenApi.Tests/Models Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -413,7 +413,7 @@ internal void WriteJsonSchemaKeywords(IOpenApiWriter writer)
413413        internal  void  WriteAsItemsProperties ( IOpenApiWriter  writer ) 
414414        { 
415415            // type 
416-             writer . WriteProperty ( OpenApiConstants . Type ,  Type . ToIdentifier ( ) ) ; 
416+             writer . WriteProperty ( OpenApiConstants . Type ,  ( Type   &   ~ JsonSchemaType . Null ) . ToIdentifier ( ) ) ; 
417417
418418            // format 
419419            WriteFormatProperty ( writer ) ; 
Original file line number Diff line number Diff line change @@ -624,6 +624,36 @@ public async Task SerializeSchemaWithUnrecognizedPropertiesWorks()
624624            Assert . Equal ( expected . MakeLineBreaksEnvironmentNeutral ( ) ,  actual . MakeLineBreaksEnvironmentNeutral ( ) ) ; 
625625        } 
626626
627+         [ Fact ] 
628+         public  async  Task  WriteAsItemsPropertiesDoesNotWriteNull ( ) 
629+         { 
630+             // Arrange 
631+             var  schema  =  new  OpenApiSchema 
632+             { 
633+                 Type  =  JsonSchemaType . Number  |  JsonSchemaType . Null 
634+             } ; 
635+ 
636+             var  outputStringWriter  =  new  StringWriter ( CultureInfo . InvariantCulture ) ; 
637+             var  writer  =  new  OpenApiJsonWriter ( outputStringWriter ,  new ( )  {  Terse  =  false  } ) ; 
638+             writer . WriteStartObject ( ) ; 
639+ 
640+             // Act 
641+             schema . WriteAsItemsProperties ( writer ) ; 
642+             writer . WriteEndObject ( ) ; 
643+             await  writer . FlushAsync ( ) ; 
644+ 
645+             // Assert 
646+             var  actual  =  outputStringWriter . GetStringBuilder ( ) . ToString ( ) ; 
647+             var  expected  = 
648+             """ 
649+             { 
650+                 "type": "number" 
651+             } 
652+             """ ; 
653+             Assert . True ( JsonNode . DeepEquals ( JsonNode . Parse ( expected ) ,  JsonNode . Parse ( actual ) ) ) ; 
654+         } 
655+ 
656+ 
627657        internal  class  SchemaVisitor  :  OpenApiVisitorBase 
628658        { 
629659            public  List < string >  Titles  =  new ( ) ; 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments