File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed
test/Microsoft.OpenApi.Tests/Writers Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change 77using System . Globalization ;
88using System . IO ;
99using System . Linq ;
10+ using System . Text ;
11+ using System . Text . Json ;
1012using FluentAssertions ;
13+ using Microsoft . OpenApi . Any ;
14+ using Microsoft . OpenApi . Models ;
1115using Microsoft . OpenApi . Writers ;
1216using Newtonsoft . Json ;
1317using Xunit ;
@@ -265,5 +269,29 @@ public void WriteDateTimeAsJsonShouldMatchExpected(DateTimeOffset dateTimeOffset
265269 // Assert
266270 writtenString . Should ( ) . Be ( expectedString ) ;
267271 }
272+
273+ [ Fact ]
274+ public void OpenApiJsonWriterOutputsValidJsonValueWhenSchemaHasNanOrInfinityValues ( )
275+ {
276+ // Arrange
277+ var schema = new OpenApiSchema
278+ {
279+ Enum = new List < IOpenApiAny > {
280+ new OpenApiDouble ( double . NaN ) ,
281+ new OpenApiDouble ( double . PositiveInfinity ) ,
282+ new OpenApiDouble ( double . NegativeInfinity )
283+ }
284+ } ;
285+
286+ // Act
287+ var schemaBuilder = new StringBuilder ( ) ;
288+ var jsonWriter = new OpenApiJsonWriter ( new StringWriter ( schemaBuilder ) ) ;
289+ schema . SerializeAsV3 ( jsonWriter ) ;
290+ var jsonString = schemaBuilder . ToString ( ) ;
291+
292+ // Assert
293+ var exception = Record . Exception ( ( ) => System . Text . Json . JsonSerializer . Deserialize < Dictionary < string , object > > ( jsonString ) ) ;
294+ Assert . Null ( exception ) ;
295+ }
268296 }
269297}
You can’t perform that action at this time.
0 commit comments