class: RegressionTests::ClassAndMethodCompilingTestCase
comment/format in:
#update:with:from:
changed: #tearDown
make sure taht all classes/private classes/nameSpaces are deleted in correct order
--- a/RegressionTests__ClassAndMethodCompilingTestCase.st Thu Jul 16 17:50:58 2015 +0200
+++ b/RegressionTests__ClassAndMethodCompilingTestCase.st Thu Jul 16 17:51:45 2015 +0200
@@ -44,8 +44,8 @@
!ClassAndMethodCompilingTestCase methodsFor:'change & update'!
update: aspect with: param from: sender
-
aspect == #newClass ifTrue:[
+ "remember the classes to be deleted on #tearDown"
classes add: param.
].
@@ -62,10 +62,10 @@
!
tearDown
- | ns |
+ | removeBlock|
Smalltalk removeDependent: self.
- classes select:[:eachClass| eachClass isNameSpace not] thenDo:[:cls|
+ removeBlock := [:cls|
| name realcls |
name := cls name.
@@ -80,12 +80,9 @@
Smalltalk removeClass: realcls.
].
].
-
- #(Mocks Mocks2 Mocks3) do:[:nsName|
- (ns := Smalltalk at:nsName) notNil ifTrue:[
- Smalltalk removeClass: ns
- ].
- ].
+ classes select:[:each| each isPrivate] thenDo:removeBlock.
+ classes select:[:each| each isNameSpace not and:[each isPrivate not]] thenDo:removeBlock.
+ classes select:[:each| each isNameSpace] thenDo:removeBlock.
"Created: / 20-11-2012 / 14:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 13-05-2014 / 11:13:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"