RegressionTests__CompilerTest.st
author Claus Gittinger <cg@exept.de>
Thu, 31 Aug 2000 13:10:19 +0200
changeset 69 ffbf7492f5e5
parent 68 f1168eea1026
child 70 c677f96c4a0b
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69
ffbf7492f5e5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
     1
"{ Package: 'exept:regression' }"
61
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
     2
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#CompilerTest
61
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
     4
	instanceVariableNames:'value'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
     7
	category:'Tests-Regression'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
61
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    11
!CompilerTest methodsFor:'helpers'!
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    12
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    13
value:something
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    14
    value := something
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    15
! !
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    16
50
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    17
!CompilerTest methodsFor:'test - inlined'!
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    18
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    19
test_even:arg
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    20
    ^ arg even
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    21
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    22
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    23
     self new test_even:nil               
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    24
     self new test_even:123
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    25
     self new test_even:122
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    26
     self new test_even:(100 factorial)
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    27
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    28
!
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    29
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    30
test_isInteger:arg
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    31
    ^ arg isInteger
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    32
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    33
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    34
     self new test_isInteger:nil               
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    35
     self new test_isInteger:123
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    36
     self new test_isInteger:(100 factorial)
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    37
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    38
!
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    39
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    40
test_isNotInteger:arg
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    41
    ^ arg isInteger not
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    42
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    43
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    44
     self new test_isNotInteger:nil               
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    45
     self new test_isNotInteger:123
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    46
     self new test_isNotInteger:(100 factorial)
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    47
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    48
!
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    49
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    50
test_odd:arg
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    51
    ^ arg odd
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    52
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    53
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    54
     self new test_odd:nil               
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    55
     self new test_odd:123   
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    56
     self new test_odd:122     
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    57
     self new test_odd:(100 factorial)  
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    58
    "
61
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    59
!
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    60
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    61
test_size
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    62
    ^ value size
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    63
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    64
    "
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    65
     (self new value:(Array new:2)) test_size
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    66
     (self new value:(OrderedCollection new:2)) test_size
cc6dcfae805f checkin from browser
Claus Gittinger <cg@exept.de>
parents: 59
diff changeset
    67
    "
50
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    68
! !
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    69
48
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    70
!CompilerTest methodsFor:'tests - booleans'!
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    71
50
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    72
testAnd:arg1 _:arg2
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    73
    ^ arg1 & arg2
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    74
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    75
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    76
     self new testAnd:true _:true.      
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    77
     self new testAnd:true _:false.     
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    78
     self new testAnd:false _:true.     
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    79
     self new testAnd:false _:false.    
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    80
     self new testAnd:false _:nil.      
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    81
     self new testAnd:true _:nil. 
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    82
     self new testAnd:nil _:false.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    83
     self new testAnd:nil _:true.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    84
     self new testAnd:1234 _:true.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    85
     self new testAnd:1234 _:false.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    86
     self new testAnd:true _:1234.   
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    87
     self new testAnd:false _:1234.  
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    88
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    89
!
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
    90
48
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    91
testNot1:arg
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    92
    ^ arg not
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    93
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    94
    "
49
71e76d770856 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 48
diff changeset
    95
     self new testNot1:true.   
48
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    96
     self new testNot1:false.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    97
     self new testNot1:1234.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    98
    "
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
    99
!
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   100
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   101
testNot2:arg1 _:arg2
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   102
    ^ arg1 not & arg2 not
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   103
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   104
    "
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   105
     self new testNot2:true  _:true.   
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   106
     self new testNot2:false _:true.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   107
     self new testNot2:true  _:false.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   108
     self new testNot2:false _:false.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   109
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   110
     self new testNot2:false _:1234.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   111
     self new testNot2:true  _:1234.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   112
     self new testNot2:1234  _:true.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   113
     self new testNot2:1234  _:false.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   114
     self new testNot2:1234  _:2345.
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   115
    "
50
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   116
!
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   117
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   118
testOr:arg1 _:arg2
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   119
    ^ arg1 | arg2
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   120
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   121
    "
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   122
     self new testOr:true _:true.      
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   123
     self new testOr:true _:false.     
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   124
     self new testOr:false _:true.     
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   125
     self new testOr:false _:false.    
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   126
     self new testOr:false _:nil.      
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   127
     self new testOr:true _:nil. 
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   128
     self new testOr:nil _:false.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   129
     self new testOr:nil _:true.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   130
     self new testOr:1234 _:true.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   131
     self new testOr:1234 _:false.
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   132
     self new testOr:true _:1234.   
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   133
     self new testOr:false _:1234.  
b2444db55fd2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 49
diff changeset
   134
    "
48
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   135
! !
022fba2b5917 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   136
62
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   137
!CompilerTest methodsFor:'tests - conditions'!
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   138
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   139
testIf1:val
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   140
    |x|
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   141
65
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   142
    x := #foo.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   143
    x := (val == #CursorRight or:[val == #CursorDown]) ifTrue:[1].
62
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   144
    ^ x
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   145
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   146
    "
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   147
     self new testIf1:#CursorRight
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   148
     self new testIf1:#CursorDown
64
9cfe9378dcbc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
   149
     self new testIf1:#Foo             
9cfe9378dcbc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
   150
     self new testIf1:#CursorUp        
9cfe9378dcbc checkin from browser
Claus Gittinger <cg@exept.de>
parents: 63
diff changeset
   151
     self new testIf1:nil              
62
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   152
     self new testIf1:1             
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   153
    "
63
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   154
!
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   155
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   156
testIf2:val
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   157
    |x|
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   158
65
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   159
    x := #foo.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   160
    x := (val == #CursorRight or:[val == #CursorDown]) ifTrue:1.
63
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   161
    ^ x
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   162
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   163
    "
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   164
     self new testIf2:#CursorRight
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   165
     self new testIf2:#CursorDown
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   166
     self new testIf2:#Foo          
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   167
     self new testIf2:#CursorUp     
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   168
     self new testIf2:nil           
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   169
     self new testIf2:1             
72ebdb383bdf *** empty log message ***
ca
parents: 62
diff changeset
   170
    "
65
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   171
!
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   172
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   173
testIf3:val
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   174
    |x|
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   175
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   176
    x := #foo.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   177
    x := (val isInteger) ifTrue:1.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   178
    ^ x
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   179
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   180
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   181
     self new testIf3:#CursorRight
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   182
     self new testIf3:#CursorDown
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   183
     self new testIf3:#Foo          
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   184
     self new testIf3:#CursorUp     
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   185
     self new testIf3:nil           
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   186
     self new testIf3:1             
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   187
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   188
!
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   189
67
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   190
testIf4:val
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   191
    ^ val isNil
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   192
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   193
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   194
     self new testIf4:#CursorRight 
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   195
     self new testIf4:1             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   196
     self new testIf4:nil             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   197
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   198
!
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   199
66
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   200
testIf4:val1 with:val2
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   201
    ^ (val1 == nil and:[val2 == nil])
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   202
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   203
    "
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   204
     self new testIf4:#CursorRight with:#CursorDown  
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   205
     self new testIf4:#CursorRight with:nil          
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   206
     self new testIf4:nil with:#CursorDown
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   207
     self new testIf4:nil with:nil
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   208
    "
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   209
!
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   210
67
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   211
testIf5:val
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   212
    ^ val isNil ifTrue:[1]
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   213
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   214
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   215
     self new testIf5:#CursorRight 
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   216
     self new testIf5:1             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   217
     self new testIf5:nil             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   218
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   219
!
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   220
66
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   221
testIf5:val1 with:val2
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   222
    ^ (val1 isNil and:[val2 isNil])
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   223
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   224
    "
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   225
     self new testIf5:#CursorRight with:#CursorDown  
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   226
     self new testIf5:#CursorRight with:nil          
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   227
     self new testIf5:nil with:#CursorDown
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   228
     self new testIf5:nil with:nil
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   229
    "
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   230
!
b2916ceb6d3d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 65
diff changeset
   231
67
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   232
testIf6:val
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   233
    ^ val isNil ifTrue:1
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   234
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   235
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   236
     self new testIf6:#CursorRight  
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   237
     self new testIf6:1             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   238
     self new testIf6:nil             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   239
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   240
!
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   241
68
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   242
testIf6b:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   243
    val isNil ifTrue:1
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   244
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   245
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   246
     self new testIf6b:#CursorRight  
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   247
     self new testIf6b:1             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   248
     self new testIf6b:nil             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   249
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   250
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   251
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   252
testIf6c:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   253
    val isNil ifTrue:[1]
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   254
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   255
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   256
     self new testIf6c:#CursorRight  
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   257
     self new testIf6c:1             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   258
     self new testIf6c:nil             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   259
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   260
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   261
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   262
testIf6d:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   263
    ^ val isNil ifTrue:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   264
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   265
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   266
     self new testIf6d:#CursorRight  
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   267
     self new testIf6d:1             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   268
     self new testIf6d:nil             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   269
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   270
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   271
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   272
testIf6e:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   273
    ^ val isNil ifFalse:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   274
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   275
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   276
     self new testIf6e:['hello']    
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   277
     self new testIf6e:('hello' asValue)  
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   278
     self new testIf6e:#CursorRight  
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   279
     self new testIf6e:1             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   280
     self new testIf6e:nil             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   281
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   282
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   283
67
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   284
testIf7:val
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   285
    ^ val ? 1
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   286
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   287
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   288
     self new testIf7:#CursorRight  
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   289
     self new testIf7:1             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   290
     self new testIf7:nil             
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   291
    "
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   292
!
8472595ca0dd *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   293
65
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   294
testIfElse1:val
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   295
    |x|
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   296
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   297
    x := (val == #CursorRight or:[val == #CursorDown]) ifTrue:[1] ifFalse:[-1].
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   298
    ^ x
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   299
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   300
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   301
     self new testIfElse1:#CursorRight
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   302
     self new testIfElse1:#CursorDown
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   303
     self new testIfElse1:#Foo             
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   304
     self new testIfElse1:#CursorUp        
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   305
     self new testIfElse1:nil              
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   306
     self new testIfElse1:1             
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   307
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   308
!
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   309
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   310
testIfElse2:val
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   311
    |x|
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   312
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   313
    x := (val == #CursorRight or:[val == #CursorDown]) ifTrue:1 ifFalse:-1.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   314
    ^ x
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   315
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   316
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   317
     self new testIfElse2:#CursorRight
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   318
     self new testIfElse2:#CursorDown
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   319
     self new testIfElse2:#Foo          
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   320
     self new testIfElse2:#CursorUp     
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   321
     self new testIfElse2:nil           
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   322
     self new testIfElse2:1             
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   323
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   324
!
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   325
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   326
testIfElse3:val
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   327
    |x|
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   328
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   329
    x := (val == #CursorRight or:[val isInteger]) ifTrue:1 ifFalse:-1.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   330
    ^ x
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   331
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   332
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   333
     self new testIfElse3:#CursorRight 
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   334
     self new testIfElse3:#CursorDown  
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   335
     self new testIfElse3:#Foo          
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   336
     self new testIfElse3:#CursorUp     
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   337
     self new testIfElse3:nil           
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   338
     self new testIfElse3:1             
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   339
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   340
!
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   341
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   342
testIfElse4:val
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   343
    |x|
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   344
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   345
    x := #foo.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   346
    x := (val isInteger) ifTrue:1 ifFalse:-1.
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   347
    ^ x
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   348
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   349
    "
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   350
     self new testIfElse4:#CursorRight  
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   351
     self new testIfElse4:#CursorDown   
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   352
     self new testIfElse4:#Foo          
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   353
     self new testIfElse4:#CursorUp     
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   354
     self new testIfElse4:nil           
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   355
     self new testIfElse4:1             
173ac32b231b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 64
diff changeset
   356
    "
68
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   357
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   358
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   359
testIfElse5:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   360
    |x|
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   361
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   362
    x := #foo.
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   363
    x := val ifNil:1 ifNotNil:-1.
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   364
    ^ x
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   365
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   366
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   367
     self new testIfElse5:#CursorUp     
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   368
     self new testIfElse5:nil           
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   369
     self new testIfElse5:1             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   370
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   371
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   372
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   373
testIfElse6:val
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   374
    |x|
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   375
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   376
    x := #foo.
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   377
    x := val ifNil:[1] ifNotNil:[-1].
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   378
    ^ x
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   379
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   380
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   381
     self new testIfElse6:#CursorUp     
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   382
     self new testIfElse6:nil           
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   383
     self new testIfElse6:1             
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   384
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   385
!
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   386
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   387
testIfElse7:val with:val1 with:val2
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   388
    |x|
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   389
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   390
    x := #foo.
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   391
    x := val ifNil:val1 ifNotNil:val2.
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   392
    ^ x
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   393
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   394
    "
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   395
     self new testIfElse7:#CursorUp with:1 with:2    
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   396
     self new testIfElse7:nil       with:1 with:2        
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   397
     self new testIfElse7:1         with:1 with:2        
f1168eea1026 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   398
    "
62
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   399
! !
a3e1b7b4677a checkin from browser
ca
parents: 61
diff changeset
   400
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
!CompilerTest methodsFor:'tests - constant folding'!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
testFloat_pi
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
    ^ Float pi
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
testFloat_unity
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    ^ Float unity
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
testFloat_zero
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    ^ Float zero
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
testSmalltalk_if_else_isSmalltalkX
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    Smalltalk isSmalltalkX ifTrue:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   417
	^ 'yes'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    ] ifFalse:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   419
	^ 'no'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
    ]
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
testSmalltalk_if_else_isVisualWorks
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
    Smalltalk isVisualWorks ifTrue:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   425
	^ 'yes'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
    ] ifFalse:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   427
	^ 'no'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
    ]
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
testSmalltalk_if_isSmalltalkX
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
    Smalltalk isSmalltalkX ifTrue:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   433
	^ 'yes'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
    ].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    ^ 'no'
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
testSmalltalk_if_isSqueak
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
    Smalltalk isSqueak ifTrue:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   440
	^ 'yes'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    ].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    ^ 'no'
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
testSmalltalk_if_isVisualWorks
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
    Smalltalk isVisualWorks ifTrue:[
59
5dfe7fc71559 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 50
diff changeset
   447
	^ 'yes'
47
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
    ].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
    ^ 'no'
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
testSmalltalk_isSmalltalkX
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
    ^ Smalltalk isSmalltalkX
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
testSmalltalk_isSqueak
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    ^ Smalltalk isSqueak
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
testSmalltalk_isVisualAge
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
    ^ Smalltalk isVisualAge
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
testSmalltalk_isVisualWorks
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
    ^ Smalltalk isVisualWorks
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
testUnaryFolding
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
    self testFloat_pi ~= (Float perform:#pi) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
    self testFloat_unity ~= (Float perform:#unity) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
    self testFloat_zero ~= (Float perform:#zero) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
    self testSmalltalk_isSmalltalkX ~= (Smalltalk perform:#isSmalltalkX) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
    self testSmalltalk_isSqueak ~= (Smalltalk perform:#isSqueak) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
    self testSmalltalk_isVisualWorks ~= (Smalltalk perform:#isVisualWorks) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
    self testSmalltalk_isVisualAge ~= (Smalltalk perform:#isVisualAge) ifTrue:[self halt].
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
    "
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
     self basicNew testUnaryFolding
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
    "
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
! !
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
!CompilerTest class methodsFor:'documentation'!
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
version
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
    ^ '$Header$'
3258d44978a0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
! !