--- a/RegressionTests__ChangeSetTests.st Thu Mar 06 16:11:20 2014 +0100
+++ b/RegressionTests__ChangeSetTests.st Thu Mar 06 18:27:13 2014 +0100
@@ -54,7 +54,9 @@
Smalltalk removeDependent: self.
classes do:[:each|
- Smalltalk removeClass: each
+ (each fullName startsWith: 'Mock') ifTrue:[
+ Smalltalk removeClass: each
+ ].
].
#(Mocks Mocks2 Mocks3) do:[:nsName|
@@ -64,42 +66,59 @@
].
"Created: / 20-11-2012 / 14:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 10:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests methodsFor:'tests - ChangeSet'!
test_saveToStream_format_nil_01
- | cs output expected got |
+ | cs output chunks |
cs := ChangeSet forExistingClass: ChangeSetTests.
cs := cs select:[:each | each isMethodChange and:[ each selector = #setUp ]].
- output := String streamContents:[ :s | cs saveToStream: s format: nil ].
- got := output asStringCollection first.
-
- expected := '!!RegressionTests::ChangeSetTests methodsFor: ''running''!!'.
-
- self assert: expected = got.
+ output := (String streamContents:[ :s | cs saveToStream: s format: nil ]) readStream.
+ chunks := OrderedCollection streamContents:[ :s |
+ [ output atEnd ] whileFalse:[
+ s nextPut: output nextChunk.
+ ].
+ ].
+
+ self assert: chunks size == 6.
+
+ self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
+ self assert: (chunks at: 2) = ''.
+ self assert: (chunks at: 3) = 'ChangeSetTests methodsFor: ''running'''.
+ self assert: (chunks at: 4) = (self class compiledMethodAt: #setUp) source.
+ self assert: (chunks at: 5) = ''.
+ self assert: (chunks at: 6) = ''.
"Created: / 04-02-2014 / 11:51:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 12:46:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
test_saveToStream_format_nil_02
- | cs output expected got |
- "
- String streamContents: [:s | ChangeSetTests::ExistingPrivateClass fileOutOn: s]
- "
+ | cs output chunks |
cs := ChangeSet forExistingClass: ChangeSetTests::ExistingPrivateClass.
cs := cs select:[:each | each isMethodChange and:[ each selector = #foo ]].
- output := String streamContents:[ :s | cs saveToStream: s format: nil ].
- got := output asStringCollection first.
-
- expected := '!!RegressionTests::ChangeSetTests::ExistingPrivateClass methodsFor: ''methods''!!'.
-
- self assert: expected = got.
+ output := (String streamContents:[ :s | cs saveToStream: s format: nil ]) readStream.
+ chunks := OrderedCollection streamContents:[ :s |
+ [ output atEnd ] whileFalse:[
+ s nextPut: output nextChunk.
+ ].
+ ].
+
+ self assert: chunks size == 6.
+
+ self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
+ self assert: (chunks at: 2) = ''.
+ self assert: (chunks at: 3) = 'ChangeSetTests::ExistingPrivateClass methodsFor: ''methods'''.
+ self assert: (chunks at: 4) = (ChangeSetTests::ExistingPrivateClass compiledMethodAt: #foo) source.
+ self assert: (chunks at: 5) = ''.
+ self assert: (chunks at: 6) = ''.
"Created: / 04-02-2014 / 12:08:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified (format): / 04-02-2014 / 16:50:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 12:45:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests methodsFor:'tests - ChangeSet::ClassSourceWriter'!
@@ -170,6 +189,27 @@
"Created: / 20-11-2012 / 14:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_01_fileIn
+
+ | changefile |
+
+ changefile :='
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+' readStream.
+
+
+
+ self assert: (Smalltalk at: #MockClass) isNil.
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #MockClass) notNil.
+
+ "Created: / 20-11-2012 / 14:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_02
| cs |
@@ -195,6 +235,31 @@
"Created: / 20-11-2012 / 14:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_02_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+' readStream.
+
+
+
+
+
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+
+ "Created: / 20-11-2012 / 14:50:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_03a
| cs |
@@ -232,6 +297,43 @@
"Modified: / 09-05-2013 / 14:41:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_03a_fileIn
+
+ | changefile |
+
+ changefile :='
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+
+' readStream.
+
+
+
+
+
+
+ self assert: (Smalltalk at: #'MockClass') isNil.
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #'MockClass') notNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') name == #'MockClass::PrivateClass'.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') isPrivate
+
+ "Created: / 20-11-2012 / 14:54:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 09-05-2013 / 14:41:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_03b
| cs |
@@ -272,6 +374,46 @@
"Created: / 20-11-2012 / 15:04:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_03b_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+
+' readStream.
+
+
+
+
+
+
+
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass') isPrivate not.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isPrivate
+
+ "Created: / 20-11-2012 / 15:04:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_04a
| cs |
@@ -299,6 +441,33 @@
"Modified: / 04-02-2014 / 20:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_04a_fileIn
+
+ | changefile |
+
+ changefile :='
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+' readStream.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+ changefile readStream fileIn.
+ ].
+ "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+ Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+ namespace "
+
+ self assert: (Smalltalk at: #'MockClass') notNil.
+ self assert: (Smalltalk at: #'MockClass') name == #'MockClass'.
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil
+
+ "Created: / 20-11-2012 / 15:08:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-02-2014 / 20:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_04b
| cs |
@@ -328,6 +497,35 @@
"Modified: / 04-02-2014 / 20:09:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_04b_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks2 }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+' readStream.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+ changefile readStream fileIn.
+ ].
+ "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+ Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+ namespace "
+
+ self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
+ self assert: (Smalltalk at: #'Mocks2::MockClass') name == #'Mocks2::MockClass'.
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+
+ "Created: / 20-11-2012 / 15:14:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-02-2014 / 20:09:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_04c
| cs |
@@ -351,6 +549,29 @@
"Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_04c_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+' readStream.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+ changefile readStream fileIn.
+ ].
+ self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass') name == #'Mocks::MockClass'.
+
+ "Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_04d
| cs |
@@ -431,6 +652,42 @@
"Modified: / 04-02-2014 / 20:10:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_05a_fileIn
+
+ | changefile |
+
+ changefile :='
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+
+
+' readStream.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+ changefile readStream fileIn.
+ ].
+ "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+ Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+ namespace "
+
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') name == #'MockClass::PrivateClass'.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
+
+ "Created: / 20-11-2012 / 15:25:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-02-2014 / 20:10:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_05b
| cs |
@@ -469,6 +726,44 @@
"Modified: / 04-02-2014 / 20:11:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_05b_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks2 }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+
+
+' readStream.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+ changefile readStream fileIn.
+ ].
+ "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
+ Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
+ namespace "
+
+ self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
+ self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') name == #'Mocks2::MockClass::PrivateClass'.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
+
+ "Created: / 20-11-2012 / 15:26:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-02-2014 / 20:11:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_05c
| cs |
@@ -501,6 +796,38 @@
"Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_05c_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+
+
+' readStream.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
+ changefile readStream fileIn.
+ ].
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name == #'Mocks::MockClass::PrivateClass'.
+
+ "Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_05d
| cs |
@@ -585,6 +912,26 @@
"Created: / 10-06-2013 / 16:48:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_06a_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+nil subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+' readStream.
+
+ changefile readStream fileIn.
+
+ self assert: (Smalltalk at: #MockClass) superclass isNil
+
+ "Created: / 10-06-2013 / 16:48:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_07a
| cs |
@@ -606,6 +953,27 @@
"Created: / 12-11-2013 / 17:53:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_07a_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+Object subclass:#ExistingPrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:RegressionTests::ChangeSetTests
+' readStream.
+
+
+
+
+
+
+ "Created: / 12-11-2013 / 17:53:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_07b
| cs |
@@ -629,6 +997,29 @@
"Created: / 12-11-2013 / 17:54:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_07b_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+ "Created: / 12-11-2013 / 17:54:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_08a
| cs |
@@ -653,6 +1044,30 @@
"Created: / 13-11-2013 / 17:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_08a_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ChangeSetTests
+ instanceVariableNames:''classes''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-System-Changes''
+' readStream.
+
+
+
+
+
+
+
+ "Created: / 13-11-2013 / 17:41:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_08b
| cs |
@@ -676,6 +1091,29 @@
"Created: / 13-11-2013 / 17:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_08b_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ChangeSetTests
+ instanceVariableNames:''classes someMoreData''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-System-Changes''
+' readStream.
+
+
+
+
+
+
+ "Created: / 13-11-2013 / 17:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_08c
| cs |
@@ -699,6 +1137,29 @@
"Created: / 13-11-2013 / 17:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_08c_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+ "Created: / 13-11-2013 / 17:44:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_08d
| cs |
@@ -722,6 +1183,29 @@
"Created: / 13-11-2013 / 17:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_08d_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''somePool''
+ privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+ "Created: / 13-11-2013 / 17:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_08e
| cs |
@@ -745,6 +1229,29 @@
"Created: / 13-11-2013 / 17:44:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_ClassDefinitionChange_08e_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ChangeSetTests2
+ instanceVariableNames:''classes someMoreData''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-System-Changes''
+' readStream.
+
+
+
+
+
+
+ "Created: / 13-11-2013 / 17:44:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_ClassDefinitionChange_08f
| cs |
@@ -766,6 +1273,29 @@
self assert: cs anElement delta == #'+'
"Created: / 13-11-2013 / 17:44:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_ClassDefinitionChange_08f_fileIn
+ | changefile |
+
+ "Test nil superclass"
+
+ changefile :='
+"{ NameSpace: RegressionTests }"
+
+Object subclass:#ExistingPrivateClass2
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:ChangeSetTests
+' readStream.
+
+
+
+
+
+
+ "Created: / 13-11-2013 / 17:44:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetTests methodsFor:'tests - MethodDefinitionChange'!
@@ -801,6 +1331,35 @@
"Created: / 01-05-2013 / 09:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_MethodDefinitionChange_01_fileIn
+
+ | changefile |
+
+ changefile :='
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+!!MockClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+
+' readStream.
+
+ self assert: (Smalltalk at: #MockClass) isNil.
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #MockClass) notNil.
+ self assert:((Smalltalk at: #MockClass) methodDictionary includesKey: #foo)
+
+ "Created: / 01-05-2013 / 09:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 06-03-2014 / 17:04:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_MethodDefinitionChange_02
| cs |
@@ -834,6 +1393,37 @@
"Created: / 01-05-2013 / 09:42:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_MethodDefinitionChange_02_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+!!MockClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+
+' readStream.
+
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+ self assert:((Smalltalk at: #'Mocks::MockClass') methodDictionary includesKey: #foo)
+
+ "Created: / 01-05-2013 / 09:42:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 06-03-2014 / 17:04:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_MethodDefinitionChange_02a
"Tests whether all method changes have package properly set when reading
extension container"
@@ -905,6 +1495,43 @@
"Modified: / 09-05-2013 / 15:18:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+test_MethodDefinitionChange_03a_fileIn
+
+ | changefile |
+
+ changefile :='
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+!!
+
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+
+
+
+ self assert: (Smalltalk at: #'MockClass') isNil.
+ changefile readStream fileIn.
+ self assert:((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey: #foo)
+
+ "Created: / 01-05-2013 / 09:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 09-05-2013 / 15:18:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_MethodDefinitionChange_03b
| cs |
@@ -944,6 +1571,461 @@
!
+test_MethodDefinitionChange_03b_fileIn
+
+ | changefile |
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+Object subclass:#MockClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-Mocks''
+!!
+
+Object subclass:#PrivateClass
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ privateIn:MockClass
+!!
+
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+
+
+
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+ changefile readStream fileIn.
+ self assert:((Smalltalk at: #'Mocks::MockClass::PrivateClass') methodDictionary includesKey: #foo)
+
+ "Created: / 01-05-2013 / 09:52:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+
+!
+
+test_MethodDefinitionChange_04a
+
+ | cs |
+
+ cs := ChangeSet fromStream:'
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+ self assert: cs size == 1.
+ self assert: cs first className = 'MockClass::PrivateClass'.
+ self assert: cs first fullClassName = 'MockClass::PrivateClass'.
+
+ "Created: / 06-03-2014 / 10:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_04a_fileIn
+
+ | changefile |
+
+ self assert: (Smalltalk at: #'MockClass') isNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
+
+
+ Object subclass:#MockClass
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'MockClass').
+
+
+ changefile :='
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+ changefile readStream fileIn.
+
+ self assert: (Smalltalk at: #'MockClass') notNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo)
+
+ "Created: / 06-03-2014 / 10:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 17:11:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_04b
+
+ | cs |
+
+ cs := ChangeSet fromStream:'
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+
+ self assert: cs size == 1.
+ self assert: cs first className = 'MockClass::PrivateClass'.
+ self assert: cs first fullClassName = 'Mocks::MockClass::PrivateClass'.
+
+ "Created: / 06-03-2014 / 10:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_04b_fileIn
+
+ | changefile |
+
+ self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
+
+ Object subclass:#MockClass
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'Mocks::MockClass').
+ ].
+
+
+ changefile :='
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+' readStream.
+ changefile readStream fileIn.
+
+ self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'Mocks::MockClass::PrivateClass') methodDictionary includesKey:#foo)
+
+ "Created: / 06-03-2014 / 10:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 17:10:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05a
+
+ | cs |
+
+ cs := ChangeSet fromStream:'
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+ self assert: cs size == 2.
+ self assert: cs first className = 'MockClass::PrivateClass'.
+ self assert: cs first fullClassName = 'MockClass::PrivateClass'.
+ self assert: cs second className = 'MockClass2::PrivateClass'.
+ self assert: cs second fullClassName = 'Mocks::MockClass2::PrivateClass'.
+
+ "Created: / 06-03-2014 / 10:51:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05a_fileIn
+
+ | changefile |
+
+ self assert: (Smalltalk at: #'MockClass') isNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
+
+
+ Object subclass:#MockClass
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'MockClass').
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
+
+ Object subclass:#MockClass2
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'Mocks::MockClass2').
+ ].
+
+ changefile :='
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #'MockClass') notNil.
+ self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo).
+ self assert: (Smalltalk at: #'Mocks::MockClass2') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass2::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'Mocks::MockClass2::PrivateClass') methodDictionary includesKey:#bar)
+
+ "Created: / 06-03-2014 / 10:51:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 17:16:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05b
+
+ | cs |
+
+ cs := ChangeSet fromStream:'
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+ self assert: cs size == 2.
+ self assert: cs first className = 'MockClass::PrivateClass'.
+ self assert: cs first fullClassName = 'Mocks2::MockClass::PrivateClass'.
+ self assert: cs second className = 'MockClass2::PrivateClass'.
+ self assert: cs second fullClassName = 'Mocks::MockClass2::PrivateClass'.
+
+ "Created: / 06-03-2014 / 10:53:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05b_fileIn
+
+ | changefile |
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
+
+ Object subclass:#MockClass
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'Mocks2::MockClass').
+
+ ].
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
+
+ Object subclass:#MockClass2
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'Mocks::MockClass2').
+ ].
+
+
+ changefile :='
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Mocks }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+ changefile readStream fileIn.
+
+ self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
+ self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'Mocks2::MockClass::PrivateClass') methodDictionary includesKey:#foo).
+ self assert: (Smalltalk at: #'Mocks::MockClass2') notNil.
+ self assert: (Smalltalk at: #'Mocks::MockClass2::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'Mocks::MockClass2::PrivateClass') methodDictionary includesKey:#bar)
+
+ "Created: / 06-03-2014 / 10:53:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 17:22:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05c
+
+ | cs |
+
+ cs := ChangeSet fromStream:'
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Smalltalk }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+ self assert: cs size == 2.
+ self assert: cs first className = 'MockClass::PrivateClass'.
+ self assert: cs first fullClassName = 'Mocks2::MockClass::PrivateClass'.
+ self assert: cs second className = 'MockClass2::PrivateClass'.
+ self assert: cs second fullClassName = 'MockClass2::PrivateClass'.
+
+ "Created: / 06-03-2014 / 10:54:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_MethodDefinitionChange_05c_fileIn
+
+ | changefile |
+
+ Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
+
+ Object subclass:#MockClass
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'Mocks2::MockClass').
+ ].
+
+ Object subclass:#MockClass2
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'tests-Regression-System-Changes'.
+
+ Object subclass: #PrivateClass
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ privateIn: (Smalltalk at: #'MockClass2').
+
+
+
+ changefile :='
+"{ NameSpace: Mocks2 }"
+
+!!
+!!MockClass::PrivateClass methodsFor:''methods''!!
+
+foo
+
+!! !!
+"{ NameSpace: Smalltalk }"
+
+!!
+!!MockClass2::PrivateClass methodsFor:''methods''!!
+
+bar
+
+!! !!
+
+' readStream.
+
+ changefile readStream fileIn.
+ self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
+ self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'Mocks2::MockClass::PrivateClass') methodDictionary includesKey:#foo).
+ self assert: (Smalltalk at: #'MockClass2') notNil.
+ self assert: (Smalltalk at: #'MockClass2::PrivateClass') notNil.
+ self assert: ((Smalltalk at: #'MockClass2::PrivateClass') methodDictionary includesKey:#bar)
+
+ "Created: / 06-03-2014 / 10:54:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 06-03-2014 / 17:25:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
test_MethodDefinitionChange_jextension_01a
"Tests Java extensios - used by stx:libjava (see stx/libjava/java/extensions/**/*.st"