File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -40,21 +40,18 @@ BlSpace class >> pulseUntilSpaceOpenedAndEmptyTaskQueue: aSpace timeout: aDurati
4040{ #category : #' *Bloc-Simulation' }
4141BlSpace class >> simulate: anElement during: aBlock [
4242
43- | tempSpace topMostElement result |
4443 anElement isAttachedToSceneGraph
45- ifTrue: [
44+ ifTrue: [
45+ | result |
4646 result := aBlock value.
47- anElement space ifNotNil: [ :s | s settle ] ]
47+ anElement space ifNotNil: [ :s | s settle ].
48+ ^ result ]
4849 ifFalse: [
49- topMostElement := anElement topMostParent.
50- tempSpace := BlSpace new .
51- tempSpace root addChild: topMostElement.
52- [
50+ ^ anElement topMostParent inNewHeadlessSpaceDo: [ :space |
51+ | result |
5352 result := aBlock value.
54- tempSpace settle.
55- ] ensure : [
56- topMostElement removeFromParent ] ].
57- ^ result
53+ space settle.
54+ result ] ]
5855]
5956
6057{ #category : #' *Bloc-Simulation' }
Original file line number Diff line number Diff line change @@ -152,6 +152,22 @@ BlEventSimulatorTest >> testSimulateFromPulseProcessRaisesError [
152152 self assert: errorRaised
153153]
154154
155+ { #category : #tests }
156+ BlEventSimulatorTest >> testSimulateOnDetachedElement [
157+
158+ | detached clicked |
159+ detached := BlElement new .
160+ detached extent: 100 @ 100 .
161+ clicked := false .
162+ detached
163+ addEventHandlerOn: BlClickEvent
164+ do: [ :event | clicked := true ].
165+ BlSpace simulate: detached during: [
166+ detached eventSimulator click ].
167+ self assert: clicked.
168+ self deny: detached isAttachedToSceneGraph
169+ ]
170+
155171{ #category : #tests }
156172BlEventSimulatorTest >> testTextInput [
157173 | textInputText |
You can’t perform that action at this time.
0 commit comments