--- 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