# HG changeset patch # User Stefan Vogel # Date 1437061905 -7200 # Node ID caf550ad0254b3cb87cfa5c893966af75d8faed6 # Parent 0d3b7245f8e5a39a9b19112fff6f625e1b395111 class: RegressionTests::ClassAndMethodCompilingTestCase comment/format in: #update:with:from: changed: #tearDown make sure taht all classes/private classes/nameSpaces are deleted in correct order diff -r 0d3b7245f8e5 -r caf550ad0254 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 " "Modified: / 13-05-2014 / 11:13:59 / Jan Vrany "