File tree Expand file tree Collapse file tree 2 files changed +20
-3
lines changed Expand file tree Collapse file tree 2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -204,11 +204,11 @@ StringReader.prototype = {
204
204
readWhile : function ( filter ) {
205
205
206
206
var buffer = "" ,
207
- c = this . read ( ) ;
207
+ c = this . peek ( ) ;
208
208
209
209
while ( c !== null && filter ( c ) ) {
210
- buffer += c ;
211
- c = this . read ( ) ;
210
+ buffer += this . read ( ) ;
211
+ c = this . peek ( ) ;
212
212
}
213
213
214
214
return buffer ;
Original file line number Diff line number Diff line change 172
172
Assert . areEqual ( testString , result ) ;
173
173
Assert . areEqual ( 1 , reader . getLine ( ) ) ;
174
174
Assert . areEqual ( 13 , reader . getCol ( ) ) ;
175
+ } ,
176
+
177
+ /*
178
+ * Tests that the filter function works.
179
+ */
180
+ testReadWhileFilter : function ( ) {
181
+ var testString = "Hello world!" ,
182
+ reader = new StringReader ( testString ) ;
183
+
184
+ var result = reader . readWhile ( function ( c ) {
185
+ return c !== ' ' ;
186
+ } ) ;
187
+
188
+ Assert . areEqual ( 'Hello' , result ) ;
189
+ Assert . areEqual ( reader . peek ( ) , ' ' ) ;
190
+ Assert . areEqual ( 1 , reader . getLine ( ) ) ;
191
+ Assert . areEqual ( 6 , reader . getCol ( ) ) ;
175
192
}
176
193
} ) ) ;
177
194
You can’t perform that action at this time.
0 commit comments