Linemarker tests

This commit is contained in:
Nikolay Krasko
2014-08-25 22:26:17 +04:00
parent 8ada9b68b0
commit 897ebd0347
14 changed files with 556 additions and 187 deletions
@@ -0,0 +1,25 @@
package sample
trait <lineMarker descr="*"></lineMarker>S<T> {
fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;sample.S2</body></html>"></lineMarker>foo(t: T): T
val <lineMarker descr="<html><body>Is overridden in <br/>&nbsp;&nbsp;&nbsp;&nbsp;sample.S2</body></html>"></lineMarker>some: T? get
var <lineMarker descr="<html><body>Is overridden in <br/>&nbsp;&nbsp;&nbsp;&nbsp;sample.S2</body></html>"></lineMarker>other: T?
get
set
}
open abstract class <lineMarker descr="*"></lineMarker>S1 : S<String>
class S2 : S1() {
override val <lineMarker descr="Implements property in 'S&lt;T&gt;'"></lineMarker>some: String = "S"
override var <lineMarker descr="Implements property in 'S&lt;T&gt;'"></lineMarker>other: String?
get() = null
set(value) {}
override fun <lineMarker descr="Implements function in 'S&lt;T&gt;'"></lineMarker>foo(t: String): String {
return super<S1>.foo(t)
}
}
@@ -0,0 +1,9 @@
trait <lineMarker descr="*"></lineMarker>A {
override fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;C</body></html>"><lineMarker descr="*"></lineMarker></lineMarker>toString() = "A"
}
abstract class <lineMarker descr="*"></lineMarker>B: A
class C: B() {
override fun <lineMarker descr="Overrides function in 'A'"></lineMarker>toString() = "B"
}
@@ -0,0 +1,25 @@
trait <lineMarker descr="*"></lineMarker>A {
fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;C</body></html>"></lineMarker>foo(): String = "A"
// TODO: B shoudn't be mentioned
val <lineMarker descr="<html><body>Is overridden in <br/>&nbsp;&nbsp;&nbsp;&nbsp;B<br>&nbsp;&nbsp;&nbsp;&nbsp;C</body></html>"></lineMarker>some: String? get() = null
// TODO: B shoudn't be mentioned
var <lineMarker descr="<html><body>Is overridden in <br/>&nbsp;&nbsp;&nbsp;&nbsp;B<br>&nbsp;&nbsp;&nbsp;&nbsp;C</body></html>"></lineMarker>other: String?
get() = null
set(value) {}
}
open class <lineMarker descr="*"></lineMarker>B: A
class C: B() {
override val <lineMarker descr="Overrides property in 'A'"></lineMarker>some: String = "S"
override var <lineMarker descr="Overrides property in 'A'"></lineMarker>other: String?
get() = null
set(value) {}
override fun <lineMarker descr="Overrides function in 'A'"></lineMarker>foo(): String {
return super<S1>.foo()
}
}
@@ -0,0 +1,22 @@
trait <lineMarker></lineMarker>A1 {
fun <lineMarker></lineMarker>foo()
}
trait <lineMarker></lineMarker>B1 {
fun <lineMarker></lineMarker>foo()
}
class C1: A1, B1 {
override fun <lineMarker descr="Implements function in 'A1'<br/>Implements function in 'B1'"></lineMarker>foo() {}
}
/*
LINEMARKER: Implements function in 'A1'<br/>Implements function in 'B1'
TARGETS:
NavigateToSeveralSuperElements.kt
fun <1>foo()
}
trait B1 {
fun <2>foo()
*/
@@ -0,0 +1,9 @@
trait <lineMarker descr="*"></lineMarker>A {
fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;B</body></html>"></lineMarker>foo(str: String)
fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;B</body></html>"></lineMarker>foo()
}
open class B : A {
override fun <lineMarker descr="Implements function in 'A'"></lineMarker>foo(str: String) { }
override fun <lineMarker descr="Implements function in 'A'"></lineMarker>foo() { }
}
@@ -0,0 +1,20 @@
trait <lineMarker descr="*"></lineMarker>SkipSupport {
fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;SkipSupportImpl<br>&nbsp;&nbsp;&nbsp;&nbsp;SkipSupportWithDefaults</body></html>"></lineMarker>skip(why: String)
fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;SkipSupportWithDefaults</body></html>"></lineMarker>skip()
}
public trait <lineMarker descr="*"></lineMarker>SkipSupportWithDefaults : SkipSupport {
// TODO: should be "Is overriden in SkipSupportImpl"
override fun <lineMarker descr="<html><body>Is implemented in <br>&nbsp;&nbsp;&nbsp;&nbsp;SkipSupportImpl</body></html>"><lineMarker descr="Implements function in 'SkipSupport'"></lineMarker></lineMarker>skip(why: String) {}
// TODO: fix bug with 'null' marker
override fun <lineMarker descr="*"><lineMarker descr="Implements function in 'SkipSupport'"></lineMarker></lineMarker>skip() {
skip("not given")
}
}
open class SkipSupportImpl: SkipSupportWithDefaults {
override fun <lineMarker descr="Overrides function in 'SkipSupportWithDefaults'"></lineMarker>skip(why: String) = throw RuntimeException(why)
}
// KT-4428 Incorrect override icon shown for overloaded methods
@@ -0,0 +1,10 @@
public trait Foo {
override fun <lineMarker descr="Overrides function in 'Any'"></lineMarker>toString() = "str"
}
/*
LINEMARKER: Overrides function in 'Any'
TARGETS:
Any.kt
public open fun <1>toString(): String
*/