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

commits at source.squeak.org commits at source.squeak.org
Tue Oct 8 15:02:13 UTC 2019


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

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

Name: MorphicTests-mt.57
Author: mt
Time: 8 October 2019, 5:02:13.932299 pm
UUID: 932a800f-1029-8240-8152-3fe36173f576
Ancestors: MorphicTests-mt.56

Adds more layout tests.

=============== Diff against MorphicTests-mt.56 ===============

Item was added:
+ ----- Method: ScrollPaneRetractableBarsTest>>test10ShrinkWrapHorizontally (in category 'tests') -----
+ test10ShrinkWrapHorizontally
+ 
+ 	sut vResizing: #rigid.
+ 	sut hResizing: #shrinkWrap.
+ 	sut vScrollBarPolicy: #always.
+ 	
+ 	content extent: 300 at 300.
+ 	sut extent: 100 at 100.
+ 		
+ 	sut hScrollBarPolicy: #always.
+ 	self refresh.
+ 	self assert: 300 equals: content width.
+ 	self assert: content width equals: sut width.
+ 
+ 	sut hScrollBarPolicy: #whenNeeded.
+ 	self refresh.
+ 	self assert: 300 equals: content width.
+ 	self assert: content width equals: sut width.
+ 	
+ 	content width: 450.
+ 	self refresh.
+ 	self assert: (sut right = sut vScrollBar left or: [sut left = sut vScrollBar right]).!

Item was added:
+ ----- Method: ScrollPaneRetractableBarsTest>>test11ShrinkWrapVertically (in category 'tests') -----
+ test11ShrinkWrapVertically
+ 
+ 	sut vResizing: #shrinkWrap.
+ 	sut hResizing: #rigid.
+ 	sut hScrollBarPolicy: #always.
+ 	
+ 	content extent: 300 at 300.
+ 	sut extent: 100 at 100.
+ 		
+ 	sut vScrollBarPolicy: #always.
+ 	self refresh.
+ 	self assert: 300 equals: content height.
+ 	self assert: content height equals: sut height.
+ 
+ 	sut vScrollBarPolicy: #whenNeeded.
+ 	self refresh.
+ 	self assert: 300 equals: content height.
+ 	self assert: content height equals: sut height.
+ 	
+ 	content height: 450.
+ 	self refresh.
+ 	self assert: sut bottom equals: sut hScrollBar top.!

Item was changed:
  ----- Method: ScrollPaneTest>>test01ScrollBarPolicyWhenNeeded (in category 'tests') -----
  test01ScrollBarPolicyWhenNeeded
  
+ 	sut extent: 125 at 125.
+ 
  	sut
  		hScrollBarPolicy: #whenNeeded;
  		vScrollBarPolicy: #whenNeeded.
  		
  	content extent: 100 at 100.
  	self refresh.
  	
  	self
  		deny: sut hIsScrollbarShowing;
  		deny: sut vIsScrollbarShowing.
+ 
+ 	content extent: 125 at 125.
+ 	self refresh.
+ 	
+ 	self
+ 		deny: sut hIsScrollbarShowing;
+ 		deny: sut vIsScrollbarShowing.
+ 			
- 		
  	content extent: 150 at 150.
  	self refresh.
  
  	self
  		assert: sut hIsScrollbarShowing;
+ 		assert: sut vIsScrollbarShowing.
+ 		
+ 	content extent: 125 at 125.
+ 	self refresh.
+ 	
+ 	self
+ 		deny: sut hIsScrollbarShowing;
+ 		deny: sut vIsScrollbarShowing.!
- 		assert: sut vIsScrollbarShowing.!

Item was added:
+ ----- Method: ScrollPaneTest>>test10ShrinkWrapHorizontally (in category 'tests') -----
+ test10ShrinkWrapHorizontally
+ 
+ 	sut vResizing: #rigid.
+ 	sut hResizing: #shrinkWrap.
+ 	sut vScrollBarPolicy: #always.
+ 	
+ 	content extent: 300 at 300.
+ 	sut extent: 100 at 100.
+ 		
+ 	sut hScrollBarPolicy: #always.
+ 	self refresh.
+ 	self assert: 300 equals: content width.
+ 	self assert: content width + sut scrollBarThickness equals: sut width.
+ 
+ 	sut hScrollBarPolicy: #whenNeeded.
+ 	self refresh.
+ 	self assert: 300 equals: content width.
+ 	self assert: content width + sut scrollBarThickness equals: sut width.
+ 	
+ 	content width: 450.
+ 	self refresh.
+ 	self assert: (sut right = sut vScrollBar right or: [sut left = sut vScrollBar left]).!

Item was added:
+ ----- Method: ScrollPaneTest>>test11ShrinkWrapVertically (in category 'tests') -----
+ test11ShrinkWrapVertically
+ 
+ 	sut vResizing: #shrinkWrap.
+ 	sut hResizing: #rigid.
+ 	sut hScrollBarPolicy: #always.
+ 	
+ 	content extent: 300 at 300.
+ 	sut extent: 100 at 100.
+ 		
+ 	sut vScrollBarPolicy: #always.
+ 	self refresh.
+ 	self assert: 300 equals: content height.
+ 	self assert: content height + sut scrollBarThickness equals: sut height.
+ 
+ 	sut vScrollBarPolicy: #whenNeeded.
+ 	self refresh.
+ 	self assert: 300 equals: content height.
+ 	self assert: content height + sut scrollBarThickness equals: sut height.
+ 	
+ 	content height: 450.
+ 	self refresh.
+ 	self assert: sut bottom equals: sut hScrollBar bottom.!

Item was added:
+ ----- Method: TableLayoutTest>>testInnerTopLeft (in category 'tests') -----
+ testInnerTopLeft
+ 	"The morph that is layed out in the owner must be in the top-left corner, regardless of its resizing properties."
+ 	
+ 	| inner |
+ 	container := self newContainer
+ 		hResizing: #rigid;
+ 		vResizing: #rigid;
+ 		addMorphBack: (inner := self newMorph
+ 			layoutPolicy: nil;
+ 			addMorphBack: self newMorph;
+ 			yourself);
+ 		yourself.
+ 	
+ 	#(rigid shrinkWrap spaceFill) do: [:h | #(rigid shrinkWrap spaceFill) do: [:v |
+ 		inner hResizing: h; vResizing: v.
+ 		self ensureLayout: container.
+ 		self assert: container topLeft equals: inner topLeft]].!

Item was added:
+ ----- Method: TableLayoutTest>>testPluggableTextMorph (in category 'tests') -----
+ testPluggableTextMorph
+ 
+ 	| ptm |
+ 	ptm := PluggableTextMorph new
+ 		extent: 100 at 50;
+ 		setText: 'Hello World!! Hello World!! Hello World!! Hello World!!';
+ 		wrapFlag: true.
+ 			
+ 	container := self newContainer addMorphBack: ptm.
+ 	self ensureLayout: container.
+ 	self assert: 100 at 50 equals: container extent.
+ 
+ 	self assert: ptm vIsScrollbarShowing.
+ 	self deny: ptm hIsScrollbarShowing.
+ 
+ 	"Make it a one-liner."
+ 	ptm wrapFlag: false.
+ 	self ensureLayout: container.
+ 	self deny: ptm vIsScrollbarShowing.
+ 	self assert: ptm hIsScrollbarShowing.
+ 
+ 	"Make it a one-liner without the horizontal scrollbar."
+ 	ptm hideScrollBarsIndefinitely.
+ 	self ensureLayout: container.
+ 	self deny: ptm vIsScrollbarShowing.
+ 	self deny: ptm hIsScrollbarShowing.
+ !

Item was added:
+ ----- Method: TableLayoutTest>>testPluggableTextMorphScrollBarNotNeeded (in category 'tests') -----
+ testPluggableTextMorphScrollBarNotNeeded
+ 	"The entire test might fit if the scroll bar would only disappear..."
+ 
+ 	| ptm |
+ 	ptm := PluggableTextMorph new
+ 		extent: 100 at 50;
+ 		setText: 'Hello World!! Hello World!! \\\ Hello World!! Hello World!!' withCRs.
+ 	container := self newContainer addMorphBack: ptm.
+ 	
+ 	"Make it fit exactly first."
+ 	ptm hResizing: #shrinkWrap; vResizing: #shrinkWrap.
+ 	self ensureLayout: container.
+ 	ptm hResizing: #rigid; vResizing: #rigid.
+ 	ptm wrapFlag: true.
+ 
+ 	"No scrollbars required."
+ 	self ensureLayout: container.
+ 	self deny: ptm vIsScrollbarShowing.
+ 	
+ 	"It wraps immediately."
+ 	ptm width: ptm width - 5.
+ 	self ensureLayout: container.
+ 	self assert: ptm vIsScrollbarShowing.
+ 
+ 	"No scrollbars required."
+ 	ptm width: ptm width + 5.
+ 	self ensureLayout: container.
+ 	self deny: ptm vIsScrollbarShowing.!

Item was added:
+ ----- Method: TableLayoutTest>>testPluggableTextMorphShrinkWrap (in category 'tests') -----
+ testPluggableTextMorphShrinkWrap
+ 
+ 	| ptm |
+ 	ptm := PluggableTextMorph new
+ 		extent: 100 at 50;
+ 		setText: 'Hello World!! Hello World!! \\\ Hello World!! Hello World!!' withCRs.
+ 	container := self newContainer addMorphBack: ptm.
+ 	
+ 	ptm wrapFlag: false. "for the inner text morph"
+ 	ptm hResizing: #shrinkWrap; vResizing: #shrinkWrap. "for the outer scroll pane"	
+ 	self ensureLayout: container.
+ 
+ 	self deny: ptm vIsScrollbarShowing.
+ 	self deny: ptm hIsScrollbarShowing.
+ 	self assert: ptm innerExtent equals: ptm textMorph extent.!

Item was changed:
  ----- Method: TableLayoutTest>>testScrollPaneShrinkWrap (in category 'tests') -----
  testScrollPaneShrinkWrap
  
  	| scroll scrollContent |
  	container := self newContainer
  		vResizing: #rigid;
  		addMorphBack: (self newMorph extent: 50 @ 50);
  		addMorphBack: (scroll := ScrollPane new
  			hResizing: #shrinkWrap;
  			vResizing: #spaceFill;
- 			retractable: false;
  			showVScrollBarOnlyWhenNeeded;
  			hideHScrollBarIndefinitely).
  	
  	" shrinkWrap the horizontal axis but scroll vertically "
  	scroll scroller
  		layoutPolicy: TableLayout new;
  		addMorphBack: (scrollContent := self newMorph extent: 200 @ 500).
+ 
+ 	container extent: 1 @ 300.
- 	
- 	container extent: 250 @ 300.
  	self ensureLayout: container.
  	self assert: container left = (container layoutChanged; fullBounds; left). "Do not be jumpy."
+ 	self assert: (200 + scroll scrollBarThickness + scroll borderWidth) @ 300 equals: scroll extent.
- 	self assert: 211 @ 300 equals: scroll extent.
  	
  	scrollContent extent: 300 @ 500.
  	self ensureLayout: container.
+ 	self assert: (300 + scroll scrollBarThickness + scroll borderWidth) @ 300 equals: scroll extent!
- 	self assert: 311 @ 300 equals: scroll extent!



More information about the Squeak-dev mailing list