--- a/TestRunner.st Thu Dec 14 14:08:21 2000 +0100
+++ b/TestRunner.st Thu Jan 11 15:39:25 2001 +0100
@@ -2,7 +2,7 @@
ApplicationModel subclass:#TestRunner
instanceVariableNames:'result lastPass defect allDefects defectMenu details mode
- scriptModel script'
+ scriptModel script numberOfTestsToRun'
classVariableNames:''
poolDictionaries:''
category:'SUnit-UI'
@@ -112,7 +112,7 @@
#(#LabelSpec
#label: '...'
#name: 'details'
- #layout: #(#LayoutFrame 0 0 0 0.5 0 1 -24 1)
+ #layout: #(#LayoutFrame 0 0 0 0.5 0 1 -25 1)
#labelChannel: #details
)
#(#MenuButtonSpec
@@ -141,6 +141,15 @@
#initiallyDisabled: true
#enableChannel: #enableDebugButton
)
+ #(#ProgressIndicatorSpec
+ #name: 'ProgressIndicator1'
+ #layout: #(#LayoutFrame 0 0.0 25 0 0 1.0 36 0)
+ #visibilityChannel: #percentageIndicatorVisible
+ #model: #percentageDone
+ #foregroundColor: #(#Color 32.9992 32.9992 0.0)
+ #backgroundColor: #(#Color 66.9993 66.9993 0.0)
+ #showPercentage: false
+ )
)
)
@@ -237,6 +246,26 @@
[mode]
!
+percentageDone
+ |holder|
+
+ (holder := builder bindingAt:#percentageDone) isNil ifTrue:[
+ holder := 0 asValue.
+ builder aspectAt:#percentageDone put:holder.
+ ].
+ ^ holder.
+!
+
+percentageIndicatorVisible
+ |holder|
+
+ (holder := builder bindingAt:#percentageIndicatorVisible) isNil ifTrue:[
+ holder := false asValue.
+ builder aspectAt:#percentageIndicatorVisible put:holder.
+ ].
+ ^ holder.
+!
+
script
"automatically generated by UIPainter ..."
@@ -461,13 +490,26 @@
!
runSuite: aTestSuite
- Cursor wait
- showWhile:
- [self displayRunning.
- aTestSuite addDependentToHierachy: self.
- [result := aTestSuite run]
- ensure: [aTestSuite removeDependentFromHierachy: self].
- self updateWindow]
+ |numTests|
+
+ numTests := 0.
+ aTestSuite tests do:[:eachTest |
+ numTests := numTests + eachTest tests size.
+ ].
+ numberOfTestsToRun := numTests.
+ self percentageDone value:0.
+
+ Cursor wait
+ showWhile:
+ [self displayRunning.
+ aTestSuite addDependentToHierachy: self.
+ result := TestResult new.
+ self percentageIndicatorVisible value:true.
+ [aTestSuite run:result]
+ ensure: [aTestSuite removeDependentFromHierachy: self.
+ self percentageIndicatorVisible value:false.
+ ].
+ self updateWindow]
!
runTests
@@ -607,7 +649,8 @@
!
displayDetails: aString
- self details value: aString.
+ self details value: aString.
+ self windowGroup repairDamage.
"Modified: / 21.6.2000 / 11:10:14 / Sames"
!
@@ -669,9 +712,12 @@
!
update: anObject
- (anObject isKindOf: TestCase)
- ifTrue: [self displayDetails: anObject printString]
- ifFalse: [super update: anObject]
+ (anObject isKindOf: TestCase)
+ ifTrue: [
+ self percentageDone value:(result runCount / numberOfTestsToRun * 100) rounded.
+ self displayDetails: anObject printString
+ ]
+ ifFalse: [super update: anObject]
!
updateDefects
@@ -688,5 +734,5 @@
!TestRunner class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/goodies/sunit/TestRunner.st,v 1.9 2000-12-14 13:08:04 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/goodies/sunit/TestRunner.st,v 1.10 2001-01-11 14:39:25 cg Exp $'
! !