[squeak-dev] The Inbox: KernelTests-spd.149.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Dec 4 18:33:58 UTC 2010


A new version of KernelTests was added to project The Inbox:
http://source.squeak.org/inbox/KernelTests-spd.149.mcz

==================== Summary ====================

Name: KernelTests-spd.149
Author: spd
Time: 4 December 2010, 1:33:50.265 pm
UUID: 89c23bef-103f-4b9d-885c-bcf19d6b6fa9
Ancestors: KernelTests-cmm.148

* refactored and extended ClassTest, including adding a test for Class>>canFindWithoutEnvironment: (fixed in Kernel-spd.444 in inbox)

n.b. no conflicts with trunk as of 12/4/2010

=============== Diff against KernelTests-cmm.148 ===============

Item was changed:
  TestCase subclass: #ClassTest
+ 	instanceVariableNames: 'className renamedName subClassName anotherClassName class subclass anotherClass'
- 	instanceVariableNames: 'className renamedName'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'KernelTests-Classes'!

Item was added:
+ ----- Method: ClassTest classSide>>deleteClassNamed: (in category 'setup') -----
+ deleteClassNamed: aString
+ 	| cl |
+ 	cl := Smalltalk at: aString ifAbsent: [^self].
+ 	cl removeFromChanges; removeFromSystemUnlogged 
+ 	!

Item was removed:
- ----- Method: ClassTest>>deleteClass (in category 'setup') -----
- deleteClass
- 	| cl |
- 	cl := Smalltalk at: className ifAbsent: [^self].
- 	cl removeFromChanges; removeFromSystemUnlogged 
- 	!

Item was removed:
- ----- Method: ClassTest>>deleteRenamedClass (in category 'setup') -----
- deleteRenamedClass
- 	| cl |
- 	cl := Smalltalk at: renamedName ifAbsent: [^self].
- 	cl removeFromChanges; removeFromSystemUnlogged 
- 	!

Item was added:
+ ----- Method: ClassTest>>deleteTestClasses (in category 'setup') -----
+ deleteTestClasses
+ 
+ 	self class deleteClassNamed: class name.
+ 	self class deleteClassNamed: subclass name.
+ 	self class deleteClassNamed: renamedName.
+ 	self class deleteClassNamed: anotherClass name.
+ !

Item was changed:
  ----- Method: ClassTest>>setUp (in category 'setup') -----
  setUp
+ 
- 	className := #TUTU.
  	renamedName := #RenamedTUTU.
+ 
+ 	self deleteTestClasses.
+ 	
+ 	class := Object subclass: #TUTU
- 	self deleteClass.
- 	self deleteRenamedClass.
- 	Object subclass: className
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: 'KernelTests-Classes'.
+ 	
+ 	subclass := class subclass: #SubTUTU
+ 		instanceVariableNames: ''
+ 		classVariableNames: ''
+ 		poolDictionaries: ''
+ 		category: 'KernelTests-Classes'.
+ 		
+ 	anotherClass := Object subclass: #AnotherClass
+ 		instanceVariableNames: ''
+ 		classVariableNames: ''
+ 		poolDictionaries: ''
+ 		category: 'KernelTests-Classes'.!
- 		category: 'KernelTests-Classes'!

Item was added:
+ ----- Method: ClassTest>>superclass (in category 'accessing') -----
+ superclass
+ 
+ 	^ class.!

Item was changed:
  ----- Method: ClassTest>>tearDown (in category 'setup') -----
  tearDown
+ 
+ 	self deleteTestClasses.!
- 	self deleteClass.
- 	self deleteRenamedClass!

Item was added:
+ ----- Method: ClassTest>>testAddClassVarName (in category 'testing') -----
+ testAddClassVarName
+ 	"self run: #testAddClassVarName"
+ 	
+ 	class addClassVarName: #MyShinyNewClassVar.
+ 	self assert: (class classVarNames anySatisfy: [ :name | name = #MyShinyNewClassVar ]).
+ 	
+ 	!

Item was added:
+ ----- Method: ClassTest>>testAddClassVarNameWithSameNameAsAGlobal (in category 'testing') -----
+ testAddClassVarNameWithSameNameAsAGlobal
+ 	"self run: #testAddClassVarName"
+ 	
+ 	self shouldnt: [ class addClassVarName: anotherClass name ] raise: Exception.
+ 	self assert: (class classVarNames anySatisfy: [ :name | name = anotherClass name ]).
+ 	
+ 	!

Item was changed:
  ----- Method: ClassTest>>testAddInstVarName (in category 'testing') -----
  testAddInstVarName
  	"self run: #testAddInstVarName"
  	
+ 	class addInstVarName: 'x'.
+ 	self assert: (class instVarNames = #('x')).
+ 	class addInstVarName: 'y'.
+ 	self assert: (class instVarNames = #('x' 'y'))
  	
- 	| tutu |
- 	tutu := Smalltalk at: #TUTU.
- 	tutu addInstVarName: 'x'.
- 	self assert: (tutu instVarNames = #('x')).
- 	tutu addInstVarName: 'y'.
- 	self assert: (tutu instVarNames = #('x' 'y'))
- 	
  	!

Item was added:
+ ----- Method: ClassTest>>testCanFindWithoutEnvironment (in category 'testing') -----
+ testCanFindWithoutEnvironment
+ 	"self debug: #testCanFindWithoutEnvironment"
+ 	"self run: #testCanFindWithoutEnvironment"
+ 	
+ 	self deny: (subclass canFindWithoutEnvironment: #ClassVarInSuperclass).
+ 	self deny: (subclass canFindWithoutEnvironment: #PoolVarInSuperclass).
+ 	self deny: (subclass canFindWithoutEnvironment: #ClassVar).
+ 	self deny: (subclass canFindWithoutEnvironment: #PoolVar).
+ 
+ 	subclass addClassVarName: 'ClassVar'.
+ 	self assert: (subclass canFindWithoutEnvironment: #ClassVar).
+ 
+ 	subclass addSharedPool: (Dictionary newFromPairs: #(PoolVar->5)).
+ 	self assert: (subclass canFindWithoutEnvironment: #PoolVar).
+ 	
+ 	self superclass addClassVarName: 'ClassVarInSupersubclass'.
+ 	self assert: (subclass canFindWithoutEnvironment: #ClassVarInSupersubclass).
+ 
+ 	self superclass addSharedPool: (Dictionary newFromPairs: #(PoolVarInSupersubclass->5)).
+ 	self assert: (subclass canFindWithoutEnvironment: #PoolVarInSupersubclass).!

Item was changed:
  ----- Method: ClassTest>>testRenaming (in category 'testing') -----
  testRenaming
  	"self debug: #testRenaming"
  	"self run: #testRenaming"
  	
+ 	| newMetaclassName |
- 	| oldName newMetaclassName class |
- 	oldName := className.
  	newMetaclassName := (renamedName, #' class') asSymbol.
- 	class := Smalltalk at: oldName.
  	class class compile: 'dummyMeth'.
  	class rename: renamedName.
  	self assert: class name = renamedName.
  	self assert: (ChangeSet current changedClassNames includes: renamedName). 
  	self assert: (ChangeSet current changedClassNames includes: newMetaclassName).
  	!




More information about the Squeak-dev mailing list