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