#QUALITY by cg
authorClaus Gittinger <cg@exept.de>
Thu, 31 Aug 2017 21:39:13 +0200
changeset 1694 05b9b2d48573
parent 1693 04a3687c829e
child 1695 6c4f02c25e07
#QUALITY by cg class: RegressionTests::ImageReaderTest class definition added:22 methods class: RegressionTests::ImageReaderTest class added: #documentation #version #version_CVS
RegressionTests__ImageReaderTest.st
--- a/RegressionTests__ImageReaderTest.st	Wed Aug 30 23:58:29 2017 +0200
+++ b/RegressionTests__ImageReaderTest.st	Thu Aug 31 21:39:13 2017 +0200
@@ -462,6 +462,58 @@
      self run:#test_png_02
      self new test_png_02
     "
+!
+
+test_save_1BitPaletteImage
+    |testImage readerImage 
+     testView expectedImage gotFromReaderImage|
+
+    "/ a palette; with white at0, black at 1
+    testImage := (Depth1Image width:32 height:32) 
+                        bits:(ByteArray fromPackedString:'
+@@@@@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?
+<A<@??@_@_?330O?<<<G??@_C??0G1????<?????_?????????<b')
+                        colorMapFromArray:#[255 255 255 0 0 0]; 
+                        yourself.
+
+    "/ generate the reference (expected)
+    testView := View new origin:10@10 corner:100@100.
+    testView viewBackground:Color red.
+    testView openAndWait.
+    testView clear.
+    testImage displayOpaqueOn:testView x:5 y:5.
+    expectedImage := Image fromView:testView.
+
+    "/ save in various formats
+    #( 'bmp' 'png' 'tiff' 'pbm' ) do:[:suffix |                    
+        testImage saveOn:('/tmp/test.',suffix).
+        "/ read - they all must generate the same... 
+        readerImage := Image fromFile:('/tmp/test.',suffix).
+        "/ ...when drawn into a window
+        testView clear.
+        readerImage displayOpaqueOn:testView x:5 y:5.
+
+        "/ readout        
+        gotFromReaderImage := Image fromView:testView.
+        (expectedImage bits = gotFromReaderImage bits) ifFalse:[
+            "/ expectedImage bits indexOfFirstDifferenceWith:gotFromReaderImage bits.
+            
+            DiffTextView 
+                openOn:(' ' split:expectedImage bits printString) label:'expected' 
+                and:(' ' split:expectedImage bits printString) label:('from ',suffix).
+            self assert:false.
+        ].
+    ].    
+
+self halt.
+    
+    "
+     self run:#test_save_1BitPaletteImage
+     self new test_save_1BitPaletteImage
+    "
+
+    "Created: / 31-08-2017 / 19:09:35 / cg"
+    "Modified (format): / 31-08-2017 / 20:13:48 / cg"
 ! !
 
 !ImageReaderTest class methodsFor:'documentation'!