KT-44043 [Sealed interfaces]: tests
So far, quick-fix tests infrastructure neither supports the check for multiple files (several .before/.after pairs) nor multi module structure. Provided tests are quite limited yet allow to make sure that the fix in question appears in expected context and get activated. ^KT-44043 fixed
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
// FILE: DerivedOutsideOfPackage.before.kt
|
||||
// "Move Derived to the package/module of SomeSealedClass" "true"
|
||||
// ERROR: Inheritor of sealed class or interface declared in package <root> but it must be in package foo where base class is declared
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
import foo.SomeSealedClass
|
||||
|
||||
class ArbitraryClass {
|
||||
class Derived: <caret>SomeSealedClass()
|
||||
}
|
||||
|
||||
|
||||
// FILE: foo/SealedDeclarations.kt
|
||||
package foo
|
||||
|
||||
sealed class SomeSealedClass
|
||||
|
||||
|
||||
// FILE: DerivedOutsideOfPackage.after.kt
|
||||
// "Move Derived to the package/module of SomeSealedClass" "true"
|
||||
// ERROR: Inheritor of sealed class or interface declared in package <root> but it must be in package foo where base class is declared
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
class ArbitraryClass {
|
||||
<caret>}
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
// FILE: DerivedOutsideOfPackage.before.kt
|
||||
// "Move Derived to the package/module of SomeSealedClass" "true"
|
||||
// ERROR: Inheritor of sealed class or interface declared in package <root> but it must be in package foo where base class is declared
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
import foo.SomeSealedClass
|
||||
|
||||
class Derived: <caret>SomeSealedClass()
|
||||
class ArbitraryClass
|
||||
|
||||
|
||||
// FILE: foo/SealedDeclarations.kt
|
||||
package foo
|
||||
|
||||
sealed class SomeSealedClass
|
||||
|
||||
|
||||
// FILE: DerivedOutsideOfPackage.after.kt
|
||||
// "Move Derived to the package/module of SomeSealedClass" "true"
|
||||
// ERROR: Inheritor of sealed class or interface declared in package <root> but it must be in package foo where base class is declared
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:+SealedInterfaces -XXLanguage:+AllowSealedInheritorsInDifferentFilesOfSamePackage
|
||||
|
||||
import foo.SomeSealedClass
|
||||
|
||||
<caret>class ArbitraryClass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user