File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -204,11 +204,11 @@ StringReader.prototype = {
204204 readWhile : function ( filter ) {
205205
206206 var buffer = "" ,
207- c = this . read ( ) ;
207+ c = this . peek ( ) ;
208208
209209 while ( c !== null && filter ( c ) ) {
210- buffer += c ;
211- c = this . read ( ) ;
210+ buffer += this . read ( ) ;
211+ c = this . peek ( ) ;
212212 }
213213
214214 return buffer ;
Original file line number Diff line number Diff line change 172172 Assert . areEqual ( testString , result ) ;
173173 Assert . areEqual ( 1 , reader . getLine ( ) ) ;
174174 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 ( ) ) ;
175192 }
176193 } ) ) ;
177194
You can’t perform that action at this time.
0 commit comments