[squeak-dev] The Trunk: KernelTests-mha.100.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Oct 11 18:22:52 UTC 2009


Michael Haupt uploaded a new version of KernelTests to project The Trunk:
http://source.squeak.org/trunk/KernelTests-mha.100.mcz

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

Name: KernelTests-mha.100
Author: mha
Time: 11 October 2009, 8:23:14 am
UUID: 2bceeeb6-b3e3-7a4e-9436-3010f8f730e7
Ancestors: KernelTests-nice.99

made MethodPropertiesTest pass

MethodPropertiesTest >> #propertyDictionaryFor: would ask the passed AdditionalMethodState instance to answer its instance variable named 'properties', which does not exist due to AdditionalMethodState's being implemented as a variable subclass of Object, and hence storing properties in immediate fields.

Also, the tests did not honour the AdditionalMethodState protocol in that they expected AdditionalMethodState >> #properties to return nil in case there were no properties; however, it returns an empty dictionary in these cases. The corresponding checks were changed from #isNil to #isEmpty.

=============== Diff against KernelTests-nice.99 ===============

Item was changed:
  ----- Method: MethodPropertiesTest>>testAt (in category 'testing') -----
  testAt
  	self should: [ method properties at: #zork ] raise: Error.
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.
- 	self assert: (self propertyDictionaryFor: method) isNil.
  	method properties at: #zork put: 'hello'.
  	self assert: (method properties at: #zork) = 'hello'.!

Item was changed:
  ----- Method: MethodPropertiesTest>>testRemoveKey (in category 'testing') -----
  testRemoveKey
  	method properties at: #zork put: 'hello'.
  	self should: [ method properties removeKey: #halt ] raise: Error.
  	self assert: (method properties removeKey: #zork) = 'hello'.
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.
- 	self assert: (self propertyDictionaryFor: method) isNil.
  	self should: [ method properties removeKey: #zork ] raise: Error.
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.!
- 	self assert: (self propertyDictionaryFor: method) isNil.!

Item was changed:
  ----- Method: MethodPropertiesTest>>testAtIfAbsent (in category 'testing') -----
  testAtIfAbsent
  	self assert: (method properties at: #zork ifAbsent: [ 'hello' ]) = 'hello'.
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.
- 	self assert: (self propertyDictionaryFor: method) isNil.
  	method properties at: #zork put: 'hi'.
  	self assert: (method properties at: #zork ifAbsent: [ 'hello' ]) = 'hi'.!

Item was changed:
  ----- Method: MethodPropertiesTest>>testIncludesKey (in category 'testing') -----
  testIncludesKey
  	self deny: (method properties includesKey: #zork).
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.
- 	self assert: (self propertyDictionaryFor: method) isNil.
  	method properties at: #zork put: 123.
  	self assert: (method properties includesKey: #zork).!

Item was changed:
  ----- Method: MethodPropertiesTest>>testRemoveKeyifAbsent (in category 'testing') -----
  testRemoveKeyifAbsent
  	method properties at: #zork put: 'hello'.
  	self assert: (method properties removeKey: #halt ifAbsent: [ 'hi' ]) = 'hi'.
  	self assert: (method properties removeKey: #zork ifAbsent: [ 'hi' ]) = 'hello'.
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.
- 	self assert: (self propertyDictionaryFor: method) isNil.
  	self should: (method properties removeKey: #zork ifAbsent: [ 'hi' ]) = 'hi'.
+ 	self assert: (self propertyDictionaryFor: method) isEmpty.!
- 	self assert: (self propertyDictionaryFor: method) isNil.!

Item was changed:
  ----- Method: MethodPropertiesTest>>propertyDictionaryFor: (in category 'private') -----
  propertyDictionaryFor: aMethod
+ 	^ aMethod properties properties!
- 	^ aMethod properties instVarNamed: 'properties'.!




More information about the Squeak-dev mailing list