diff --git a/src/BaselineOfSymbolResolver/BaselineOfSymbolResolver.class.st b/src/BaselineOfSymbolResolver/BaselineOfSymbolResolver.class.st index 11e18a6..2201489 100644 --- a/src/BaselineOfSymbolResolver/BaselineOfSymbolResolver.class.st +++ b/src/BaselineOfSymbolResolver/BaselineOfSymbolResolver.class.st @@ -12,24 +12,22 @@ Class { BaselineOfSymbolResolver >> baseline: spec [ - spec for: #common do: [ "Dependencies" - self mocketry: spec. - - "Packages" - spec - package: 'SymbolResolver'; - package: 'SymbolResolver-Tests' with: [ spec requires: #( 'SymbolResolver' 'Mocketry' ) ]; - package: 'SymbolResolver-Moose'. - - "Groups" - spec - group: 'Core' with: #( 'SymbolResolver' ); - group: 'Moose' with: #( 'SymbolResolver-Moose' ); - group: 'Tests' with: #( 'SymbolResolver-Tests' ) ]. + spec for: #common do: [ + "Packages" + spec + package: 'SymbolResolver'; + package: 'SymbolResolver-Tests' with: [ spec requires: #( 'SymbolResolver' ) ]; + package: 'SymbolResolver-Moose'. + + "Groups" + spec + group: 'Core' with: #( 'SymbolResolver' ); + group: 'Moose' with: #( 'SymbolResolver-Moose' ); + group: 'Tests' with: #( 'SymbolResolver-Tests' ) ]. spec for: #NoFamix do: [ - self famix: spec. - spec package: 'SymbolResolver-Moose' with: [ spec requires: #( 'Famix' ) ] ] + self famix: spec. + spec package: 'SymbolResolver-Moose' with: [ spec requires: #( 'Famix' ) ] ] ] { #category : 'accessing' } @@ -45,15 +43,6 @@ BaselineOfSymbolResolver >> famix: spec [ spec baseline: 'Famix' with: [ spec repository: 'github://moosetechnology/Famix:development/src' ] ] -{ #category : 'dependencies' } -BaselineOfSymbolResolver >> mocketry: spec [ - - spec baseline: 'Mocketry' with: [ - spec - loads: #( 'Core' ); - repository: 'github://dionisiydk/Mocketry:v7.0.2' ] -] - { #category : 'accessing' } BaselineOfSymbolResolver >> projectClass [ ^ MetacelloCypressBaselineProject diff --git a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st index 7f4e09a..0db31f6 100644 --- a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st +++ b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st @@ -88,12 +88,19 @@ SRSymbolsSolverTest >> testPushEntityAsScope [ { #category : 'tests' } SRSymbolsSolverTest >> testPushEntityBlockAsScope [ + | entity computer isFoundActionTriggered | isFoundActionTriggered := false. - entity := Mock named: #Cyril. - computer := Mock named: #computer. - (entity stub reachableEntitiesNamed: #computer ofKinds: {nil}) willReturn: {computer}. - computer stub name willReturn: #computer. + "MockObject is not in old versions of Pharo so we skip the tests for now." + SystemVersion current major < 9 ifTrue: [ self skip ]. + entity := MockObject new. + computer := MockObject new. + entity + on: #reachableEntitiesNamed:ofKinds: + with: #computer + with: { nil } + respond: { computer }. + computer on: #name respond: #computer. referencesSolver pushScope: (SREntityScope currentEntity: entity). referencesSolver pushResolvableAsScopeBeforeCurrentScope: (SRIdentifierResolvable identifier: 'computer') foundAction: [ isFoundActionTriggered := true ]. self assert: referencesSolver scopes pop entity equals: entity. @@ -139,19 +146,24 @@ SRSymbolsSolverTest >> testRemoveScope [ { #category : 'tests' } SRSymbolsSolverTest >> testResolve [ + | cyril fibao isFoundActionTriggered | isFoundActionTriggered := false. - cyril := Mock named: #Cyril. - fibao := Mock named: #Fibao. + "MockObject is not in old versions of Pharo so we skip the tests for now." + SystemVersion current major < 9 ifTrue: [ self skip ]. + cyril := MockObject new. + fibao := MockObject new. referencesSolver pushScope: (SREntityScope currentEntity: cyril). - referencesSolver - resolve: (SRIdentifierResolvable identifier: #fibao) - foundAction: [ :foundEntity :currentEntity | + referencesSolver resolve: (SRIdentifierResolvable identifier: #fibao) foundAction: [ :foundEntity :currentEntity | self assert: foundEntity equals: fibao. self assert: currentEntity equals: cyril. isFoundActionTriggered := true ]. - (cyril stub reachableEntitiesNamed: 'fibao' ofKinds: {nil}) willReturn: {fibao}. - fibao stub name willReturn: 'fibao'. + cyril + on: #reachableEntitiesNamed:ofKinds: + with: 'fibao' + with: { nil } + respond: { fibao }. + fibao on: #name respond: 'fibao'. referencesSolver resolveUnresolvedSymbols. self assert: isFoundActionTriggered ] diff --git a/src/SymbolResolver/SRResolvableEntityScope.class.st b/src/SymbolResolver/SRResolvableEntityScope.class.st index 294d164..6d953b6 100644 --- a/src/SymbolResolver/SRResolvableEntityScope.class.st +++ b/src/SymbolResolver/SRResolvableEntityScope.class.st @@ -23,7 +23,7 @@ SRResolvableEntityScope class >> resolvable: aSRResolvable [ SRResolvableEntityScope >> entity [ self assert: self resolvable result notNil description: 'We should always have resolved it before needing it'. - ^ self resolvable entity + ^ self resolvable result ] { #category : 'resolvable API' }