mirror of
https://github.com/vlang/v.git
synced 2025-08-04 02:07:28 -04:00
39 lines
654 B
V
39 lines
654 B
V
import json
|
|
|
|
struct TestOptionalRawString {
|
|
id int
|
|
data ?string @[raw]
|
|
}
|
|
|
|
fn test_raw_opt() {
|
|
test := TestOptionalRawString{
|
|
id: 1
|
|
data: 't
|
|
e
|
|
s
|
|
t'
|
|
}
|
|
encoded := json.encode(test)
|
|
assert json.decode(TestOptionalRawString, encoded)!.data? == r'"t\ne\ns\nt"'
|
|
}
|
|
|
|
fn test_raw_none() {
|
|
test := TestOptionalRawString{
|
|
id: 1
|
|
data: none
|
|
}
|
|
encoded := json.encode(test)
|
|
r := json.decode(TestOptionalRawString, encoded)!.data
|
|
assert r == none
|
|
}
|
|
|
|
fn test_raw_empty_string() {
|
|
test := TestOptionalRawString{
|
|
id: 1
|
|
data: ''
|
|
}
|
|
encoded := json.encode(test)
|
|
r := json.decode(TestOptionalRawString, encoded)!.data or { 'z' }
|
|
assert r == '""'
|
|
}
|