463 self new test_png_02 |
463 self new test_png_02 |
464 " |
464 " |
465 ! |
465 ! |
466 |
466 |
467 test_save_1BitPaletteImage |
467 test_save_1BitPaletteImage |
468 |testImage readerImage |
468 |testImage readerImage |
469 testView expectedImage gotFromReaderImage| |
469 testView expectedImage gotFromReaderImage| |
470 |
470 |
471 "/ a palette; with white at0, black at 1 |
471 "/ a palette; with white at0, black at 1 |
472 testImage := (Depth1Image width:32 height:32) |
472 testImage := (Depth1Image width:32 height:32) |
473 bits:(ByteArray fromPackedString:' |
473 bits:(ByteArray fromPackedString:' |
474 @@@@@P@@@@L@@@@G@@@@C00L@A<LC@@?C@0@_03L@O<L3@G?CL0C?0_8A?<G>@??@3@_?0L0O?<@@G??@@C??0@A??<@@???@@_0G0@O<A<@G?OO@C?330A? |
474 @@@@@P@@@@L@@@@G@@@@C00L@A<LC@@?C@0@_03L@O<L3@G?CL0C?0_8A?<G>@??@3@_?0L0O?<@@G??@@C??0@A??<@@???@@_0G0@O<A<@G?OO@C?330A? |
475 <A<@??@_@_?330O?<<<G??@_C??0G1????<?????_?????????<b') |
475 <A<@??@_@_?330O?<<<G??@_C??0G1????<?????_?????????<b') |
476 colorMapFromArray:#[255 255 255 0 0 0]; |
476 colorMapFromArray:#[255 255 255 0 0 0]; |
477 yourself. |
477 yourself. |
478 |
478 |
479 "/ generate the reference (expected) |
479 "/ generate the reference (expected) |
480 testView := View new origin:10@10 corner:100@100. |
480 testView := View new origin:10@10 corner:100@100. |
481 testView viewBackground:Color red. |
481 testView viewBackground:Color red. |
483 testView clear. |
483 testView clear. |
484 testImage displayOpaqueOn:testView x:5 y:5. |
484 testImage displayOpaqueOn:testView x:5 y:5. |
485 expectedImage := Image fromView:testView. |
485 expectedImage := Image fromView:testView. |
486 |
486 |
487 "/ save in various formats |
487 "/ save in various formats |
488 #( 'bmp' 'png' 'tiff' 'pbm' ) do:[:suffix | |
488 #( 'bmp' 'png' 'tiff' 'pbm' ) do:[:suffix | |
489 testImage saveOn:('/tmp/test.',suffix). |
489 testImage saveOn:('/tmp/test.',suffix). |
490 "/ read - they all must generate the same... |
490 "/ read - they all must generate the same... |
491 readerImage := Image fromFile:('/tmp/test.',suffix). |
491 readerImage := Image fromFile:('/tmp/test.',suffix). |
492 "/ ...when drawn into a window |
492 "/ ...when drawn into a window |
493 testView clear. |
493 testView clear. |
494 readerImage displayOpaqueOn:testView x:5 y:5. |
494 readerImage displayOpaqueOn:testView x:5 y:5. |
495 |
495 |
496 "/ readout |
496 "/ readout |
497 gotFromReaderImage := Image fromView:testView. |
497 gotFromReaderImage := Image fromView:testView. |
498 (expectedImage bits = gotFromReaderImage bits) ifFalse:[ |
498 (expectedImage bits = gotFromReaderImage bits) ifFalse:[ |
499 "/ expectedImage bits indexOfFirstDifferenceWith:gotFromReaderImage bits. |
499 "/ expectedImage bits indexOfFirstDifferenceWith:gotFromReaderImage bits. |
500 |
500 |
501 DiffTextView |
501 DiffTextView |
502 openOn:(' ' split:expectedImage bits printString) label:'expected' |
502 openOn:(' ' split:expectedImage bits printString) label:'expected' |
503 and:(' ' split:expectedImage bits printString) label:('from ',suffix). |
503 and:(' ' split:expectedImage bits printString) label:('from ',suffix). |
504 self assert:false. |
504 self assert:false. |
505 ]. |
505 ]. |
506 ]. |
506 ]. |
507 |
507 |
508 self halt. |
508 "/ Send #skip instead of #halt to avoid interrupting unit test execution on jenkins. |
509 |
509 "/ TODO |
|
510 "/ self halt. |
|
511 self skip. |
|
512 |
510 " |
513 " |
511 self run:#test_save_1BitPaletteImage |
514 self run:#test_save_1BitPaletteImage |
512 self new test_save_1BitPaletteImage |
515 self new test_save_1BitPaletteImage |
513 " |
516 " |
514 |
517 |
515 "Created: / 31-08-2017 / 19:09:35 / cg" |
518 "Created: / 31-08-2017 / 19:09:35 / cg" |
516 "Modified (format): / 31-08-2017 / 20:13:48 / cg" |
519 "Modified (format): / 31-08-2017 / 20:13:48 / cg" |
|
520 "Modified: / 05-09-2017 / 19:15:21 / mawalch" |
517 ! ! |
521 ! ! |
518 |
522 |
519 !ImageReaderTest class methodsFor:'documentation'! |
523 !ImageReaderTest class methodsFor:'documentation'! |
520 |
524 |
521 version |
525 version |