From e0f5516ee07aea565e08768d537d369660aabc90 Mon Sep 17 00:00:00 2001 From: CyrilFerlicot Date: Mon, 13 Oct 2025 16:07:03 +0200 Subject: [PATCH 1/3] Remove dependency to mocketry to use MockObject since we only have simple cases --- .../BaselineOfSymbolResolver.class.st | 39 +++++++------------ .../SRSymbolsSolverTest.class.st | 30 ++++++++------ .../SRResolvableEntityScope.class.st | 2 +- 3 files changed, 34 insertions(+), 37 deletions(-) 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..58f93ca 100644 --- a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st +++ b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st @@ -88,12 +88,17 @@ 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. + 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 +144,22 @@ SRSymbolsSolverTest >> testRemoveScope [ { #category : 'tests' } SRSymbolsSolverTest >> testResolve [ + | cyril fibao isFoundActionTriggered | isFoundActionTriggered := false. - cyril := Mock named: #Cyril. - fibao := Mock named: #Fibao. + 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' } From 53c800f20b666c6d748c1a4df7b7ab5c7f4ec616 Mon Sep 17 00:00:00 2001 From: CyrilFerlicot Date: Mon, 13 Oct 2025 16:14:54 +0200 Subject: [PATCH 2/3] Skip some tests in old Pharos --- src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st index 58f93ca..dbf3a88 100644 --- a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st +++ b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st @@ -91,6 +91,7 @@ SRSymbolsSolverTest >> testPushEntityBlockAsScope [ | entity computer isFoundActionTriggered | isFoundActionTriggered := false. + "MockObject is not in old versions of Pharo so we skip the tests for now." entity := MockObject new. computer := MockObject new. entity @@ -147,6 +148,8 @@ SRSymbolsSolverTest >> testResolve [ | cyril fibao isFoundActionTriggered | isFoundActionTriggered := false. + "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). From 7f71b4027ed04976f0c7740a24a8bd60c3b874c2 Mon Sep 17 00:00:00 2001 From: CyrilFerlicot Date: Mon, 13 Oct 2025 16:16:59 +0200 Subject: [PATCH 3/3] --- src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st | 1 + 1 file changed, 1 insertion(+) diff --git a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st index dbf3a88..0db31f6 100644 --- a/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st +++ b/src/SymbolResolver-Tests/SRSymbolsSolverTest.class.st @@ -92,6 +92,7 @@ SRSymbolsSolverTest >> testPushEntityBlockAsScope [ | entity computer isFoundActionTriggered | isFoundActionTriggered := false. "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