add json sumtype test

This commit is contained in:
kbkpbot 2025-09-12 08:38:18 +08:00
parent bcf9bba539
commit d5fe62b37d

View file

@ -105,3 +105,23 @@ fn test_sum_types() {
j := json.encode(animals[0]) j := json.encode(animals[0])
assert j == '{"cat_name":"Whiskers","_type":"Cat"}' assert j == '{"cat_name":"Whiskers","_type":"Cat"}'
} }
type Value = string | i32
struct Node {
value Value
}
fn test_sum_types_with_i32() {
data1 := json.encode([Node{i32(128)}, Node{'mystring'}])
assert data1 == '[{"value":128},{"value":"mystring"}]'
node := json.decode([]Node, data1) or {
println(err)
assert false
return
}
assert node.len == 2
assert node[0].value == Value(i32(128))
assert node[1].value == Value('mystring')
}