1 ! Copyright (C) 2009 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors bitstreams io io.streams.string kernel tools.test
4 grouping compression.lzw multiline byte-arrays io.encodings.binary
5 io.streams.byte-array ;
10 B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
11 2 >>byte-pos 6 >>bit-pos
17 B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
18 2 >>byte-pos 6 >>bit-pos
24 B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
25 2 >>byte-pos 6 >>bit-pos
31 B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
32 2 >>byte-pos 6 >>bit-pos
38 B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
39 2 >>byte-pos 6 >>bit-pos
45 B{ 0x0f 0xff 0xff 0xff } <msb0-bit-reader>
46 2 >>byte-pos 6 >>bit-pos
50 [ B{ } <msb0-bit-reader> 5 swap peek ] must-fail
51 [ B{ } <msb0-bit-reader> 1 swap peek ] must-fail
52 [ B{ } <msb0-bit-reader> 8 swap peek ] must-fail
54 [ 0 ] [ B{ } <msb0-bit-reader> 0 swap peek ] unit-test