class: RegressionTests::ClassAndMethodCompilingTestCase
authorStefan Vogel <sv@exept.de>
Thu, 16 Jul 2015 17:51:45 +0200
changeset 1286 caf550ad0254
parent 1285 0d3b7245f8e5
child 1287 e1d75e402dff
class: RegressionTests::ClassAndMethodCompilingTestCase comment/format in: #update:with:from: changed: #tearDown make sure taht all classes/private classes/nameSpaces are deleted in correct order
RegressionTests__ClassAndMethodCompilingTestCase.st
--- 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>"