1 ! Copyright (C) 2009 Daniel Ehrenberg.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel tools.test io.encodings.utf32 arrays sbufs
4 io.streams.byte-array sequences io.encodings io strings
5 io.encodings.string alien.c-types alien.strings accessors classes ;
7 { { CHAR: x } } [ B{ 0 0 0 CHAR: x } utf32be decode >array ] unit-test
8 { { 0x1D11E } } [ B{ 0 1 0xD1 0x1E } utf32be decode >array ] unit-test
9 { { CHAR: replacement-character } } [ B{ 0 1 0xD1 } utf32be decode >array ] unit-test
10 { { CHAR: replacement-character } } [ B{ 0 1 } utf32be decode >array ] unit-test
11 { { CHAR: replacement-character } } [ B{ 0 } utf32be decode >array ] unit-test
12 { { } } [ { } utf32be decode >array ] unit-test
14 { B{ 0 0 0 CHAR: x 0 1 0xD1 0x1E } } [ { CHAR: x 0x1d11e } >string utf32be encode ] unit-test
16 { { CHAR: x } } [ B{ CHAR: x 0 0 0 } utf32le decode >array ] unit-test
17 { { 0x1d11e } } [ B{ 0x1e 0xd1 1 0 } utf32le decode >array ] unit-test
18 { { CHAR: replacement-character } } [ B{ 0x1e 0xd1 1 } utf32le decode >array ] unit-test
19 { { CHAR: replacement-character } } [ B{ 0x1e 0xd1 } utf32le decode >array ] unit-test
20 { { CHAR: replacement-character } } [ B{ 0x1e } utf32le decode >array ] unit-test
21 { { } } [ { } utf32le decode >array ] unit-test
23 { B{ 120 0 0 0 0x1e 0xd1 1 0 } } [ { CHAR: x 0x1d11e } >string utf32le encode ] unit-test
25 { { CHAR: x } } [ B{ 0xff 0xfe 0 0 CHAR: x 0 0 0 } utf32 decode >array ] unit-test
26 { { CHAR: x } } [ B{ 0 0 0xfe 0xff 0 0 0 CHAR: x } utf32 decode >array ] unit-test
28 { B{ 0xff 0xfe 0 0 120 0 0 0 0x1e 0xd1 1 0 } } [ { CHAR: x 0x1d11e } >string utf32 encode ] unit-test