[Pkg] The Trunk: GraphicsTests-nice.18.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 27 19:44:48 UTC 2009


Nicolas Cellier uploaded a new version of GraphicsTests to project The Trunk:
http://source.squeak.org/trunk/GraphicsTests-nice.18.mcz

==================== Summary ====================

Name: GraphicsTests-nice.18
Author: nice
Time: 27 December 2009, 8:44:40 am
UUID: ec06cad5-0f16-4a8e-b2b0-c816749bf710
Ancestors: GraphicsTests-nice.17

Cosmetic: move or remove a few temps inside closures

=============== Diff against GraphicsTests-nice.17 ===============

Item was changed:
  ----- Method: FormTest>>testIsAllWhite (in category 'tests') -----
  testIsAllWhite	"self run: #testIsAllWhite"
  	"Make sure #isAllWhite works for all bit depths"
+ 	
+ 	#(-32 -16 -8 -4 -2 -1 1 2 4 8 16 32) do:[:d| | form |
- 	| form |
- 	#(-32 -16 -8 -4 -2 -1 1 2 4 8 16 32) do:[:d|
  		form := Form extent: 16 at 16 depth: d.
  		form fillBlack.
  		self deny: form isAllWhite.
  		form fillWhite.
  		self assert: form isAllWhite.
  	].
  !

Item was changed:
  ----- Method: BitBltTest>>testAlphaCompositingSimulated (in category 'bugs') -----
  testAlphaCompositingSimulated
  	"self run: #testAlphaCompositingSimulated"
  	
- 	| bb f1 f2 mixColor result eps |
  	Smalltalk at: #BitBltSimulation ifPresent:[:bitblt|
+ 	| bb f1 f2 mixColor result eps |
- 
  	f1 := Form extent: 1 at 1 depth: 32.
  	f2 := Form extent: 1 at 1 depth: 32.
  	eps := 0.5 / 255.
  	0 to: 255 do:[:i|
  		f1 colorAt: 0 at 0 put: Color blue.
  		mixColor := Color red alpha: i / 255.0.
  		f2 colorAt: 0 at 0 put: mixColor.
  		mixColor := f2 colorAt: 0 at 0.
  		bb := BitBlt toForm: f1.
  		bb sourceForm: f2.
  		bb combinationRule: Form blend.
  		bb copyBitsSimulated.
  		result := f1 colorAt: 0 at 0.
  		self assert: (result red - mixColor alpha) abs < eps.
  		self assert: (result blue - (1.0 - mixColor alpha)) abs < eps.
  		self assert: result alpha = 1.0.
  	]].!

Item was changed:
  ----- Method: PNGReadWriterTest>>encodeColors:depth: (in category 'tests - decoding') -----
  encodeColors: colorsAndFiles depth: requiredDepth
+ 	
+ 	colorsAndFiles do:[:assoc| | ff color original encoded |
- 	| color original ff encoded |
- 	colorsAndFiles do:[:assoc|
  		color := assoc key.
  		original := Base64MimeConverter mimeDecodeToBytes: assoc value readStream.
  		ff := Form extent: 32 at 32 depth: requiredDepth.
  		ff fillColor: color.
  		encoded := WriteStream on: ByteArray new.
  		PNGReadWriter putForm: ff onStream: encoded.
  		self assert: (encoded contents = original contents).
  	].!

Item was changed:
  ----- Method: PNGReadWriterTest>>encodeAndDecode: (in category 'helpers') -----
  encodeAndDecode: original
  	"Make sure that the given form is encoded and decoded correctly"
+ 	| stream bytes decoded |
- 	| stream bytes decoded maxErr |
  	"encode"
  	stream := ByteArray new writeStream.
  	(PNGReadWriter on: stream) nextPutImage: original; close.
  	bytes := stream contents.
  
  	self writeEncoded: bytes.
  
  	"decode"
  	stream := self readEncoded: bytes.
  	decoded := (PNGReadWriter new on: stream) nextImage.
  	decoded display.
  
  	"compare"
  	self assert: original width = decoded width.
  	self assert: original height = decoded height.
  	self assert: original depth = decoded depth.
  	self assert: original bits = decoded bits.
  	self assert: original class == decoded class.
  	(original isColorForm) ifTrue:[
+ 		original colors with: decoded colors do:[:c1 :c2| | maxErr |
- 		original colors with: decoded colors do:[:c1 :c2|
  			"we must round here due to encoding errors"
  			maxErr := 1. "max. error for 8bit rgb component"
  			self assert: ((c1 red * 255) truncated - (c2 red * 255) truncated) abs <= maxErr.
  			self assert: ((c1 green * 255) truncated - (c2 green * 255) truncated) abs <= maxErr.
  			self assert: ((c1 blue * 255) truncated - (c2 blue * 255) truncated) abs <= maxErr.
  			self assert: ((c1 alpha * 255) truncated - (c2 alpha * 255) truncated) abs <= maxErr.
  		].
  	].!

Item was changed:
  ----- Method: PNGReadWriterTest>>decodeColors:depth: (in category 'tests - decoding') -----
  decodeColors: colorsAndFiles depth: requiredDepth
+ 	
+ 	colorsAndFiles do:[:assoc| | form color bytes |
- 	| color bytes form |
- 	colorsAndFiles do:[:assoc|
  		color := assoc key.
  		bytes := Base64MimeConverter mimeDecodeToBytes: assoc value readStream.
  		form := PNGReadWriter formFromStream: bytes.
  		self assert: form depth = requiredDepth.
  		self assert: (form pixelValueAt: 1 at 1) = (color pixelValueForDepth: requiredDepth).
  	].!

Item was changed:
  ----- Method: PNGReadWriterTest>>testPngSuite (in category 'tests - bits') -----
  testPngSuite
  	"Requires the suite from 
  		ftp://swrinde.nde.swri.edu/pub/png/images/suite/PngSuite.zip
  	to be present as PngSuite.zip"
+ 	| file |
- 	| file zip entries |
  	[file := FileStream readOnlyFileNamed: 'PngSuite.zip'] on: Error do:[:ex| ex return].
  	file ifNil:[^self].
+ 	[ | zip entries |
+ 	zip := ZipArchive new readFrom: file.
- 	[zip := ZipArchive new readFrom: file.
  	entries := zip members select:[:mbr| mbr fileName asLowercase endsWith: '.png'].
  	entries do:[:mbr| 
  		(mbr fileName asLowercase first = $x)
  			ifTrue: [self encodeAndDecodeWithError: mbr contentStream ]
  			ifFalse: [self encodeAndDecodeStream: mbr contentStream ] ].
  	] ensure:[file close].!

Item was changed:
  ----- Method: BitBltTest>>testAlphaCompositing2Simulated (in category 'bugs') -----
  testAlphaCompositing2Simulated
  	"self run: #testAlphaCompositing2Simulated"
  
- 	| bb f1 f2 mixColor result eps |
  	Smalltalk at: #BitBltSimulation ifPresent: [:bitblt|
+ 	| bb f1 f2 mixColor result eps |
  	f1 := Form extent: 1 at 1 depth: 32.
  	f2 := Form extent: 1 at 1 depth: 32.
  	eps := 0.5 / 255.
  	0 to: 255 do:[:i|
  		f1 colorAt: 0 at 0 put: Color transparent.
  		mixColor := Color red alpha: i / 255.0.
  		f2 colorAt: 0 at 0 put: mixColor.
  		mixColor := f2 colorAt: 0 at 0.
  		bb := BitBlt toForm: f1.
  		bb sourceForm: f2.
  		bb combinationRule: Form blend.
  		bb copyBitsSimulated.
  		result := f1 colorAt: 0 at 0.
  		self assert: (result red - mixColor alpha) abs < eps.
  		self assert: result alpha = mixColor alpha.
  	].]!

Item was changed:
  ----- Method: PNGReadWriterTest>>encodeAndDecodeReverse: (in category 'helpers') -----
  encodeAndDecodeReverse: original
  	"Make sure that the given form is encoded and decoded correctly"
+ 	| stream bytes decoded reversed |
- 	| stream bytes decoded maxErr reversed |
  	fileName := 'testReverse', original depth printString,'.png'.
  	self assert: original class == Form. "won't work with ColorForm"
  	"Switch pixel order"
  	reversed := Form extent: original extent depth: original depth negated.
  	original displayOn: reversed.
  	self assert: original width = reversed width.
  	self assert: original height = reversed height.
  	self assert: original depth = reversed depth.
  	self deny: original nativeDepth = reversed nativeDepth.
  	original depth = 32
  		ifTrue:[self assert: original bits = reversed bits]
  		ifFalse:[self deny: original bits = reversed bits].
  
  	"encode"
  	stream := ByteArray new writeStream.
  	(PNGReadWriter on: stream) nextPutImage: reversed; close.
  	bytes := stream contents.
  	self writeEncoded: bytes.
  
  	"decode"
  	stream := bytes readStream.
  	decoded := (PNGReadWriter new on: stream) nextImage.
  	decoded display.
  
  	"compare"
  	self assert: original width = decoded width.
  	self assert: original height = decoded height.
  	self assert: original depth = decoded depth.
  	self assert: original bits = decoded bits.
  	self assert: original class == decoded class.
  	(original isColorForm) ifTrue:[
+ 		original colors with: decoded colors do:[:c1 :c2| | maxErr |
- 		original colors with: decoded colors do:[:c1 :c2|
  			"we must round here due to encoding errors"
  			maxErr := 1. "max. error for 8bit rgb component"
  			self assert: ((c1 red * 255) truncated - (c2 red * 255) truncated) abs <= maxErr.
  			self assert: ((c1 green * 255) truncated - (c2 green * 255) truncated) abs <= maxErr.
  			self assert: ((c1 blue * 255) truncated - (c2 blue * 255) truncated) abs <= maxErr.
  			self assert: ((c1 alpha * 255) truncated - (c2 alpha * 255) truncated) abs <= maxErr.
  		].
  	].!



More information about the Packages mailing list