Skip to content

Commit bbcdf97

Browse files
authored
Merge pull request #5513 from estebanlm/Pharo8.0
update Spec2 to 0.2.0
2 parents c115bf4 + 6cf1956 commit bbcdf97

File tree

154 files changed

+3105
-1048
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+3105
-1048
lines changed

src/BaselineOfCommander2/BaselineOfCommander2.class.st

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,19 @@ Class {
77
{ #category : #baselines }
88
BaselineOfCommander2 >> baseline: spec [
99
<baseline>
10-
spec
11-
for: #common
12-
do: [ spec
13-
package: 'Commander2';
14-
package: 'Commander2-Deprecations' with: [ spec requires: #('Commander2') ];
15-
package: 'Commander2-Tests' with: [ spec requires: #('Commander2') ] ]
10+
11+
spec for: #common do: [
12+
spec
13+
package: 'Commander2';
14+
package: 'Commander2-Deprecations' with: [ spec requires: #('Commander2') ];
15+
package: 'Commander2-UI' with: [ spec requires: #('Commander2') ];
16+
package: 'Commander2-Tests' with: [ spec requires: #('Commander2') ];
17+
package: 'Commander2-UI-Tests' with: [ spec requires: #('Commander2-UI') ];
18+
package: 'Commander2-V2ReleaseMigrator'.
19+
spec
20+
group: 'core' with: #('Commander2' 'Commander2-Deprecations');
21+
group: 'ui' with: #('Commander2-UI');
22+
group: 'tests' with: #('core' 'ui' 'Commander2-Tests' 'Commander2-UI-Tests');
23+
group: 'migration' with: #('Commander2-V2ReleaseMigrator');
24+
group: 'default' with: #('core' 'ui' 'tests'). ]
1625
]

src/BaselineOfSpec2/BaselineOfSpec2.class.st

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,70 @@ Class {
77
{ #category : #baseline }
88
BaselineOfSpec2 >> baseline: spec [
99
<baseline>
10-
| repository |
11-
repository := self packageRepositoryURL.
1210
spec
1311
for: #common
14-
do: [ "Dependencies"
15-
spec baseline: 'ParametrizedTests' with: [ spec repository: repository ].
16-
spec baseline: 'Commander2' with: [ spec repository: repository ].
12+
do: [ self commander2: spec.
1713

1814
"Packages"
1915
spec
2016
package: 'Spec2-Core' with: [ spec requires: #('Spec2-Layout' 'Spec2-Transmission' 'Spec2-Commands') ];
2117
package: 'Spec2-CommandLine' with: [ spec requires: #('Spec2-Core') ];
18+
"package: 'Spec2-Help';"
2219
package: 'Spec2-Commands' with: [ spec requires: #('Commander2') ];
23-
package: 'Spec2-Inspector' with: [ spec requires: #('Spec2-Core') ];
20+
package: 'Spec2-Deprecated' with: [ spec requires: #('Spec2-Tests' 'Spec2-Adapters-Morphic' 'Spec2-Commander2') ];
2421
package: 'Spec2-ObservableSlot';
2522
package: 'Spec2-Layout' with: [ spec requires: #('Spec2-ObservableSlot') ];
2623
package: 'Spec2-Transmission';
2724
package: 'Spec2-Adapters-Morphic' with: [ spec requires: #('Spec2-Core') ];
2825
package: 'Spec2-Adapters-Stub' with: [ spec requires: #('Spec2-Core') ];
29-
package: 'Spec2-Examples' with: [ spec requires: #('Spec2-Inspector') ];
26+
package: 'Spec2-Examples';
3027
package: 'Spec2-Interactions' with: [ spec requires: #('Spec2-Core') ];
31-
package: 'Spec2-Commander2' with: [ spec requires: #('Commander2' 'Spec2-Core' 'Spec2-Interactions') ];
28+
package: 'Spec2-Commander2' with: [ spec requires: #('Spec2-Core' 'Spec2-Interactions' 'Commander2') ];
3229
package: 'Spec2-Commander2-Tests' with: [ spec requires: #('Spec2-Commander2') ];
3330
package: 'Spec2-Commander2-ContactBook' with: [ spec requires: #('Spec2-Commander2') ];
3431
package: 'Spec2-Commander2-ContactBook-Extensions' with: [ spec requires: #('Spec2-Commander2-ContactBook') ];
3532
package: 'Spec2-Tests' with: [ spec requires: #('Spec2-Examples') ];
36-
package: 'Spec2-Morphic-Backend-Tests' with: [ spec requires: #('Spec2-Backend-Tests') ];
37-
package: 'Spec2-Backend-Tests' with: [ spec requires: #('Spec2-Adapters-Morphic' 'ParametrizedTests') ];
38-
package: 'Spec2-Adapters-Morphic-Tests' with: [ spec requires: #('Spec2-Tests' 'Spec2-Adapters-Morphic') ];
33+
package: 'Spec2-Morphic-Backend-Tests' with: [ spec requires: #('Spec2-Adapters-Morphic') ];
34+
package: 'Spec2-Backend-Tests' with: [ spec requires: #('Spec2-Adapters-Morphic') ];
35+
package: 'Spec2-Adapters-Morphic-Tests' with: [ spec requires: #('Spec2-Tests' 'Spec2-Backend-Tests') ]].
36+
37+
spec
38+
for: #'pharo7.x'
39+
do: [ "Dependencies for Pharo7"
40+
self parametrizedTests: spec.
41+
42+
spec
43+
baseline: 'Commander'
44+
with: [ spec
45+
repository: 'github://pharo-ide/Commander:v0.8.1/src';
46+
loads: #('Commander-Spec2-Compatibility') ].
47+
48+
spec
49+
package: 'Spec2-Pharo7To8Compatibility';
50+
package: 'Spec2-Backend-Tests' with: [ spec requires: #('ParametrizedTests' 'Spec2-Adapters-Morphic') ];
51+
package: 'Spec2-Morphic-Backend-Tests' with: [ spec requires: #('ParametrizedTests' 'Spec2-Adapters-Morphic') ];
52+
package: 'Spec2-Tests' with: [ spec requires: #('Spec2-Examples' 'ParametrizedTests') ] ].
53+
spec
54+
for: #'pharo8.x'
55+
do: [ spec
3956
package: 'Spec2-Tools' with: [ spec requires: #('Spec2-Core') ];
4057
package: 'Spec2-Tools-Tests' with: [ spec requires: #('Spec2-Tests' 'Spec2-Tools') ];
4158
package: 'Spec2-Examples' with: [ spec requires: #('Spec2-Tools') ];
42-
43-
package: 'Spec2-Deprecated' with: [ spec requires: #('Spec2-Tests' 'Spec2-Adapters-Morphic' 'Spec2-Commander2') ];
4459
package: 'Spec2-Deprecated-Tools' with: [ spec requires: #('Spec2-Deprecated' 'Spec2-Tools') ] ]
4560
]
4661

62+
{ #category : #dependencies }
63+
BaselineOfSpec2 >> commander2: spec [
64+
spec
65+
baseline: 'Commander2'
66+
with: [ spec repository: 'github://pharo-spec/Commander2:v2.1.x/src' ]
67+
]
68+
69+
{ #category : #dependencies }
70+
BaselineOfSpec2 >> parametrizedTests: spec [
71+
spec baseline: 'ParametrizedTests' with: [ spec repository: 'github://tesonep/ParametrizedTests/src' ]
72+
]
73+
4774
{ #category : #accessing }
4875
BaselineOfSpec2 >> project [
4976
"Atomic loading is needed for Spec because we are moving classes of package and it breaks their subclasses.

src/BaselineOfUI/BaselineOfUI.class.st

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@ BaselineOfUI >> baseline: spec [
3636
spec postLoadDoIt: #'postload:package:'.
3737

3838
"Load morphic before Spec"
39-
spec baseline: 'Morphic' with: [spec repository: repository].
40-
spec baseline: 'Spec2' with: [spec repository: repository].
41-
spec baseline: 'Spec' with: [spec repository: repository].
39+
spec baseline: 'Morphic' with: [ spec repository: repository ].
40+
spec baseline: 'ParametrizedTests' with: [ spec repository: repository ].
41+
spec baseline: 'Spec2' with: [ spec repository: repository ].
42+
spec baseline: 'Spec' with: [ spec repository: repository ].
4243

43-
spec baseline: 'DrTests' with: [spec repository: repository].
44+
spec baseline: 'DrTests' with: [ spec repository: repository ].
4445

4546
spec package: 'StartupPreferences'.
4647

@@ -65,6 +66,8 @@ BaselineOfUI >> baseline: spec [
6566
spec package: 'WebBrowser-Core'.
6667

6768
spec package: 'HelpSystem-Core'.
69+
70+
spec package: 'Spec2-Inspector'.
6871
].
6972
]
7073

src/Commander2/CmAbstractCommand.class.st

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ Class {
99
#category : #'Commander2-Commands'
1010
}
1111

12+
{ #category : #'instance creation' }
13+
CmAbstractCommand class >> forContext: anObject [
14+
"Creates a new command with anObject as context."
15+
^ self new
16+
context: anObject;
17+
yourself
18+
]
19+
1220
{ #category : #visiting }
1321
CmAbstractCommand >> acceptVisitor: aCmCommandOrGroup [
1422
^ aCmCommandOrGroup visitCommand: self

src/GT-Debugger/GTSpecPreDebugActionsPresenter.class.st

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ I'll collect the actions via pragmas and create button presenters for them.
66
Class {
77
#name : #GTSpecPreDebugActionsPresenter,
88
#superclass : #SpPresenter,
9-
#traits : 'TSpDynamicPresenter',
10-
#classTraits : 'TSpDynamicPresenter classTrait',
119
#category : #'GT-Debugger-UI'
1210
}
1311

src/Metacello-PharoExtensions/BaselineOf.extension.st

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ BaselineOf class >> allPackageNames [
66
^ self version packages collect: #name
77
]
88

9+
{ #category : #'*Metacello-PharoExtensions' }
10+
BaselineOf class >> deepPackagesOfGroupNamed: aName [
11+
"Traverses the group tree to collect packages"
12+
| allGroups group |
13+
14+
allGroups := self version groups.
15+
group := allGroups detect: [ :eachGroup | eachGroup name = aName ].
16+
17+
^ (group includes
18+
collect: [ :each |
19+
(allGroups anySatisfy: [ :eachGroup | eachGroup name = each ])
20+
ifTrue: [ self deepPackagesOfGroupNamed: each ]
21+
ifFalse: [ { each } ] ])
22+
flattened
23+
]
24+
925
{ #category : #'*Metacello-PharoExtensions' }
1026
BaselineOf >> packageRepository [
1127

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Extension { #name : #FTTableMorph }
2+
3+
{ #category : #'*Spec2-Adapters-Morphic' }
4+
FTTableMorph >> hasFilter [
5+
6+
function ifNil: [ ^ false ].
7+
^ function isKindOf: FTFilterFunction
8+
]

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,18 @@ SpAbstractMorphicAdapter >> transferFor: passenger from: source [
423423
^ (self transferBlock cull: passenger cull: self model) buildWithSpec
424424
]
425425

426+
{ #category : #emulating }
427+
SpAbstractMorphicAdapter >> type: aString [
428+
429+
aString do: [ :each |
430+
self
431+
keyPressed: each asciiValue
432+
shift: each isUppercase
433+
meta: false
434+
control: false
435+
option: false ]
436+
]
437+
426438
{ #category : #protocol }
427439
SpAbstractMorphicAdapter >> useProportionalLayout [
428440

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,13 @@ SpAbstractMorphicListAdapter >> updateItemFilterBlockWith: block [
4444
enableFilter: (SpFTSpecFilter block: block);
4545
explicitFunction ]
4646
ifNil: [
47-
widget disableFunction ]
47+
self updateSearch ]
48+
]
49+
50+
{ #category : #factory }
51+
SpAbstractMorphicListAdapter >> updateSearch [
52+
53+
self presenter isSearchEnabled
54+
ifTrue: [ widget enableSearch ]
55+
ifFalse: [ widget disableFunction ]
4856
]

src/Spec2-Adapters-Morphic/SpComponentListFastTableDataSource.class.st renamed to src/Spec2-Adapters-Morphic/SpComponentListDataSource.class.st

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Class {
2-
#name : #SpComponentListFastTableDataSource,
2+
#name : #SpComponentListDataSource,
33
#superclass : #FTDataSource,
44
#instVars : [
55
'model'
@@ -8,7 +8,7 @@ Class {
88
}
99

1010
{ #category : #accessing }
11-
SpComponentListFastTableDataSource >> cellColumn: column row: rowIndex [
11+
SpComponentListDataSource >> cellColumn: column row: rowIndex [
1212
| cell item |
1313

1414
item := self elementAt: rowIndex.
@@ -21,19 +21,19 @@ SpComponentListFastTableDataSource >> cellColumn: column row: rowIndex [
2121
]
2222

2323
{ #category : #accessing }
24-
SpComponentListFastTableDataSource >> elementAt: rowIndex [
24+
SpComponentListDataSource >> elementAt: rowIndex [
2525

2626
^ self presenters at: rowIndex
2727
]
2828

2929
{ #category : #accessing }
30-
SpComponentListFastTableDataSource >> elements [
30+
SpComponentListDataSource >> elements [
3131

3232
^ self presenters
3333
]
3434

3535
{ #category : #accessing }
36-
SpComponentListFastTableDataSource >> headerColumn: column [
36+
SpComponentListDataSource >> headerColumn: column [
3737

3838
column id ifNil: [ ^ nil ].
3939
^ FTCellMorph new
@@ -43,7 +43,7 @@ SpComponentListFastTableDataSource >> headerColumn: column [
4343
]
4444

4545
{ #category : #accessing }
46-
SpComponentListFastTableDataSource >> menuColumn: column row: rowIndex [
46+
SpComponentListDataSource >> menuColumn: column row: rowIndex [
4747
| menuPresenter |
4848

4949
menuPresenter := self model contextMenu.
@@ -59,17 +59,17 @@ SpComponentListFastTableDataSource >> menuColumn: column row: rowIndex [
5959
]
6060

6161
{ #category : #accessing }
62-
SpComponentListFastTableDataSource >> model [
62+
SpComponentListDataSource >> model [
6363
^ model
6464
]
6565

6666
{ #category : #accessing }
67-
SpComponentListFastTableDataSource >> model: anObject [
67+
SpComponentListDataSource >> model: anObject [
6868
model := anObject
6969
]
7070

7171
{ #category : #accessing }
72-
SpComponentListFastTableDataSource >> newDataSourceMatching: aFTFilter [
72+
SpComponentListDataSource >> newDataSourceMatching: aFTFilter [
7373
| newElements wrappedItem text newDataSource modelCopy |
7474

7575
newElements := self elements select: [ :each |
@@ -87,28 +87,28 @@ SpComponentListFastTableDataSource >> newDataSourceMatching: aFTFilter [
8787
]
8888

8989
{ #category : #accessing }
90-
SpComponentListFastTableDataSource >> numberOfRows [
90+
SpComponentListDataSource >> numberOfRows [
9191

9292
^ model
9393
ifNil: [ 0 ]
9494
ifNotNil: [ self presenters size ]
9595
]
9696

9797
{ #category : #accessing }
98-
SpComponentListFastTableDataSource >> presenters [
98+
SpComponentListDataSource >> presenters [
9999

100100
^ self model presenters
101101
]
102102

103103
{ #category : #accessing }
104-
SpComponentListFastTableDataSource >> rowHeight: rowIndex [
104+
SpComponentListDataSource >> rowHeight: rowIndex [
105105

106106
rowIndex = 0 ifTrue: [ ^ super rowHeight: rowIndex ].
107107
^ (self widgetFor: (self elementAt: rowIndex)) height
108108
]
109109

110110
{ #category : #accessing }
111-
SpComponentListFastTableDataSource >> searchText: aString [
111+
SpComponentListDataSource >> searchText: aString [
112112
| search text result |
113113
aString isEmptyOrNil ifTrue: [ ^ #() ].
114114
result := OrderedCollection new.
@@ -121,12 +121,12 @@ SpComponentListFastTableDataSource >> searchText: aString [
121121
]
122122

123123
{ #category : #'drag and drop' }
124-
SpComponentListFastTableDataSource >> transferFor: passenger from: aMorph [
124+
SpComponentListDataSource >> transferFor: passenger from: aMorph [
125125
^(self model transferFor: passenger from: self table) buildWithSpec
126126
]
127127

128128
{ #category : #private }
129-
SpComponentListFastTableDataSource >> widgetFor: aPresenter [
129+
SpComponentListDataSource >> widgetFor: aPresenter [
130130

131131
aPresenter adapter ifNotNil: [ :adapter | ^ adapter widget ].
132132
^ aPresenter buildWithSpec

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ Class {
1010
#category : #'Spec2-Adapters-Morphic-Support'
1111
}
1212

13+
{ #category : #configuring }
14+
SpDropListMorph >> configureWith: displayModel item: itemPresenter [
15+
displayModel configureDropList: self item: itemPresenter
16+
]
17+
1318
{ #category : #private }
1419
SpDropListMorph >> currentIcon [
1520

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Class {
2+
#name : #SpMorphicAllItemsStrategy,
3+
#superclass : #FTAllItemsStrategy,
4+
#category : #'Spec2-Adapters-Morphic-Table'
5+
}
6+
7+
{ #category : #accessing }
8+
SpMorphicAllItemsStrategy >> isMatching: anItem [
9+
10+
^ dataSource model
11+
performSearch: anItem data
12+
matching: pattern
13+
]

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ SpMorphicBackend >> adapterBindingsClass [
1616
^ SpMorphicAdapterBindings
1717
]
1818

19-
{ #category : #'as yet unclassified' }
20-
SpMorphicBackend >> defer: aBlockClosure [
21-
UIManager default defer: aBlockClosure.
19+
{ #category : #accessing }
20+
SpMorphicBackend >> defer: aBlock [
21+
22+
UIManager default defer: aBlock
2223
]
2324

2425
{ #category : #'private notifying' }

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ SpMorphicComponentListAdapter >> isNonEditableRow: aRow column: aColumn [
4444
{ #category : #factory }
4545
SpMorphicComponentListAdapter >> newDataSource [
4646

47-
^ SpComponentListFastTableDataSource new
47+
^ SpComponentListDataSource new
4848
model: self presenter;
4949
yourself
5050
]

0 commit comments

Comments
 (0)