MCChangeNotificationTest.st
author Claus Gittinger <cg@exept.de>
Sun, 26 Aug 2018 14:41:59 +0200
changeset 1051 793db72fde39
parent 315 7b543141ba48
permissions -rw-r--r--
#FEATURE by cg class: MCFtpRepository class definition added: #asRepositorySpecFor: #directory #host #isRemote #koRemote #loadAllFileNames comment/format in: #readStreamForFileNamed:do: changed: #description class: MCFtpRepository class added: #basicFromUrl: #documentation #fillInTheBlankRequest #morphicConfigure #urlSchemes

"{ 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 §'
! !