mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-07-24 10:25:42 -04:00
test: nasm-t -- Add UTF testcase
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
parent
fa13a138ea
commit
bfa1ed0ae9
18
travis/test/utf-error.stderr
Normal file
18
travis/test/utf-error.stderr
Normal file
@ -0,0 +1,18 @@
|
||||
./travis/test/utf.asm:63: error: __utf16__ must be followed by a string constant
|
||||
./travis/test/utf.asm:64: error: __utf16__ must be followed by a string constant
|
||||
./travis/test/utf.asm:65: error: unterminated __utf16__ function
|
||||
./travis/test/utf.asm:65: error: comma expected after operand 2
|
||||
./travis/test/utf.asm:66: error: unterminated __utf16__ function
|
||||
./travis/test/utf.asm:67: error: invalid string for transform
|
||||
./travis/test/utf.asm:69: error: __utf16le__ must be followed by a string constant
|
||||
./travis/test/utf.asm:70: error: __utf16le__ must be followed by a string constant
|
||||
./travis/test/utf.asm:71: error: unterminated __utf16le__ function
|
||||
./travis/test/utf.asm:71: error: comma expected after operand 2
|
||||
./travis/test/utf.asm:72: error: unterminated __utf16le__ function
|
||||
./travis/test/utf.asm:73: error: invalid string for transform
|
||||
./travis/test/utf.asm:75: error: __utf16be__ must be followed by a string constant
|
||||
./travis/test/utf.asm:76: error: __utf16be__ must be followed by a string constant
|
||||
./travis/test/utf.asm:77: error: unterminated __utf16be__ function
|
||||
./travis/test/utf.asm:77: error: comma expected after operand 2
|
||||
./travis/test/utf.asm:78: error: unterminated __utf16be__ function
|
||||
./travis/test/utf.asm:79: error: invalid string for transform
|
80
travis/test/utf.asm
Normal file
80
travis/test/utf.asm
Normal file
@ -0,0 +1,80 @@
|
||||
%define u(x) __utf16__(x)
|
||||
%define w(x) __utf32__(x)
|
||||
%define ul(x) __utf16le__(x)
|
||||
%define wl(x) __utf32le__(x)
|
||||
%define ub(x) __utf16be__(x)
|
||||
%define wb(x) __utf32be__(x)
|
||||
|
||||
db `Test \u306a\U0001abcd\n`
|
||||
dw u(`Test \u306a\U0001abcd\n`)
|
||||
dd w(`Test \u306a\U0001abcd\n`)
|
||||
|
||||
db `\u306a`
|
||||
db `\xe3\x81\xaa`
|
||||
|
||||
dw __utf16__ "Hello, World!"
|
||||
|
||||
nop
|
||||
|
||||
mov ax,u(`a`)
|
||||
mov bx,u(`\u306a`)
|
||||
mov cx,u(`\xe3\x81\xaa`)
|
||||
mov eax,u(`ab`)
|
||||
mov ebx,u(`\U0001abcd`)
|
||||
mov ecx,w(`\U0001abcd`)
|
||||
|
||||
db `Test \u306a\U0001abcd\n`
|
||||
dw ul(`Test \u306a\U0001abcd\n`)
|
||||
dd wl(`Test \u306a\U0001abcd\n`)
|
||||
|
||||
db `\u306a`
|
||||
db `\xe3\x81\xaa`
|
||||
|
||||
dw __utf16le__ "Hello, World!"
|
||||
|
||||
nop
|
||||
|
||||
mov ax,ul(`a`)
|
||||
mov bx,ul(`\u306a`)
|
||||
mov cx,ul(`\xe3\x81\xaa`)
|
||||
mov eax,ul(`ab`)
|
||||
mov ebx,ul(`\U0001abcd`)
|
||||
mov ecx,wl(`\U0001abcd`)
|
||||
|
||||
db `Test \u306a\U0001abcd\n`
|
||||
dw ub(`Test \u306a\U0001abcd\n`)
|
||||
dd wb(`Test \u306a\U0001abcd\n`)
|
||||
|
||||
db `\u306a`
|
||||
db `\xe3\x81\xaa`
|
||||
|
||||
dw __utf16be__ "Hello, World!"
|
||||
|
||||
nop
|
||||
|
||||
mov ax,ub(`a`)
|
||||
mov bx,ub(`\u306a`)
|
||||
mov cx,ub(`\xe3\x81\xaa`)
|
||||
mov eax,ub(`ab`)
|
||||
mov ebx,ub(`\U0001abcd`)
|
||||
mov ecx,wb(`\U0001abcd`)
|
||||
|
||||
%ifdef ERROR
|
||||
dw __utf16__ 33
|
||||
dw __utf16__, 46
|
||||
dw __utf16__("Hello, World!",16)
|
||||
dw __utf16__("Hello, World!",16
|
||||
dw u(`\xff`)
|
||||
|
||||
dw __utf16le__ 33
|
||||
dw __utf16le__, 46
|
||||
dw __utf16le__("Hello, World!",16)
|
||||
dw __utf16le__("Hello, World!",16
|
||||
dw ul(`\xff`)
|
||||
|
||||
dw __utf16be__ 33
|
||||
dw __utf16be__, 46
|
||||
dw __utf16be__("Hello, World!",16)
|
||||
dw __utf16be__("Hello, World!",16
|
||||
dw ub(`\xff`)
|
||||
%endif
|
BIN
travis/test/utf.bin.t
Normal file
BIN
travis/test/utf.bin.t
Normal file
Binary file not shown.
20
travis/test/utf.json
Normal file
20
travis/test/utf.json
Normal file
@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"description": "Test __utf__ helpers",
|
||||
"id": "utf",
|
||||
"format": "bin",
|
||||
"source": "utf.asm",
|
||||
"target": [
|
||||
{ "output": "utf.bin" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Test errors in __utf__ helpers",
|
||||
"ref": "utf",
|
||||
"option": "-DERROR",
|
||||
"target": [
|
||||
{ "stderr": "utf-error.stderr" }
|
||||
],
|
||||
"error": "expected"
|
||||
}
|
||||
]
|
Loading…
x
Reference in New Issue
Block a user