| 1 | import x.json2 as json |
| 2 | |
| 3 | type Issue24127Any = json.Any |
| 4 | type Issue24127Map = map[string]Issue24127Any |
| 5 | |
| 6 | const issue_24127_json_inputs = [ |
| 7 | '{}', |
| 8 | '{"a":"b"}', |
| 9 | '{"a":1}', |
| 10 | '{"a":3.14}', |
| 11 | '{"a":{"b":"c"}}', |
| 12 | '{"a":true}', |
| 13 | ] |
| 14 | |
| 15 | fn test_decode_alias_of_any_sumtype() { |
| 16 | for input in issue_24127_json_inputs { |
| 17 | direct := json.decode[json.Any](input)! |
| 18 | aliased := json.decode[Issue24127Any](input)! |
| 19 | assert json.encode(direct) == json.encode(aliased) |
| 20 | } |
| 21 | } |
| 22 | |
| 23 | fn test_decode_map_with_any_alias_value() { |
| 24 | for input in issue_24127_json_inputs { |
| 25 | direct := json.decode[map[string]json.Any](input)! |
| 26 | aliased := json.decode[Issue24127Map](input)! |
| 27 | assert json.encode(direct) == json.encode(aliased) |
| 28 | } |
| 29 | } |
| 30 | |