mirror of
https://github.com/gbdev/rgbds.git
synced 2026-05-08 10:59:36 +00:00
37 lines
881 B
NASM
37 lines
881 B
NASM
assert bytelen("") == 0
|
|
assert bytelen("ABC") == 3
|
|
assert strbyte("ABC", 0) == $41
|
|
assert strbyte("ABC", -1) == $43
|
|
|
|
charmap "ABC", 42
|
|
assert bytelen("ABC") == 3
|
|
|
|
; characters:
|
|
; 1: U+72AC kanji (0xE7 0x8A 0xAC)
|
|
; 2: U+1F499 emoji (0xF0 0x9F 0x92 0x99)
|
|
; 3: U+0021
|
|
def utf8 equs "犬💙!"
|
|
assert bytelen(#utf8) == 8
|
|
assert strbyte(#utf8, 0) == $e7
|
|
assert strbyte(#utf8, 4) == $9f
|
|
assert strbyte(#utf8, -2) == $99
|
|
assert strbyte(#utf8, -1) == $21
|
|
|
|
; characters:
|
|
; 1: U+0041 A
|
|
; 2: U+0020 space
|
|
; 3: invalid byte 0xFE
|
|
; 4: invalid byte 0x81
|
|
; 5: invalid byte 0xFF
|
|
; 6: U+0020 space
|
|
; 7: U+6F22 kanji (0xE6 0xBC 0xA2)
|
|
def invalid EQUS "A þ�ÿ æ¼¢"
|
|
assert bytelen(#invalid) == 9
|
|
assert strbyte(#invalid, 0) == $41
|
|
assert strbyte(#invalid, 4) == $ff
|
|
assert strbyte(#invalid, 8) == $a2
|
|
|
|
; out of bounds
|
|
assert strbyte("abc", -10) == $61 ; -10 clamped to 0
|
|
assert strbyte("abc", 10) == 0
|