"{ Package: 'stx:goodies/monticello' }"
MCTestCase subclass:#MCChangeNotificationTest
instanceVariableNames:'workingCopy'
classVariableNames:''
poolDictionaries:''
category:'Monticello-Tests'
!
!MCChangeNotificationTest methodsFor:'events'!
modifiedEventFor: aSelector ofClass: aClass
| method |
method := aClass compiledMethodAt: aSelector.
^ ModifiedEvent
methodChangedFrom: method
to: method
selector: aSelector
inClass: aClass.
! !
!MCChangeNotificationTest methodsFor:'private'!
foreignMethod
"see testForeignMethodModified"
! !
!MCChangeNotificationTest methodsFor:'running'!
setUp
workingCopy := MCWorkingCopy forPackage: self mockPackage.
!
tearDown
workingCopy unregister
! !
!MCChangeNotificationTest methodsFor:'tests'!
testCoreMethodModified
| event |
workingCopy modified: false.
event := self modifiedEventFor: #one ofClass: self mockClassA.
MCWorkingCopy methodModified: event.
self assert: workingCopy modified
!
testExtMethodModified
| event mref |
workingCopy modified: false.
mref := workingCopy packageInfo extensionMethods first.
event := self modifiedEventFor: mref methodSymbol ofClass: mref actualClass.
MCWorkingCopy methodModified: event.
self assert: workingCopy modified
!
testForeignMethodModified
| event |
workingCopy modified: false.
event := self modifiedEventFor: #foreignMethod ofClass: self class.
MCWorkingCopy methodModified: event.
self deny: workingCopy modified
! !
!MCChangeNotificationTest class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/goodies/monticello/MCChangeNotificationTest.st,v 1.1 2011-08-20 12:25:29 cg Exp $'
!
version_CVS
^ '$Header: /cvs/stx/stx/goodies/monticello/MCChangeNotificationTest.st,v 1.1 2011-08-20 12:25:29 cg Exp $'
!
version_SVN
^ '§Id: MCChangeNotificationTest.st 5 2010-08-29 07:30:29Z vranyj1 §'
! !