Skip to content

Commit a009108

Browse files
authored
Merge pull request #2 from tom95/fix-uptoall-decode
Fix #upToAll: not handling encoded text streams correctly
2 parents cc66c36 + 310e9c0 commit a009108

File tree

8 files changed

+30
-16
lines changed

8 files changed

+30
-16
lines changed

.squot

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
OrderedDictionary {
2-
'src\/FS-Core.package' : #SquotCypressCodeSerializer,
3-
'src\/FS-Memory.package' : #SquotCypressCodeSerializer,
4-
'src\/FS-Disk.package' : #SquotCypressCodeSerializer,
5-
'src\/FS-AnsiStreams.package' : #SquotCypressCodeSerializer,
6-
'src\/FS-FileDirectory-Adapters.package' : #SquotCypressCodeSerializer,
7-
'src\/FS-Help.package' : #SquotCypressCodeSerializer,
8-
'src\/FS-Tests-Core.package' : #SquotCypressCodeSerializer,
9-
'src\/FS-Tests-Memory.package' : #SquotCypressCodeSerializer,
10-
'src\/FS-Tests-Disk.package' : #SquotCypressCodeSerializer,
11-
'src\/FS-Tests-AnsiStreams.package' : #SquotCypressCodeSerializer,
12-
'src\/BaselineOfFileSystem.package' : #SquotCypressCodeSerializer
2+
'src/FS-Core.package' : #SquotCypressCodeSerializer,
3+
'src/FS-Memory.package' : #SquotCypressCodeSerializer,
4+
'src/FS-Disk.package' : #SquotCypressCodeSerializer,
5+
'src/FS-AnsiStreams.package' : #SquotCypressCodeSerializer,
6+
'src/FS-FileDirectory-Adapters.package' : #SquotCypressCodeSerializer,
7+
'src/FS-Help.package' : #SquotCypressCodeSerializer,
8+
'src/FS-Tests-Core.package' : #SquotCypressCodeSerializer,
9+
'src/FS-Tests-Memory.package' : #SquotCypressCodeSerializer,
10+
'src/FS-Tests-Disk.package' : #SquotCypressCodeSerializer,
11+
'src/FS-Tests-AnsiStreams.package' : #SquotCypressCodeSerializer,
12+
'src/BaselineOfFileSystem.package' : #SquotCypressCodeSerializer
1313
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
accessing
2+
upToPosition: anInteger
3+
"Answer a subcollection containing items starting from the current position and ending including the given position. Usefully different to #next: in that in the case of MultiByteFileStream, and perhaps others, positions measure in terms of encoded items, while #next: convention is to name a number of items, independent of their encoding in the underlying buffer."
4+
5+
isBinary ifTrue: [^ self next: anInteger].
6+
7+
^ String streamContents: [ :stream | | ch |
8+
[(self position >= anInteger) or: [(ch := self next) == nil]]
9+
whileFalse: [stream nextPut: ch]]

src/FS-AnsiStreams.package/FSReadStream.class/methodProperties.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,5 @@
2020
"peekFor:" : "jr 2/21/2017 14:18",
2121
"size" : "CamilloBruni 8/12/2011 20:49",
2222
"skip:" : "jr 1/1/2019 18:42",
23-
"upToEnd" : "jr 4/13/2017 16:30" } }
23+
"upToEnd" : "jr 4/13/2017 16:30",
24+
"upToPosition:" : "tobe 10/7/2020 10:21" } }
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"category" : "FS-AnsiStreams",
3-
"comment" : "",
43
"commentStamp" : "",
54
"name" : "TPositionableStream" }
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"category" : "FS-AnsiStreams",
3-
"comment" : "",
43
"commentStamp" : "",
54
"name" : "TReadableStream" }
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"category" : "FS-AnsiStreams",
3-
"comment" : "",
43
"commentStamp" : "",
54
"name" : "TWritableStream" }
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
tests
2+
testUtf8Character
3+
4+
self contents: 'π [' utf8Encoded.
5+
stream text.
6+
self assert: 'π ' equals: (stream upToAll: '[')

src/FS-Tests-AnsiStreams.package/FSReadStreamTest.class/methodProperties.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@
2727
"testSkipToTrue" : "cwp 7/30/2009 23:25",
2828
"testUpTo" : "cwp 7/30/2009 23:38",
2929
"testUpToEnd" : "jr 4/13/2017 16:30",
30-
"testUpToPastEnd" : "jr 4/13/2017 16:29" } }
30+
"testUpToPastEnd" : "jr 4/13/2017 16:29",
31+
"testUtf8Character" : "tobe 10/7/2020 10:21" } }

0 commit comments

Comments
 (0)