More tests for Changeset:
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 05 Aug 2014 12:13:12 +0200
changeset 1167 e5046afd028f
parent 1166 eead52f6c916
child 1168 289bb5e55e18
More tests for Changeset: #test_misc_package_01a #test_misc_package_02a #test_misc_package_03a
RegressionTests__ChangeSetTests.st
--- 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