RegressionTests__BlockTest.st
author Claus Gittinger <cg@exept.de>
Fri, 31 Aug 2007 17:47:11 +0200
changeset 334 a9657208d19b
parent 181 a56517005229
child 606 42c26f8c0ce6
permissions -rw-r--r--
oops - bytecode version generated wrong jitted code for Expecco::Browser reinitialize. must check this !!!.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69
ffbf7492f5e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 60
diff changeset
     1
"{ Package: 'exept:regression' }"
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
70
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
     3
"{ NameSpace: RegressionTests }"
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
     4
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
     5
TestCase subclass:#BlockTest
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
181
a56517005229 category change
Claus Gittinger <cg@exept.de>
parents: 97
diff changeset
     9
	category:'tests-Regression'
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
334
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    13
!BlockTest methodsFor:'defects'!
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    14
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    15
g
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    16
    ^ True "/ the class here
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    17
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    18
    "Created: / 31-08-2007 / 17:40:37 / cg"
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    19
!
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    20
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    21
h
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    22
    ^ True "/ the class here
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    23
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    24
    "Created: / 31-08-2007 / 17:40:39 / cg"
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    25
!
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    26
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    27
testBlockWithEQEQ_1
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    28
    |b v|
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    29
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    30
    b := [ self g == self h ].
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    31
    v := b value.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    32
    self assert:(v == true).
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    33
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    34
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    35
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    36
     self new testBlockWithEQEQ_1
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    37
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    38
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    39
    "Created: / 31-08-2007 / 17:41:59 / cg"
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    40
!
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    41
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    42
testBlockWithEQEQ_2
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    43
    |b v|
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    44
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    45
    b := [ 
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    46
%{
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    47
#ifdef FOO
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    48
%}.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    49
            self thisIsNeverCalled.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    50
%{
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    51
#endif
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    52
%}.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    53
            self g == self h 
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    54
         ].
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    55
    v := b value.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    56
    self assert:(v == true).
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    57
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    58
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    59
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    60
     self new testBlockWithEQEQ_2
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    61
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    62
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    63
    "Created: / 31-08-2007 / 17:42:02 / cg"
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    64
!
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    65
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    66
testBlockWithEQEQ_3
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    67
    |b p v|
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    68
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    69
    p := self.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    70
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    71
    [
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    72
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    73
        b := [ 
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    74
%{
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    75
#ifdef FOO
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    76
%}.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    77
            self thisIsNeverCalled.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    78
%{
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    79
#endif
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    80
%}.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    81
            p g == p h 
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    82
         ].
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    83
    ] value.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    84
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    85
    v := b value.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    86
    self assert:(v == true).
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    87
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    88
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    89
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    90
     self new testBlockWithEQEQ_3
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    91
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    92
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    93
    "Created: / 31-08-2007 / 17:44:07 / cg"
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    94
!
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    95
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    96
testBlockWithEQEQ_4
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    97
    |b p v Tmp|
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    98
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    99
    p := self.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   100
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   101
    [
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   102
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   103
        b := [   |foo|
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   104
%{
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   105
#ifdef FOO
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   106
%}.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   107
            foo := Timestamp now.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   108
            Tmp isNil ifTrue:[
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   109
                Tmp := 'flags' copy.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   110
            ] ifFalse:[
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   111
                ObjectMemory stopBackgroundCollector.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   112
            ].
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   113
            self thisIsNeverCalled.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   114
%{
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   115
#endif
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   116
%}.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   117
            p g == p h 
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   118
         ].
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   119
    ] perform:((Base64Coder decode:'dmFsdWU=') asString asSymbol).
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   120
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   121
    v := b value.
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   122
    self assert:(v == true).
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   123
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   124
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   125
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   126
     self new testBlockWithEQEQ_4
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   127
    "
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   128
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   129
    "Created: / 31-08-2007 / 17:44:38 / cg"
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   130
! !
a9657208d19b oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
   131
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   132
!BlockTest methodsFor:'varArgBlocks'!
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
97
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   134
getBlock1
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   135
     |b|
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   136
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   137
     b := [:arg | Transcript 
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   138
                        show:'invoked with arg:'; 
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   139
                        showCR:arg
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   140
          ].
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   141
     ^ b
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   142
!
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   143
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
getVarArgBlock1
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
     |b|
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
     b := [:argList | Transcript 
70
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   148
			show:'invoked with args:'; 
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   149
			showCR:argList
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   150
	  ] asVarArgBlock.
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
     ^ b
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
getVarArgBlock2
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
     |b|
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
     b := [:argList | Transcript 
70
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   160
			show:'invoked with args:'; 
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   161
			showCR:argList.
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   162
		      argList
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   163
	  ] asVarArgBlock.
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
     ^ b
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
getVarArgBlock3
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
     |b|
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
     b := [:argList | Transcript 
70
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   173
			show:'invoked with args:'; 
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   174
			showCR:argList.
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   175
		      argList size
c677f96c4a0b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 69
diff changeset
   176
	  ] asVarArgBlock.
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
     ^ b
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
97
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   182
testBlock1
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   183
    |b|
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   184
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   185
    b := self getBlock1.
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   186
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   187
    b code notNil ifTrue:[
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   188
        Transcript showCR:'before call: *** blocks code is jitted'
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   189
    ] ifFalse:[
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   190
        Transcript showCR:'before call: blocks code is NOT jitted'
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   191
    ].
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   192
    b value:nil.
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   193
    b code notNil ifTrue:[
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   194
        Transcript showCR:'after call: blocks code is jitted'
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   195
    ] ifFalse:[
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   196
        Transcript showCR:'after call: *** blocks code is NOT jitted'
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   197
    ].
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   198
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   199
    b value:#foo.
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   200
    b value:1.
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   201
    b value:2
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   202
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   203
    "
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   204
     self new testBlock1
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   205
    "
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   206
!
7acb21a8e40c checkin from browser
Claus Gittinger <cg@exept.de>
parents: 95
diff changeset
   207
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
testVarArgBlock1
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    |b|
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    b := self getVarArgBlock1.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    b value.
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   214
    b code notNil ifTrue:[
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   215
        Transcript showCR:'blocks code is jitted'
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   216
    ] ifFalse:[
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   217
        Transcript showCR:'*** blocks code is NOT jitted'
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   218
    ].
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   219
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   220
    b value.
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    b value:'arg1'.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    b value:'arg1' value:'arg2' value:'arg3' value:'arg4'
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    "
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   225
     self new testVarArgBlock1
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
    "
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
testVarArgBlock2
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    |b|
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    b := self getVarArgBlock2.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   234
    b value.
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   235
    b code notNil ifTrue:[
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   236
        Transcript showCR:'blocks code is jitted'
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   237
    ] ifFalse:[
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   238
        Transcript showCR:'*** blocks code is NOT jitted'
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   239
    ].
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   240
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   241
    self assert:( b value     = #() ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   242
    self assert:( (b value:1) = #(1) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   243
    self assert:( (b value:1 value:2) = #(1 2) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   244
    self assert:( (b value:1 value:2 value:3) = #(1 2 3) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   245
    self assert:( (b value:1 value:2 value:3 value:4) = #(1 2 3 4) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   246
    self assert:( (b valueWithArguments:#(1 2 3 4)) = #(1 2 3 4) ).
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   248
    self assert:( (b perform:#value)     = #()  ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   249
    self assert:( (b perform:#'value:' with:1) = #(1) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   250
    self assert:( (b perform:#'value:value:' with:1 with:2) = #(1 2) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   251
    self assert:( (b perform:#'value:value:value:' with:1 with:2 with:3) = #(1 2 3) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   252
    self assert:( (b perform:#'value:value:value:value:' with:1 with:2 with:3 with:4) = #(1 2 3 4) ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   253
    self assert:( (b perform:#'valueWithArguments:' with:#(1 2 3 4)) = #(1 2 3 4) ).
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
    "
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   256
     self new testVarArgBlock2
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
    "
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
testVarArgBlock3
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
    |b|
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    b := self getVarArgBlock3.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   265
    b value.
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   266
    b code notNil ifTrue:[
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   267
        Transcript showCR:'blocks code is jitted'
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   268
    ] ifFalse:[
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   269
        Transcript showCR:'*** blocks code is NOT jitted'
60
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   270
    ].
f23dd849290e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
   271
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   272
    self assert:( b value     = 0  ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   273
    self assert:( (b value:1) = 1  ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   274
    self assert:( (b value:1 value:2) = 2 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   275
    self assert:( (b value:1 value:2 value:3) = 3 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   276
    self assert:( (b value:1 value:2 value:3 value:4) = 4 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   277
    self assert:( (b valueWithArguments:#(1 2 3 4)) = 4 ).
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   279
    self assert:( (b perform:#value)     = 0  ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   280
    self assert:( (b perform:#'value:' with:1) = 1 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   281
    self assert:( (b perform:#'value:value:' with:1 with:2) = 2 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   282
    self assert:( (b perform:#'value:value:value:' with:1 with:2 with:3) = 3 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   283
    self assert:( (b perform:#'value:value:value:value:' with:1 with:2 with:3 with:4) = 4 ).
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   284
    self assert:( (b perform:#'valueWithArguments:' with:#(1 2 3 4)) = 4 ).
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    "
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   287
     self new testVarArgBlock3
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    "
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
95
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   291
xtestAll
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   292
    self testVarArgBlocks.
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   293
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   294
    "
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   295
     self new xtestAll
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   296
    "
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   297
!
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   298
362e58ff28ba checkin from browser
Claus Gittinger <cg@exept.de>
parents: 70
diff changeset
   299
xtestVarArgBlocks
58
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
    self testVarArgBlock1.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
    self testVarArgBlock2.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    self testVarArgBlock3.
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
! !
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
!BlockTest class methodsFor:'documentation'!
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
version
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
    ^ '$Header$'
98b8f998027c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
! !