[squeak-dev] The Trunk: KernelTests-nice.163.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Sep 21 10:28:39 UTC 2010


Nicolas Cellier uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-nice.163.mcz

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

Name: KernelTests-nice.163
Author: nice
Time: 21 September 2010, 12:28:36.525 pm
UUID: c76beccf-c07c-0245-bc5a-2ac4a6d5b9f9
Ancestors: KernelTests-klc.162

Let the tests create a dummy category rather than a category belonging to an existing package.
Let the tests clean the dummy category if empty.

=============== Diff against KernelTests-klc.162 ===============

Item was added:
+ ----- Method: ClassBuilderTest>>categoryNameForTemporaryClasses (in category 'utilities') -----
+ categoryNameForTemporaryClasses
+ 	"Answer the category where to classify temporarily created classes"
+ 	
+ 	^'Dummy-Tests-ClassBuilder'!

Item was changed:
  ----- Method: ClassBuilderTest>>cleanup (in category 'utilities') -----
  cleanup
  	subClass ifNotNil:[subClass removeFromSystem].
+ 	baseClass ifNotNil:[baseClass removeFromSystem].
+ 	(Smalltalk organization listAtCategoryNamed: self categoryNameForTemporaryClasses) isEmpty
+ 		ifTrue: [Smalltalk organization removeCategory: self categoryNameForTemporaryClasses]!
- 	baseClass ifNotNil:[baseClass removeFromSystem].!

Item was changed:
  ----- Method: ClassBuilderTest>>makeByteVariableSubclassOf: (in category 'utilities') -----
  makeByteVariableSubclassOf: aClass
  	subClass := aClass variableByteSubclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses!
- 		category: 'Kernel-Tests-ClassBuilder'!

Item was changed:
  ----- Method: ClassBuilderTest>>makeIVarsSubclassOf: (in category 'utilities') -----
  makeIVarsSubclassOf: aClass
  	subClass := aClass subclass: self subClassName
  		instanceVariableNames: 'var3 var4'
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses!
- 		category: 'Kernel-Tests-ClassBuilder'!

Item was changed:
  ----- Method: ClassBuilderTest>>makeNormalSubclassOf: (in category 'utilities') -----
  makeNormalSubclassOf: aClass
  	subClass := aClass subclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses!
- 		category: 'Kernel-Tests-ClassBuilder'!

Item was changed:
  ----- Method: ClassBuilderTest>>makeVariableSubclassOf: (in category 'utilities') -----
  makeVariableSubclassOf: aClass
  	subClass := aClass variableSubclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses!
- 		category: 'Kernel-Tests-ClassBuilder'.!

Item was changed:
  ----- Method: ClassBuilderTest>>makeWeakSubclassOf: (in category 'utilities') -----
  makeWeakSubclassOf: aClass
  	subClass := aClass weakSubclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses!
- 		category: 'Kernel-Tests-ClassBuilder'!

Item was changed:
  ----- Method: ClassBuilderTest>>makeWordVariableSubclassOf: (in category 'utilities') -----
  makeWordVariableSubclassOf: aClass
  	subClass := aClass variableWordSubclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses!
- 		category: 'Kernel-Tests-ClassBuilder'!

Item was changed:
  ----- Method: ClassBuilderTest>>testByteVariableSubclass (in category 'testing - format') -----
  testByteVariableSubclass
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object variableByteSubclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  
  	self shouldnt:[self makeNormalSubclassOf: baseClass] raise: Error.
  	self deny: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self assert: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"pointer classes"
  	self should:[self makeIVarsSubclassOf: baseClass] raise: Error.
  	self should:[self makeVariableSubclassOf: baseClass] raise: Error.
  	self should:[self makeWeakSubclassOf: baseClass] raise: Error.
  
  	"bit classes"
  	self shouldnt:[self makeByteVariableSubclassOf: baseClass] raise: Error.
  	self deny: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self assert: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self should:[self makeWordVariableSubclassOf: baseClass] raise: Error.
  
  	] ensure:[self cleanup].!

Item was changed:
  ----- Method: ClassBuilderTest>>testChangeToVariableSubclass (in category 'testing - format') -----
  testChangeToVariableSubclass
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  		self shouldnt:[baseClass := Object variableSubclass: self baseClassName
  			instanceVariableNames: ''
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses] raise: Error.
- 			category: 'Kernel-Tests-ClassBuilder'] raise: Error.
  
  	] ensure:[self cleanup].!

Item was changed:
  ----- Method: ClassBuilderTest>>testDuplicateClassVariableError (in category 'testing - reshape') -----
  testDuplicateClassVariableError
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: 'TestVar'
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  
  	self should:[
  		subClass := baseClass subclass: self subClassName
  			instanceVariableNames: ''
  			classVariableNames: 'TestVar'
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses
- 			category: 'Kernel-Tests-ClassBuilder'
  	] raise: DuplicateVariableError.
  
  	[subClass := baseClass subclass: self subClassName
  			instanceVariableNames: ''
  			classVariableNames: 'TestVar'
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses
- 			category: 'Kernel-Tests-ClassBuilder'
  	] on: DuplicateVariableError do:[:ex|
  		self assert: ex superclass == baseClass.
  		self assert: ex variable = 'TestVar'.
  		ex resume.
  	].
  
  	self shouldnt:[
  		baseClass := Object subclass: self baseClassName
  			instanceVariableNames: ''
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses.
- 			category: 'Kernel-Tests-ClassBuilder'.
  	] raise: Error.
  
  	self should:[
  		baseClass := Object subclass: self baseClassName
  			instanceVariableNames: ''
  			classVariableNames: 'TestVar'
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses.
- 			category: 'Kernel-Tests-ClassBuilder'.
  	] raise: DuplicateVariableError.
  
  	[baseClass := Object subclass: self baseClassName
  			instanceVariableNames: ''
  			classVariableNames: 'TestVar'
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses.
- 			category: 'Kernel-Tests-ClassBuilder'.
  	] on: DuplicateVariableError do:[:ex|
  		self assert: ex superclass == baseClass.
  		self assert: ex variable = 'TestVar'.
  		ex resume.
  	].!

Item was changed:
  ----- Method: ClassBuilderTest>>testDuplicateInstanceVariableError (in category 'testing - reshape') -----
  testDuplicateInstanceVariableError
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: 'var'
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  
  	self should:[
  		subClass := baseClass subclass: self subClassName
  			instanceVariableNames: 'var'
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses
- 			category: 'Kernel-Tests-ClassBuilder'
  	] raise: DuplicateVariableError.
  
  	[subClass := baseClass subclass: self subClassName
  			instanceVariableNames: 'var'
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses
- 			category: 'Kernel-Tests-ClassBuilder'
  	] on: DuplicateVariableError do:[:ex|
  		self assert: ex superclass == baseClass.
  		self assert: ex variable = 'var'.
  		ex resume.
  	].
  
  	self shouldnt:[
  		baseClass := Object subclass: self baseClassName
  			instanceVariableNames: ''
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses.
- 			category: 'Kernel-Tests-ClassBuilder'.
  	] raise: Error.
  
  	self should:[
  		baseClass := Object subclass: self baseClassName
  			instanceVariableNames: 'var'
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses.
- 			category: 'Kernel-Tests-ClassBuilder'.
  	] raise: DuplicateVariableError.
  
  	[baseClass := Object subclass: self baseClassName
  			instanceVariableNames: 'var'
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses.
- 			category: 'Kernel-Tests-ClassBuilder'.
  	] on: DuplicateVariableError do:[:ex|
  		self assert: ex superclass == baseClass.
  		self assert: ex variable = 'var'.
  		ex resume.
  	].!

Item was changed:
  ----- Method: ClassBuilderTest>>testMoveVarFromSubToSuperclass (in category 'testing - reshape') -----
  testMoveVarFromSubToSuperclass
  	| baseInst subInst |
  
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  
  	subClass := baseClass subclass: self subClassName
  		instanceVariableNames: 'var'
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	subClass compile: 'subGet ^var'.
  	subClass compile: 'subSet: v var := v'.
  
  	self assert:[baseClass instSize = 0].
  	self assert:[subClass instSize = 1].
  
  	baseInst := baseClass new.
  	subInst := subClass new.
  	subInst instVarAt: 1 put: 123.
  
  	self assert: (subInst instVarAt: 1) = 123.
  	self assert: (subInst subGet) = 123.
  
  	[baseClass := Object subclass: self baseClassName
  		instanceVariableNames: 'var'
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	] on: DuplicateVariableError do:[:ex| ex resume].
  	baseClass compile: 'superGet ^var'.
  	baseClass compile: 'superSet: v var := v'.
  
  	self assert:[baseClass instSize = 1].
  	self assert:[subClass instSize = 2].
  
  	"the assumption here is that an existing value is propagated up"
  	self assert: (baseInst instVarAt: 1) = nil.
  	self assert: (subInst instVarAt: 1) = 123.
  	self assert: (subInst instVarAt: 2) = 123.
  
  	"the assumption below is that the subclass binds to the local scope not
  	the outer one, which is in line with common name space approaches."
  	subInst superSet: 666.
  	subInst subSet: 321.
  
  	self assert: (subInst instVarAt: 1) = 666.
  	self assert: (subInst instVarAt: 2) = 321.
  	self assert: (subInst superGet) = 666.
  	self assert: (subInst subGet) = 321.
  
  	subClass := baseClass subclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  
  	self assert:[baseClass instSize = 1].
  	self assert:[subClass instSize = 1].
  
  	"the assumption here is that the current (subclass) value is propagated up"
  	self assert: (subInst instVarAt: 1) = 321.
  	self assert: (subInst subGet) = 321.
  !

Item was changed:
  ----- Method: ClassBuilderTest>>testMoveVarFromSuperToSubclass (in category 'testing - reshape') -----
  testMoveVarFromSuperToSubclass
  	| baseInst subInst |
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: 'var'
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	baseClass compile: 'superGet ^var'.
  	baseClass compile: 'superSet: v var := v'.
  
  	subClass := baseClass subclass: self subClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	subClass compile: 'subGet ^var'.
  	subClass compile: 'subSet: v var := v'.
  
  	self assert:[baseClass instSize = 1].
  	self assert:[subClass instSize = 1].
  
  	baseInst := baseClass new.
  	subInst := subClass new.
  	baseInst instVarAt: 1 put: 42.
  	subInst instVarAt: 1 put: 123.
  
  	self assert: (baseInst instVarAt: 1) = 42.
  	self assert: (subInst instVarAt: 1) = 123.
  	self assert: (subInst subGet) = 123.
  
  	[subClass := baseClass subclass: self subClassName
  			instanceVariableNames: 'var'
  			classVariableNames: ''
  			poolDictionaries: ''
+ 			category: self categoryNameForTemporaryClasses
- 			category: 'Kernel-Tests-ClassBuilder'
  	] on: DuplicateVariableError do:[:ex| ex resume].
  
  	self assert:[baseClass instSize = 1].
  	self assert:[subClass instSize = 2].
  
  	self assert: (baseInst instVarAt: 1) = 42.
  
  	"the assumption below is that for duplicate variables the values get duplicated too.
  	this isn't strictly necessary; what we really need is that the old var doesn't get 
  	nuked but it has some advantages when moving vars up the hierarchy"
  	self assert: (subInst instVarAt: 1) = 123.
  	self assert: (subInst instVarAt: 2) = 123.
  	self assert: (subInst superGet) = 123.
  	self assert: (subInst subGet) = 123.
  
  	"the assumption below is that the subclass binds to the local scope not
  	the outer one, which is in line with common name space approaches."
  	subInst superSet: 666.
  	subInst subSet: 321.
  
  	self assert: (subInst instVarAt: 1) = 666.
  	self assert: (subInst instVarAt: 2) = 321.
  	self assert: (subInst superGet) = 666.
  	self assert: (subInst subGet) = 321.
  
  	baseClass removeSelector: #superGet.
  	baseClass removeSelector: #superSet:.
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  
  	self assert:[baseClass instSize = 0].
  	self assert:[subClass instSize = 1].
  
  	self assert: (subInst instVarAt: 1) = 321.
  	self assert: (subInst subGet) = 321.
  !

Item was changed:
  ----- Method: ClassBuilderTest>>testSubclass (in category 'testing - format') -----
  testSubclass
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  	self shouldnt:[self makeNormalSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self deny: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"pointer classes"
  	self shouldnt:[self makeIVarsSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self deny: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeVariableSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert:(subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeWeakSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert:(subClass isVariable).
  	self assert:(subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"bit classes"
  	self shouldnt:[self makeByteVariableSubclassOf: baseClass] raise: Error.
  	self deny: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self assert: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeWordVariableSubclassOf: baseClass] raise: Error.
  	self deny: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  	] ensure:[self cleanup].!

Item was changed:
  ----- Method: ClassBuilderTest>>testSubclassWithInstanceVariables (in category 'testing - format') -----
  testSubclassWithInstanceVariables
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object subclass: self baseClassName
  		instanceVariableNames: 'var1 var2'
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  	self shouldnt:[self makeNormalSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self deny: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"pointer classes"
  	self shouldnt:[self makeIVarsSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self deny: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeVariableSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeWeakSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self assert: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"bit classes"
  	self should:[self makeByteVariableSubclassOf: baseClass] raise: Error.
  	self should:[self makeWordVariableSubclassOf: baseClass] raise: Error.
  	] ensure:[self cleanup].!

Item was changed:
  ----- Method: ClassBuilderTest>>testVariableSubclass (in category 'testing - format') -----
  testVariableSubclass
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object variableSubclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  	"pointer classes"
  	self shouldnt:[self makeNormalSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeIVarsSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeVariableSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeWeakSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self assert: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"bit classes"
  	self should:[self makeByteVariableSubclassOf: baseClass] raise: Error.
  	self should:[self makeWordVariableSubclassOf: baseClass] raise: Error.
  	] ensure:[self cleanup].!

Item was changed:
  ----- Method: ClassBuilderTest>>testWeakSubclass (in category 'testing - format') -----
  testWeakSubclass
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object weakSubclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  	"pointer classes"
  	self shouldnt:[self makeNormalSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self assert: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeIVarsSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self assert: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeVariableSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	self shouldnt:[self makeWeakSubclassOf: baseClass] raise: Error.
  	self assert: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self assert: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"bit classes"
  	self should:[self makeByteVariableSubclassOf: baseClass] raise: Error.
  	self should:[self makeWordVariableSubclassOf: baseClass] raise: Error.
  	] ensure:[self cleanup].!

Item was changed:
  ----- Method: ClassBuilderTest>>testWordVariableSubclass (in category 'testing - format') -----
  testWordVariableSubclass
  	"Ensure that the invariants for superclass/subclass format are preserved"
  	baseClass := Object variableWordSubclass: self baseClassName
  		instanceVariableNames: ''
  		classVariableNames: ''
  		poolDictionaries: ''
+ 		category: self categoryNameForTemporaryClasses.
- 		category: 'Kernel-Tests-ClassBuilder'.
  	[
  	self shouldnt:[self makeNormalSubclassOf: baseClass] raise: Error.
  	self deny: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	"pointer classes"
  	self should:[self makeIVarsSubclassOf: baseClass] raise: Error.
  	self should:[self makeVariableSubclassOf: baseClass] raise: Error.
  	self should:[self makeWeakSubclassOf: baseClass] raise: Error.
  
  	"bit classes"
  	self should:[self makeByteVariableSubclassOf: baseClass] raise: Error.
  	self shouldnt:[self makeWordVariableSubclassOf: baseClass] raise: Error.
  	self deny: (subClass isPointers).
  	self assert: (subClass isVariable).
  	self deny: (subClass isWeak).
  	self deny: (subClass isBytes).
  	subClass removeFromSystem.
  
  	] ensure:[self cleanup].!

Item was added:
+ ----- Method: ClassTest>>categoryNameForTemporaryClasses (in category 'setup') -----
+ categoryNameForTemporaryClasses
+ 	"Answer the category where to classify temporarily created classes"
+ 	
+ 	^'Dummy-Tests-Class'!

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

Item was changed:
  ----- Method: ClassTest>>tearDown (in category 'setup') -----
  tearDown
  	self deleteClass.
+ 	self deleteRenamedClass.
+ 	(Smalltalk organization listAtCategoryNamed: self categoryNameForTemporaryClasses) isEmpty
+ 		ifTrue: [Smalltalk organization removeCategory: self categoryNameForTemporaryClasses]!
- 	self deleteRenamedClass!




More information about the Squeak-dev mailing list