MCChangeNotificationTest.st
author Claus Gittinger <cg@exept.de>
Mon, 14 May 2018 02:21:18 +0200
changeset 1048 582b3a028cbc
parent 315 7b543141ba48
permissions -rw-r--r--
#FEATURE by cg class: MCMethodDefinition changed: #postloadOver:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
315
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCTestCase subclass:#MCChangeNotificationTest
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'workingCopy'
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Tests'
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCChangeNotificationTest methodsFor:'events'!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
modifiedEventFor: aSelector ofClass: aClass
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	| method |
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	method := aClass compiledMethodAt: aSelector.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	^ ModifiedEvent 
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
				methodChangedFrom: method
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
				to: method
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
				selector: aSelector
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
				inClass: aClass.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
! !
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!MCChangeNotificationTest methodsFor:'private'!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
foreignMethod
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	"see testForeignMethodModified"
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
! !
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!MCChangeNotificationTest methodsFor:'running'!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
setUp
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	workingCopy := MCWorkingCopy forPackage: self mockPackage.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
tearDown
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	workingCopy unregister
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
! !
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!MCChangeNotificationTest methodsFor:'tests'!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
testCoreMethodModified
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	| event |
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	workingCopy modified: false.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	event := self modifiedEventFor: #one ofClass: self mockClassA.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	MCWorkingCopy methodModified: event.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	self assert: workingCopy modified
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
testExtMethodModified
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	| event mref |
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	workingCopy modified: false.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	mref := workingCopy packageInfo extensionMethods first.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	event := self modifiedEventFor: mref methodSymbol ofClass: mref actualClass.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	MCWorkingCopy methodModified: event.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	self assert: workingCopy modified
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
testForeignMethodModified
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
	| event |
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	workingCopy modified: false.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
	event := self modifiedEventFor: #foreignMethod ofClass: self class.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	MCWorkingCopy methodModified: event.
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
	self deny: workingCopy modified
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
! !
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!MCChangeNotificationTest class methodsFor:'documentation'!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
version
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCChangeNotificationTest.st,v 1.1 2011-08-20 12:25:29 cg Exp $'
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
version_CVS
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCChangeNotificationTest.st,v 1.1 2011-08-20 12:25:29 cg Exp $'
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
!
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
version_SVN
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    ^ '§Id: MCChangeNotificationTest.st 5 2010-08-29 07:30:29Z vranyj1 §'
7b543141ba48 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
! !