Skip to content

Commit 678e5e8

Browse files
committed
feat(intellij): implemented show test status on gutter icon
1 parent c730eb3 commit 678e5e8

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

intellij-client/src/main/kotlin/dev/robotcode/robotcode4ij/execution/RobotCodeRunLineMarkerContributor.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@ package dev.robotcode.robotcode4ij.execution
33
import com.intellij.execution.lineMarker.RunLineMarkerContributor
44
import com.intellij.icons.AllIcons
55
import com.intellij.psi.PsiElement
6+
import com.intellij.util.Urls.newLocalFileUrl
7+
import com.intellij.util.Urls.newUrl
68
import dev.robotcode.robotcode4ij.testing.testManger
79

810
class RobotCodeRunLineMarkerContributor : RunLineMarkerContributor() {
911
override fun getInfo(element: PsiElement): Info? {
1012
var testElement = element.project.testManger.findTestItem(element) ?: return null
11-
var icon = AllIcons.RunConfigurations.TestState.Run
12-
if (testElement.type == "suite") {
13-
icon = AllIcons.RunConfigurations.TestState.Run_run
14-
}
13+
14+
val uri = newUrl(
15+
"robotcode", "/", newLocalFileUrl(testElement.source!!).toString()
16+
).addParameters(mapOf("line" to ((testElement.lineno ?: 1) - 1).toString()))
17+
18+
var icon = getTestStateIcon(uri.toString(), element.project, testElement.type != "test")
1519
return withExecutorActions(icon)
1620
}
1721

packages/runner/src/robotcode/runner/cli/discover/discover.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ class TestItem(CamelSnakeMixin):
207207
id: str
208208
name: str
209209
longname: str
210+
lineno: Optional[int] = None
210211
uri: Optional[DocumentUri] = None
211212
rel_source: Optional[str] = None
212213
source: Optional[str] = None
@@ -345,6 +346,7 @@ def visit_test(self, test: TestCase) -> None:
345346
id=f"{absolute_path or ''};{test.longname};{test.lineno}",
346347
name=test.name,
347348
longname=test.longname,
349+
lineno=test.lineno,
348350
uri=str(Uri.from_path(absolute_path)) if absolute_path else None,
349351
source=str(test.source),
350352
rel_source=get_rel_source(test.source),

0 commit comments

Comments
 (0)