summaryrefslogtreecommitdiff
path: root/test/files/presentation/visibility
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2012-04-30 11:53:41 +0200
committerIulian Dragos <jaguarul@gmail.com>2012-04-30 12:15:45 +0200
commitb72f52bbd59602ec9e09900381d5ff19752fa961 (patch)
treebf1ad4bd42c28b831d3b544278aa231788e2b1ee /test/files/presentation/visibility
parent94c63f5da548996535cad43142758c9405118828 (diff)
downloadscala-b72f52bbd59602ec9e09900381d5ff19752fa961.tar.gz
scala-b72f52bbd59602ec9e09900381d5ff19752fa961.tar.bz2
scala-b72f52bbd59602ec9e09900381d5ff19752fa961.zip
Presentation Compiler tests for visibility of members.
Removed some unneeded indirection in the testing framework.
Diffstat (limited to 'test/files/presentation/visibility')
-rw-r--r--test/files/presentation/visibility/Test.scala5
-rw-r--r--test/files/presentation/visibility/src/Completions.scala40
2 files changed, 45 insertions, 0 deletions
diff --git a/test/files/presentation/visibility/Test.scala b/test/files/presentation/visibility/Test.scala
new file mode 100644
index 0000000000..96e758d974
--- /dev/null
+++ b/test/files/presentation/visibility/Test.scala
@@ -0,0 +1,5 @@
+import scala.tools.nsc.interactive.tests.InteractiveTest
+
+object Test extends InteractiveTest {
+
+} \ No newline at end of file
diff --git a/test/files/presentation/visibility/src/Completions.scala b/test/files/presentation/visibility/src/Completions.scala
new file mode 100644
index 0000000000..098b98a0fd
--- /dev/null
+++ b/test/files/presentation/visibility/src/Completions.scala
@@ -0,0 +1,40 @@
+package accessibility {
+
+ class Foo {
+ private def secretPrivate(): Unit = ()
+ private[this] def secretPrivateThis(): Unit = ()
+
+ protected def secretProtected(): Unit
+
+ protected[accessibility] def secretProtectedInPackage(): Unit
+
+ def secretPublic(): Unit
+
+ def someTests(other: Foo) {
+ other./*!*/secretPrivate // should be all but scretThis
+
+ this./*!*/secretProtected // should hit five completions
+ }
+ }
+
+ class AccessibilityChecks extends Foo {
+ def someTests {
+ this./*!*/ // should not list secretPrivate*
+ }
+ }
+
+ class UnrelatedClass {
+ def someTests(foo: Foo) {
+ foo./*!*/ // should list public and protected[accessiblity]
+ }
+ }
+
+}
+
+package other {
+ class SomeChecsk {
+ def foo(o: accessibility.Foo) {
+ o./*!*/ // should only match secretPublic
+ }
+ }
+} \ No newline at end of file