images.gif: added more tests
parent
bb71143054
commit
c0a8334d98
|
@ -2,7 +2,7 @@
|
|||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors bitstreams compression.lzw-gif images.gif io
|
||||
io.encodings.binary io.files kernel math math.bitwise
|
||||
math.parser namespaces prettyprint sequences tools.test ;
|
||||
math.parser namespaces prettyprint sequences tools.test images.viewer ;
|
||||
QUALIFIED-WITH: bitstreams bs
|
||||
IN: images.gif.tests
|
||||
|
||||
|
@ -10,10 +10,10 @@ IN: images.gif.tests
|
|||
binary [ input-stream get load-gif ] with-file-reader ;
|
||||
|
||||
: gif-example1 ( -- loading-gif )
|
||||
"resource:extra/images/testing/symbol-word.gif" path>gif ;
|
||||
"resource:extra/images/testing/circle.gif" path>gif ;
|
||||
|
||||
: gif-example2 ( -- loading-gif )
|
||||
"resource:extra/images/testing/check-256-colors.gif" path>gif ;
|
||||
"resource:extra/images/testing/checkmark.gif" path>gif ;
|
||||
|
||||
: gif-example3 ( -- loading-gif )
|
||||
"resource:extra/images/testing/monochrome.gif" path>gif ;
|
||||
|
@ -21,8 +21,21 @@ IN: images.gif.tests
|
|||
: gif-example4 ( -- loading-gif )
|
||||
"resource:extra/images/testing/noise.gif" path>gif ;
|
||||
|
||||
: gif-example5 ( -- loading-gif )
|
||||
"resource:extra/images/testing/alpha.gif" path>gif ;
|
||||
|
||||
: gif-example6 ( -- loading-gif )
|
||||
"resource:extra/images/testing/astronaut_animation.gif" path>gif ;
|
||||
|
||||
: gif-all. ( -- )
|
||||
{
|
||||
gif-example1 gif-example2 gif-example3 gif-example4 gif-example5
|
||||
gif-example6
|
||||
}
|
||||
[ execute( -- gif ) loading-gif>image image. ] each ;
|
||||
|
||||
: declared-num-colors ( gif -- n ) flags>> 3 bits 1 + 2^ ;
|
||||
: actual-num-colors ( gif -- n ) global-color-table>> length 3 /i ;
|
||||
: actual-num-colors ( gif -- n ) global-color-table>> length ;
|
||||
|
||||
[ 16 ] [ gif-example1 actual-num-colors ] unit-test
|
||||
[ 16 ] [ gif-example1 declared-num-colors ] unit-test
|
||||
|
@ -49,4 +62,34 @@ IN: images.gif.tests
|
|||
}
|
||||
] [ gif-example3 >index-stream ] unit-test
|
||||
|
||||
[
|
||||
B{
|
||||
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
|
||||
0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 255 0 0 0 255
|
||||
0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255 0 0 0 255
|
||||
0 0 0 255 255 255 255 255 0 0 0 255 0 0 0 255 255 255 255 255 0 0 0 255
|
||||
0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255
|
||||
}
|
||||
] [ gif-example3 loading-gif>image bitmap>> ] unit-test
|
||||
|
||||
[
|
||||
BV{
|
||||
0 1
|
||||
1 0
|
||||
}
|
||||
] [ gif-example5 >index-stream ] unit-test
|
||||
|
||||
[
|
||||
B{
|
||||
255 000 000 255 000 000 000 000
|
||||
000 000 000 000 255 000 000 255
|
||||
}
|
||||
] [ gif-example5 loading-gif>image bitmap>> ] unit-test
|
||||
|
||||
[ 100 ] [ gif-example1 >index-stream length ] unit-test
|
||||
[ 870 ] [ gif-example2 >index-stream length ] unit-test
|
||||
[ 16384 ] [ gif-example4 >index-stream length ] unit-test
|
||||
|
||||
! example6 is a GIF animation and the first frame contains 1768 pixels
|
||||
[ 1768 ] [ gif-example6 >index-stream length ] unit-test
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 44 B |
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 129 B |
Loading…
Reference in New Issue