[squeak-dev] The Trunk: SUnitTools-mt.7.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Apr 27 13:51:24 UTC 2022


Marcel Taeumel uploaded a new version of SUnitTools to project The Trunk:
http://source.squeak.org/trunk/SUnitTools-mt.7.mcz

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

Name: SUnitTools-mt.7
Author: mt
Time: 27 April 2022, 3:51:23.40004 pm
UUID: aea49274-5dca-df45-aa76-a434ef13a552
Ancestors: SUnitTools-ct.6, SUnitTools-jr.6

Merge SUnitTools-jr.6

Allow to create a new test class immediately if none is found.

Preselect tests category when browsing a class without a matching test method. Create the tests category in new classes.

=============== Diff against SUnitTools-ct.6 ===============

Item was added:
+ ----- Method: BasicClassOrganizer>>categoryForTestCases (in category '*SUnitTools-accessing') -----
+ categoryForTestCases
+ 	^ self categories
+ 		detect: [:each | each beginsWith: 'test']
+ 		ifNone: [Categorizer allCategory]!

Item was added:
+ ----- Method: CodeHolder>>testAskToCreateNewTest: (in category '*SUnitTools-running') -----
+ testAskToCreateNewTest: className
+ 	| newClass |
+ 	(self confirm: 'Test class not found. Create one?') ifFalse: [^ false].
+ 	(ClassBuilder new)
+ 		name: className asSymbol
+ 		inEnvironment: self selectedClass environment
+ 		subclassOf: TestCase
+ 		type: #normal
+ 		instanceVariableNames: ''
+ 		classVariableNames: ''
+ 		poolDictionaries: ''
+ 		category:
+ 			((self selectedClass category includes: $-)
+ 				ifTrue: [((self selectedClass category copyUpToLast: $-), '-Tests')]
+ 				ifFalse: [(self selectedClass category, 'Tests')]) asSymbol.
+ 	newClass := self selectedClass environment classNamed: className asSymbol.
+ 	newClass organization addCategory: #tests.
+ 	^ true!

Item was changed:
  ----- Method: CodeHolder>>testBrowseClassNamed:possibleMessageNamed: (in category '*SUnitTools-running') -----
  testBrowseClassNamed: aClassName possibleMessageNamed: aMessageName
  	
  	| cls selector |
+ 	(self class environment hasClassNamed: aClassName) ifFalse:
+ 		[(self testAskToCreateNewTest: aClassName) ifFalse: [^ false]].
- 	(self class environment hasClassNamed: aClassName)
- 		ifFalse: [^ false].
  	cls := self class environment classNamed: aClassName.
  
  	(aMessageName notNil and: [cls includesLocalSelector: (selector := aMessageName asSymbol)])
  		ifTrue: [ToolSet browse: cls selector: selector]
+ 		ifFalse:
+ 			[ToolSet
+ 				browseClass: cls
+ 				category: cls organization categoryForTestCases].
- 		ifFalse: [ToolSet browseClass: cls].
- 	
  	^ true!



More information about the Squeak-dev mailing list