Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 14 additions & 25 deletions src/BaselineOfSymbolResolver/BaselineOfSymbolResolver.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,22 @@ Class {
BaselineOfSymbolResolver >> baseline: spec [

<baseline>
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' }
Expand All @@ -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
Expand Down
34 changes: 23 additions & 11 deletions src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
]
2 changes: 1 addition & 1 deletion src/SymbolResolver/SRResolvableEntityScope.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -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' }
Expand Down
Loading