extensions.st
author Claus Gittinger <cg@exept.de>
Wed, 29 May 2019 01:12:49 +0200
changeset 747 1dcb53cf964d
parent 591 4fb069caf7a8
child 664 e31b2e7b658d
permissions -rw-r--r--
#FEATURE by cg class: TestCase added: #invokeTestMethod changed: #performTest support timeout annotation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
     1
"{ Package: 'stx:goodies/sunit' }"!
220
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
     2
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
     3
!Behavior methodsFor:'Camp Smalltalk'!
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
     4
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
     5
sunitSelectors
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
     6
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
     7
    ^self selectors
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
     8
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
     9
    "Modified: / 11-09-2010 / 15:07:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    10
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    11
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    12
!Block methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    13
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    14
sunitEnsure: aBlock
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    15
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    16
	^self ensure: aBlock
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    17
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    18
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    19
!Block methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    20
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    21
sunitOn: aSignal do: anExceptionBlock
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    22
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    23
	^self on: aSignal do: anExceptionBlock
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    24
! !
220
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
    25
244
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    26
!Class methodsFor:'Camp Smalltalk'!
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    27
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    28
sunitName
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    29
	
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    30
	^self name
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    31
! !
938d1a1386d2 moved back - got lost
Claus Gittinger <cg@exept.de>
parents: 236
diff changeset
    32
302
37b0e011624d TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 244
diff changeset
    33
!GenericException methodsFor:'Camp Smalltalk'!
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    34
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    35
sunitAnnounce: aTestCase toResult: aTestResult
302
37b0e011624d TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 244
diff changeset
    36
        aTestResult addError: aTestCase detail: self.
37b0e011624d TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 244
diff changeset
    37
        self sunitExitWith: false.
37b0e011624d TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 244
diff changeset
    38
37b0e011624d TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 244
diff changeset
    39
    "Modified: / 03-08-2011 / 13:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
220
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
    40
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    41
302
37b0e011624d TestResult refactoring - now it allow for more fine-grained customization
vrany
parents: 244
diff changeset
    42
!GenericException methodsFor:'Camp Smalltalk'!
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    43
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    44
sunitExitWith: aValue
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    45
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    46
	^self return: aValue
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    47
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    48
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    49
!GenericException class methodsFor:'Camp Smalltalk'!
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    50
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    51
sunitSignalWith: aString
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    52
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    53
    <resource: #skipInDebuggersWalkBack>
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    54
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    55
    ^self raiseSignal: aString
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    56
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    57
    "Modified: / 05-12-2009 / 18:29:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    58
! !
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    59
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    60
!Object methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    61
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    62
sunitAddDependent: anObject
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    63
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    64
	self addDependent: anObject
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    65
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    66
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    67
!Object methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    68
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    69
sunitChanged: aspect
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    70
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    71
	self changed: aspect
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    72
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    73
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    74
!Object methodsFor:'Camp Smalltalk'!
220
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
    75
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    76
sunitRemoveDependent: anObject
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    77
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    78
	self removeDependent: anObject
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    79
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    80
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    81
!String methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    82
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    83
sunitAsSymbol
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    84
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    85
	^self asSymbol
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    86
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    87
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    88
!String methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    89
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    90
sunitMatch: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    91
	
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    92
	^self match: aString
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    93
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
    94
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    95
!String methodsFor:'deprecated'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    96
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    97
sunitSubStrings
220
c2030e11e775 sunit stuff moved
Claus Gittinger <cg@exept.de>
parents: 120
diff changeset
    98
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
    99
        <resource: #obsolete>
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   100
        
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   101
        | stream answer index |
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   102
        answer := OrderedCollection new.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   103
        stream := ReadStream on: self.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   104
        [stream atEnd]
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   105
                whileFalse:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   106
                        [[stream atEnd ifTrue: [^answer asArray].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   107
                        stream peek > Character space] whileFalse: [stream next].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   108
                        index := stream position + 1.
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   109
                        [stream atEnd or: [stream peek <= Character space]] whileFalse: [stream next].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   110
                        answer
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   111
                                add:
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   112
                                        (self
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   113
                                                copyFrom: index
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   114
                                                to: stream position)].
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   115
        ^answer asArray
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   116
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   117
    "Modified: / 11-09-2010 / 15:14:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   118
! !
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
   119
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   120
!Symbol methodsFor:'Camp Smalltalk'!
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   121
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   122
sunitAsClass
591
4fb069caf7a8 class: Symbol
Claus Gittinger <cg@exept.de>
parents: 407
diff changeset
   123
    "this is an sunit compatibility wrapper: return the class by that name"
4fb069caf7a8 class: Symbol
Claus Gittinger <cg@exept.de>
parents: 407
diff changeset
   124
4fb069caf7a8 class: Symbol
Claus Gittinger <cg@exept.de>
parents: 407
diff changeset
   125
    ^SUnitNameResolver classNamed: self
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   126
! !
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   127
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
   128
!stx_goodies_sunit class methodsFor:'documentation'!
222
8e6f482297fa Jan's 4.1 version
Claus Gittinger <cg@exept.de>
parents: 220
diff changeset
   129
236
037f084beb1b Move some methods to TestCase
Stefan Vogel <sv@exept.de>
parents: 222
diff changeset
   130
extensionsVersion_CVS
591
4fb069caf7a8 class: Symbol
Claus Gittinger <cg@exept.de>
parents: 407
diff changeset
   131
    ^ '$Header: /cvs/stx/stx/goodies/sunit/extensions.st,v 1.17 2014-07-09 16:22:02 cg Exp $'
4fb069caf7a8 class: Symbol
Claus Gittinger <cg@exept.de>
parents: 407
diff changeset
   132
! !
4fb069caf7a8 class: Symbol
Claus Gittinger <cg@exept.de>
parents: 407
diff changeset
   133