Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9828c47

Browse files
Migrate JavaTokenParsers tests to JUnit.
The unicode strings has been escaped using native2ascii -encoding utf8 a.txt b.txt command.
1 parent 5240956 commit 9828c47

File tree

5 files changed

+58
-76
lines changed

5 files changed

+58
-76
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package scala.util.parsing.combinator
2+
3+
import scala.util.parsing.input.CharArrayReader
4+
5+
import org.junit.Test
6+
import org.junit.Assert.assertEquals
7+
8+
class JavaTokenParsersTest {
9+
10+
@Test
11+
def parseDecimalNumber: Unit = {
12+
object TestJavaTokenParsers extends JavaTokenParsers
13+
import TestJavaTokenParsers._
14+
assertEquals("1.1", decimalNumber(new CharArrayReader("1.1".toCharArray)).get)
15+
assertEquals("1.", decimalNumber(new CharArrayReader("1.".toCharArray)).get)
16+
assertEquals(".1", decimalNumber(new CharArrayReader(".1".toCharArray)).get)
17+
// should fail to parse and we should get Failure as ParseResult
18+
val failure = decimalNumber(new CharArrayReader("!1".toCharArray)).asInstanceOf[Failure]
19+
assertEquals("""string matching regex `(\d+(\.\d*)?|\d*\.\d+)' expected but `!' found""", failure.msg)
20+
}
21+
22+
@Test
23+
def parseJavaIdent: Unit = {
24+
object javaTokenParser extends JavaTokenParsers
25+
import javaTokenParser._
26+
def parseSuccess(s: String): Unit = {
27+
val parseResult = parseAll(ident, s)
28+
parseResult match {
29+
case Success(r, _) => assertEquals(s, r)
30+
case _ => sys.error(parseResult.toString)
31+
}
32+
}
33+
def parseFailure(s: String, errorColPos: Int): Unit = {
34+
val parseResult = parseAll(ident, s)
35+
parseResult match {
36+
case Failure(_, next) =>
37+
val pos = next.pos
38+
assertEquals(1, pos.line)
39+
assertEquals(errorColPos, pos.column)
40+
case _ => sys.error(parseResult.toString)
41+
}
42+
}
43+
parseSuccess("simple")
44+
parseSuccess("with123")
45+
parseSuccess("with$")
46+
parseSuccess("with\u00f8\u00df\u00f6\u00e8\u00e6")
47+
parseSuccess("with_")
48+
parseSuccess("_with")
49+
50+
parseFailure("3start", 1)
51+
parseFailure("-start", 1)
52+
parseFailure("with-s", 5)
53+
// we♥scala
54+
parseFailure("we\u2665scala", 3)
55+
parseFailure("with space", 6)
56+
}
57+
58+
}

‎test/files/run/jtptest.check‎

Lines changed: 0 additions & 7 deletions
This file was deleted.

‎test/files/run/jtptest.scala‎

Lines changed: 0 additions & 17 deletions
This file was deleted.

‎test/files/run/parserJavaIdent.check‎

Lines changed: 0 additions & 26 deletions
This file was deleted.

‎test/files/run/parserJavaIdent.scala‎

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /