More tests for Changeset:
#test_misc_package_01a
#test_misc_package_02a
#test_misc_package_03a
--- a/RegressionTests__ChangeSetTests.st Thu Jul 17 15:24:18 2014 +0200
+++ b/RegressionTests__ChangeSetTests.st Tue Aug 05 12:13:12 2014 +0200
@@ -2241,6 +2241,114 @@
"Created: / 01-05-2013 / 17:38:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!ChangeSetTests methodsFor:'tests - misc'!
+
+test_misc_package_01a
+ "
+ When reading session changefile, make sure that change's package is
+ not the one of by-chance-last package pragma in the stream.
+ "
+ | cs |
+ cs := ChangeSet fromStream:'"{ Encoding: utf8 }" !!
+''---- timestamp jv@sao 05-10-2013 01:57:54 ----''!!
+"{ Package: ''some:funny/package'' }"
+
+Object subclass:#Mock1
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''* Mocks *''
+!!
+!!Object methodsFor:''* mocks * ''!!
+
+someeMethod
+ ^ 1
+
+!! !!
+
+' readStream.
+
+ self assert: cs size == 3.
+ self assert: cs second package = 'some:funny/package'.
+ self assert: cs third package isNil.
+
+ "Created: / 05-08-2014 / 10:49:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_misc_package_02a
+ "
+ When reading class fileout, all methods should have package set, however...
+ "
+ | cs |
+ cs := ChangeSet fromStream:'""{ Encoding: utf8 }"
+
+''From Smalltalk/X, Version:6.2.4.0 on 05-08-2014 at 10:57:51'' !!
+
+"{ Package: ''exept:regression'' }"
+
+"{ NameSpace: RegressionTests }"
+
+ClassAndMethodCompilingTestCase subclass:#ChangeSetTests
+ instanceVariableNames:''''
+ classVariableNames:''''
+ poolDictionaries:''''
+ category:''tests-Regression-System-Changes''
+!!
+
+!!ChangeSetTests methodsFor:''private''!!
+
+performTest
+ ^Class withoutUpdatingChangesDo:[
+ super performTest
+ ]
+
+!! !!' readStream.
+
+ self assert: cs size == 2.
+ self assert: cs first package = 'exept:regression'.
+ self assert: cs second package = 'exept:regression'.
+
+ "Created: / 05-08-2014 / 10:59:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+test_misc_package_03a
+ "
+ When reading extensions file out, all methods should have
+ package correctly set.
+ "
+ | cs |
+ cs := ChangeSet fromStream:'"{ Package: ''stx:libjava'' }"!!
+
+!!Behavior methodsFor:''queries''!!
+
+isInterface
+ "return true, if the receiver is a Java interface"
+
+ ^ false
+
+ "
+ True isInterface
+ "
+
+!! !!
+
+!!Behavior methodsFor:''queries''!!
+
+isJavaPrimitiveType
+
+ ^false
+
+
+!! !!
+' readStream.
+
+ self assert: cs size == 2.
+ self assert: cs first package = 'stx:libjava'.
+ self assert: cs second package = 'stx:libjava'.
+
+ "Created: / 05-08-2014 / 11:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!ChangeSetTests methodsFor:'tests - utf8'!
test_reading_utf8_01