Skip to content

Commit 6b78635

Browse files
authored
Merge pull request #1783 from demarey/modal-testing
backport modal testing
2 parents 0438768 + b739b66 commit 6b78635

3 files changed

Lines changed: 54 additions & 0 deletions

File tree

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Class {
2+
#name : 'SpWindowSimulateOpenModalTest',
3+
#superclass : 'TestCase',
4+
#category : 'Spec2-Adapters-Morphic-Tests',
5+
#package : 'Spec2-Adapters-Morphic-Tests'
6+
}
7+
8+
{ #category : 'tests' }
9+
SpWindowSimulateOpenModalTest >> testSimulateSimpleOpenModal [
10+
| dialog presenter |
11+
12+
13+
presenter := SpTextInputFieldPresenter new.
14+
dialog := presenter asModalWindow.
15+
16+
17+
self deny: dialog isOk.
18+
self assert: presenter text isEmpty.
19+
20+
SpWindowSimulateOpenModal
21+
value: [ :aDialogPresenter |
22+
aDialogPresenter presenter text: 'SIMULATED'.
23+
aDialogPresenter beOk ]
24+
during: [
25+
dialog open ].
26+
27+
self assert: dialog isOk.
28+
self assert: presenter text equals: 'SIMULATED'
29+
]

src/Spec2-Adapters-Morphic/SpMorphicDialogWindowAdapter.class.st

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ SpMorphicDialogWindowAdapter >> buildWidget [
5656
SpMorphicDialogWindowAdapter >> waitWhile: aBlock [
5757

5858
SpWindowForceOpenNonModal value ifTrue: [ ^ self ].
59+
SpWindowSimulateOpenModal value ifNotNil: [ :aValuable |
60+
aValuable value: self presenter.
61+
self presenter close.
62+
^ self ].
5963

6064
MorphicRenderLoop new doOneCycleWhile: aBlock
6165
]
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
"
2+
To be used when I want the dialog to simulate a response instead of calling it.
3+
To be used, variable needs to be a block with an argument: the dialog itself.
4+
5+
Example:
6+
```smalltalk
7+
SpWindowSimulateOpenModal
8+
value: [ :aDialogPresenter |
9+
aDalogPresenter presenter inputText: 'The text of the sample'.
10+
aDialogPresenter beOk.
11+
true ]
12+
durying [ ""some code thet will call dialog openModal"" ]
13+
```
14+
"
15+
Class {
16+
#name : 'SpWindowSimulateOpenModal',
17+
#superclass : 'DynamicVariable',
18+
#category : 'Spec2-Core-Windows',
19+
#package : 'Spec2-Core',
20+
#tag : 'Windows'
21+
}

0 commit comments

Comments
 (0)