Skip to content

Commit

Permalink
Merge pull request #4996 from tinchodias/3695-Epicea-shows-a-Change-t…
Browse files Browse the repository at this point in the history
…hat-is-not-a-change

3695-Epicea-shows-a-Change-that-is-not-a-change
  • Loading branch information
Ducasse committed Nov 2, 2019
2 parents ebf7723 + 2227aec commit 55188a2
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 9 deletions.
14 changes: 14 additions & 0 deletions src/Epicea-Tests/EpCodeChangeIntegrationTest.class.st
Expand Up @@ -109,6 +109,20 @@ EpCodeChangeIntegrationTest >> testClassModificationOfTraitComposition [

]

{ #category : #tests }
EpCodeChangeIntegrationTest >> testClassModificationWithHierarchy [

| modifications |
aClass := classFactory newClass.
classFactory newSubclassOf: aClass using: {}.
aClass addSlot: 'i' asSlot.

modifications := (self allLogEntriesWith: EpClassModification) collect: #content.
self assert: modifications size equals: 1.
self assert: modifications first behaviorAffectedName equals: aClass name.

]

{ #category : #tests }
EpCodeChangeIntegrationTest >> testClassRemoval [

Expand Down
6 changes: 6 additions & 0 deletions src/Epicea/EpClassModification.class.st
Expand Up @@ -37,6 +37,12 @@ EpClassModification >> behaviorAffectedName [
^ newClass name
]

{ #category : #testing }
EpClassModification >> hasChanges [
^ oldClass definitionSource ~= newClass definitionSource or: [
oldClass classSide definitionSource ~= newClass classSide definitionSource ]
]

{ #category : #testing }
EpClassModification >> hasMetaclassChanges [
"FIX should compare metaclasses as a whole"
Expand Down
21 changes: 12 additions & 9 deletions src/Epicea/EpMonitor.class.st
Expand Up @@ -163,9 +163,13 @@ EpMonitor >> behaviorAdded: aClassAddedAnnouncement [
EpMonitor >> behaviorModified: aClassModifiedClassDefinitionAnnouncement [

self handleAnyErrorDuring: [
aClassModifiedClassDefinitionAnnouncement classAffected isTrait
| event |
event := aClassModifiedClassDefinitionAnnouncement classAffected isTrait
ifTrue: [ self traitModified: aClassModifiedClassDefinitionAnnouncement ]
ifFalse: [ self classModified: aClassModifiedClassDefinitionAnnouncement ] ]
ifFalse: [ self classModified: aClassModifiedClassDefinitionAnnouncement ].

event hasChanges ifTrue: [ self addEvent: event ]
]
]

{ #category : #'announcement handling' }
Expand Down Expand Up @@ -266,10 +270,9 @@ EpMonitor >> classCommented: anAnnouncement [
{ #category : #'announcement handling' }
EpMonitor >> classModified: aClassModifiedAnnouncement [

self addEvent:
(EpClassModification
oldClass: aClassModifiedAnnouncement oldClassDefinition
newClass: aClassModifiedAnnouncement newClassDefinition)
^ EpClassModification
oldClass: aClassModifiedAnnouncement oldClassDefinition
newClass: aClassModifiedAnnouncement newClassDefinition
]

{ #category : #'announcement handling' }
Expand Down Expand Up @@ -383,7 +386,7 @@ EpMonitor >> handleAnyErrorDuring: aBlock [
EpMonitor >> handleError: error [

self debugMode
ifTrue: [ error signal ]
ifTrue: [ error pass ]
ifFalse: [ 'EpMonitor could not log a change. You can enable debugging with "EpMonitor current debugMode: true".' traceCr ]
]

Expand Down Expand Up @@ -619,9 +622,9 @@ EpMonitor >> traitAdded: aClassAddedAnnouncement [
{ #category : #'announcement handling' }
EpMonitor >> traitModified: aClassModifiedClassDefinitionAnnouncement [

self addEvent: (EpTraitModification
^ EpTraitModification
oldTrait: aClassModifiedClassDefinitionAnnouncement oldClassDefinition
newTrait: aClassModifiedClassDefinitionAnnouncement newClassDefinition)
newTrait: aClassModifiedClassDefinitionAnnouncement newClassDefinition
]

{ #category : #'announcement handling' }
Expand Down
6 changes: 6 additions & 0 deletions src/Epicea/EpTraitModification.class.st
Expand Up @@ -36,6 +36,12 @@ EpTraitModification >> behaviorAffectedName [
^ newTrait name
]

{ #category : #testing }
EpTraitModification >> hasChanges [
^ oldTrait definitionSource ~= newTrait definitionSource or: [
oldTrait classSide definitionSource ~= newTrait classSide definitionSource ]
]

{ #category : #initialize }
EpTraitModification >> initializeOldTrait: anOldTrait newTrait: aNewTrait [

Expand Down

0 comments on commit 55188a2

Please sign in to comment.