RegressionTests__ChangeSetTests.st
changeset 1447 2351db93aa5b
parent 1432 994715ad03bc
child 1500 d406a10b2965
equal deleted inserted replaced
1446:c3b09cef9f87 1447:2351db93aa5b
     1 "{ Encoding: utf8 }"
     1 "{ Encoding: utf8 }"
     2 
     2 
     3 "{ Package: 'exept:regression' }"
     3 "{ Package: 'stx:goodies/regression' }"
     4 
     4 
     5 "{ NameSpace: RegressionTests }"
     5 "{ NameSpace: RegressionTests }"
     6 
     6 
     7 ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
     7 ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
     8 	instanceVariableNames:''
     8 	instanceVariableNames:''
    28 
    28 
    29 !ChangeSetTests methodsFor:'private'!
    29 !ChangeSetTests methodsFor:'private'!
    30 
    30 
    31 performTest
    31 performTest
    32     ^Class withoutUpdatingChangesDo:[
    32     ^Class withoutUpdatingChangesDo:[
    33         super performTest
    33 	super performTest
    34     ]
    34     ]
    35 
    35 
    36     "Created: / 20-11-2012 / 15:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    36     "Created: / 20-11-2012 / 15:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    37 ! !
    37 ! !
    38 
    38 
    43 
    43 
    44     cs := ChangeSet forExistingClass: self class.
    44     cs := ChangeSet forExistingClass: self class.
    45     cs := cs select:[:each | each isMethodChange and:[ each selector = testSelector ]].
    45     cs := cs select:[:each | each isMethodChange and:[ each selector = testSelector ]].
    46     output := (String streamContents:[ :s | cs saveToStream: s  format: nil ]) readStream.
    46     output := (String streamContents:[ :s | cs saveToStream: s  format: nil ]) readStream.
    47     chunks := OrderedCollection streamContents:[ :s |
    47     chunks := OrderedCollection streamContents:[ :s |
    48         [ output atEnd ] whileFalse:[ 
    48 	[ output atEnd ] whileFalse:[
    49             s nextPut: output nextChunk.
    49 	    s nextPut: output nextChunk.
    50         ].
    50 	].
    51     ].
    51     ].
    52 
    52 
    53     self assert: chunks size == 6.
    53     self assert: chunks size == 6.
    54 
    54 
    55     self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
    55     self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
    68 
    68 
    69     cs := ChangeSet forExistingClass: ChangeSetTests::ExistingPrivateClass.
    69     cs := ChangeSet forExistingClass: ChangeSetTests::ExistingPrivateClass.
    70     cs := cs select:[:each | each isMethodChange and:[ each selector = #foo ]].
    70     cs := cs select:[:each | each isMethodChange and:[ each selector = #foo ]].
    71     output := (String streamContents:[ :s | cs saveToStream: s  format: nil ]) readStream.
    71     output := (String streamContents:[ :s | cs saveToStream: s  format: nil ]) readStream.
    72     chunks := OrderedCollection streamContents:[ :s |
    72     chunks := OrderedCollection streamContents:[ :s |
    73         [ output atEnd ] whileFalse:[ 
    73 	[ output atEnd ] whileFalse:[
    74             s nextPut: output nextChunk.
    74 	    s nextPut: output nextChunk.
    75         ].
    75 	].
    76     ].
    76     ].
    77 
    77 
    78     self assert: chunks size == 6.
    78     self assert: chunks size == 6.
    79 
    79 
    80     self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
    80     self assert: (chunks at: 1) = ('"{ NameSpace: RegressionTests }"', Character cr, Character cr).
    92 
    92 
    93 test_ClassSourceWriter_01
    93 test_ClassSourceWriter_01
    94     | sourceFileout cs sourceChangeset|
    94     | sourceFileout cs sourceChangeset|
    95 
    95 
    96     sourceFileout := String streamContents:[:s|
    96     sourceFileout := String streamContents:[:s|
    97         AbstractSourceCodeManager fileOutSourceCodeOf:ChangeSet on:s
    97 	AbstractSourceCodeManager fileOutSourceCodeOf:ChangeSet on:s
    98     ].
    98     ].
    99 
    99 
   100     cs := ChangeSet fromStream: sourceFileout readStream.
   100     cs := ChangeSet fromStream: sourceFileout readStream.
   101 
   101 
   102     sourceChangeset := String streamContents:[:s|
   102     sourceChangeset := String streamContents:[:s|
   103         cs saveToStream:s format:#classSource
   103 	cs saveToStream:s format:#classSource
   104     ].
   104     ].
   105     self assert: sourceFileout asByteArray = sourceChangeset asByteArray.
   105     self assert: sourceFileout asByteArray = sourceChangeset asByteArray.
   106     "
   106     "
   107     Tools::TextDiff2Tool openOn: sourceFileout label: 'sourceFileout' and: sourceChangeset label: 'sourceChangeset'
   107     Tools::TextDiff2Tool openOn: sourceFileout label: 'sourceFileout' and: sourceChangeset label: 'sourceChangeset'
   108     '/tmp/sourceFileout.st' asFilename writingFileDo:[:s|s binary; nextPutAll:  sourceFileout asByteArray].
   108     '/tmp/sourceFileout.st' asFilename writingFileDo:[:s|s binary; nextPutAll:  sourceFileout asByteArray].
   115 
   115 
   116 test_ClassSourceWriter_02
   116 test_ClassSourceWriter_02
   117     | sourceFileout cs sourceChangeset|
   117     | sourceFileout cs sourceChangeset|
   118 
   118 
   119     sourceFileout := String streamContents:[:s|
   119     sourceFileout := String streamContents:[:s|
   120         AbstractSourceCodeManager fileOutSourceCodeOf:Tools::HierarchicalPackageFilterList on:s
   120 	AbstractSourceCodeManager fileOutSourceCodeOf:Tools::HierarchicalPackageFilterList on:s
   121     ].
   121     ].
   122 
   122 
   123     cs := ChangeSet fromStream: sourceFileout readStream.
   123     cs := ChangeSet fromStream: sourceFileout readStream.
   124 
   124 
   125     sourceChangeset := String streamContents:[:s|
   125     sourceChangeset := String streamContents:[:s|
   126         cs saveToStream:s format:#classSource
   126 	cs saveToStream:s format:#classSource
   127     ].
   127     ].
   128     self assert: sourceFileout asByteArray = sourceChangeset asByteArray.
   128     self assert: sourceFileout asByteArray = sourceChangeset asByteArray.
   129     "
   129     "
   130     Tools::TextDiff2Tool openOn: sourceFileout label: 'sourceFileout' and: sourceChangeset label: 'sourceChangeset'
   130     Tools::TextDiff2Tool openOn: sourceFileout label: 'sourceFileout' and: sourceChangeset label: 'sourceChangeset'
   131     "
   131     "
   139 
   139 
   140     | cs |
   140     | cs |
   141 
   141 
   142     cs := ChangeSet fromStream:'
   142     cs := ChangeSet fromStream:'
   143 Object subclass:#MockClass
   143 Object subclass:#MockClass
   144         instanceVariableNames:''''
   144 	instanceVariableNames:''''
   145         classVariableNames:''''
   145 	classVariableNames:''''
   146         poolDictionaries:''''
   146 	poolDictionaries:''''
   147         category:''tests-Regression-Mocks''
   147 	category:''tests-Regression-Mocks''
   148 ' readStream.
   148 ' readStream.
   149 
   149 
   150     self assert: cs size == 1.
   150     self assert: cs size == 1.
   151     self assert: cs first className = 'MockClass'.
   151     self assert: cs first className = 'MockClass'.
   152     self assert: (Smalltalk at: #MockClass) isNil.
   152     self assert: (Smalltalk at: #MockClass) isNil.
   160 
   160 
   161     | changefile |
   161     | changefile |
   162 
   162 
   163     changefile :='
   163     changefile :='
   164 Object subclass:#MockClass
   164 Object subclass:#MockClass
   165         instanceVariableNames:''''
   165 	instanceVariableNames:''''
   166         classVariableNames:''''
   166 	classVariableNames:''''
   167         poolDictionaries:''''
   167 	poolDictionaries:''''
   168         category:''tests-Regression-Mocks''
   168 	category:''tests-Regression-Mocks''
   169 ' readStream.
   169 ' readStream.
   170 
   170 
   171 
   171 
   172 
   172 
   173     self assert: (Smalltalk at: #MockClass) isNil.
   173     self assert: (Smalltalk at: #MockClass) isNil.
   183 
   183 
   184     cs := ChangeSet fromStream:'
   184     cs := ChangeSet fromStream:'
   185 "{ NameSpace: Mocks }"
   185 "{ NameSpace: Mocks }"
   186 
   186 
   187 Object subclass:#MockClass
   187 Object subclass:#MockClass
   188         instanceVariableNames:''''
   188 	instanceVariableNames:''''
   189         classVariableNames:''''
   189 	classVariableNames:''''
   190         poolDictionaries:''''
   190 	poolDictionaries:''''
   191         category:''tests-Regression-Mocks''
   191 	category:''tests-Regression-Mocks''
   192 ' readStream.
   192 ' readStream.
   193 
   193 
   194     self assert: cs size == 1.
   194     self assert: cs size == 1.
   195     self assert: cs first className = 'MockClass'.
   195     self assert: cs first className = 'MockClass'.
   196     self assert: cs first fullClassName = 'Mocks::MockClass'.
   196     self assert: cs first fullClassName = 'Mocks::MockClass'.
   208 
   208 
   209     changefile :='
   209     changefile :='
   210 "{ NameSpace: Mocks }"
   210 "{ NameSpace: Mocks }"
   211 
   211 
   212 Object subclass:#MockClass
   212 Object subclass:#MockClass
   213         instanceVariableNames:''''
   213 	instanceVariableNames:''''
   214         classVariableNames:''''
   214 	classVariableNames:''''
   215         poolDictionaries:''''
   215 	poolDictionaries:''''
   216         category:''tests-Regression-Mocks''
   216 	category:''tests-Regression-Mocks''
   217 ' readStream.
   217 ' readStream.
   218 
   218 
   219 
   219 
   220 
   220 
   221 
   221 
   231 
   231 
   232     | cs |
   232     | cs |
   233 
   233 
   234     cs := ChangeSet fromStream:'
   234     cs := ChangeSet fromStream:'
   235 Object subclass:#MockClass
   235 Object subclass:#MockClass
   236         instanceVariableNames:''''
   236 	instanceVariableNames:''''
   237         classVariableNames:''''
   237 	classVariableNames:''''
   238         poolDictionaries:''''
   238 	poolDictionaries:''''
   239         category:''tests-Regression-Mocks''
   239 	category:''tests-Regression-Mocks''
   240 
   240 
   241 !!
   241 !!
   242 
   242 
   243 Object subclass:#PrivateClass
   243 Object subclass:#PrivateClass
   244         instanceVariableNames:''''
   244 	instanceVariableNames:''''
   245         classVariableNames:''''
   245 	classVariableNames:''''
   246         poolDictionaries:''''
   246 	poolDictionaries:''''
   247         privateIn:MockClass
   247 	privateIn:MockClass
   248 
   248 
   249 ' readStream.
   249 ' readStream.
   250 
   250 
   251     self assert: cs size == 2.
   251     self assert: cs size == 2.
   252     self assert: cs first  className = 'MockClass'.
   252     self assert: cs first  className = 'MockClass'.
   268 
   268 
   269     | changefile |
   269     | changefile |
   270 
   270 
   271     changefile :='
   271     changefile :='
   272 Object subclass:#MockClass
   272 Object subclass:#MockClass
   273         instanceVariableNames:''''
   273 	instanceVariableNames:''''
   274         classVariableNames:''''
   274 	classVariableNames:''''
   275         poolDictionaries:''''
   275 	poolDictionaries:''''
   276         category:''tests-Regression-Mocks''
   276 	category:''tests-Regression-Mocks''
   277 
   277 
   278 !!
   278 !!
   279 
   279 
   280 Object subclass:#PrivateClass
   280 Object subclass:#PrivateClass
   281         instanceVariableNames:''''
   281 	instanceVariableNames:''''
   282         classVariableNames:''''
   282 	classVariableNames:''''
   283         poolDictionaries:''''
   283 	poolDictionaries:''''
   284         privateIn:MockClass
   284 	privateIn:MockClass
   285 
   285 
   286 ' readStream.
   286 ' readStream.
   287 
   287 
   288 
   288 
   289 
   289 
   307 
   307 
   308     cs := ChangeSet fromStream:'
   308     cs := ChangeSet fromStream:'
   309 "{ NameSpace: Mocks }"
   309 "{ NameSpace: Mocks }"
   310 
   310 
   311 Object subclass:#MockClass
   311 Object subclass:#MockClass
   312         instanceVariableNames:''''
   312 	instanceVariableNames:''''
   313         classVariableNames:''''
   313 	classVariableNames:''''
   314         poolDictionaries:''''
   314 	poolDictionaries:''''
   315         category:''tests-Regression-Mocks''
   315 	category:''tests-Regression-Mocks''
   316 
   316 
   317 !!
   317 !!
   318 
   318 
   319 Object subclass:#PrivateClass
   319 Object subclass:#PrivateClass
   320         instanceVariableNames:''''
   320 	instanceVariableNames:''''
   321         classVariableNames:''''
   321 	classVariableNames:''''
   322         poolDictionaries:''''
   322 	poolDictionaries:''''
   323         privateIn:MockClass
   323 	privateIn:MockClass
   324 
   324 
   325 ' readStream.
   325 ' readStream.
   326 
   326 
   327     self assert: cs size == 2.
   327     self assert: cs size == 2.
   328     self assert: cs first  className = 'MockClass'.
   328     self assert: cs first  className = 'MockClass'.
   347 
   347 
   348     changefile :='
   348     changefile :='
   349 "{ NameSpace: Mocks }"
   349 "{ NameSpace: Mocks }"
   350 
   350 
   351 Object subclass:#MockClass
   351 Object subclass:#MockClass
   352         instanceVariableNames:''''
   352 	instanceVariableNames:''''
   353         classVariableNames:''''
   353 	classVariableNames:''''
   354         poolDictionaries:''''
   354 	poolDictionaries:''''
   355         category:''tests-Regression-Mocks''
   355 	category:''tests-Regression-Mocks''
   356 
   356 
   357 !!
   357 !!
   358 
   358 
   359 Object subclass:#PrivateClass
   359 Object subclass:#PrivateClass
   360         instanceVariableNames:''''
   360 	instanceVariableNames:''''
   361         classVariableNames:''''
   361 	classVariableNames:''''
   362         poolDictionaries:''''
   362 	poolDictionaries:''''
   363         privateIn:MockClass
   363 	privateIn:MockClass
   364 
   364 
   365 ' readStream.
   365 ' readStream.
   366 
   366 
   367 
   367 
   368 
   368 
   385 
   385 
   386     | cs |
   386     | cs |
   387 
   387 
   388     cs := ChangeSet fromStream:'
   388     cs := ChangeSet fromStream:'
   389 Object subclass:#MockClass
   389 Object subclass:#MockClass
   390         instanceVariableNames:''''
   390 	instanceVariableNames:''''
   391         classVariableNames:''''
   391 	classVariableNames:''''
   392         poolDictionaries:''''
   392 	poolDictionaries:''''
   393         category:''tests-Regression-Mocks''
   393 	category:''tests-Regression-Mocks''
   394 ' readStream.
   394 ' readStream.
   395 
   395 
   396     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   396     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   397         cs apply.
   397 	cs apply.
   398     ].
   398     ].
   399     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   399     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   400      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given 
   400      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   401      namespace "
   401      namespace "
   402 
   402 
   403     self assert: (Smalltalk at: #'MockClass') notNil.
   403     self assert: (Smalltalk at: #'MockClass') notNil.
   404     self assert: (Smalltalk at: #'MockClass') name ==  #'MockClass'.
   404     self assert: (Smalltalk at: #'MockClass') name ==  #'MockClass'.
   405     self assert: (Smalltalk at: #'Mocks::MockClass') isNil
   405     self assert: (Smalltalk at: #'Mocks::MockClass') isNil
   412 
   412 
   413     | changefile |
   413     | changefile |
   414 
   414 
   415     changefile :='
   415     changefile :='
   416 Object subclass:#MockClass
   416 Object subclass:#MockClass
   417         instanceVariableNames:''''
   417 	instanceVariableNames:''''
   418         classVariableNames:''''
   418 	classVariableNames:''''
   419         poolDictionaries:''''
   419 	poolDictionaries:''''
   420         category:''tests-Regression-Mocks''
   420 	category:''tests-Regression-Mocks''
   421 ' readStream.
   421 ' readStream.
   422 
   422 
   423     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   423     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   424         changefile readStream fileIn.
   424 	changefile readStream fileIn.
   425     ].
   425     ].
   426     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   426     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   427      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   427      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   428      namespace "
   428      namespace "
   429 
   429 
   441 
   441 
   442     cs := ChangeSet fromStream:'
   442     cs := ChangeSet fromStream:'
   443 "{ NameSpace: Mocks2 }"
   443 "{ NameSpace: Mocks2 }"
   444 
   444 
   445 Object subclass:#MockClass
   445 Object subclass:#MockClass
   446         instanceVariableNames:''''
   446 	instanceVariableNames:''''
   447         classVariableNames:''''
   447 	classVariableNames:''''
   448         poolDictionaries:''''
   448 	poolDictionaries:''''
   449         category:''tests-Regression-Mocks''
   449 	category:''tests-Regression-Mocks''
   450 ' readStream.
   450 ' readStream.
   451 
   451 
   452     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   452     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   453         cs apply.
   453 	cs apply.
   454     ].
   454     ].
   455     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   455     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   456      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given 
   456      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   457      namespace "
   457      namespace "
   458 
   458 
   459     self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
   459     self assert: (Smalltalk at: #'Mocks2::MockClass') notNil.
   460     self assert: (Smalltalk at: #'Mocks2::MockClass') name ==  #'Mocks2::MockClass'.
   460     self assert: (Smalltalk at: #'Mocks2::MockClass') name ==  #'Mocks2::MockClass'.
   461     self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
   461     self assert: (Smalltalk at: #'Mocks::MockClass') isNil.
   470 
   470 
   471     changefile :='
   471     changefile :='
   472 "{ NameSpace: Mocks2 }"
   472 "{ NameSpace: Mocks2 }"
   473 
   473 
   474 Object subclass:#MockClass
   474 Object subclass:#MockClass
   475         instanceVariableNames:''''
   475 	instanceVariableNames:''''
   476         classVariableNames:''''
   476 	classVariableNames:''''
   477         poolDictionaries:''''
   477 	poolDictionaries:''''
   478         category:''tests-Regression-Mocks''
   478 	category:''tests-Regression-Mocks''
   479 ' readStream.
   479 ' readStream.
   480 
   480 
   481     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   481     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   482         changefile readStream fileIn.
   482 	changefile readStream fileIn.
   483     ].
   483     ].
   484     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   484     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   485      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   485      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   486      namespace "
   486      namespace "
   487 
   487 
   499 
   499 
   500     cs := ChangeSet fromStream:'
   500     cs := ChangeSet fromStream:'
   501 "{ NameSpace: Mocks }"
   501 "{ NameSpace: Mocks }"
   502 
   502 
   503 Object subclass:#MockClass
   503 Object subclass:#MockClass
   504         instanceVariableNames:''''
   504 	instanceVariableNames:''''
   505         classVariableNames:''''
   505 	classVariableNames:''''
   506         poolDictionaries:''''
   506 	poolDictionaries:''''
   507         category:''tests-Regression-Mocks''
   507 	category:''tests-Regression-Mocks''
   508 ' readStream.
   508 ' readStream.
   509 
   509 
   510     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   510     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   511         cs apply.
   511 	cs apply.
   512     ].
   512     ].
   513     self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
   513     self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
   514     self assert: (Smalltalk at: #'Mocks::MockClass') name ==  #'Mocks::MockClass'.
   514     self assert: (Smalltalk at: #'Mocks::MockClass') name ==  #'Mocks::MockClass'.
   515 
   515 
   516     "Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   516     "Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   522 
   522 
   523     changefile :='
   523     changefile :='
   524 "{ NameSpace: Mocks }"
   524 "{ NameSpace: Mocks }"
   525 
   525 
   526 Object subclass:#MockClass
   526 Object subclass:#MockClass
   527         instanceVariableNames:''''
   527 	instanceVariableNames:''''
   528         classVariableNames:''''
   528 	classVariableNames:''''
   529         poolDictionaries:''''
   529 	poolDictionaries:''''
   530         category:''tests-Regression-Mocks''
   530 	category:''tests-Regression-Mocks''
   531 ' readStream.
   531 ' readStream.
   532 
   532 
   533     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   533     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   534         changefile readStream fileIn.
   534 	changefile readStream fileIn.
   535     ].
   535     ].
   536     self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
   536     self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
   537     self assert: (Smalltalk at: #'Mocks::MockClass') name ==  #'Mocks::MockClass'.
   537     self assert: (Smalltalk at: #'Mocks::MockClass') name ==  #'Mocks::MockClass'.
   538 
   538 
   539     "Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   539     "Created: / 20-11-2012 / 15:16:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   543 
   543 
   544     | cs |
   544     | cs |
   545 
   545 
   546     cs := ChangeSet fromStream:'
   546     cs := ChangeSet fromStream:'
   547 Object subclass:#MockClass
   547 Object subclass:#MockClass
   548         instanceVariableNames:''''
   548 	instanceVariableNames:''''
   549         classVariableNames:''''
   549 	classVariableNames:''''
   550         poolDictionaries:''''
   550 	poolDictionaries:''''
   551         category:''tests-Regression-Mocks''
   551 	category:''tests-Regression-Mocks''
   552 ' readStream.
   552 ' readStream.
   553 
   553 
   554     cs first nameSpaceOverride: (NameSpace name: #Mocks).
   554     cs first nameSpaceOverride: (NameSpace name: #Mocks).
   555     cs apply.
   555     cs apply.
   556 
   556 
   566 
   566 
   567     cs := ChangeSet fromStream:'
   567     cs := ChangeSet fromStream:'
   568 "{ NameSpace: Mocks2 }"
   568 "{ NameSpace: Mocks2 }"
   569 
   569 
   570 Object subclass:#MockClass
   570 Object subclass:#MockClass
   571         instanceVariableNames:''''
   571 	instanceVariableNames:''''
   572         classVariableNames:''''
   572 	classVariableNames:''''
   573         poolDictionaries:''''
   573 	poolDictionaries:''''
   574         category:''tests-Regression-Mocks''
   574 	category:''tests-Regression-Mocks''
   575 ' readStream.
   575 ' readStream.
   576 
   576 
   577     cs first nameSpaceOverride: (NameSpace name: #Mocks).
   577     cs first nameSpaceOverride: (NameSpace name: #Mocks).
   578     cs apply.
   578     cs apply.
   579 
   579 
   587 
   587 
   588     | cs |
   588     | cs |
   589 
   589 
   590     cs := ChangeSet fromStream:'
   590     cs := ChangeSet fromStream:'
   591 Object subclass:#MockClass
   591 Object subclass:#MockClass
   592         instanceVariableNames:''''
   592 	instanceVariableNames:''''
   593         classVariableNames:''''
   593 	classVariableNames:''''
   594         poolDictionaries:''''
   594 	poolDictionaries:''''
   595         category:''tests-Regression-Mocks''
   595 	category:''tests-Regression-Mocks''
   596 !!
   596 !!
   597 
   597 
   598 Object subclass:#PrivateClass
   598 Object subclass:#PrivateClass
   599         instanceVariableNames:''''
   599 	instanceVariableNames:''''
   600         classVariableNames:''''
   600 	classVariableNames:''''
   601         poolDictionaries:''''
   601 	poolDictionaries:''''
   602         privateIn:MockClass
   602 	privateIn:MockClass
   603 
   603 
   604 
   604 
   605 ' readStream.
   605 ' readStream.
   606 
   606 
   607     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   607     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   608         cs apply.
   608 	cs apply.
   609     ].
   609     ].
   610     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   610     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   611      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given 
   611      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   612      namespace "
   612      namespace "
   613 
   613 
   614     self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
   614     self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
   615     self assert: (Smalltalk at: #'MockClass::PrivateClass') name ==  #'MockClass::PrivateClass'.
   615     self assert: (Smalltalk at: #'MockClass::PrivateClass') name ==  #'MockClass::PrivateClass'.
   616     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
   616     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
   623 
   623 
   624     | changefile |
   624     | changefile |
   625 
   625 
   626     changefile :='
   626     changefile :='
   627 Object subclass:#MockClass
   627 Object subclass:#MockClass
   628         instanceVariableNames:''''
   628 	instanceVariableNames:''''
   629         classVariableNames:''''
   629 	classVariableNames:''''
   630         poolDictionaries:''''
   630 	poolDictionaries:''''
   631         category:''tests-Regression-Mocks''
   631 	category:''tests-Regression-Mocks''
   632 !!
   632 !!
   633 
   633 
   634 Object subclass:#PrivateClass
   634 Object subclass:#PrivateClass
   635         instanceVariableNames:''''
   635 	instanceVariableNames:''''
   636         classVariableNames:''''
   636 	classVariableNames:''''
   637         poolDictionaries:''''
   637 	poolDictionaries:''''
   638         privateIn:MockClass
   638 	privateIn:MockClass
   639 
   639 
   640 
   640 
   641 ' readStream.
   641 ' readStream.
   642 
   642 
   643     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   643     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   644         changefile readStream fileIn.
   644 	changefile readStream fileIn.
   645     ].
   645     ].
   646     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   646     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   647      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   647      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   648      namespace "
   648      namespace "
   649 
   649 
   661 
   661 
   662     cs := ChangeSet fromStream:'
   662     cs := ChangeSet fromStream:'
   663 "{ NameSpace: Mocks2 }"
   663 "{ NameSpace: Mocks2 }"
   664 
   664 
   665 Object subclass:#MockClass
   665 Object subclass:#MockClass
   666         instanceVariableNames:''''
   666 	instanceVariableNames:''''
   667         classVariableNames:''''
   667 	classVariableNames:''''
   668         poolDictionaries:''''
   668 	poolDictionaries:''''
   669         category:''tests-Regression-Mocks''
   669 	category:''tests-Regression-Mocks''
   670 !!
   670 !!
   671 
   671 
   672 Object subclass:#PrivateClass
   672 Object subclass:#PrivateClass
   673         instanceVariableNames:''''
   673 	instanceVariableNames:''''
   674         classVariableNames:''''
   674 	classVariableNames:''''
   675         poolDictionaries:''''
   675 	poolDictionaries:''''
   676         privateIn:MockClass
   676 	privateIn:MockClass
   677 
   677 
   678 
   678 
   679 ' readStream.
   679 ' readStream.
   680 
   680 
   681     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   681     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   682         cs apply.
   682 	cs apply.
   683     ].
   683     ].
   684     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   684     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   685      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given 
   685      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   686      namespace "
   686      namespace "
   687 
   687 
   688     self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
   688     self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') notNil.
   689     self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') name ==  #'Mocks2::MockClass::PrivateClass'.
   689     self assert: (Smalltalk at: #'Mocks2::MockClass::PrivateClass') name ==  #'Mocks2::MockClass::PrivateClass'.
   690     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
   690     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
   699 
   699 
   700     changefile :='
   700     changefile :='
   701 "{ NameSpace: Mocks2 }"
   701 "{ NameSpace: Mocks2 }"
   702 
   702 
   703 Object subclass:#MockClass
   703 Object subclass:#MockClass
   704         instanceVariableNames:''''
   704 	instanceVariableNames:''''
   705         classVariableNames:''''
   705 	classVariableNames:''''
   706         poolDictionaries:''''
   706 	poolDictionaries:''''
   707         category:''tests-Regression-Mocks''
   707 	category:''tests-Regression-Mocks''
   708 !!
   708 !!
   709 
   709 
   710 Object subclass:#PrivateClass
   710 Object subclass:#PrivateClass
   711         instanceVariableNames:''''
   711 	instanceVariableNames:''''
   712         classVariableNames:''''
   712 	classVariableNames:''''
   713         poolDictionaries:''''
   713 	poolDictionaries:''''
   714         privateIn:MockClass
   714 	privateIn:MockClass
   715 
   715 
   716 
   716 
   717 ' readStream.
   717 ' readStream.
   718 
   718 
   719     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   719     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   720         changefile readStream fileIn.
   720 	changefile readStream fileIn.
   721     ].
   721     ].
   722     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   722     "Responding to a nameSpaceQuerySignal should no longer affect change's namespace.
   723      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   723      Use #nameSpaceOverride: or #applyWithNameSpaceOverride: to apply a change in given
   724      namespace "
   724      namespace "
   725 
   725 
   737 
   737 
   738     cs := ChangeSet fromStream:'
   738     cs := ChangeSet fromStream:'
   739 "{ NameSpace: Mocks }"
   739 "{ NameSpace: Mocks }"
   740 
   740 
   741 Object subclass:#MockClass
   741 Object subclass:#MockClass
   742         instanceVariableNames:''''
   742 	instanceVariableNames:''''
   743         classVariableNames:''''
   743 	classVariableNames:''''
   744         poolDictionaries:''''
   744 	poolDictionaries:''''
   745         category:''tests-Regression-Mocks''
   745 	category:''tests-Regression-Mocks''
   746 !!
   746 !!
   747 
   747 
   748 Object subclass:#PrivateClass
   748 Object subclass:#PrivateClass
   749         instanceVariableNames:''''
   749 	instanceVariableNames:''''
   750         classVariableNames:''''
   750 	classVariableNames:''''
   751         poolDictionaries:''''
   751 	poolDictionaries:''''
   752         privateIn:MockClass
   752 	privateIn:MockClass
   753 
   753 
   754 
   754 
   755 ' readStream.
   755 ' readStream.
   756 
   756 
   757     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   757     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   758         cs apply.
   758 	cs apply.
   759     ].
   759     ].
   760     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
   760     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
   761     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name ==  #'Mocks::MockClass::PrivateClass'.
   761     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name ==  #'Mocks::MockClass::PrivateClass'.
   762 
   762 
   763     "Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   763     "Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   769 
   769 
   770     changefile :='
   770     changefile :='
   771 "{ NameSpace: Mocks }"
   771 "{ NameSpace: Mocks }"
   772 
   772 
   773 Object subclass:#MockClass
   773 Object subclass:#MockClass
   774         instanceVariableNames:''''
   774 	instanceVariableNames:''''
   775         classVariableNames:''''
   775 	classVariableNames:''''
   776         poolDictionaries:''''
   776 	poolDictionaries:''''
   777         category:''tests-Regression-Mocks''
   777 	category:''tests-Regression-Mocks''
   778 !!
   778 !!
   779 
   779 
   780 Object subclass:#PrivateClass
   780 Object subclass:#PrivateClass
   781         instanceVariableNames:''''
   781 	instanceVariableNames:''''
   782         classVariableNames:''''
   782 	classVariableNames:''''
   783         poolDictionaries:''''
   783 	poolDictionaries:''''
   784         privateIn:MockClass
   784 	privateIn:MockClass
   785 
   785 
   786 
   786 
   787 ' readStream.
   787 ' readStream.
   788 
   788 
   789     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   789     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
   790         changefile readStream fileIn.
   790 	changefile readStream fileIn.
   791     ].
   791     ].
   792     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
   792     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
   793     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name ==  #'Mocks::MockClass::PrivateClass'.
   793     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') name ==  #'Mocks::MockClass::PrivateClass'.
   794 
   794 
   795     "Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   795     "Created: / 20-11-2012 / 15:33:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   799 
   799 
   800     | cs |
   800     | cs |
   801 
   801 
   802     cs := ChangeSet fromStream:'
   802     cs := ChangeSet fromStream:'
   803 Object subclass:#MockClass
   803 Object subclass:#MockClass
   804         instanceVariableNames:''''
   804 	instanceVariableNames:''''
   805         classVariableNames:''''
   805 	classVariableNames:''''
   806         poolDictionaries:''''
   806 	poolDictionaries:''''
   807         category:''tests-Regression-Mocks''
   807 	category:''tests-Regression-Mocks''
   808 !!
   808 !!
   809 
   809 
   810 Object subclass:#PrivateClass
   810 Object subclass:#PrivateClass
   811         instanceVariableNames:''''
   811 	instanceVariableNames:''''
   812         classVariableNames:''''
   812 	classVariableNames:''''
   813         poolDictionaries:''''
   813 	poolDictionaries:''''
   814         privateIn:MockClass
   814 	privateIn:MockClass
   815 
   815 
   816 
   816 
   817 ' readStream.
   817 ' readStream.
   818 
   818 
   819     cs first nameSpaceOverride: (NameSpace name: #Mocks).
   819     cs first nameSpaceOverride: (NameSpace name: #Mocks).
   832 
   832 
   833     cs := ChangeSet fromStream:'
   833     cs := ChangeSet fromStream:'
   834 "{ NameSpace: Mocks2 }"
   834 "{ NameSpace: Mocks2 }"
   835 
   835 
   836 Object subclass:#MockClass
   836 Object subclass:#MockClass
   837         instanceVariableNames:''''
   837 	instanceVariableNames:''''
   838         classVariableNames:''''
   838 	classVariableNames:''''
   839         poolDictionaries:''''
   839 	poolDictionaries:''''
   840         category:''tests-Regression-Mocks''
   840 	category:''tests-Regression-Mocks''
   841 !!
   841 !!
   842 
   842 
   843 Object subclass:#PrivateClass
   843 Object subclass:#PrivateClass
   844         instanceVariableNames:''''
   844 	instanceVariableNames:''''
   845         classVariableNames:''''
   845 	classVariableNames:''''
   846         poolDictionaries:''''
   846 	poolDictionaries:''''
   847         privateIn:MockClass
   847 	privateIn:MockClass
   848 
   848 
   849 
   849 
   850 ' readStream.
   850 ' readStream.
   851 
   851 
   852     cs first  nameSpaceOverride: (NameSpace name: #Mocks).
   852     cs first  nameSpaceOverride: (NameSpace name: #Mocks).
   864 
   864 
   865     "Test nil superclass"
   865     "Test nil superclass"
   866 
   866 
   867     cs := ChangeSet fromStream:'
   867     cs := ChangeSet fromStream:'
   868 nil subclass:#MockClass
   868 nil subclass:#MockClass
   869         instanceVariableNames:''''
   869 	instanceVariableNames:''''
   870         classVariableNames:''''
   870 	classVariableNames:''''
   871         poolDictionaries:''''
   871 	poolDictionaries:''''
   872         category:''tests-Regression-Mocks''
   872 	category:''tests-Regression-Mocks''
   873 ' readStream.
   873 ' readStream.
   874 
   874 
   875     cs apply.
   875     cs apply.
   876 
   876 
   877     self assert: (Smalltalk at: #MockClass) superclass isNil
   877     self assert: (Smalltalk at: #MockClass) superclass isNil
   884 
   884 
   885     "Test nil superclass"
   885     "Test nil superclass"
   886 
   886 
   887     changefile :='
   887     changefile :='
   888 nil subclass:#MockClass
   888 nil subclass:#MockClass
   889         instanceVariableNames:''''
   889 	instanceVariableNames:''''
   890         classVariableNames:''''
   890 	classVariableNames:''''
   891         poolDictionaries:''''
   891 	poolDictionaries:''''
   892         category:''tests-Regression-Mocks''
   892 	category:''tests-Regression-Mocks''
   893 ' readStream.
   893 ' readStream.
   894 
   894 
   895     changefile readStream fileIn.
   895     changefile readStream fileIn.
   896 
   896 
   897     self assert: (Smalltalk at: #MockClass) superclass isNil
   897     self assert: (Smalltalk at: #MockClass) superclass isNil
   904 
   904 
   905     "Test nil superclass"
   905     "Test nil superclass"
   906 
   906 
   907     cs := ChangeSet fromStream:'
   907     cs := ChangeSet fromStream:'
   908 Object subclass:#ExistingPrivateClass
   908 Object subclass:#ExistingPrivateClass
   909         instanceVariableNames:''''
   909 	instanceVariableNames:''''
   910         classVariableNames:''''
   910 	classVariableNames:''''
   911         poolDictionaries:''''
   911 	poolDictionaries:''''
   912         privateIn:RegressionTests::ChangeSetTests     
   912 	privateIn:RegressionTests::ChangeSetTests
   913 ' readStream.
   913 ' readStream.
   914 
   914 
   915 
   915 
   916     self assert: cs size == 1.
   916     self assert: cs size == 1.
   917     self assert: cs anElement isClassDefinitionChange.
   917     self assert: cs anElement isClassDefinitionChange.
   927 
   927 
   928     cs := ChangeSet fromStream:'
   928     cs := ChangeSet fromStream:'
   929 "{ NameSpace: RegressionTests }"
   929 "{ NameSpace: RegressionTests }"
   930 
   930 
   931 Object subclass:#ExistingPrivateClass
   931 Object subclass:#ExistingPrivateClass
   932         instanceVariableNames:''''
   932 	instanceVariableNames:''''
   933         classVariableNames:''''
   933 	classVariableNames:''''
   934         poolDictionaries:''''
   934 	poolDictionaries:''''
   935         privateIn:ChangeSetTests     
   935 	privateIn:ChangeSetTests
   936 ' readStream.
   936 ' readStream.
   937 
   937 
   938 
   938 
   939     self assert: cs size == 1.
   939     self assert: cs size == 1.
   940     self assert: cs anElement isClassDefinitionChange.
   940     self assert: cs anElement isClassDefinitionChange.
   950 
   950 
   951     cs := ChangeSet fromStream:'
   951     cs := ChangeSet fromStream:'
   952 "{ NameSpace: RegressionTests }"
   952 "{ NameSpace: RegressionTests }"
   953 
   953 
   954 ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
   954 ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
   955         instanceVariableNames:''''
   955 	instanceVariableNames:''''
   956         classVariableNames:''''
   956 	classVariableNames:''''
   957         poolDictionaries:''''
   957 	poolDictionaries:''''
   958         category:''tests-Regression-System-Changes''      
   958 	category:''tests-Regression-System-Changes''
   959 ' readStream.
   959 ' readStream.
   960 
   960 
   961 
   961 
   962     self assert: cs size == 1.
   962     self assert: cs size == 1.
   963     self assert: cs anElement isClassDefinitionChange.
   963     self assert: cs anElement isClassDefinitionChange.
   975 
   975 
   976     cs := ChangeSet fromStream:'
   976     cs := ChangeSet fromStream:'
   977 "{ NameSpace: RegressionTests }"
   977 "{ NameSpace: RegressionTests }"
   978 
   978 
   979 TestCase subclass:#ChangeSetTests
   979 TestCase subclass:#ChangeSetTests
   980         instanceVariableNames:''classes someMoreData''
   980 	instanceVariableNames:''classes someMoreData''
   981         classVariableNames:''''
   981 	classVariableNames:''''
   982         poolDictionaries:''''
   982 	poolDictionaries:''''
   983         category:''tests-Regression-System-Changes''      
   983 	category:''tests-Regression-System-Changes''
   984 ' readStream.
   984 ' readStream.
   985 
   985 
   986 
   986 
   987     self assert: cs size == 1.
   987     self assert: cs size == 1.
   988     self assert: cs anElement isClassDefinitionChange.
   988     self assert: cs anElement isClassDefinitionChange.
   998 
   998 
   999     cs := ChangeSet fromStream:'
   999     cs := ChangeSet fromStream:'
  1000 "{ NameSpace: RegressionTests }"
  1000 "{ NameSpace: RegressionTests }"
  1001 
  1001 
  1002 Object subclass:#ExistingPrivateClass
  1002 Object subclass:#ExistingPrivateClass
  1003         instanceVariableNames:''''
  1003 	instanceVariableNames:''''
  1004         classVariableNames:''''
  1004 	classVariableNames:''''
  1005         poolDictionaries:''''
  1005 	poolDictionaries:''''
  1006         privateIn:ChangeSetTests     
  1006 	privateIn:ChangeSetTests
  1007 ' readStream.
  1007 ' readStream.
  1008 
  1008 
  1009 
  1009 
  1010     self assert: cs size == 1.
  1010     self assert: cs size == 1.
  1011     self assert: cs anElement isClassDefinitionChange.
  1011     self assert: cs anElement isClassDefinitionChange.
  1021 
  1021 
  1022     cs := ChangeSet fromStream:'
  1022     cs := ChangeSet fromStream:'
  1023 "{ NameSpace: RegressionTests }"
  1023 "{ NameSpace: RegressionTests }"
  1024 
  1024 
  1025 Object subclass:#ExistingPrivateClass
  1025 Object subclass:#ExistingPrivateClass
  1026         instanceVariableNames:''''
  1026 	instanceVariableNames:''''
  1027         classVariableNames:''''
  1027 	classVariableNames:''''
  1028         poolDictionaries:''somePool''
  1028 	poolDictionaries:''somePool''
  1029         privateIn:ChangeSetTests     
  1029 	privateIn:ChangeSetTests
  1030 ' readStream.
  1030 ' readStream.
  1031 
  1031 
  1032 
  1032 
  1033     self assert: cs size == 1.
  1033     self assert: cs size == 1.
  1034     self assert: cs anElement isClassDefinitionChange.
  1034     self assert: cs anElement isClassDefinitionChange.
  1044 
  1044 
  1045     cs := ChangeSet fromStream:'
  1045     cs := ChangeSet fromStream:'
  1046 "{ NameSpace: RegressionTests }"
  1046 "{ NameSpace: RegressionTests }"
  1047 
  1047 
  1048 TestCase subclass:#ChangeSetTests2
  1048 TestCase subclass:#ChangeSetTests2
  1049         instanceVariableNames:''classes someMoreData''
  1049 	instanceVariableNames:''classes someMoreData''
  1050         classVariableNames:''''
  1050 	classVariableNames:''''
  1051         poolDictionaries:''''
  1051 	poolDictionaries:''''
  1052         category:''tests-Regression-System-Changes''      
  1052 	category:''tests-Regression-System-Changes''
  1053 ' readStream.
  1053 ' readStream.
  1054 
  1054 
  1055 
  1055 
  1056     self assert: cs size == 1.
  1056     self assert: cs size == 1.
  1057     self assert: cs anElement isClassDefinitionChange.
  1057     self assert: cs anElement isClassDefinitionChange.
  1067 
  1067 
  1068     cs := ChangeSet fromStream:'
  1068     cs := ChangeSet fromStream:'
  1069 "{ NameSpace: RegressionTests }"
  1069 "{ NameSpace: RegressionTests }"
  1070 
  1070 
  1071 Object subclass:#ExistingPrivateClass2
  1071 Object subclass:#ExistingPrivateClass2
  1072         instanceVariableNames:''''
  1072 	instanceVariableNames:''''
  1073         classVariableNames:''''
  1073 	classVariableNames:''''
  1074         poolDictionaries:''''
  1074 	poolDictionaries:''''
  1075         privateIn:ChangeSetTests     
  1075 	privateIn:ChangeSetTests
  1076 ' readStream.
  1076 ' readStream.
  1077 
  1077 
  1078 
  1078 
  1079     self assert: cs size == 1.
  1079     self assert: cs size == 1.
  1080     self assert: cs anElement isClassDefinitionChange.
  1080     self assert: cs anElement isClassDefinitionChange.
  1088 test_ClassInitializeChange_01
  1088 test_ClassInitializeChange_01
  1089 
  1089 
  1090     | cs |
  1090     | cs |
  1091 
  1091 
  1092     Object subclass:#MockClass
  1092     Object subclass:#MockClass
  1093         instanceVariableNames:''
  1093 	instanceVariableNames:''
  1094         classVariableNames:'MockVar'
  1094 	classVariableNames:'MockVar'
  1095         poolDictionaries:''
  1095 	poolDictionaries:''
  1096         category:'tests-Regression-Mocks'.
  1096 	category:'tests-Regression-Mocks'.
  1097     (Smalltalk at: #MockClass) class
  1097     (Smalltalk at: #MockClass) class
  1098         compile: 'initialize MockVar := 1234';
  1098 	compile: 'initialize MockVar := 1234';
  1099         compile: 'mockVar ^MockVar'.
  1099 	compile: 'mockVar ^MockVar'.
  1100 
  1100 
  1101     cs := ChangeSet fromStream:'
  1101     cs := ChangeSet fromStream:'
  1102 MockClass initialize!!
  1102 MockClass initialize!!
  1103 
  1103 
  1104 ' readStream.
  1104 ' readStream.
  1117 test_ClassInitializeChange_02
  1117 test_ClassInitializeChange_02
  1118 
  1118 
  1119     | cs |
  1119     | cs |
  1120 
  1120 
  1121     Object subclass:#MockClass
  1121     Object subclass:#MockClass
  1122         instanceVariableNames:''
  1122 	instanceVariableNames:''
  1123         classVariableNames:'MockVar'
  1123 	classVariableNames:'MockVar'
  1124         poolDictionaries:''
  1124 	poolDictionaries:''
  1125         category:'tests-Regression-Mocks'.
  1125 	category:'tests-Regression-Mocks'.
  1126 
  1126 
  1127     Object subclass:#PrivateClass
  1127     Object subclass:#PrivateClass
  1128         instanceVariableNames:''
  1128 	instanceVariableNames:''
  1129         classVariableNames:'MockVar'
  1129 	classVariableNames:'MockVar'
  1130         poolDictionaries:''
  1130 	poolDictionaries:''
  1131         privateIn:(Smalltalk at: #'MockClass').
  1131 	privateIn:(Smalltalk at: #'MockClass').
  1132 
  1132 
  1133     (Smalltalk at: #'MockClass::PrivateClass') class
  1133     (Smalltalk at: #'MockClass::PrivateClass') class
  1134         compile: 'initialize MockVar := 1234';
  1134 	compile: 'initialize MockVar := 1234';
  1135         compile: 'mockVar ^MockVar'.
  1135 	compile: 'mockVar ^MockVar'.
  1136 
  1136 
  1137     cs := ChangeSet fromStream:'
  1137     cs := ChangeSet fromStream:'
  1138 MockClass::PrivateClass initialize!!
  1138 MockClass::PrivateClass initialize!!
  1139 
  1139 
  1140 ' readStream.
  1140 ' readStream.
  1153 test_ClassInitializeChange_03a
  1153 test_ClassInitializeChange_03a
  1154 
  1154 
  1155     | cs |
  1155     | cs |
  1156 
  1156 
  1157     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1157     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1158         Object subclass:#MockClass
  1158 	Object subclass:#MockClass
  1159             instanceVariableNames:''
  1159 	    instanceVariableNames:''
  1160             classVariableNames:'MockVar'
  1160 	    classVariableNames:'MockVar'
  1161             poolDictionaries:''
  1161 	    poolDictionaries:''
  1162             category:'tests-Regression-Mocks'.
  1162 	    category:'tests-Regression-Mocks'.
  1163     ].
  1163     ].
  1164     (Smalltalk at: #'Mocks::MockClass') class
  1164     (Smalltalk at: #'Mocks::MockClass') class
  1165         compile: 'initialize MockVar := 1234';
  1165 	compile: 'initialize MockVar := 1234';
  1166         compile: 'mockVar ^MockVar'.
  1166 	compile: 'mockVar ^MockVar'.
  1167 
  1167 
  1168 
  1168 
  1169     cs := ChangeSet fromStream:'
  1169     cs := ChangeSet fromStream:'
  1170 "{ NameSpace: Mocks }"
  1170 "{ NameSpace: Mocks }"
  1171 
  1171 
  1188 test_ClassInitializeChange_03b
  1188 test_ClassInitializeChange_03b
  1189 
  1189 
  1190     | cs|
  1190     | cs|
  1191 
  1191 
  1192     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1192     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1193         Object subclass:#MockClass
  1193 	Object subclass:#MockClass
  1194             instanceVariableNames:''
  1194 	    instanceVariableNames:''
  1195             classVariableNames:'MockVar'
  1195 	    classVariableNames:'MockVar'
  1196             poolDictionaries:''
  1196 	    poolDictionaries:''
  1197             category:'tests-Regression-Mocks'.
  1197 	    category:'tests-Regression-Mocks'.
  1198     ].
  1198     ].
  1199     (Smalltalk at: #'Mocks::MockClass') class
  1199     (Smalltalk at: #'Mocks::MockClass') class
  1200         compile: 'initialize MockVar := 1234';
  1200 	compile: 'initialize MockVar := 1234';
  1201         compile: 'mockVar ^MockVar'.
  1201 	compile: 'mockVar ^MockVar'.
  1202 
  1202 
  1203 
  1203 
  1204     cs := ChangeSet fromStream:'
  1204     cs := ChangeSet fromStream:'
  1205 "{ NameSpace: Mocks }"
  1205 "{ NameSpace: Mocks }"
  1206 
  1206 
  1207 !!
  1207 !!
  1208 !!MockClass methodsFor:''methods''!!
  1208 !!MockClass methodsFor:''methods''!!
  1209 
  1209 
  1210 foo     
  1210 foo
  1211 
  1211 
  1212 !! !!
  1212 !! !!
  1213 
  1213 
  1214 MockClass initialize!!
  1214 MockClass initialize!!
  1215 
  1215 
  1231 
  1231 
  1232     | cs |
  1232     | cs |
  1233 
  1233 
  1234     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1234     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1235     Object subclass:#MockClass
  1235     Object subclass:#MockClass
  1236         instanceVariableNames:''
  1236 	instanceVariableNames:''
  1237         classVariableNames:'MockVar'
  1237 	classVariableNames:'MockVar'
  1238         poolDictionaries:''
  1238 	poolDictionaries:''
  1239         category:'tests-Regression-Mocks'.
  1239 	category:'tests-Regression-Mocks'.
  1240 
  1240 
  1241     Object subclass:#PrivateClass
  1241     Object subclass:#PrivateClass
  1242         instanceVariableNames:''
  1242 	instanceVariableNames:''
  1243         classVariableNames:'MockVar'
  1243 	classVariableNames:'MockVar'
  1244         poolDictionaries:''
  1244 	poolDictionaries:''
  1245         privateIn:(Smalltalk at: #'Mocks::MockClass').  
  1245 	privateIn:(Smalltalk at: #'Mocks::MockClass').
  1246 
  1246 
  1247     ].
  1247     ].
  1248     (Smalltalk at: #'Mocks::MockClass::PrivateClass') class
  1248     (Smalltalk at: #'Mocks::MockClass::PrivateClass') class
  1249         compile: 'initialize MockVar := 1234';
  1249 	compile: 'initialize MockVar := 1234';
  1250         compile: 'mockVar ^MockVar'.
  1250 	compile: 'mockVar ^MockVar'.
  1251 
  1251 
  1252 
  1252 
  1253     cs := ChangeSet fromStream:'
  1253     cs := ChangeSet fromStream:'
  1254 "{ NameSpace: Mocks }"
  1254 "{ NameSpace: Mocks }"
  1255 
  1255 
  1272 test_ClassInitializeChange_04b
  1272 test_ClassInitializeChange_04b
  1273 
  1273 
  1274     | cs |
  1274     | cs |
  1275 
  1275 
  1276     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1276     Class nameSpaceQuerySignal answer: (NameSpace name: #Mocks) do:[
  1277         Object subclass:#MockClass
  1277 	Object subclass:#MockClass
  1278             instanceVariableNames:''
  1278 	    instanceVariableNames:''
  1279             classVariableNames:'MockVar'
  1279 	    classVariableNames:'MockVar'
  1280             poolDictionaries:''
  1280 	    poolDictionaries:''
  1281             category:'tests-Regression-Mocks'.
  1281 	    category:'tests-Regression-Mocks'.
  1282 
  1282 
  1283         Object subclass:#PrivateClass
  1283 	Object subclass:#PrivateClass
  1284             instanceVariableNames:''
  1284 	    instanceVariableNames:''
  1285             classVariableNames:'MockVar'
  1285 	    classVariableNames:'MockVar'
  1286             poolDictionaries:''
  1286 	    poolDictionaries:''
  1287             privateIn:(Smalltalk at: #'Mocks::MockClass').  
  1287 	    privateIn:(Smalltalk at: #'Mocks::MockClass').
  1288     ].
  1288     ].
  1289     (Smalltalk at: #'Mocks::MockClass::PrivateClass') class
  1289     (Smalltalk at: #'Mocks::MockClass::PrivateClass') class
  1290         compile: 'initialize MockVar := 1234';
  1290 	compile: 'initialize MockVar := 1234';
  1291         compile: 'mockVar ^MockVar'.
  1291 	compile: 'mockVar ^MockVar'.
  1292 
  1292 
  1293 
  1293 
  1294     cs := ChangeSet fromStream:'
  1294     cs := ChangeSet fromStream:'
  1295 "{ NameSpace: Mocks }"
  1295 "{ NameSpace: Mocks }"
  1296 
  1296 
  1297 !!
  1297 !!
  1298 !!MockClass methodsFor:''methods''!!
  1298 !!MockClass methodsFor:''methods''!!
  1299 
  1299 
  1300 foo   
  1300 foo
  1301 
  1301 
  1302 !! !!
  1302 !! !!
  1303 
  1303 
  1304 MockClass::PrivateClass initialize!!
  1304 MockClass::PrivateClass initialize!!
  1305 
  1305 
  1345 
  1345 
  1346     | cs |
  1346     | cs |
  1347 
  1347 
  1348     cs := ChangeSet fromStream:'
  1348     cs := ChangeSet fromStream:'
  1349 Object subclass:#MockClass
  1349 Object subclass:#MockClass
  1350         instanceVariableNames:''''
  1350 	instanceVariableNames:''''
  1351         classVariableNames:''''
  1351 	classVariableNames:''''
  1352         poolDictionaries:''''
  1352 	poolDictionaries:''''
  1353         category:''tests-Regression-Mocks''
  1353 	category:''tests-Regression-Mocks''
  1354 !!
  1354 !!
  1355 
  1355 
  1356 !!MockClass methodsFor:''methods''!!
  1356 !!MockClass methodsFor:''methods''!!
  1357 
  1357 
  1358 foo
  1358 foo
  1376 
  1376 
  1377     | changefile |
  1377     | changefile |
  1378 
  1378 
  1379     changefile :='
  1379     changefile :='
  1380 Object subclass:#MockClass
  1380 Object subclass:#MockClass
  1381         instanceVariableNames:''''
  1381 	instanceVariableNames:''''
  1382         classVariableNames:''''
  1382 	classVariableNames:''''
  1383         poolDictionaries:''''
  1383 	poolDictionaries:''''
  1384         category:''tests-Regression-Mocks''
  1384 	category:''tests-Regression-Mocks''
  1385 !!
  1385 !!
  1386 
  1386 
  1387 !!MockClass methodsFor:''methods''!!
  1387 !!MockClass methodsFor:''methods''!!
  1388 
  1388 
  1389 foo
  1389 foo
  1407 
  1407 
  1408     cs := ChangeSet fromStream:'
  1408     cs := ChangeSet fromStream:'
  1409 "{ NameSpace: Mocks }"
  1409 "{ NameSpace: Mocks }"
  1410 
  1410 
  1411 Object subclass:#MockClass
  1411 Object subclass:#MockClass
  1412         instanceVariableNames:''''
  1412 	instanceVariableNames:''''
  1413         classVariableNames:''''
  1413 	classVariableNames:''''
  1414         poolDictionaries:''''
  1414 	poolDictionaries:''''
  1415         category:''tests-Regression-Mocks''
  1415 	category:''tests-Regression-Mocks''
  1416 !!
  1416 !!
  1417 
  1417 
  1418 !!MockClass methodsFor:''methods''!!
  1418 !!MockClass methodsFor:''methods''!!
  1419 
  1419 
  1420 foo
  1420 foo
  1440 
  1440 
  1441     changefile :='
  1441     changefile :='
  1442 "{ NameSpace: Mocks }"
  1442 "{ NameSpace: Mocks }"
  1443 
  1443 
  1444 Object subclass:#MockClass
  1444 Object subclass:#MockClass
  1445         instanceVariableNames:''''
  1445 	instanceVariableNames:''''
  1446         classVariableNames:''''
  1446 	classVariableNames:''''
  1447         poolDictionaries:''''
  1447 	poolDictionaries:''''
  1448         category:''tests-Regression-Mocks''
  1448 	category:''tests-Regression-Mocks''
  1449 !!
  1449 !!
  1450 
  1450 
  1451 !!MockClass methodsFor:''methods''!!
  1451 !!MockClass methodsFor:''methods''!!
  1452 
  1452 
  1453 foo
  1453 foo
  1467 
  1467 
  1468 test_MethodDefinitionChange_02a
  1468 test_MethodDefinitionChange_02a
  1469     "Tests whether all method changes have package properly set when reading
  1469     "Tests whether all method changes have package properly set when reading
  1470      extension container"
  1470      extension container"
  1471 
  1471 
  1472     | cs |                                       
  1472     | cs |
  1473 
  1473 
  1474     cs := ChangeSet fromStream:'"{ Package: ''stx:libtool'' }"!!
  1474     cs := ChangeSet fromStream:'"{ Package: ''stx:libtool'' }"!!
  1475 
  1475 
  1476 !!AbstractSyntaxHighlighter class methodsFor:''api highlighting''!!
  1476 !!AbstractSyntaxHighlighter class methodsFor:''api highlighting''!!
  1477 
  1477 
  1503 
  1503 
  1504     | cs |
  1504     | cs |
  1505 
  1505 
  1506     cs := ChangeSet fromStream:'
  1506     cs := ChangeSet fromStream:'
  1507 Object subclass:#MockClass
  1507 Object subclass:#MockClass
  1508         instanceVariableNames:''''
  1508 	instanceVariableNames:''''
  1509         classVariableNames:''''
  1509 	classVariableNames:''''
  1510         poolDictionaries:''''
  1510 	poolDictionaries:''''
  1511         category:''tests-Regression-Mocks''
  1511 	category:''tests-Regression-Mocks''
  1512 !!
  1512 !!
  1513 
  1513 
  1514 Object subclass:#PrivateClass
  1514 Object subclass:#PrivateClass
  1515         instanceVariableNames:''''
  1515 	instanceVariableNames:''''
  1516         classVariableNames:''''
  1516 	classVariableNames:''''
  1517         poolDictionaries:''''
  1517 	poolDictionaries:''''
  1518         privateIn:MockClass
  1518 	privateIn:MockClass
  1519 !!
  1519 !!
  1520 
  1520 
  1521 !!MockClass::PrivateClass methodsFor:''methods''!!
  1521 !!MockClass::PrivateClass methodsFor:''methods''!!
  1522 
  1522 
  1523 foo
  1523 foo
  1540 
  1540 
  1541     | changefile |
  1541     | changefile |
  1542 
  1542 
  1543     changefile :='
  1543     changefile :='
  1544 Object subclass:#MockClass
  1544 Object subclass:#MockClass
  1545         instanceVariableNames:''''
  1545 	instanceVariableNames:''''
  1546         classVariableNames:''''
  1546 	classVariableNames:''''
  1547         poolDictionaries:''''
  1547 	poolDictionaries:''''
  1548         category:''tests-Regression-Mocks''
  1548 	category:''tests-Regression-Mocks''
  1549 !!
  1549 !!
  1550 
  1550 
  1551 Object subclass:#PrivateClass
  1551 Object subclass:#PrivateClass
  1552         instanceVariableNames:''''
  1552 	instanceVariableNames:''''
  1553         classVariableNames:''''
  1553 	classVariableNames:''''
  1554         poolDictionaries:''''
  1554 	poolDictionaries:''''
  1555         privateIn:MockClass
  1555 	privateIn:MockClass
  1556 !!
  1556 !!
  1557 
  1557 
  1558 !!MockClass::PrivateClass methodsFor:''methods''!!
  1558 !!MockClass::PrivateClass methodsFor:''methods''!!
  1559 
  1559 
  1560 foo
  1560 foo
  1579 
  1579 
  1580     cs := ChangeSet fromStream:'
  1580     cs := ChangeSet fromStream:'
  1581 "{ NameSpace: Mocks }"
  1581 "{ NameSpace: Mocks }"
  1582 
  1582 
  1583 Object subclass:#MockClass
  1583 Object subclass:#MockClass
  1584         instanceVariableNames:''''
  1584 	instanceVariableNames:''''
  1585         classVariableNames:''''
  1585 	classVariableNames:''''
  1586         poolDictionaries:''''
  1586 	poolDictionaries:''''
  1587         category:''tests-Regression-Mocks''
  1587 	category:''tests-Regression-Mocks''
  1588 !!
  1588 !!
  1589 
  1589 
  1590 Object subclass:#PrivateClass
  1590 Object subclass:#PrivateClass
  1591         instanceVariableNames:''''
  1591 	instanceVariableNames:''''
  1592         classVariableNames:''''
  1592 	classVariableNames:''''
  1593         poolDictionaries:''''
  1593 	poolDictionaries:''''
  1594         privateIn:MockClass
  1594 	privateIn:MockClass
  1595 !!
  1595 !!
  1596 
  1596 
  1597 !!MockClass::PrivateClass methodsFor:''methods''!!
  1597 !!MockClass::PrivateClass methodsFor:''methods''!!
  1598 
  1598 
  1599 foo
  1599 foo
  1618 
  1618 
  1619     changefile :='
  1619     changefile :='
  1620 "{ NameSpace: Mocks }"
  1620 "{ NameSpace: Mocks }"
  1621 
  1621 
  1622 Object subclass:#MockClass
  1622 Object subclass:#MockClass
  1623         instanceVariableNames:''''
  1623 	instanceVariableNames:''''
  1624         classVariableNames:''''
  1624 	classVariableNames:''''
  1625         poolDictionaries:''''
  1625 	poolDictionaries:''''
  1626         category:''tests-Regression-Mocks''
  1626 	category:''tests-Regression-Mocks''
  1627 !!
  1627 !!
  1628 
  1628 
  1629 Object subclass:#PrivateClass
  1629 Object subclass:#PrivateClass
  1630         instanceVariableNames:''''
  1630 	instanceVariableNames:''''
  1631         classVariableNames:''''
  1631 	classVariableNames:''''
  1632         poolDictionaries:''''
  1632 	poolDictionaries:''''
  1633         privateIn:MockClass
  1633 	privateIn:MockClass
  1634 !!
  1634 !!
  1635 
  1635 
  1636 !!MockClass::PrivateClass methodsFor:''methods''!!
  1636 !!MockClass::PrivateClass methodsFor:''methods''!!
  1637 
  1637 
  1638 foo
  1638 foo
  1677     self assert: (Smalltalk at: #'MockClass') isNil.
  1677     self assert: (Smalltalk at: #'MockClass') isNil.
  1678     self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
  1678     self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
  1679 
  1679 
  1680 
  1680 
  1681     Object subclass:#MockClass
  1681     Object subclass:#MockClass
  1682         instanceVariableNames:''
  1682 	instanceVariableNames:''
  1683         classVariableNames:''
  1683 	classVariableNames:''
  1684         poolDictionaries:''
  1684 	poolDictionaries:''
  1685         category:'tests-Regression-System-Changes'.
  1685 	category:'tests-Regression-System-Changes'.
  1686 
  1686 
  1687     Object subclass: #PrivateClass
  1687     Object subclass: #PrivateClass
  1688         instanceVariableNames: ''
  1688 	instanceVariableNames: ''
  1689         classVariableNames: ''
  1689 	classVariableNames: ''
  1690         poolDictionaries: ''
  1690 	poolDictionaries: ''
  1691         privateIn: (Smalltalk at: #'MockClass').
  1691 	privateIn: (Smalltalk at: #'MockClass').
  1692 
  1692 
  1693 
  1693 
  1694     changefile :='
  1694     changefile :='
  1695 !!MockClass::PrivateClass methodsFor:''methods''!!
  1695 !!MockClass::PrivateClass methodsFor:''methods''!!
  1696 
  1696 
  1697 foo
  1697 foo
  1698 
  1698 
  1699 !! !!
  1699 !! !!
  1700 ' readStream.
  1700 ' readStream.
  1701     changefile readStream fileIn.  
  1701     changefile readStream fileIn.
  1702 
  1702 
  1703     self assert: (Smalltalk at: #'MockClass') notNil.
  1703     self assert: (Smalltalk at: #'MockClass') notNil.
  1704     self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
  1704     self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
  1705     self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo)
  1705     self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo)
  1706 
  1706 
  1738     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
  1738     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') isNil.
  1739 
  1739 
  1740     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
  1740     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
  1741 
  1741 
  1742     Object subclass:#MockClass
  1742     Object subclass:#MockClass
  1743         instanceVariableNames:''
  1743 	instanceVariableNames:''
  1744         classVariableNames:''
  1744 	classVariableNames:''
  1745         poolDictionaries:''
  1745 	poolDictionaries:''
  1746         category:'tests-Regression-System-Changes'.
  1746 	category:'tests-Regression-System-Changes'.
  1747 
  1747 
  1748     Object subclass: #PrivateClass
  1748     Object subclass: #PrivateClass
  1749         instanceVariableNames: ''
  1749 	instanceVariableNames: ''
  1750         classVariableNames: ''
  1750 	classVariableNames: ''
  1751         poolDictionaries: ''
  1751 	poolDictionaries: ''
  1752         privateIn: (Smalltalk at: #'Mocks::MockClass').
  1752 	privateIn: (Smalltalk at: #'Mocks::MockClass').
  1753     ].
  1753     ].
  1754 
  1754 
  1755 
  1755 
  1756     changefile :='
  1756     changefile :='
  1757 "{ NameSpace: Mocks }"
  1757 "{ NameSpace: Mocks }"
  1758 
  1758 
  1759 !!       
  1759 !!
  1760 !!MockClass::PrivateClass methodsFor:''methods''!!
  1760 !!MockClass::PrivateClass methodsFor:''methods''!!
  1761 
  1761 
  1762 foo
  1762 foo
  1763 
  1763 
  1764 !! !!
  1764 !! !!
  1765 ' readStream.
  1765 ' readStream.
  1766     changefile readStream fileIn.  
  1766     changefile readStream fileIn.
  1767 
  1767 
  1768     self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
  1768     self assert: (Smalltalk at: #'Mocks::MockClass') notNil.
  1769     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
  1769     self assert: (Smalltalk at: #'Mocks::MockClass::PrivateClass') notNil.
  1770     self assert: ((Smalltalk at: #'Mocks::MockClass::PrivateClass') methodDictionary includesKey:#foo)
  1770     self assert: ((Smalltalk at: #'Mocks::MockClass::PrivateClass') methodDictionary includesKey:#foo)
  1771 
  1771 
  1788 !!
  1788 !!
  1789 !!MockClass2::PrivateClass methodsFor:''methods''!!
  1789 !!MockClass2::PrivateClass methodsFor:''methods''!!
  1790 
  1790 
  1791 bar
  1791 bar
  1792 
  1792 
  1793 !! !!       
  1793 !! !!
  1794 
  1794 
  1795 ' readStream.
  1795 ' readStream.
  1796 
  1796 
  1797     self assert: cs size == 2.
  1797     self assert: cs size == 2.
  1798     self assert: cs first className = 'MockClass::PrivateClass'.
  1798     self assert: cs first className = 'MockClass::PrivateClass'.
  1810     self assert: (Smalltalk at: #'MockClass') isNil.
  1810     self assert: (Smalltalk at: #'MockClass') isNil.
  1811     self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
  1811     self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
  1812 
  1812 
  1813 
  1813 
  1814     Object subclass:#MockClass
  1814     Object subclass:#MockClass
  1815         instanceVariableNames:''
  1815 	instanceVariableNames:''
  1816         classVariableNames:''
  1816 	classVariableNames:''
  1817         poolDictionaries:''
  1817 	poolDictionaries:''
  1818         category:'tests-Regression-System-Changes'.
  1818 	category:'tests-Regression-System-Changes'.
  1819 
  1819 
  1820     Object subclass: #PrivateClass
  1820     Object subclass: #PrivateClass
  1821         instanceVariableNames: ''
  1821 	instanceVariableNames: ''
  1822         classVariableNames: ''
  1822 	classVariableNames: ''
  1823         poolDictionaries: ''
  1823 	poolDictionaries: ''
  1824         privateIn: (Smalltalk at: #'MockClass').      
  1824 	privateIn: (Smalltalk at: #'MockClass').
  1825 
  1825 
  1826     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
  1826     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
  1827 
  1827 
  1828     Object subclass:#MockClass2
  1828     Object subclass:#MockClass2
  1829         instanceVariableNames:''
  1829 	instanceVariableNames:''
  1830         classVariableNames:''
  1830 	classVariableNames:''
  1831         poolDictionaries:''
  1831 	poolDictionaries:''
  1832         category:'tests-Regression-System-Changes'.
  1832 	category:'tests-Regression-System-Changes'.
  1833 
  1833 
  1834     Object subclass: #PrivateClass
  1834     Object subclass: #PrivateClass
  1835         instanceVariableNames: ''
  1835 	instanceVariableNames: ''
  1836         classVariableNames: ''
  1836 	classVariableNames: ''
  1837         poolDictionaries: ''
  1837 	poolDictionaries: ''
  1838         privateIn: (Smalltalk at: #'Mocks::MockClass2').
  1838 	privateIn: (Smalltalk at: #'Mocks::MockClass2').
  1839     ].             
  1839     ].
  1840 
  1840 
  1841     changefile :='
  1841     changefile :='
  1842 !!MockClass::PrivateClass methodsFor:''methods''!!
  1842 !!MockClass::PrivateClass methodsFor:''methods''!!
  1843 
  1843 
  1844 foo
  1844 foo
  1885 !!
  1885 !!
  1886 !!MockClass2::PrivateClass methodsFor:''methods''!!
  1886 !!MockClass2::PrivateClass methodsFor:''methods''!!
  1887 
  1887 
  1888 bar
  1888 bar
  1889 
  1889 
  1890 !! !!       
  1890 !! !!
  1891 
  1891 
  1892 ' readStream.
  1892 ' readStream.
  1893 
  1893 
  1894     self assert: cs size == 2.
  1894     self assert: cs size == 2.
  1895     self assert: cs first className = 'MockClass::PrivateClass'.
  1895     self assert: cs first className = 'MockClass::PrivateClass'.
  1905     | changefile |
  1905     | changefile |
  1906 
  1906 
  1907     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
  1907     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
  1908 
  1908 
  1909     Object subclass:#MockClass
  1909     Object subclass:#MockClass
  1910         instanceVariableNames:''
  1910 	instanceVariableNames:''
  1911         classVariableNames:''
  1911 	classVariableNames:''
  1912         poolDictionaries:''
  1912 	poolDictionaries:''
  1913         category:'tests-Regression-System-Changes'.
  1913 	category:'tests-Regression-System-Changes'.
  1914 
  1914 
  1915     Object subclass: #PrivateClass
  1915     Object subclass: #PrivateClass
  1916         instanceVariableNames: ''
  1916 	instanceVariableNames: ''
  1917         classVariableNames: ''
  1917 	classVariableNames: ''
  1918         poolDictionaries: ''
  1918 	poolDictionaries: ''
  1919         privateIn: (Smalltalk at: #'Mocks2::MockClass').      
  1919 	privateIn: (Smalltalk at: #'Mocks2::MockClass').
  1920 
  1920 
  1921     ].
  1921     ].
  1922 
  1922 
  1923     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
  1923     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks') do:[
  1924 
  1924 
  1925     Object subclass:#MockClass2
  1925     Object subclass:#MockClass2
  1926         instanceVariableNames:''
  1926 	instanceVariableNames:''
  1927         classVariableNames:''
  1927 	classVariableNames:''
  1928         poolDictionaries:''
  1928 	poolDictionaries:''
  1929         category:'tests-Regression-System-Changes'.
  1929 	category:'tests-Regression-System-Changes'.
  1930 
  1930 
  1931     Object subclass: #PrivateClass
  1931     Object subclass: #PrivateClass
  1932         instanceVariableNames: ''
  1932 	instanceVariableNames: ''
  1933         classVariableNames: ''
  1933 	classVariableNames: ''
  1934         poolDictionaries: ''
  1934 	poolDictionaries: ''
  1935         privateIn: (Smalltalk at: #'Mocks::MockClass2').
  1935 	privateIn: (Smalltalk at: #'Mocks::MockClass2').
  1936     ].             
  1936     ].
  1937 
  1937 
  1938 
  1938 
  1939     changefile :='
  1939     changefile :='
  1940 "{ NameSpace: Mocks2 }"
  1940 "{ NameSpace: Mocks2 }"
  1941 
  1941 
  1987 !!
  1987 !!
  1988 !!MockClass2::PrivateClass methodsFor:''methods''!!
  1988 !!MockClass2::PrivateClass methodsFor:''methods''!!
  1989 
  1989 
  1990 bar
  1990 bar
  1991 
  1991 
  1992 !! !!       
  1992 !! !!
  1993 
  1993 
  1994 ' readStream.
  1994 ' readStream.
  1995 
  1995 
  1996     self assert: cs size == 2.
  1996     self assert: cs size == 2.
  1997     self assert: cs first className = 'MockClass::PrivateClass'.
  1997     self assert: cs first className = 'MockClass::PrivateClass'.
  2007     | changefile |
  2007     | changefile |
  2008 
  2008 
  2009     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
  2009     Class nameSpaceQuerySignal answer: (NameSpace name: #'Mocks2') do:[
  2010 
  2010 
  2011     Object subclass:#MockClass
  2011     Object subclass:#MockClass
  2012         instanceVariableNames:''
  2012 	instanceVariableNames:''
  2013         classVariableNames:''
  2013 	classVariableNames:''
  2014         poolDictionaries:''
  2014 	poolDictionaries:''
  2015         category:'tests-Regression-System-Changes'.
  2015 	category:'tests-Regression-System-Changes'.
  2016 
  2016 
  2017     Object subclass: #PrivateClass
  2017     Object subclass: #PrivateClass
  2018         instanceVariableNames: ''
  2018 	instanceVariableNames: ''
  2019         classVariableNames: ''
  2019 	classVariableNames: ''
  2020         poolDictionaries: ''
  2020 	poolDictionaries: ''
  2021         privateIn: (Smalltalk at: #'Mocks2::MockClass').      
  2021 	privateIn: (Smalltalk at: #'Mocks2::MockClass').
  2022     ].             
  2022     ].
  2023 
  2023 
  2024     Object subclass:#MockClass2
  2024     Object subclass:#MockClass2
  2025         instanceVariableNames:''
  2025 	instanceVariableNames:''
  2026         classVariableNames:''
  2026 	classVariableNames:''
  2027         poolDictionaries:''
  2027 	poolDictionaries:''
  2028         category:'tests-Regression-System-Changes'.
  2028 	category:'tests-Regression-System-Changes'.
  2029 
  2029 
  2030     Object subclass: #PrivateClass
  2030     Object subclass: #PrivateClass
  2031         instanceVariableNames: ''
  2031 	instanceVariableNames: ''
  2032         classVariableNames: ''
  2032 	classVariableNames: ''
  2033         poolDictionaries: ''
  2033 	poolDictionaries: ''
  2034         privateIn: (Smalltalk at: #'MockClass2').
  2034 	privateIn: (Smalltalk at: #'MockClass2').
  2035 
  2035 
  2036  
  2036 
  2037 
  2037 
  2038     changefile :='
  2038     changefile :='
  2039 "{ NameSpace: Mocks2 }"
  2039 "{ NameSpace: Mocks2 }"
  2040 
  2040 
  2041 !!
  2041 !!
  2073 
  2073 
  2074     cs := ChangeSet fromStream:'
  2074     cs := ChangeSet fromStream:'
  2075 "{ Package: ''mocks:ChangeSetTests'' }"
  2075 "{ Package: ''mocks:ChangeSetTests'' }"
  2076 
  2076 
  2077 Object subclass:#MockClass
  2077 Object subclass:#MockClass
  2078         instanceVariableNames:''''
  2078 	instanceVariableNames:''''
  2079         classVariableNames:''''
  2079 	classVariableNames:''''
  2080         poolDictionaries:''''
  2080 	poolDictionaries:''''
  2081         category:''tests-Regression-Mocks''
  2081 	category:''tests-Regression-Mocks''
  2082 !!
  2082 !!
  2083 
  2083 
  2084 !!MockClass methodsFor:''methods''!!
  2084 !!MockClass methodsFor:''methods''!!
  2085 
  2085 
  2086 foo
  2086 foo
  2109 
  2109 
  2110     changefile :='
  2110     changefile :='
  2111 "{ Package: ''mocks:ChangeSetTests'' }"
  2111 "{ Package: ''mocks:ChangeSetTests'' }"
  2112 
  2112 
  2113 Object subclass:#MockClass
  2113 Object subclass:#MockClass
  2114         instanceVariableNames:''''
  2114 	instanceVariableNames:''''
  2115         classVariableNames:''''
  2115 	classVariableNames:''''
  2116         poolDictionaries:''''
  2116 	poolDictionaries:''''
  2117         category:''tests-Regression-Mocks''
  2117 	category:''tests-Regression-Mocks''
  2118 !!
  2118 !!
  2119 
  2119 
  2120 !!MockClass methodsFor:''methods''!!
  2120 !!MockClass methodsFor:''methods''!!
  2121 
  2121 
  2122 foo
  2122 foo
  2164     self assert: (Smalltalk at: #'MockClass') isNil.
  2164     self assert: (Smalltalk at: #'MockClass') isNil.
  2165     self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
  2165     self assert: (Smalltalk at: #'MockClass::PrivateClass') isNil.
  2166 
  2166 
  2167 
  2167 
  2168     Object subclass:#MockClass
  2168     Object subclass:#MockClass
  2169         instanceVariableNames:''
  2169 	instanceVariableNames:''
  2170         classVariableNames:''
  2170 	classVariableNames:''
  2171         poolDictionaries:''
  2171 	poolDictionaries:''
  2172         category:'tests-Regression-System-Changes'.
  2172 	category:'tests-Regression-System-Changes'.
  2173 
  2173 
  2174     Object subclass: #PrivateClass
  2174     Object subclass: #PrivateClass
  2175         instanceVariableNames: ''
  2175 	instanceVariableNames: ''
  2176         classVariableNames: ''
  2176 	classVariableNames: ''
  2177         poolDictionaries: ''
  2177 	poolDictionaries: ''
  2178         privateIn: (Smalltalk at: #'MockClass').
  2178 	privateIn: (Smalltalk at: #'MockClass').
  2179 
  2179 
  2180 
  2180 
  2181     changefile :='
  2181     changefile :='
  2182 "{ Package: ''mocks:ChangeSetTests'' }"
  2182 "{ Package: ''mocks:ChangeSetTests'' }"
  2183 
  2183 
  2186 
  2186 
  2187 foo
  2187 foo
  2188 
  2188 
  2189 !! !!
  2189 !! !!
  2190 ' readStream.
  2190 ' readStream.
  2191     changefile readStream fileIn.  
  2191     changefile readStream fileIn.
  2192 
  2192 
  2193     self assert: (Smalltalk at: #'MockClass') notNil.
  2193     self assert: (Smalltalk at: #'MockClass') notNil.
  2194     self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
  2194     self assert: (Smalltalk at: #'MockClass::PrivateClass') notNil.
  2195     self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo).
  2195     self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary includesKey:#foo).
  2196     self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary at: #foo) package = 'mocks:ChangeSetTests'.
  2196     self assert: ((Smalltalk at: #'MockClass::PrivateClass') methodDictionary at: #foo) package = 'mocks:ChangeSetTests'.
  2199 !
  2199 !
  2200 
  2200 
  2201 test_MethodDefinitionChange_jextension_01a
  2201 test_MethodDefinitionChange_jextension_01a
  2202     "Tests Java extensios - used by stx:libjava (see stx/libjava/java/extensions/**/*.st"
  2202     "Tests Java extensios - used by stx:libjava (see stx/libjava/java/extensions/**/*.st"
  2203 
  2203 
  2204     | cs |                                       
  2204     | cs |
  2205 
  2205 
  2206     cs := ChangeSet fromStream:'
  2206     cs := ChangeSet fromStream:'
  2207 !!(Java classForName:''java.lang.Long'') class methodsFor:''queries''!!
  2207 !!(Java classForName:''java.lang.Long'') class methodsFor:''queries''!!
  2208 
  2208 
  2209 javaWrap: object
  2209 javaWrap: object
  2210         |inst|
  2210 	|inst|
  2211     inst := self basicNew.
  2211     inst := self basicNew.
  2212     inst perform: #''<init>(J)V'' with: object with: nil.
  2212     inst perform: #''<init>(J)V'' with: object with: nil.
  2213         ^ inst.
  2213 	^ inst.
  2214 !! !!
  2214 !! !!
  2215 ' readStream.
  2215 ' readStream.
  2216 
  2216 
  2217     self assert: cs size == 1.
  2217     self assert: cs size == 1.
  2218 
  2218 
  2220 !
  2220 !
  2221 
  2221 
  2222 test_MethodDefinitionChange_jextension_01b
  2222 test_MethodDefinitionChange_jextension_01b
  2223     "Tests Java extensios - used by stx:libjava (see stx/libjava/java/extensions/**/*.st"
  2223     "Tests Java extensios - used by stx:libjava (see stx/libjava/java/extensions/**/*.st"
  2224 
  2224 
  2225     | cs |                                       
  2225     | cs |
  2226 
  2226 
  2227     cs := ChangeSet fromStream:'
  2227     cs := ChangeSet fromStream:'
  2228 !!(Java classForName:''java.lang.Long'') methodsFor:''queries''!!
  2228 !!(Java classForName:''java.lang.Long'') methodsFor:''queries''!!
  2229 
  2229 
  2230 javaWrap: object
  2230 javaWrap: object
  2231         |inst|
  2231 	|inst|
  2232     inst := self basicNew.
  2232     inst := self basicNew.
  2233     inst perform: #''<init>(J)V'' with: object with: nil.
  2233     inst perform: #''<init>(J)V'' with: object with: nil.
  2234         ^ inst.
  2234 	^ inst.
  2235 !! !!
  2235 !! !!
  2236 ' readStream.
  2236 ' readStream.
  2237 
  2237 
  2238     self assert: cs size == 1.
  2238     self assert: cs size == 1.
  2239 
  2239 
  2255     cs := ChangeSet fromStream:'"{ Encoding: utf8 }" !!
  2255     cs := ChangeSet fromStream:'"{ Encoding: utf8 }" !!
  2256 ''---- timestamp jv@sao 05-10-2013 01:57:54 ----''!!
  2256 ''---- timestamp jv@sao 05-10-2013 01:57:54 ----''!!
  2257 "{ Package: ''some:funny/package'' }"
  2257 "{ Package: ''some:funny/package'' }"
  2258 
  2258 
  2259 Object subclass:#Mock1
  2259 Object subclass:#Mock1
  2260         instanceVariableNames:''''
  2260 	instanceVariableNames:''''
  2261         classVariableNames:''''
  2261 	classVariableNames:''''
  2262         poolDictionaries:''''
  2262 	poolDictionaries:''''
  2263         category:''* Mocks *''
  2263 	category:''* Mocks *''
  2264 !!
  2264 !!
  2265 !!Object methodsFor:''* mocks * ''!!
  2265 !!Object methodsFor:''* mocks * ''!!
  2266 
  2266 
  2267 someMethod  
  2267 someMethod
  2268     ^ 1
  2268     ^ 1
  2269 
  2269 
  2270 !! !!
  2270 !! !!
  2271 
  2271 
  2272 ' readStream.    
  2272 ' readStream.
  2273 
  2273 
  2274     self assert: cs size == 3.
  2274     self assert: cs size == 3.
  2275     self assert: cs second package = 'some:funny/package'.
  2275     self assert: cs second package = 'some:funny/package'.
  2276     self assert: cs third package isNil.
  2276     self assert: cs third package isNil.
  2277 
  2277 
  2289     cs := ChangeSet fromStream:'"{ Encoding: utf8 }" !!
  2289     cs := ChangeSet fromStream:'"{ Encoding: utf8 }" !!
  2290 ''---- timestamp jv@sao 05-10-2013 01:57:54 ----''!!
  2290 ''---- timestamp jv@sao 05-10-2013 01:57:54 ----''!!
  2291 "{ Package: ''some:funny/package'' }"
  2291 "{ Package: ''some:funny/package'' }"
  2292 !!
  2292 !!
  2293 Object subclass:#Mock1
  2293 Object subclass:#Mock1
  2294         instanceVariableNames:''''
  2294 	instanceVariableNames:''''
  2295         classVariableNames:''''
  2295 	classVariableNames:''''
  2296         poolDictionaries:''''
  2296 	poolDictionaries:''''
  2297         category:''* Mocks *''
  2297 	category:''* Mocks *''
  2298 !!
  2298 !!
  2299 !!Object methodsFor:''* mocks * ''!!
  2299 !!Object methodsFor:''* mocks * ''!!
  2300 
  2300 
  2301 someMethod  
  2301 someMethod
  2302     ^ 1
  2302     ^ 1
  2303 
  2303 
  2304 !! !!
  2304 !! !!
  2305 
  2305 
  2306 ' readStream.    
  2306 ' readStream.
  2307 
  2307 
  2308     self assert: cs size == 3.
  2308     self assert: cs size == 3.
  2309     self assert: cs second package = 'some:funny/package'.
  2309     self assert: cs second package = 'some:funny/package'.
  2310     self assert: cs third package = 'some:funny/package'.
  2310     self assert: cs third package = 'some:funny/package'.
  2311 
  2311 
  2319     | cs |
  2319     | cs |
  2320     cs := ChangeSet fromStream:'""{ Encoding: utf8 }"
  2320     cs := ChangeSet fromStream:'""{ Encoding: utf8 }"
  2321 
  2321 
  2322 ''From Smalltalk/X, Version:6.2.4.0 on 05-08-2014 at 10:57:51''                   !!
  2322 ''From Smalltalk/X, Version:6.2.4.0 on 05-08-2014 at 10:57:51''                   !!
  2323 
  2323 
  2324 "{ Package: ''exept:regression'' }"
  2324 "{ Package: ''stx:goodies/regression'' }"
  2325 
  2325 
  2326 "{ NameSpace: RegressionTests }"
  2326 "{ NameSpace: RegressionTests }"
  2327 
  2327 
  2328 ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
  2328 ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
  2329         instanceVariableNames:''''
  2329 	instanceVariableNames:''''
  2330         classVariableNames:''''
  2330 	classVariableNames:''''
  2331         poolDictionaries:''''
  2331 	poolDictionaries:''''
  2332         category:''tests-Regression-System-Changes''
  2332 	category:''tests-Regression-System-Changes''
  2333 !!
  2333 !!
  2334 
  2334 
  2335 !!ChangeSetTests methodsFor:''private''!!
  2335 !!ChangeSetTests methodsFor:''private''!!
  2336 
  2336 
  2337 performTest
  2337 performTest
  2338     ^Class withoutUpdatingChangesDo:[
  2338     ^Class withoutUpdatingChangesDo:[
  2339         super performTest
  2339 	super performTest
  2340     ]
  2340     ]
  2341 
  2341 
  2342 !! !!' readStream.
  2342 !! !!' readStream.
  2343 
  2343 
  2344     self assert: cs size == 2.
  2344     self assert: cs size == 2.
  2345     self assert: cs first  package = 'exept:regression'.
  2345     self assert: cs first  package = 'stx:goodies/regression'.
  2346     self assert: cs second package = 'exept:regression'.
  2346     self assert: cs second package = 'stx:goodies/regression'.
  2347 
  2347 
  2348     "Created: / 05-08-2014 / 10:59:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2348     "Created: / 05-08-2014 / 10:59:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  2349 !
  2349 !
  2350 
  2350 
  2351 test_misc_package_03a
  2351 test_misc_package_03a
  2479     "skip count bytes/characters, return the receiver.
  2479     "skip count bytes/characters, return the receiver.
  2480      Re-redefined since PositionableStream redefined it."
  2480      Re-redefined since PositionableStream redefined it."
  2481 
  2481 
  2482     "don't know how to unread ..."
  2482     "don't know how to unread ..."
  2483     numberToSkip < 0 ifTrue:[
  2483     numberToSkip < 0 ifTrue:[
  2484         PositionError raiseRequest.
  2484 	PositionError raiseRequest.
  2485         ^ self
  2485 	^ self
  2486     ].
  2486     ].
  2487     numberToSkip timesRepeat:[self next].
  2487     numberToSkip timesRepeat:[self next].
  2488 
  2488 
  2489     "Modified: / 30.7.1999 / 12:42:12 / cg"
  2489     "Modified: / 30.7.1999 / 12:42:12 / cg"
  2490 ! !
  2490 ! !