Tools__TestRunnerEmbedded.st
changeset 10175 7d8b7151c5a0
parent 10165 fd4de5081321
child 10178 f5a662f12a4d
--- a/Tools__TestRunnerEmbedded.st	Tue Jul 05 17:39:29 2011 +0200
+++ b/Tools__TestRunnerEmbedded.st	Tue Jul 05 17:45:23 2011 +0200
@@ -31,7 +31,8 @@
 	instanceVariableNames:'runnerPanel selectedTestCases selectedClassesHolder
 		selectedProtocolsHolder selectedMethodsHolder
 		methodGeneratorHolder resultHolder resultInfoHolder
-		resultBackgroundColorHolder runningHolder progressHolder'
+		resultBackgroundColorHolder runningHolder progressHolder
+		infoHolder'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SUnit-UI'
@@ -72,6 +73,12 @@
  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  OTHER DEALINGS IN THE SOFTWARE.
 "
+!
+
+documentation
+"
+    a tiny runner to be embedded in a system browser
+"
 ! !
 
 !TestRunnerEmbedded class methodsFor:'interface specs'!
@@ -249,6 +256,14 @@
 
 !TestRunnerEmbedded methodsFor:'accessing'!
 
+infoHolder:something
+    "to show something in the browsers info area (near the bottom"
+
+    infoHolder := something.
+
+    "Created: / 05-07-2011 / 16:22:24 / cg"
+!
+
 selectedTestMethods
     ^ (self selectedMethodsHolder value ? #()) select:
             [:mthd | 
@@ -304,36 +319,47 @@
     "Modified: / 15-03-2010 / 20:00:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-run: suite
+run:suite 
+    |process suiteAndResult|
 
-    | process suiteAndResult |
+    suite tests size == 0 ifTrue:[
+        ^ self
+    ].
 
-    suite tests size == 0 ifTrue:[^self].
+    process := [
+                |result incr run|
 
-    process := 
-        [| result incr run |
-        [
-        self progressHolder value: 0.
-        self runningHolder value: true.
-        incr := 100 / suite tests size.
-        run := 0.
-        result := suite runAfterEachDo:
-            [:test :result|
-            run := run + 1.
-            self progressHolder value: (incr * run) rounded].
-        suiteAndResult := SuiteAndResult
-                            suite: suite
-                            result: result.
-        ] ensure:[
-            self resultHolder value: suiteAndResult.
-            self runningHolder value: false.
-        ]
-        ] newProcess.
-
+                [
+                    self progressHolder value:0.
+                    self runningHolder value:true.
+                    incr := 100 / suite tests size.
+                    run := 0.
+                    result := suite 
+                                runBeforeEachDo:[:test :result |
+                                    infoHolder notNil ifTrue:[
+                                        infoHolder value:('Running "%1-%2"...' 
+                                                        bindWith:test name
+                                                        with:test getTestName allBold)
+                                    ]
+                                ]
+                                afterEachDo:[:test :result | 
+                                    run := run + 1.
+                                    self progressHolder value:(incr * run) rounded.
+                                    infoHolder notNil ifTrue:[
+                                        infoHolder value:('Done.')
+                                    ]
+                                ].
+                    suiteAndResult := SuiteAndResult suite:suite result:result.
+                ] ensure:[
+                    self resultHolder value:suiteAndResult.
+                    self runningHolder value:false.
+                ]
+            ] newProcess.
     process resume.
 
     "Created: / 11-03-2010 / 10:22:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-09-2010 / 21:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 05-07-2011 / 17:44:38 / cg"
 !
 
 runAll
@@ -866,7 +892,7 @@
 !TestRunnerEmbedded class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.4 2011-07-05 12:13:48 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.5 2011-07-05 15:45:23 cg Exp $'
 !
 
 version_SVN