[squeak-dev] The Trunk: MorphicTests-mt.68.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jan 25 15:17:01 UTC 2021


Marcel Taeumel uploaded a new version of MorphicTests to project The Trunk:
http://source.squeak.org/trunk/MorphicTests-mt.68.mcz

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

Name: MorphicTests-mt.68
Author: mt
Time: 25 January 2021, 4:17:01.036158 pm
UUID: e250ac43-cfde-8d47-9c60-87045f7c0061
Ancestors: MorphicTests-mt.67

Adds tests for check-box group layout and a #shrinkWrap issue.

=============== Diff against MorphicTests-mt.67 ===============

Item was added:
+ ----- Method: TableLayoutTest>>testCheckBoxGroup (in category 'tests - example layouts') -----
+ testCheckBoxGroup
+ 
+ 	| group groupContents labels |
+ 	labels := Dictionary new.
+ 	group := self newContainer
+ 		hResizing: #shrinkWrap;
+ 		vResizing: #shrinkWrap;
+ 		layoutPolicy: TableLayout new;
+ 		listDirection: #topToBottom;
+ 		layoutInset: 0;
+ 		cellPositioning: #topLeft;
+ 		borderStyle: (SimpleBorder color: Color black width: 2);
+ 		yourself.
+ 	group addMorphBack: (labels at: #groupLabel put: 'Favorite Ice Cream' asMorph).
+ 	
+ 	groupContents := self newContainer
+ 		hResizing: #shrinkWrap;
+ 		vResizing: #shrinkWrap;
+ 		layoutPolicy: TableLayout new;
+ 		listDirection: #topToBottom;
+ 		cellGap: 0;
+ 		cellPositioning: #topLeft;
+ 		yourself.
+ 	group addMorphBack: groupContents.
+ 		
+ 	#('Vanilla' 'Chocolate') withIndexDo: [:label :index |
+ 		| checkBox |
+ 		checkBox := self newContainer
+ 			hResizing: #shrinkWrap;
+ 			vResizing: #shrinkWrap;
+ 			layoutPolicy: TableLayout new;
+ 			listDirection: #rightToLeft;
+ 			yourself.
+ 		checkBox
+ 			addMorphBack: (labels at: (#box, index asString) asSymbol put: label asMorph);
+ 			addMorphBack: (self newMorph extent: 16 at 16; borderColor: Color black; borderWidth: 2).
+ 		groupContents addMorphBack: checkBox].
+ 	
+ 	self ensureLayout: group.
+ 	self
+ 		assert: (labels at: #groupLabel) width + (group borderWidth * 2)
+ 		equals: group width.
+ 	self
+ 		assert: (labels at: #groupLabel) height
+ 			+ (labels at: #box1) height
+ 			+ (labels at: #box2) height
+ 			+ (group borderWidth * 2)
+ 		equals: group height.!

Item was added:
+ ----- Method: TableLayoutTest>>testShrinkWrapIssue (in category 'tests') -----
+ testShrinkWrapIssue
+ 	"A container that has no layout policy does MUST trigger layout computation for its submorphs in time."
+ 	
+ 	| container inner item1 item2 |
+ 	container := Morph new
+ 		hResizing: #shrinkWrap;
+ 		vResizing: #shrinkWrap;
+ 		yourself.
+ 	inner := self newContainer
+ 		listDirection: #topToBottom;
+ 		yourself.
+ 	container addMorphBack: inner.
+ 	
+ 	inner
+ 		addMorphBack: (item1 := self newMorph extent: 50 at 50; yourself);
+ 		addMorphBack: (item2 := self newMorph extent: 50 at 50; yourself).
+ 
+ 	self ensureLayout: container.
+ 	self assert: 50 at 100 equals: container extent.
+ 	
+ 	item1 width: 100.
+ 	item2 width: 200.
+ 	self ensureLayout: container.
+ 	self assert: 200 at 100 equals: container extent.!



More information about the Squeak-dev mailing list