Skip to content

Commit

Permalink
Merge pull request #1415 from pierretsap/21961-Move-Slot-Examples-to-…
Browse files Browse the repository at this point in the history
…a-Slot-Examples-package-

21961 move slot examples to a slot examples package
  • Loading branch information
tesonep committed May 27, 2018
2 parents a69e72a + 4f18c7c commit 5b22779
Show file tree
Hide file tree
Showing 24 changed files with 90 additions and 51 deletions.
10 changes: 7 additions & 3 deletions src/BaselineOfIDE/BaselineOfIDE.class.st
Expand Up @@ -182,6 +182,11 @@ BaselineOfIDE >> baseline: spec [
spec loads: 'traits-tests'.
spec repository: repository
].

spec baseline: 'Slot' with: [
spec loads: 'slot-tests'.
spec repository: repository
].

spec package: 'ReleaseTests'.
spec package: 'Refactoring-Critics'.
Expand Down Expand Up @@ -391,7 +396,6 @@ BaselineOfIDE >> baseline: spec [
spec package: 'SUnit-Tests'.
spec package: 'SUnit-Support-UITesting-Tests'.
spec package: 'Shout-Tests'.
spec package: 'Slot-Tests'.
spec package: 'SmartSuggestions-Tests'.
spec package: 'Spec-Help'.
spec package: 'Spec-Tests'.
Expand Down Expand Up @@ -509,8 +513,7 @@ spec group: 'General-Tests-Group' with: #(
'ScriptingExtensions-Tests'
'STON-Tests'
'SUnit-Tests'
'SUnit-Support-UITesting-Tests'
'Slot-Tests'
'SUnit-Support-UITesting-Tests'
'Spec-Tests'
'System-Caching-Tests'
'System-Hashing-Tests'
Expand Down Expand Up @@ -890,6 +893,7 @@ spec group: #default with: #(
'Shift'
"Importing tests of Traits"
'Traits'
'Slot'
).

]
Expand Down
32 changes: 32 additions & 0 deletions src/BaselineOfSlot/BaselineOfSlot.class.st
@@ -0,0 +1,32 @@
Class {
#name : #BaselineOfSlot,
#superclass : #BaselineOf,
#category : #BaselineOfSlot
}

{ #category : #baselines }
BaselineOfSlot class >> corePackages [
| groups |

groups := self packagesOfGroupNamed: 'core-traits'.
^ groups flatCollect: [ :e | self packagesOfGroupNamed: e ].
]

{ #category : #baselines }
BaselineOfSlot >> baseline: spec [
<baseline>

spec for: #common do: [

spec
package: 'Slot-Core';
package: 'Slot-Examples' with: [ spec requires: #('Slot-Core') ];
package: 'Slot-Tests' with: [ spec requires: #('Slot-Core' 'Slot-Examples') ].

spec group: 'core' with: #('Slot-Core').

spec group: 'default' with: #('core' 'slot-tests').
spec group: 'slot-tests' with: #('Slot-Tests').
].

]
1 change: 1 addition & 0 deletions src/BaselineOfSlot/package.st
@@ -0,0 +1 @@
Package { #name : #BaselineOfSlot }
20 changes: 0 additions & 20 deletions src/Kernel-Tests/BehaviorTest.class.st
Expand Up @@ -238,26 +238,6 @@ BehaviorTest >> testWhichSelectorsAccess [
self deny: ((Point whichSelectorsAccess: 'y') includes: #x).
]

{ #category : #tests }
BehaviorTest >> testWhichSelectorsAccessFindSlots [
| cls |
cls := Object newAnonymousSubclass.
cls := cls addSlot: #regularIvar.
cls := cls addSlot: #slotIvar => PropertySlot.
cls
compile:
'initialize
super initialize.
regularIvar := 4.
slotIvar := 2.
'.
self
assert: (cls whichSelectorsAccess: #regularIvar) size equals: 1;
assert: (cls whichSelectorsAccess: #slotIvar) size equals: 1;
assert: (cls whichSelectorsAccess: #notAnIvar) equals: #()
]

{ #category : #tests }
BehaviorTest >> testallSuperclassesIncluding [

Expand Down
Expand Up @@ -8,7 +8,7 @@ This example shows how Slots can change the class that they are part of.
Class {
#name : #AccessorInstanceVariableSlot,
#superclass : #InstanceVariableSlot,
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'class building' }
Expand Down
Expand Up @@ -9,7 +9,7 @@ Class {
#instVars : [
'default'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #comparing }
Expand Down
Expand Up @@ -12,7 +12,7 @@ Class {
'baseSlot',
'offset'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #accessing }
Expand Down
Expand Up @@ -17,7 +17,7 @@ Class {
#instVars : [
'block'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #comparing }
Expand Down
Expand Up @@ -8,7 +8,7 @@ Class {
#instVars : [
'state'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'meta-object-protocol' }
Expand Down
Expand Up @@ -11,7 +11,7 @@ Class {
#instVars : [
'default'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #comparing }
Expand Down
Expand Up @@ -46,7 +46,7 @@ Class {
#instVars : [
'value'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'meta-object-protocol' }
Expand Down
Expand Up @@ -8,7 +8,7 @@ The idea is that virtual slots can use hidden non-virtual slots to store their s
Class {
#name : #HiddenInstanceVariableSlot,
#superclass : #InstanceVariableSlot,
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #testing }
Expand Down
Expand Up @@ -11,7 +11,7 @@ setIvar: aMorph
Class {
#name : #MorphSlot,
#superclass : #IndexedSlot,
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'meta-object-protocol' }
Expand Down
Expand Up @@ -26,7 +26,7 @@ obj local. “nil” <—— Now we don’t
Class {
#name : #ProcessLocalSlot,
#superclass : #IndexedSlot,
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'code generation' }
Expand Down
Expand Up @@ -11,7 +11,7 @@ Class {
#instVars : [
'baseSlot'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'code generation' }
Expand Down
Expand Up @@ -9,7 +9,7 @@ Class {
'slot',
'set'
],
#category : #'Slot-Core-Examples-Associations'
#category : #'Slot-Examples-Associations'
}

{ #category : #'instance creation' }
Expand Down
Expand Up @@ -26,7 +26,7 @@ Class {
'inverseName',
'inverseSlot'
],
#category : #'Slot-Core-Examples-Associations'
#category : #'Slot-Examples-Associations'
}

{ #category : #'instance creation' }
Expand Down
Expand Up @@ -4,7 +4,7 @@ I'm a relation slot that describes slots that contain collections.
Class {
#name : #ToManyRelationSlot,
#superclass : #RelationSlot,
#category : #'Slot-Core-Examples-Associations'
#category : #'Slot-Examples-Associations'
}

{ #category : #internal }
Expand Down
Expand Up @@ -4,7 +4,7 @@ I'm an relation slot that describes the one or zero side of an association.
Class {
#name : #ToOneRelationSlot,
#superclass : #RelationSlot,
#category : #'Slot-Core-Examples-Associations'
#category : #'Slot-Examples-Associations'
}

{ #category : #testing }
Expand Down
Expand Up @@ -9,7 +9,7 @@ Class {
'offset',
'baseSlotSize'
],
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'class building' }
Expand Down
Expand Up @@ -14,7 +14,7 @@ This slot inherits from IndexedSlot to guarantee that this slot has a real field
Class {
#name : #WeakSlot,
#superclass : #IndexedSlot,
#category : #'Slot-Core-Examples'
#category : #'Slot-Examples-base'
}

{ #category : #'code generation' }
Expand Down
1 change: 1 addition & 0 deletions src/Slot-Examples/package.st
@@ -0,0 +1 @@
Package { #name : #'Slot-Examples' }
20 changes: 20 additions & 0 deletions src/Slot-Tests/PropertySlotTest.class.st
Expand Up @@ -141,3 +141,23 @@ PropertySlotTest >> testRemovePropertySlot2 [
self deny: (aClass hasSlot: propertySlot2).
self deny: (aClass classLayout hasSlotNamed: #'_propertyBaseSlot').
]

{ #category : #tests }
PropertySlotTest >> testWhichSelectorsAccessFindSlots [
| cls |
cls := Object newAnonymousSubclass.
cls := cls addSlot: #regularIvar.
cls := cls addSlot: #slotIvar => PropertySlot.
cls
compile:
'initialize
super initialize.
regularIvar := 4.
slotIvar := 2.
'.
self
assert: (cls whichSelectorsAccess: #regularIvar) size equals: 1;
assert: (cls whichSelectorsAccess: #slotIvar) size equals: 1;
assert: (cls whichSelectorsAccess: #notAnIvar) equals: #()
]
23 changes: 12 additions & 11 deletions src/System-DependenciesTests/SystemDependenciesTest.class.st
Expand Up @@ -210,7 +210,7 @@ SystemDependenciesTest >> testExternalBasicToolsDependencies [
dependencies := self externalDependendiesOf: (
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
{ BaselineOfSUnit name }, BaselineOfSUnit allPackageNames, "ALL"
{ BaselineOfDisplay name }, BaselineOfDisplay allPackageNames,
{ BaselineOfUnifiedFFI name }, BaselineOfUnifiedFFI allPackageNames,
Expand Down Expand Up @@ -249,7 +249,7 @@ SystemDependenciesTest >> testExternalDisplayDependencies [
dependencies := self externalDependendiesOf: (
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfDisplay allPackageNames).

self assertCollection: dependencies equals: self knownDisplayDependencies.
Expand Down Expand Up @@ -283,6 +283,7 @@ SystemDependenciesTest >> testExternalIDEDependencies [
self metacelloPackageNames,
self tonelCorePackageNames,
{ BaselineOfTraits name }, BaselineOfTraits allPackageNames,
{ BaselineOfSlot name }, BaselineOfSlot allPackageNames,
{ BaselineOfSUnit name }, BaselineOfSUnit allPackageNames, "ALL"
{ BaselineOfDisplay name }, BaselineOfDisplay allPackageNames,
{ BaselineOfUnifiedFFI name }, BaselineOfUnifiedFFI allPackageNames,
Expand Down Expand Up @@ -337,7 +338,7 @@ SystemDependenciesTest >> testExternalMetacelloDependencies [

self longTestCase.

dependencies := self externalDependendiesOf: self metacelloPackageNames, BaselineOfTraits allPackageNames.
dependencies := self externalDependendiesOf: self metacelloPackageNames, BaselineOfTraits corePackages.

self assertCollection: dependencies equals: self knownMetacelloDependencies.
]
Expand All @@ -350,7 +351,7 @@ SystemDependenciesTest >> testExternalMonticelloDependencies [
self longTestCase.

dependencies := self externalDependendiesOf: (
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfPharoBootstrap kernelPackageNames,
BaselineOfPharoBootstrap multilingualPackageNames,
BaselineOfPharoBootstrap compilerPackageNames,
Expand All @@ -372,7 +373,7 @@ SystemDependenciesTest >> testExternalMorphicCoreDependencies [
dependencies := self externalDependendiesOf: (
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfSUnit defaultPackageNames,
BaselineOfDisplay allPackageNames,
BaselineOfUnifiedFFI allPackageNames,
Expand All @@ -391,7 +392,7 @@ SystemDependenciesTest >> testExternalMorphicDependencies [
dependencies := self externalDependendiesOf: (
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfSUnit defaultPackageNames,
BaselineOfDisplay allPackageNames,
BaselineOfUnifiedFFI allPackageNames,
Expand All @@ -409,7 +410,7 @@ SystemDependenciesTest >> testExternalSUnitDependencies [
self longTestCase.

dependencies := self externalDependendiesOf: (
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfSUnit defaultPackageNames).
Expand All @@ -425,7 +426,7 @@ SystemDependenciesTest >> testExternalSUnitKernelDependencies [
self longTestCase.

dependencies := self externalDependendiesOf: (
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfPharoBootstrap kernelPackageNames,
BaselineOfPharoBootstrap multilingualPackageNames,
BaselineOfPharoBootstrap kernelAdditionalPackagesNames,
Expand All @@ -443,7 +444,7 @@ SystemDependenciesTest >> testExternalSpecDependencies [

dependencies := (self externalDependendiesOf: (
self metacelloPackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
self specPackageNames ))
copyWithoutAll: self knownMetacelloDependencies.

Expand All @@ -460,7 +461,7 @@ SystemDependenciesTest >> testExternalUFFIDependencies [
dependencies := self externalDependendiesOf: (
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfSUnit defaultPackageNames,
BaselineOfUnifiedFFI allPackageNames).

Expand All @@ -477,7 +478,7 @@ SystemDependenciesTest >> testExternalUIDependencies [
dependencies := (self externalDependendiesOf: (
self metacelloPackageNames,
self tonelCorePackageNames,
BaselineOfTraits allPackageNames,
BaselineOfTraits corePackages,
BaselineOfSUnit defaultPackageNames,
BaselineOfDisplay allPackageNames,
BaselineOfUnifiedFFI allPackageNames,
Expand Down

0 comments on commit 5b22779

Please sign in to comment.