author | Claus Gittinger <cg@exept.de> |
Tue, 26 Mar 2019 18:29:46 +0100 | |
changeset 2186 | 68126ca5ac39 |
parent 1447 | 2351db93aa5b |
child 1500 | d406a10b2965 |
permissions | -rw-r--r-- |
1447 | 1 |
"{ Package: 'stx:goodies/regression' }" |
758 | 2 |
|
3 |
"{ NameSpace: RegressionTests }" |
|
4 |
||
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
5 |
ClassAndMethodCompilingTestCase subclass:#ClassBuilderTests |
758 | 6 |
instanceVariableNames:'' |
7 |
classVariableNames:'' |
|
8 |
poolDictionaries:'' |
|
1264
0873e4100560
class: RegressionTests::ClassBuilderTests
Claus Gittinger <cg@exept.de>
parents:
1129
diff
changeset
|
9 |
category:'tests-Regression-Compilers' |
758 | 10 |
! |
11 |
||
12 |
||
13 |
!ClassBuilderTests methodsFor:'tests'! |
|
14 |
||
15 |
test_pools_01 |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
16 |
" |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
17 |
Create a pool and class using that pool. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
18 |
Redefine the class __without__ that pool. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
19 |
Check, whether the pool's really gone. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
20 |
" |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
21 |
|
758 | 22 |
| pool class | |
23 |
||
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
24 |
pool := SharedPool subclass: #MockSharedPool1 |
1447 | 25 |
instanceVariableNames: '' |
26 |
classVariableNames: 'PoolVar1 PoolVar2' |
|
27 |
poolDictionaries: '' |
|
28 |
category: 'System-Compiler-Mocks'. |
|
758 | 29 |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
30 |
class := Object subclass: #MockClass |
1447 | 31 |
instanceVariableNames: '' |
32 |
classVariableNames: '' |
|
33 |
poolDictionaries: 'MockSharedPool1' |
|
34 |
category: 'System-Compiler-Mocks'. |
|
758 | 35 |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
36 |
self assert: class sharedPoolNames asArray = #(MockSharedPool1). |
758 | 37 |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
38 |
class := Object subclass: #MockClass |
1447 | 39 |
instanceVariableNames: '' |
40 |
classVariableNames: '' |
|
41 |
poolDictionaries: '' |
|
42 |
category: 'System-Compiler-Mocks'. |
|
758 | 43 |
|
44 |
self assert: class sharedPoolNames isEmpty. |
|
45 |
||
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
46 |
"Created: / 07-02-2013 / 18:00:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
47 |
"Modified: / 13-05-2014 / 11:06:36 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
48 |
! |
758 | 49 |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
50 |
test_pools_02 |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
51 |
" |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
52 |
Create a pool MockSharedPool1. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
53 |
Create a class MockClassA. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
54 |
Create a class MockClassX and its subclass MockClassY which uses pool MockSharedPool1 |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
55 |
Change superclass of MockClassX to MockClassA. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
56 |
Check, whether the pool in MockClassY is preserved. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
57 |
" |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
58 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
59 |
| pool class | |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
60 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
61 |
pool := SharedPool subclass: #MockSharedPool1 |
1447 | 62 |
instanceVariableNames: '' |
63 |
classVariableNames: 'PoolVar1 PoolVar2' |
|
64 |
poolDictionaries: '' |
|
65 |
category: '* Mocks *'. |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
66 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
67 |
class := Object subclass: #MockClassA |
1447 | 68 |
instanceVariableNames: '' |
69 |
classVariableNames: '' |
|
70 |
poolDictionaries: '' |
|
71 |
category: '* Mocks *'. |
|
758 | 72 |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
73 |
class := Object subclass: #MockClassX |
1447 | 74 |
instanceVariableNames: '' |
75 |
classVariableNames: '' |
|
76 |
poolDictionaries: '' |
|
77 |
category: '* Mocks *'. |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
78 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
79 |
class := (Smalltalk at:#MockClassX) subclass: #MockClassY |
1447 | 80 |
instanceVariableNames: '' |
81 |
classVariableNames: '' |
|
82 |
poolDictionaries: 'MockSharedPool1' |
|
83 |
category: '* Mocks *'. |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
84 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
85 |
self assert: (Smalltalk at:#MockClassX) superclass == Object. |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
86 |
self assert: (Smalltalk at:#MockClassY) sharedPoolNames asArray = #(MockSharedPool1). |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
87 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
88 |
class := (Smalltalk at:#MockClassA) subclass: #MockClassX |
1447 | 89 |
instanceVariableNames: '' |
90 |
classVariableNames: '' |
|
91 |
poolDictionaries: '' |
|
92 |
category: '* Mocks *'. |
|
1129
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
93 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
94 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
95 |
self assert: (Smalltalk at:#MockClassY) superclass == (Smalltalk at:#MockClassX). |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
96 |
self assert: (Smalltalk at:#MockClassX) superclass == (Smalltalk at:#MockClassA). |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
97 |
self assert: (Smalltalk at:#MockClassY) sharedPoolNames asArray = #(MockSharedPool1). |
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
98 |
|
ecf11da75bde
Added abstract class for tests creating and compiling code.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
872
diff
changeset
|
99 |
"Created: / 13-05-2014 / 11:26:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
758 | 100 |
! ! |
101 |
||
102 |
!ClassBuilderTests class methodsFor:'documentation'! |
|
103 |
||
104 |
version |
|
105 |
^ '$Header$' |
|
106 |
! |
|
107 |
||
108 |
version_CVS |
|
109 |
^ '$Header$' |
|
110 |
! ! |
|
111 |