class: RegressionTests::FileStreamTest
authorClaus Gittinger <cg@exept.de>
Tue, 27 Jan 2015 15:48:59 +0100
changeset 1268 f1fed2016730
parent 1267 a98d46cee5f9
child 1269 abac3191efc5
class: RegressionTests::FileStreamTest added: #testWriteEOLModes
RegressionTests__FileStreamTest.st
--- a/RegressionTests__FileStreamTest.st	Sat Jan 24 00:02:31 2015 +0100
+++ b/RegressionTests__FileStreamTest.st	Tue Jan 27 15:48:59 2015 +0100
@@ -400,6 +400,67 @@
 
     "Modified (comment): / 18-01-2012 / 12:02:21 / cg"
     "Modified: / 26-04-2013 / 16:58:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+testWriteEOLModes
+
+    'xxx' asFilename writingFileDo:[:s |
+        s eolMode:#crlf.
+        s nextPutLine:'hello'
+    ].
+    self assert:('xxx' asFilename fileSize == 7).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0D 16r0A]).
+
+    'xxx' asFilename writingFileDo:[:s |
+        s eolMode:#nl.
+        s nextPutLine:'hello'
+    ].
+    self assert:('xxx' asFilename fileSize == 6).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0A]).
+
+    'xxx' asFilename writingFileDo:[:s |
+        s eolMode:#cr.
+        s nextPutLine:'hello'
+    ].
+    self assert:('xxx' asFilename fileSize == 6).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0D]).
+
+    "/ ------------------------
+
+    'xxx' asFilename writingFileDo:[:s |
+        s eolMode:#crlf.
+        s nextPutAll:'hello' , Character cr
+    ].
+    self assert:('xxx' asFilename fileSize == 7).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0D 16r0A]).
+
+    'xxx' asFilename writingFileDo:[:s |
+        s eolMode:#nl.
+        s nextPutAll:'hello' , Character cr
+    ].
+    self assert:('xxx' asFilename fileSize == 6).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0A]).
+
+    'xxx' asFilename writingFileDo:[:s |
+        s eolMode:#cr.
+        s nextPutAll:'hello' , Character cr
+    ].
+    self assert:('xxx' asFilename fileSize == 6).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0D]).
+
+    "/ in binary mode, this should be ignored
+    'xxx' asFilename writingFileDo:[:s |
+        s binary.
+        s eolMode:#crlf.
+        s nextPutAll:'hello' , Character cr
+    ].
+    self assert:('xxx' asFilename fileSize == 6).
+    self assert:('xxx' asFilename binaryContentsOfEntireFile = #[16r68 16r65 16r6C 16r6C 16r6F 16r0D]).
+
+
+    "
+     self new testWriteEOLModes
+    "
 ! !
 
 !FileStreamTest class methodsFor:'documentation'!