Skip to content

Commit 10ad70e

Browse files
committed
chore(stdlib): Use byte literals to test String.encode
1 parent 49829d7 commit 10ad70e

File tree

1 file changed

+20
-47
lines changed

1 file changed

+20
-47
lines changed

compiler/test/stdlib/string.test.gr

Lines changed: 20 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -244,61 +244,34 @@ assert String.replaceAll("/", "\/", "/test/test/test/")
244244
assert String.replaceAll(",", "|", "test,test,test") == "test|test|test"
245245

246246
assert String.replaceAll("MeowMeow", "Meow", "MeowMeowMeowMeow") == "MeowMeow"
247-
let processBytes = b => {
248-
let ret = Array.make(Bytes.length(b), 0us)
249-
for (let mut i = 0; i < Bytes.length(b); i += 1) {
250-
ret[i] = Bytes.getUint8(i, b)
251-
}
252-
ret
253-
}
254247

255248
// Simple cases
256-
// formatter-ignore
257-
assert processBytes(String.encode("ab", String.UTF8)) == [> 0x61us, 0x62us]
258-
// formatter-ignore
259-
assert processBytes(String.encode("ab", String.UTF16_BE)) == [> 0x00us, 0x61us, 0x00us, 0x62us]
260-
// formatter-ignore
261-
assert processBytes(String.encode("ab", String.UTF16_LE)) == [> 0x61us, 0x00us, 0x62us, 0x00us]
262-
// formatter-ignore
263-
assert processBytes(String.encode("ab", String.UTF32_BE)) == [> 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x62us]
264-
// formatter-ignore
265-
assert processBytes(String.encode("ab", String.UTF32_LE)) == [> 0x61us, 0x00us, 0x00us, 0x00us, 0x62us, 0x00us, 0x00us, 0x00us]
249+
assert String.encode("ab", String.UTF8) == b"\x61\x62"
250+
assert String.encode("ab", String.UTF16_BE) == b"\x00\x61\x00\x62"
251+
assert String.encode("ab", String.UTF16_LE) == b"\x61\x00\x62\x00"
252+
assert String.encode("ab", String.UTF32_BE) == b"\x00\x00\x00\x61\x00\x00\x00\x62"
253+
assert String.encode("ab", String.UTF32_LE) == b"\x61\x00\x00\x00\x62\x00\x00\x00"
266254

267255
// Surrogate pairs
268-
// formatter-ignore
269-
assert processBytes(String.encode("𐐷", String.UTF8)) == [> 0xF0us, 0x90us, 0x90us, 0xB7us]
270-
// formatter-ignore
271-
assert processBytes(String.encode("𐐷", String.UTF16_BE)) == [> 0xD8us, 0x01us, 0xDCus, 0x37us]
272-
// formatter-ignore
273-
assert processBytes(String.encode("𐐷", String.UTF16_LE)) == [> 0x01us, 0xD8us, 0x37us, 0xDCus]
274-
// formatter-ignore
275-
assert processBytes(String.encode("𐐷", String.UTF32_BE)) == [> 0x00us, 0x01us, 0x04us, 0x37us]
276-
// formatter-ignore
277-
assert processBytes(String.encode("𐐷", String.UTF32_LE)) == [> 0x37us, 0x04us, 0x01us, 0x00us]
256+
assert String.encode("𐐷", String.UTF8) == b"\xF0\x90\x90\xB7"
257+
assert String.encode("𐐷", String.UTF16_BE) == b"\xD8\x01\xDC\x37"
258+
assert String.encode("𐐷", String.UTF16_LE) == b"\x01\xD8\x37\xDC"
259+
assert String.encode("𐐷", String.UTF32_BE) == b"\x00\x01\x04\x37"
260+
assert String.encode("𐐷", String.UTF32_LE) == b"\x37\x04\x01\x00"
278261

279-
// formatter-ignore
280-
assert processBytes(String.encodeAt("𐐷", String.UTF16_BE, Bytes.make(12), 5)) == [> 0x00us, 0x00us, 0x00us, 0x00us, 0x00us, 0xD8us, 0x01us, 0xDCus, 0x37us, 0x00us, 0x00us, 0x00us]
262+
assert String.encodeAt("𐐷", String.UTF16_BE, Bytes.make(12), 5) == b"\x00\x00\x00\x00\x00\xD8\x01\xDC\x37\x00\x00\x00"
281263
// test that BOM is prepended:
282-
// formatter-ignore
283-
assert processBytes(String.encode("𐐷", String.UTF8, includeBom=true)) == [> 0xEFus, 0xBBus, 0xBFus, 0xF0us, 0x90us, 0x90us, 0xB7us]
284-
// formatter-ignore
285-
assert processBytes(String.encode("𐐷", String.UTF16_BE, includeBom=true)) == [> 0xFEus, 0xFFus, 0xD8us, 0x01us, 0xDCus, 0x37us]
286-
// formatter-ignore
287-
assert processBytes(String.encode("𐐷", String.UTF16_LE, includeBom=true)) == [> 0xFFus, 0xFEus, 0x01us, 0xD8us, 0x37us, 0xDCus]
288-
// formatter-ignore
289-
assert processBytes(String.encode("𐐷", String.UTF32_BE, includeBom=true)) == [> 0x00us, 0x00us, 0xFEus, 0xFFus, 0x00us, 0x01us, 0x04us, 0x37us]
290-
// formatter-ignore
291-
assert processBytes(String.encode("𐐷", String.UTF32_LE, includeBom=true)) == [> 0xFFus, 0xFEus, 0x00us, 0x00us, 0x37us, 0x04us, 0x01us, 0x00us]
264+
assert String.encode("𐐷", String.UTF8, includeBom=true) == b"\xEF\xBB\xBF\xF0\x90\x90\xB7"
265+
assert String.encode("𐐷", String.UTF16_BE, includeBom=true) == b"\xFE\xFF\xD8\x01\xDC\x37"
266+
assert String.encode("𐐷", String.UTF16_LE, includeBom=true) == b"\xFF\xFE\x01\xD8\x37\xDC"
267+
assert String.encode("𐐷", String.UTF32_BE, includeBom=true) == b"\x00\x00\xFE\xFF\x00\x01\x04\x37"
268+
assert String.encode("𐐷", String.UTF32_LE, includeBom=true) == b"\xFF\xFE\x00\x00\x37\x04\x01\x00"
292269

293-
// formatter-ignore
294-
assert processBytes(String.encode(emojis, String.UTF16_BE)) == [> 0x00us, 0x77us, 0x00us, 0x65us, 0x00us, 0x20us, 0x00us, 0x66us, 0x00us, 0x6fus, 0x00us, 0x75us, 0x00us, 0x6eus, 0x00us, 0x64us, 0x00us, 0x20us, 0x00us, 0x61us, 0x00us, 0x20us, 0x00us, 0x70us, 0x00us, 0x61us, 0x00us, 0x74us, 0x00us, 0x68us, 0xd8us, 0x3dus, 0xdeus, 0x80us, 0x00us, 0x20us, 0x00us, 0x74us, 0x00us, 0x6fus, 0x00us, 0x20us, 0x00us, 0x67us, 0x00us, 0x72us, 0x00us, 0x65us, 0x00us, 0x61us, 0x00us, 0x74us, 0x00us, 0x6eus, 0x00us, 0x65us, 0x00us, 0x73us, 0x00us, 0x73us, 0xd8us, 0x3cus, 0xdfus, 0xc5us, 0x00us, 0x62us, 0x00us, 0x75us, 0x00us, 0x74us, 0x00us, 0x20us, 0x00us, 0x74us, 0x00us, 0x68us, 0x00us, 0x65us, 0x00us, 0x20us, 0x00us, 0x67us, 0x00us, 0x72us, 0x00us, 0x69us, 0x00us, 0x6eus, 0x00us, 0x64us, 0x00us, 0x20us, 0x00us, 0x6eus, 0x00us, 0x65us, 0x00us, 0x76us, 0x00us, 0x65us, 0x00us, 0x72us, 0x00us, 0x20us, 0x00us, 0x71us, 0x00us, 0x75us, 0x00us, 0x69us, 0x00us, 0x74us, 0x00us, 0x73us, 0xd8us, 0x3dus, 0xdeus, 0x24us, 0xd8us, 0x3dus, 0xdcus, 0xaaus, 0xd8us, 0x3cus, 0xdfus, 0xfcus, 0x00us, 0x20us, 0x00us, 0x6bus, 0x00us, 0x65us, 0x00us, 0x65us, 0x00us, 0x70us, 0x00us, 0x20us, 0x00us, 0x6dus, 0x00us, 0x69us, 0x00us, 0x6cus, 0x00us, 0x6cus, 0x00us, 0x69us, 0x00us, 0x6eus, 0x00us, 0x67us, 0xd8us, 0x3dus, 0xdcus, 0xafus, 0xd8us, 0x3dus, 0xddus, 0x25us, 0xd8us, 0x3dus, 0xdeus, 0x08us]
295-
// formatter-ignore
296-
assert processBytes(String.encode(emojis, String.UTF16_LE)) == [> 0x77us, 0x00us, 0x65us, 0x00us, 0x20us, 0x00us, 0x66us, 0x00us, 0x6fus, 0x00us, 0x75us, 0x00us, 0x6eus, 0x00us, 0x64us, 0x00us, 0x20us, 0x00us, 0x61us, 0x00us, 0x20us, 0x00us, 0x70us, 0x00us, 0x61us, 0x00us, 0x74us, 0x00us, 0x68us, 0x00us, 0x3dus, 0xd8us, 0x80us, 0xdeus, 0x20us, 0x00us, 0x74us, 0x00us, 0x6fus, 0x00us, 0x20us, 0x00us, 0x67us, 0x00us, 0x72us, 0x00us, 0x65us, 0x00us, 0x61us, 0x00us, 0x74us, 0x00us, 0x6eus, 0x00us, 0x65us, 0x00us, 0x73us, 0x00us, 0x73us, 0x00us, 0x3cus, 0xd8us, 0xc5us, 0xdfus, 0x62us, 0x00us, 0x75us, 0x00us, 0x74us, 0x00us, 0x20us, 0x00us, 0x74us, 0x00us, 0x68us, 0x00us, 0x65us, 0x00us, 0x20us, 0x00us, 0x67us, 0x00us, 0x72us, 0x00us, 0x69us, 0x00us, 0x6eus, 0x00us, 0x64us, 0x00us, 0x20us, 0x00us, 0x6eus, 0x00us, 0x65us, 0x00us, 0x76us, 0x00us, 0x65us, 0x00us, 0x72us, 0x00us, 0x20us, 0x00us, 0x71us, 0x00us, 0x75us, 0x00us, 0x69us, 0x00us, 0x74us, 0x00us, 0x73us, 0x00us, 0x3dus, 0xd8us, 0x24us, 0xdeus, 0x3dus, 0xd8us, 0xaaus, 0xdcus, 0x3cus, 0xd8us, 0xfcus, 0xdfus, 0x20us, 0x00us, 0x6bus, 0x00us, 0x65us, 0x00us, 0x65us, 0x00us, 0x70us, 0x00us, 0x20us, 0x00us, 0x6dus, 0x00us, 0x69us, 0x00us, 0x6cus, 0x00us, 0x6cus, 0x00us, 0x69us, 0x00us, 0x6eus, 0x00us, 0x67us, 0x00us, 0x3dus, 0xd8us, 0xafus, 0xdcus, 0x3dus, 0xd8us, 0x25us, 0xddus, 0x3dus, 0xd8us, 0x08us, 0xdeus]
270+
assert String.encode(emojis, String.UTF16_BE) == b"\x00\x77\x00\x65\x00\x20\x00\x66\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x20\x00\x61\x00\x20\x00\x70\x00\x61\x00\x74\x00\x68\xd8\x3d\xde\x80\x00\x20\x00\x74\x00\x6f\x00\x20\x00\x67\x00\x72\x00\x65\x00\x61\x00\x74\x00\x6e\x00\x65\x00\x73\x00\x73\xd8\x3c\xdf\xc5\x00\x62\x00\x75\x00\x74\x00\x20\x00\x74\x00\x68\x00\x65\x00\x20\x00\x67\x00\x72\x00\x69\x00\x6e\x00\x64\x00\x20\x00\x6e\x00\x65\x00\x76\x00\x65\x00\x72\x00\x20\x00\x71\x00\x75\x00\x69\x00\x74\x00\x73\xd8\x3d\xde\x24\xd8\x3d\xdc\xaa\xd8\x3c\xdf\xfc\x00\x20\x00\x6b\x00\x65\x00\x65\x00\x70\x00\x20\x00\x6d\x00\x69\x00\x6c\x00\x6c\x00\x69\x00\x6e\x00\x67\xd8\x3d\xdc\xaf\xd8\x3d\xdd\x25\xd8\x3d\xde\x08"
271+
assert String.encode(emojis, String.UTF16_LE) == b"\x77\x00\x65\x00\x20\x00\x66\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x20\x00\x61\x00\x20\x00\x70\x00\x61\x00\x74\x00\x68\x00\x3d\xd8\x80\xde\x20\x00\x74\x00\x6f\x00\x20\x00\x67\x00\x72\x00\x65\x00\x61\x00\x74\x00\x6e\x00\x65\x00\x73\x00\x73\x00\x3c\xd8\xc5\xdf\x62\x00\x75\x00\x74\x00\x20\x00\x74\x00\x68\x00\x65\x00\x20\x00\x67\x00\x72\x00\x69\x00\x6e\x00\x64\x00\x20\x00\x6e\x00\x65\x00\x76\x00\x65\x00\x72\x00\x20\x00\x71\x00\x75\x00\x69\x00\x74\x00\x73\x00\x3d\xd8\x24\xde\x3d\xd8\xaa\xdc\x3c\xd8\xfc\xdf\x20\x00\x6b\x00\x65\x00\x65\x00\x70\x00\x20\x00\x6d\x00\x69\x00\x6c\x00\x6c\x00\x69\x00\x6e\x00\x67\x00\x3d\xd8\xaf\xdc\x3d\xd8\x25\xdd\x3d\xd8\x08\xde"
297272

298-
// formatter-ignore
299-
assert processBytes(String.encode(emojis, String.UTF32_BE)) == [> 0x00us, 0x00us, 0x00us, 0x77us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x66us, 0x00us, 0x00us, 0x00us, 0x6fus, 0x00us, 0x00us, 0x00us, 0x75us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x64us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x70us, 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x68us, 0x00us, 0x01us, 0xf6us, 0x80us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x6fus, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x67us, 0x00us, 0x00us, 0x00us, 0x72us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x73us, 0x00us, 0x00us, 0x00us, 0x73us, 0x00us, 0x01us, 0xf3us, 0xc5us, 0x00us, 0x00us, 0x00us, 0x62us, 0x00us, 0x00us, 0x00us, 0x75us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x68us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x67us, 0x00us, 0x00us, 0x00us, 0x72us, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x64us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x76us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x72us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x71us, 0x00us, 0x00us, 0x00us, 0x75us, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x73us, 0x00us, 0x01us, 0xf6us, 0x24us, 0x00us, 0x01us, 0xf4us, 0xaaus, 0x00us, 0x01us, 0xf3us, 0xfcus, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x6bus, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x70us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x6dus, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x6cus, 0x00us, 0x00us, 0x00us, 0x6cus, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x67us, 0x00us, 0x01us, 0xf4us, 0xafus, 0x00us, 0x01us, 0xf5us, 0x25us, 0x00us, 0x01us, 0xf6us, 0x08us]
300-
// formatter-ignore
301-
assert processBytes(String.encode(emojis, String.UTF32_LE)) == [> 0x77us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x66us, 0x00us, 0x00us, 0x00us, 0x6fus, 0x00us, 0x00us, 0x00us, 0x75us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x64us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x70us, 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x68us, 0x00us, 0x00us, 0x00us, 0x80us, 0xf6us, 0x01us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x6fus, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x67us, 0x00us, 0x00us, 0x00us, 0x72us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x61us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x73us, 0x00us, 0x00us, 0x00us, 0x73us, 0x00us, 0x00us, 0x00us, 0xc5us, 0xf3us, 0x01us, 0x00us, 0x62us, 0x00us, 0x00us, 0x00us, 0x75us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x68us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x67us, 0x00us, 0x00us, 0x00us, 0x72us, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x64us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x76us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x72us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x71us, 0x00us, 0x00us, 0x00us, 0x75us, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x74us, 0x00us, 0x00us, 0x00us, 0x73us, 0x00us, 0x00us, 0x00us, 0x24us, 0xf6us, 0x01us, 0x00us, 0xaaus, 0xf4us, 0x01us, 0x00us, 0xfcus, 0xf3us, 0x01us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x6bus, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x65us, 0x00us, 0x00us, 0x00us, 0x70us, 0x00us, 0x00us, 0x00us, 0x20us, 0x00us, 0x00us, 0x00us, 0x6dus, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x6cus, 0x00us, 0x00us, 0x00us, 0x6cus, 0x00us, 0x00us, 0x00us, 0x69us, 0x00us, 0x00us, 0x00us, 0x6eus, 0x00us, 0x00us, 0x00us, 0x67us, 0x00us, 0x00us, 0x00us, 0xafus, 0xf4us, 0x01us, 0x00us, 0x25us, 0xf5us, 0x01us, 0x00us, 0x08us, 0xf6us, 0x01us, 0x00us]
273+
assert String.encode(emojis, String.UTF32_BE) == b"\x00\x00\x00\x77\x00\x00\x00\x65\x00\x00\x00\x20\x00\x00\x00\x66\x00\x00\x00\x6f\x00\x00\x00\x75\x00\x00\x00\x6e\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x61\x00\x00\x00\x20\x00\x00\x00\x70\x00\x00\x00\x61\x00\x00\x00\x74\x00\x00\x00\x68\x00\x01\xf6\x80\x00\x00\x00\x20\x00\x00\x00\x74\x00\x00\x00\x6f\x00\x00\x00\x20\x00\x00\x00\x67\x00\x00\x00\x72\x00\x00\x00\x65\x00\x00\x00\x61\x00\x00\x00\x74\x00\x00\x00\x6e\x00\x00\x00\x65\x00\x00\x00\x73\x00\x00\x00\x73\x00\x01\xf3\xc5\x00\x00\x00\x62\x00\x00\x00\x75\x00\x00\x00\x74\x00\x00\x00\x20\x00\x00\x00\x74\x00\x00\x00\x68\x00\x00\x00\x65\x00\x00\x00\x20\x00\x00\x00\x67\x00\x00\x00\x72\x00\x00\x00\x69\x00\x00\x00\x6e\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x6e\x00\x00\x00\x65\x00\x00\x00\x76\x00\x00\x00\x65\x00\x00\x00\x72\x00\x00\x00\x20\x00\x00\x00\x71\x00\x00\x00\x75\x00\x00\x00\x69\x00\x00\x00\x74\x00\x00\x00\x73\x00\x01\xf6\x24\x00\x01\xf4\xaa\x00\x01\xf3\xfc\x00\x00\x00\x20\x00\x00\x00\x6b\x00\x00\x00\x65\x00\x00\x00\x65\x00\x00\x00\x70\x00\x00\x00\x20\x00\x00\x00\x6d\x00\x00\x00\x69\x00\x00\x00\x6c\x00\x00\x00\x6c\x00\x00\x00\x69\x00\x00\x00\x6e\x00\x00\x00\x67\x00\x01\xf4\xaf\x00\x01\xf5\x25\x00\x01\xf6\x08"
274+
assert String.encode(emojis, String.UTF32_LE) == b"\x77\x00\x00\x00\x65\x00\x00\x00\x20\x00\x00\x00\x66\x00\x00\x00\x6f\x00\x00\x00\x75\x00\x00\x00\x6e\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x61\x00\x00\x00\x20\x00\x00\x00\x70\x00\x00\x00\x61\x00\x00\x00\x74\x00\x00\x00\x68\x00\x00\x00\x80\xf6\x01\x00\x20\x00\x00\x00\x74\x00\x00\x00\x6f\x00\x00\x00\x20\x00\x00\x00\x67\x00\x00\x00\x72\x00\x00\x00\x65\x00\x00\x00\x61\x00\x00\x00\x74\x00\x00\x00\x6e\x00\x00\x00\x65\x00\x00\x00\x73\x00\x00\x00\x73\x00\x00\x00\xc5\xf3\x01\x00\x62\x00\x00\x00\x75\x00\x00\x00\x74\x00\x00\x00\x20\x00\x00\x00\x74\x00\x00\x00\x68\x00\x00\x00\x65\x00\x00\x00\x20\x00\x00\x00\x67\x00\x00\x00\x72\x00\x00\x00\x69\x00\x00\x00\x6e\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x6e\x00\x00\x00\x65\x00\x00\x00\x76\x00\x00\x00\x65\x00\x00\x00\x72\x00\x00\x00\x20\x00\x00\x00\x71\x00\x00\x00\x75\x00\x00\x00\x69\x00\x00\x00\x74\x00\x00\x00\x73\x00\x00\x00\x24\xf6\x01\x00\xaa\xf4\x01\x00\xfc\xf3\x01\x00\x20\x00\x00\x00\x6b\x00\x00\x00\x65\x00\x00\x00\x65\x00\x00\x00\x70\x00\x00\x00\x20\x00\x00\x00\x6d\x00\x00\x00\x69\x00\x00\x00\x6c\x00\x00\x00\x6c\x00\x00\x00\x69\x00\x00\x00\x6e\x00\x00\x00\x67\x00\x00\x00\xaf\xf4\x01\x00\x25\xf5\x01\x00\x08\xf6\x01\x00"
302275

303276
// round-trip tests
304277
assert String.decode(String.encode("foo", String.UTF8), String.UTF8) == "foo"

0 commit comments

Comments
 (0)