From: Holger Hans Peter Freyther <[email protected]>

The species of the ConcatenatedStream is Array so we will need to
convert the result of reading from the stream with >>#next: to a
String first before we can trim the separators.

2013-02-10  Holger Hans Peter Freyther  <[email protected]>

        * RBParser.st: Change RBScanner>>#scanNumber to convert
        the result to a String.
        * RewriteTests.st: Add testcase for RBScanner>>#scanNumber.
        * package.xml: Add the new test to the testsuite.
---
 packages/stinst/parser/ChangeLog       |    7 +++++++
 packages/stinst/parser/RBParser.st     |    2 +-
 packages/stinst/parser/RewriteTests.st |   23 ++++++++++++++++++++++-
 packages/stinst/parser/package.xml     |    1 +
 4 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/packages/stinst/parser/ChangeLog b/packages/stinst/parser/ChangeLog
index 31a5b2e..c20da6c 100644
--- a/packages/stinst/parser/ChangeLog
+++ b/packages/stinst/parser/ChangeLog
@@ -1,3 +1,10 @@
+2013-02-10  Holger Hans Peter Freyther  <[email protected]>
+
+       * RBParser.st: Change RBScanner>>#scanNumber to convert
+       the result to a String.
+       * RewriteTests.st: Add testcase for RBScanner>>#scanNumber.
+       * package.xml: Add the new test to the testsuite.
+
 2013-02-08  Holger Hans Peter Freyther  <[email protected]>
 
        * RBFormatter.st: Use the RBToken>>#storeOn: for writing.
diff --git a/packages/stinst/parser/RBParser.st 
b/packages/stinst/parser/RBParser.st
index 6f2b1cb..258e039 100644
--- a/packages/stinst/parser/RBParser.st
+++ b/packages/stinst/parser/RBParser.st
@@ -1328,7 +1328,7 @@ Stream subclass: RBScanner [
 
         "Get the parsed source"
         stream position: tokenStart - 1.
-        string := (stream next: stop - start + 1) trimSeparators.
+        string := (stream next: stop - start + 1) asString trimSeparators.
         stream position: stop.
 
        ^RBNumberLiteralToken
diff --git a/packages/stinst/parser/RewriteTests.st 
b/packages/stinst/parser/RewriteTests.st
index 8964b07..47132e8 100644
--- a/packages/stinst/parser/RewriteTests.st
+++ b/packages/stinst/parser/RewriteTests.st
@@ -7,7 +7,7 @@
 
 "======================================================================
 |
-| Copyright (C) 2007 Free Software Foundation, Inc.
+| Copyright (C) 2007,2013 Free Software Foundation, Inc.
 | Written by Stephen Compall.
 |
 | This file is part of the GNU Smalltalk class library.
@@ -280,5 +280,26 @@ TestCase subclass: TestFormat [
     ]
 ]
 
+TestCase subclass: TestScanner [
+    <comment: 'Test aspects of the RBScanner'>
+
+    testScanner [
+        | scanner num |
+        scanner := RBScanner on: '3' readStream.
+        num := scanner next.
+        self assert: num value = 3.
+    ]
+
+    testScannerConcatStream [
+        | scanner num |
+        "This is different to >>#testScanner by using a different kind of 
stream with
+        a different species."
+
+        scanner := RBScanner on: (Kernel.ConcatenatedStream with: '3' 
readStream).
+        num := scanner next.
+        self assert: num value = 3.
+    ]
+]
+
 ]
 
diff --git a/packages/stinst/parser/package.xml 
b/packages/stinst/parser/package.xml
index 47c7fb6..f997197 100644
--- a/packages/stinst/parser/package.xml
+++ b/packages/stinst/parser/package.xml
@@ -29,6 +29,7 @@
    <namespace>STInST.Tests</namespace>
    <sunit>STInST.Tests.TestStandardRewrites</sunit>
    <sunit>STInST.Tests.TestFormat</sunit>
+   <sunit>STInST.Tests.TestScanner</sunit>
    <sunit>STInST.Tests.TestDefaultPoolResolution</sunit>
    <sunit>STInST.Tests.TestClassicPoolResolution</sunit>
    <filein>RewriteTests.st</filein>
-- 
1.7.10.4


_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to