@@ -27,6 +27,10 @@ namespace System.Text.Json.SourceGeneration.Tests
27
27
[ JsonSerializable ( typeof ( object [ ] ) ) ]
28
28
[ JsonSerializable ( typeof ( string ) ) ]
29
29
[ JsonSerializable ( typeof ( RealWorldContextTests . ClassWithEnumAndNullable ) ) ]
30
+ [ JsonSerializable ( typeof ( ClassWithCustomConverter ) ) ]
31
+ [ JsonSerializable ( typeof ( StructWithCustomConverter ) ) ]
32
+ [ JsonSerializable ( typeof ( ClassWithBadCustomConverter ) ) ]
33
+ [ JsonSerializable ( typeof ( StructWithBadCustomConverter ) ) ]
30
34
internal partial class SerializationContext : JsonSerializerContext , ITestContext
31
35
{
32
36
}
@@ -51,6 +55,12 @@ internal partial class SerializationContext : JsonSerializerContext, ITestContex
51
55
[ JsonSerializable ( typeof ( object [ ] ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
52
56
[ JsonSerializable ( typeof ( string ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
53
57
[ JsonSerializable ( typeof ( RealWorldContextTests . ClassWithEnumAndNullable ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
58
+ [ JsonSerializable ( typeof ( ClassWithCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
59
+ [ JsonSerializable ( typeof ( StructWithCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
60
+ [ JsonSerializable ( typeof ( ClassWithCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
61
+ [ JsonSerializable ( typeof ( StructWithCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
62
+ [ JsonSerializable ( typeof ( ClassWithBadCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
63
+ [ JsonSerializable ( typeof ( StructWithBadCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
54
64
internal partial class SerializationWithPerTypeAttributeContext : JsonSerializerContext , ITestContext
55
65
{
56
66
}
@@ -76,6 +86,10 @@ internal partial class SerializationWithPerTypeAttributeContext : JsonSerializer
76
86
[ JsonSerializable ( typeof ( object [ ] ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
77
87
[ JsonSerializable ( typeof ( string ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
78
88
[ JsonSerializable ( typeof ( RealWorldContextTests . ClassWithEnumAndNullable ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
89
+ [ JsonSerializable ( typeof ( ClassWithCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
90
+ [ JsonSerializable ( typeof ( StructWithCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
91
+ [ JsonSerializable ( typeof ( ClassWithBadCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
92
+ [ JsonSerializable ( typeof ( StructWithBadCustomConverter ) , GenerationMode = JsonSourceGenerationMode . Serialization ) ]
79
93
internal partial class SerializationContextWithCamelCase : JsonSerializerContext , ITestContext
80
94
{
81
95
}
@@ -112,6 +126,10 @@ public override void EnsureFastPathGeneratedAsExpected()
112
126
Assert . Null ( SerializationContext . Default . ObjectArray . Serialize ) ;
113
127
Assert . Null ( SerializationContext . Default . String . Serialize ) ;
114
128
Assert . NotNull ( SerializationContext . Default . ClassWithEnumAndNullable . Serialize ) ;
129
+ Assert . Null ( SerializationContext . Default . ClassWithCustomConverter . Serialize ) ;
130
+ Assert . Null ( SerializationContext . Default . StructWithCustomConverter . Serialize ) ;
131
+ Assert . Throws < InvalidOperationException > ( ( ) => SerializationContext . Default . ClassWithBadCustomConverter . Serialize ) ;
132
+ Assert . Throws < InvalidOperationException > ( ( ) => SerializationContext . Default . StructWithBadCustomConverter . Serialize ) ;
115
133
}
116
134
117
135
[ Fact ]
@@ -370,6 +388,10 @@ public override void EnsureFastPathGeneratedAsExpected()
370
388
Assert . Null ( SerializationWithPerTypeAttributeContext . Default . ObjectArray . Serialize ) ;
371
389
Assert . Null ( SerializationWithPerTypeAttributeContext . Default . String . Serialize ) ;
372
390
Assert . NotNull ( SerializationWithPerTypeAttributeContext . Default . ClassWithEnumAndNullable . Serialize ) ;
391
+ Assert . Null ( SerializationWithPerTypeAttributeContext . Default . ClassWithCustomConverter . Serialize ) ;
392
+ Assert . Null ( SerializationWithPerTypeAttributeContext . Default . StructWithCustomConverter . Serialize ) ;
393
+ Assert . Throws < InvalidOperationException > ( ( ) => SerializationWithPerTypeAttributeContext . Default . ClassWithBadCustomConverter . Serialize ) ;
394
+ Assert . Throws < InvalidOperationException > ( ( ) => SerializationWithPerTypeAttributeContext . Default . StructWithBadCustomConverter . Serialize ) ;
373
395
}
374
396
}
375
397
}
0 commit comments