]> gitweb.factorcode.org Git - factor.git/blob - core/io/encodings/utf16/utf16-tests.factor
Merge git://double.co.nz/git/factor
[factor.git] / core / io / encodings / utf16 / utf16-tests.factor
1 USING: kernel tools.test io.encodings.utf16 arrays sbufs sequences io.encodings
2 io unicode ;
3
4 : decode-w/stream ( array encoding -- newarray )
5     >r >sbuf dup reverse-here r> <decoding> contents >array ;
6
7 : encode-w/stream ( array encoding -- newarray )
8     >r SBUF" " clone tuck r> <encoding> stream-write >array ;
9
10 [ { CHAR: x } ] [ { 0 CHAR: x } utf16be decode-w/stream ] unit-test
11 [ { HEX: 1D11E } ] [ { HEX: D8 HEX: 34 HEX: DD HEX: 1E } utf16be decode-w/stream ] unit-test
12 [ { CHAR: replacement-character } ] [ { BIN: 11011111 CHAR: q } utf16be decode-w/stream ] unit-test
13 [ { CHAR: replacement-character } ] [ { BIN: 11011011 CHAR: x BIN: 11011011 CHAR: x } utf16be decode-w/stream ] unit-test
14
15 [ { 0 120 216 52 221 30 } ] [ { CHAR: x HEX: 1d11e } utf16be encode-w/stream ] unit-test
16
17 [ { CHAR: x } ] [ { CHAR: x 0 } utf16le decode-w/stream ] unit-test
18 [ { 119070 } ] [ { HEX: 34 HEX: D8 HEX: 1E HEX: DD } utf16le decode-w/stream ] unit-test
19 [ { CHAR: replacement-character } ] [ { 0 BIN: 11011111 } utf16le decode-w/stream ] unit-test
20 [ { CHAR: replacement-character } ] [ { 0 BIN: 11011011 0 0 } utf16le decode-w/stream ] unit-test
21 [ { 119070 } ] [ { HEX: 34 HEX: D8 HEX: 1E HEX: DD } utf16le decode-w/stream ] unit-test
22
23 [ { 120 0 52 216 30 221 } ] [ { CHAR: x HEX: 1d11e } utf16le encode-w/stream ] unit-test
24
25 [ { CHAR: x } ] [ { HEX: ff HEX: fe CHAR: x 0 } utf16 decode-w/stream ] unit-test
26 [ { CHAR: x } ] [ { HEX: fe HEX: ff 0 CHAR: x } utf16 decode-w/stream ] unit-test
27
28 [ { HEX: ff HEX: fe 120 0 52 216 30 221 } ] [ { CHAR: x HEX: 1d11e } utf16 encode-w/stream ] unit-test