summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2013-09-17 00:14:17 -0700
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2013-09-17 00:14:17 -0700
commit543dfcde74a0a3c60f9507ace133ff7e0026115f (patch)
tree4f1aef5e09f1f344f29279d80d3e912f4c99b946 /test
parent9dbc321504ad5550638d6d7c2b3cd2f98273cf74 (diff)
parentcff8b569c39fb2ce57157fa6adf4ab9289721033 (diff)
downloadscala-543dfcde74a0a3c60f9507ace133ff7e0026115f.tar.gz
scala-543dfcde74a0a3c60f9507ace133ff7e0026115f.tar.bz2
scala-543dfcde74a0a3c60f9507ace133ff7e0026115f.zip
Merge pull request #2950 from retronym/ticket/7841
Damage control related to AnyRef specialization
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/tools/nsc/symtab/StdNamesTest.scala46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/junit/scala/tools/nsc/symtab/StdNamesTest.scala b/test/junit/scala/tools/nsc/symtab/StdNamesTest.scala
new file mode 100644
index 0000000000..05e69978c6
--- /dev/null
+++ b/test/junit/scala/tools/nsc/symtab/StdNamesTest.scala
@@ -0,0 +1,46 @@
+package scala.tools.nsc
+package symtab
+
+import org.junit.Assert._
+import scala.tools.testing.AssertUtil._
+import org.junit.{Ignore, Test}
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@RunWith(classOf[JUnit4])
+class StdNamesTest {
+ object symbolTable extends SymbolTableForUnitTesting
+ import symbolTable._
+ import nme.{SPECIALIZED_SUFFIX, unspecializedName, splitSpecializedName}
+
+ @Test
+ def testNewTermNameInvalid(): Unit = {
+ assertThrows[IllegalArgumentException](newTermName("foo".toCharArray, 0, -1))
+ assertThrows[IllegalArgumentException](newTermName("foo".toCharArray, 0, 0))
+ assertThrows[IllegalArgumentException](newTermName("foo".toCharArray, -1, 1))
+ }
+
+ @Test
+ def testUnspecializedName(): Unit = {
+ def test(expected: Name, nme: Name) {
+ assertEquals(expected, unspecializedName(nme))
+ }
+ test(TermName("Tuple2"), TermName("Tuple2$mcII" + SPECIALIZED_SUFFIX))
+ test(TermName("foo"), TermName("foo$mIcD" + SPECIALIZED_SUFFIX))
+ test(TermName("foo"), TermName("foo$mIc" + SPECIALIZED_SUFFIX))
+ test(TermName("T1"), TermName(s"T1$SPECIALIZED_SUFFIX"))
+ test(TermName(""), SPECIALIZED_SUFFIX)
+ }
+
+ @Test
+ def testSplitSpecializedName(): Unit = {
+ def test(expected: (Name, String, String), nme: Name) {
+ assertEquals(expected, splitSpecializedName(nme))
+ }
+ test((TermName("Tuple2"), "II", ""), TermName("Tuple2$mcII" + SPECIALIZED_SUFFIX))
+ test((TermName("foo"), "D", "I"), TermName("foo$mIcD" + SPECIALIZED_SUFFIX))
+ test((TermName("foo"), "", "I"), TermName("foo$mIc" + SPECIALIZED_SUFFIX))
+ test((TermName("T1"), "", ""), TermName(s"T1$SPECIALIZED_SUFFIX"))
+ test((TermName(""), "", ""), SPECIALIZED_SUFFIX)
+ }
+}