mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-22 21:54:59 -07:00
Merge pull request #2804 from bytesiz3d/fix-unquote-string
Fix bug with index increment in `core:encoding/json.unquote_string`
This commit is contained in:
@@ -343,7 +343,7 @@ unquote_string :: proc(token: Token, spec: Specification, allocator := context.a
|
||||
i += 1
|
||||
continue
|
||||
}
|
||||
r, w := utf8.decode_rune_in_string(s)
|
||||
r, w := utf8.decode_rune_in_string(s[i:])
|
||||
if r == utf8.RUNE_ERROR && w == 1 {
|
||||
break
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ main :: proc() {
|
||||
marshal_json(&t)
|
||||
unmarshal_json(&t)
|
||||
surrogate(&t)
|
||||
utf8_string_of_multibyte_characters(&t)
|
||||
|
||||
fmt.printf("%v/%v tests successful.\n", TEST_count - TEST_fail, TEST_count)
|
||||
if TEST_fail > 0 {
|
||||
@@ -359,3 +360,10 @@ surrogate :: proc(t: ^testing.T) {
|
||||
expect(t, uerr == nil, fmt.tprintf("Expected `json.unmarshal(%q)` to return a nil error, got %v", string(out), uerr))
|
||||
expect(t, back == input, fmt.tprintf("Expected `json.unmarshal(%q)` to return %q, got %v", string(out), input, uerr))
|
||||
}
|
||||
|
||||
@test
|
||||
utf8_string_of_multibyte_characters :: proc(t: ^testing.T) {
|
||||
_, err := json.parse_string(`"🐛✅"`)
|
||||
msg := fmt.tprintf("Expected `json.parse` to return nil, got %v", err)
|
||||
expect(t, err == nil, msg)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user