[Pkg] The Trunk: MorphicTests-mt.45.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Dec 15 13:41:36 UTC 2017


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

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

Name: MorphicTests-mt.45
Author: mt
Time: 15 December 2017, 2:41:31.499738 pm
UUID: b37c9408-de4e-c241-97ea-ca024031cf67
Ancestors: MorphicTests-dtl.44

Adds test for focus events and reject bug.

=============== Diff against MorphicTests-dtl.44 ===============

Item was changed:
  Morph subclass: #MorphForEventTests
+ 	instanceVariableNames: 'eventsDuringCapture eventsDuringBubble eventsRejected eventsFiltered handlesMouseDown keyStrokesReceived fullFocusDispatch'
- 	instanceVariableNames: 'eventsDuringCapture eventsDuringBubble eventsRejected eventsFiltered handlesMouseDown keyStrokesReceived'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'MorphicTests-Events'!

Item was added:
+ ----- Method: MorphForEventTests>>fullFocusDispatch (in category 'accessing') -----
+ fullFocusDispatch
+ 	^ fullFocusDispatch ifNil: [false]!

Item was added:
+ ----- Method: MorphForEventTests>>fullFocusDispatch: (in category 'accessing') -----
+ fullFocusDispatch: aBoolean
+ 	fullFocusDispatch := aBoolean.!

Item was added:
+ ----- Method: MorphForEventTests>>processFocusEvent:using: (in category 'events-processing') -----
+ processFocusEvent: anEvent using: defaultDispatcher
+ 
+ 	^ self fullFocusDispatch
+ 		ifTrue: [defaultDispatcher dispatchFocusEventFully: anEvent with: self]
+ 		ifFalse: [defaultDispatcher dispatchFocusEvent: anEvent with: self]
+ 	
+ 	
+ 	!

Item was added:
+ ----- Method: MorphicEventDispatcherTests>>test11FocusEventReject (in category 'tests') -----
+ test11FocusEventReject
+ 	"If a morph with mouse focus or keyboard focus rejects the event, that focus should be cleared."
+ 
+ 	| m1 m2 |
+ 	m1 := MorphForEventTests new.	
+ 	m1 fullFocusDispatch: false.
+ 	m1 on: #mouseDown send: #hide to: m1.
+ 	m1 on: #keyStroke send: #hide to: m1.
+ 	m1 openInWorld: world.
+ 
+ 	hand newMouseFocus: m1.
+ 	hand handleEvent: (self redMouseDownAt: m1 center).
+ 	self assert: hand mouseFocus isNil.
+ 	
+ 	hand newKeyboardFocus: m1.
+ 	hand handleEvent: (self keystroke: $x at: m1 center).
+ 	self assert: hand keyboardFocus isNil.
+ 	
+ 	m2 := MorphForEventTests new.
+ 	m2 bounds: m1 bounds.
+ 	m1 addMorph: m2.
+ 	m1 fullFocusDispatch: true.
+ 	
+ 	hand newMouseFocus: m1.
+ 	hand handleEvent: (self redMouseDownAt: m2 center).
+ 	self assert: hand mouseFocus isNil.
+ 	
+ 	hand newKeyboardFocus: m2.
+ 	hand handleEvent: (self keystroke: $x at: m2 center).
+ 	self assert: hand keyboardFocus isNil.
+ !



More information about the Packages mailing list