summaryrefslogtreecommitdiff
path: root/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-09-08 23:32:56 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-09-08 23:32:56 +1000
commit0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5 (patch)
tree24e76f91257145c5ba34b4f4317ce03bb1cb81e1 /test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
parent3f1352f3ff16b0588b0f6e05bdb0a76b4702e431 (diff)
downloadscala-0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5.tar.gz
scala-0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5.tar.bz2
scala-0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5.zip
Camel Case and JavaBean completion
This is just too useful to leave on the cutting room floor. ``` scala> classOf[String].enclo<TAB> scala> classOf[String].getEnclosing getEnclosingClass getEnclosingConstructor getEnclosingMethod scala> classOf[String].simpl<TAB> scala> classOf[String].getSimpleName type X = global.TTWD<TAB> scala> type X = global.TypeTreeWithDeferredRefCheck ``` I revised the API of `matchingResults` as it was clunky to reuse the filtering on accessibility and term/type-ness while providing a custom name matcher.
Diffstat (limited to 'test/junit/scala/tools/nsc/interpreter/CompletionTest.scala')
-rw-r--r--test/junit/scala/tools/nsc/interpreter/CompletionTest.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala b/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
index 75ab4c605f..a55a3c66c0 100644
--- a/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
+++ b/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
@@ -52,6 +52,17 @@ class CompletionTest {
}
@Test
+ def camelCompletions(): Unit = {
+ val intp = newIMain()
+ val completer = new PresentationCompilerCompleter(intp)
+ checkExact(completer, "object O { def theCatSatOnTheMat = 1 }; import O._; tCSO")("theCatSatOnTheMat")
+ checkExact(completer, "object O { def getBlerganator = 1 }; import O._; blerga")("getBlerganator")
+ checkExact(completer, "object O { def xxxxYyyyyZzzz = 1; def xxxxYyZeee = 1 }; import O._; xYZ")("", "xxxxYyyyyZzzz", "xxxxYyZeee")
+ checkExact(completer, "object O { def xxxxYyyyyZzzz = 1; def xxxxYyyyyZeee = 1 }; import O._; xYZ")("xxxxYyyyyZzzz", "xxxxYyyyyZeee")
+ checkExact(completer, "object O { class AbstractMetaFactoryFactory }; new O.AMFF")("AbstractMetaFactoryFactory")
+ }
+
+ @Test
def previousLineCompletions(): Unit = {
val intp = newIMain()
intp.interpret("class C { val x_y_z = 42 }")