mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
IDEA-CR-60210: test for go to class field for python (PY-15468)
close #1194 GitOrigin-RevId: c735d224f930fef2ae298bf0a055da082daf77e3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
507318e523
commit
a93413a142
5
python/testData/navigation/goToClassField.py
Normal file
5
python/testData/navigation/goToClassField.py
Normal file
@@ -0,0 +1,5 @@
|
||||
class MyClass:
|
||||
some_field = True
|
||||
|
||||
def some_fun(self):
|
||||
pass
|
||||
@@ -1,11 +1,13 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.jetbrains.python
|
||||
|
||||
import com.intellij.ide.util.gotoByName.GotoSymbolModel2
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.testFramework.LightProjectDescriptor
|
||||
import com.intellij.testFramework.fixtures.CodeInsightTestUtil
|
||||
import com.jetbrains.python.fixtures.PyTestCase
|
||||
import com.jetbrains.python.psi.PyFile
|
||||
import com.jetbrains.python.psi.PyTargetExpression
|
||||
import com.jetbrains.python.psi.impl.PyGotoDeclarationHandler
|
||||
import com.jetbrains.python.pyi.PyiFile
|
||||
|
||||
@@ -35,6 +37,19 @@ class PyNavigationTest : PyTestCase() {
|
||||
}
|
||||
}
|
||||
|
||||
fun testGoToClassField() {
|
||||
myFixture.configureByFile("${getTestName(true)}.py")
|
||||
val model = GotoSymbolModel2(myFixture.project)
|
||||
val elements = model.getElementsByName("some_field", false, "")
|
||||
assertSize(1, elements)
|
||||
assertInstanceOf(elements.first(), PyTargetExpression::class.java)
|
||||
val expression = elements.first() as PyTargetExpression
|
||||
assertEquals("some_field", expression.name)
|
||||
assertNotNull(expression.containingClass)
|
||||
assertEquals("MyClass", expression.containingClass?.name)
|
||||
}
|
||||
|
||||
|
||||
private fun configureByDir(dirName: String) {
|
||||
myFixture.copyDirectoryToProject(dirName, "")
|
||||
myFixture.configureByFile("test.py")
|
||||
|
||||
Reference in New Issue
Block a user