CodeGeneratorTests.st
author Claus Gittinger <cg@exept.de>
Wed, 05 Jun 2019 14:16:59 +0200
changeset 18805 f6df57c6dbfb
parent 14422 40f9ff83b8aa
child 15566 184cea584be5
permissions -rw-r--r--
#BUGFIX by cg class: AbstractFileBrowser changed: #currentFileNameHolder endless loop if file not present.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10046
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10046
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     6
 obtaining a copy of this software and associated documentation
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     7
 files (the 'Software'), to deal in the Software without
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     8
 restriction, including without limitation the rights to use,
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    10
 copies of the Software, and to permit persons to whom the
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    11
 Software is furnished to do so, subject to the following
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    12
 conditions:
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    13
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    14
 The above copyright notice and this permission notice shall be
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    15
 included in all copies or substantial portions of the Software.
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    16
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
13802
5bce9a814951 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 10046
diff changeset
    28
TestCase subclass:#CodeGeneratorTests
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	instanceVariableNames:'cg'
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	classVariableNames:''
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	poolDictionaries:''
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	category:'Interface-Browsers'
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!CodeGeneratorTests class methodsFor:'documentation'!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
copyright
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
10046
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    39
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    40
 Copyright (c) 2009-2010 eXept Software AG
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    41
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    42
 Permission is hereby granted, free of charge, to any person
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    43
 obtaining a copy of this software and associated documentation
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    44
 files (the 'Software'), to deal in the Software without
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    45
 restriction, including without limitation the rights to use,
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    46
 copy, modify, merge, publish, distribute, sublicense, and/or sell
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    47
 copies of the Software, and to permit persons to whom the
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    48
 Software is furnished to do so, subject to the following
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    49
 conditions:
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
10046
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    51
 The above copyright notice and this permission notice shall be
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    52
 included in all copies or substantial portions of the Software.
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    53
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    54
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    55
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    56
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    57
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    58
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    59
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    60
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
5ab125878ab0 copyright
Claus Gittinger <cg@exept.de>
parents: 10012
diff changeset
    61
 OTHER DEALINGS IN THE SOFTWARE.
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
! !
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!CodeGeneratorTests methodsFor:'initialization & release'!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
setUp
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    cg := CodeGenerator new
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    "Created: / 07-07-2009 / 09:26:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
tearDown
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    | mocks |
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    mocks := Set new.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    self class selectorsDo:
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
        [:selector| 
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
        (selector startsWith: 'mock')
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
            ifTrue:[mocks add: selector]].
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    mocks do:
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        [:selector|
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        self class removeSelector: selector].
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    "Modified: / 07-07-2009 / 09:34:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
! !
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!CodeGeneratorTests methodsFor:'mocks - do not remove'!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
mmock_03
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    ^3
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    "Created: / 07-07-2009 / 19:21:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
mmock_03: x
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    ^x
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    "Created: / 07-07-2009 / 19:55:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
! !
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!CodeGeneratorTests methodsFor:'tests'!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
test_01
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    cg
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
        class: self class;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
        replace: '`@e' with: '1';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
        source: 'mock_01 ^ `@e';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
        compile.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    self assert: (self respondsTo: #mock_01).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    self assert: (self mock_01 = 1).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    "Created: / 07-07-2009 / 09:29:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
test_02
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    cg
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
        class: self class;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
        replace: '`@selector' with: #mock_02;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
        source: '`@selector ^ 2';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
        compile.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    self assert: (self respondsTo: #mock_02).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    self assert: (self mock_02 = 2).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "Created: / 07-07-2009 / 19:07:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
test_02b
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    cg
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
        class: self class;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
        replace: '`@selector:' with: #mock_02:;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
        source: '`@selector: arg ^ arg';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
        compile.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    self assert: (self respondsTo: #mock_02:).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    self assert: (self mock_02: 20) = 20.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    "Created: / 07-07-2009 / 19:54:03 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
test_03
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    cg
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
        class: self class;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
        replace: '`@selector' with: 'mmock_03';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
        source: 'mock_03 ^ self `@selector';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
        compile.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
    self assert: (self respondsTo: #mock_03).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    self assert: (self mock_03 = 3).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    "Created: / 07-07-2009 / 19:22:37 / Jan Vrany <vranyj1@fel.cvut.cz>"
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
test_03b
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    cg
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
        class: self class;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
        replace: '`@selector:' with: #mmock_03:;
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
        source: 'mock_03b ^ self `@selector: 30';
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
        compile.
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    self assert: (self respondsTo: #mock_03b).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    self assert: (self mock_03b = 30).
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
    "Created: / 07-07-2009 / 19:54:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
14281
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   175
!
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   176
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   177
test_04a
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   178
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   179
    cg
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   180
        class: self class;
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   181
        source: '`@selector ^ 4';
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   182
        replace: '`@selector' with: #mock_04a;
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   183
        compile.
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   184
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   185
    self assert: (self respondsTo: #mock_04a).
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   186
    self assert: (self mock_04a = 4).
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   187
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   188
    "Created: / 24-04-2014 / 11:13:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   189
!
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   190
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   191
test_04b
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   192
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   193
    cg
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   194
        class: self class;
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   195
        source: '`@selpart1 anArg `@selpart2 anArg2 ^ anArg + anArg2';
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   196
        replace: '`@selpart1' with: #mock_04:;
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   197
        replace: '`@selpart2' with: #b:;
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   198
        compile.
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   199
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   200
    self assert: (self respondsTo: #mock_04:b:).
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   201
    self assert: ((self mock_04:123 b: 123) = (123+123)).
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   202
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   203
    "Created: / 24-04-2014 / 11:15:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   204
!
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   205
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   206
test_05
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   207
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   208
    cg
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   209
        class: self class;
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   210
        source: 'mock_05
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   211
                "comment"
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   212
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   213
                ^ 10';
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   214
        compile.
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   215
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   216
    self assert: (self respondsTo: #mock_05).
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   217
    self assert: (self perform: #mock_05) == 10.
14422
40f9ff83b8aa Fix to preserve comment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14281
diff changeset
   218
    self assert: ((self class >> #mock_05) source includesString: 'comment')
14281
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   219
7ef95511205a Added more tests...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13802
diff changeset
   220
    "Created: / 24-04-2014 / 11:28:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14422
40f9ff83b8aa Fix to preserve comment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14281
diff changeset
   221
    "Modified: / 24-05-2014 / 01:02:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
! !
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
!CodeGeneratorTests class methodsFor:'documentation'!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
version_CVS
14422
40f9ff83b8aa Fix to preserve comment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14281
diff changeset
   227
    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTests.st,v 1.5 2014-05-24 00:10:50 vrany Exp $'
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
!
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
version_SVN
14422
40f9ff83b8aa Fix to preserve comment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14281
diff changeset
   231
    ^ '$Id: CodeGeneratorTests.st,v 1.5 2014-05-24 00:10:50 vrany Exp $'
10012
b9d3ade2b5bc initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
! !
13802
5bce9a814951 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 10046
diff changeset
   233