mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-11-17 05:37:12 +00:00
Fix JSON serialization of strings
Control characters become escaped as JSON requires Non-ASCII characters get escaped as well for better interoperability We assume here that lua strings represent only first 256 code points of unicode
This commit is contained in:
@@ -78,6 +78,20 @@ describe("The textutils library", function()
|
||||
it("serializes null", function()
|
||||
expect(textutils.serializeJSON(textutils.json_null)):eq("null")
|
||||
end)
|
||||
|
||||
it("serializes strings", function()
|
||||
expect(textutils.serializeJSON('a')):eq('"a"')
|
||||
expect(textutils.serializeJSON('"')):eq('"\\""')
|
||||
expect(textutils.serializeJSON('\\')):eq('"\\\\"')
|
||||
expect(textutils.serializeJSON('/')):eq('"/"')
|
||||
expect(textutils.serializeJSON('\b')):eq('"\\b"')
|
||||
expect(textutils.serializeJSON('\n')):eq('"\\n"')
|
||||
expect(textutils.serializeJSON(string.char(0))):eq('"\\u0000"')
|
||||
expect(textutils.serializeJSON(string.char(0x0A))):eq('"\\n"')
|
||||
expect(textutils.serializeJSON(string.char(0x1D))):eq('"\\u001D"')
|
||||
expect(textutils.serializeJSON(string.char(0x81))):eq('"\\u0081"')
|
||||
expect(textutils.serializeJSON(string.char(0xFF))):eq('"\\u00FF"')
|
||||
end)
|
||||
end)
|
||||
|
||||
describe("textutils.unserializeJSON", function()
|
||||
|
||||
Reference in New Issue
Block a user