Skip to content

Commit b3b2148

Browse files
committed
feat: support new attributes
1 parent 24ce41c commit b3b2148

4 files changed

Lines changed: 33 additions & 17 deletions

File tree

src/main/kotlin/com/github/xepozz/testo/TestoClasses.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
package com.github.xepozz.testo
22

33
object TestoClasses {
4-
const val TEST = "\\Testo\\Attribute\\Test"
5-
const val TEST_INLINE = "\\Testo\\Sample\\TestInline"
6-
const val DATA_PROVIDER = "\\Testo\\Sample\\DataProvider"
7-
const val DATA_SET = "\\Testo\\Sample\\DataSet"
4+
const val TEST_OLD = "\\Testo\\Attribute\\Test"
5+
const val TEST_NEW = "\\Testo\\Application\\Attribute\\Test"
6+
const val TEST_INLINE_OLD = "\\Testo\\Sample\\TestInline"
7+
const val DATA_PROVIDER_OLD = "\\Testo\\Sample\\DataProvider"
8+
const val DATA_SET_OLD = "\\Testo\\Sample\\DataSet"
9+
const val TEST_INLINE_NEW = "\\Testo\\Inline\\TestInline"
10+
const val DATA_PROVIDER_NEW = "\\Testo\\Data\\DataProvider"
11+
const val DATA_SET_NEW = "\\Testo\\Data\\DataSet"
12+
const val DATA_UNION = "\\Testo\\Data\\DataUnion"
13+
const val DATA_CROSS = "\\Testo\\Data\\DataCross"
14+
const val DATA_ZIP = "\\Testo\\Data\\DataZip"
815

916
const val ASSERT = "\\Testo\\Assert"
1017
const val ASSERTION_EXCEPTION = "\\Testo\\Assert\\State\\Assertion\\AssertionException"

src/main/kotlin/com/github/xepozz/testo/mixin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ import com.jetbrains.php.lang.psi.elements.PhpClass
1313
fun PsiElement.isTestoExecutable() = isTestoFunction() || isTestoMethod()
1414

1515
fun PsiElement.isTestoFunction() = when(this) {
16-
is Function -> hasAnyAttribute(TestoClasses.TEST, TestoClasses.TEST_INLINE)
16+
is Function -> hasAnyAttribute(TestoClasses.TEST_OLD,TestoClasses.TEST_NEW, TestoClasses.TEST_INLINE_NEW, TestoClasses.TEST_INLINE_OLD)
1717
else -> false
1818
}
1919

2020
fun PsiElement.isTestoMethod() = when(this) {
21-
is Method -> (modifier.isPublic && name.startsWith("test")) || hasAnyAttribute(TestoClasses.TEST, TestoClasses.TEST_INLINE)
21+
is Method -> (modifier.isPublic && name.startsWith("test")) || hasAnyAttribute(TestoClasses.TEST_OLD,TestoClasses.TEST_NEW, TestoClasses.TEST_INLINE_NEW, TestoClasses.TEST_INLINE_OLD)
2222
else -> false
2323
}
2424

src/main/kotlin/com/github/xepozz/testo/tests/TestoTestRunLineMarkerProvider.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,15 @@ class TestoTestRunLineMarkerProvider : RunLineMarkerContributor() {
8686

8787
companion object Companion {
8888
val RUNNABLE_ATTRIBUTES = arrayOf(
89-
TestoClasses.DATA_PROVIDER,
90-
TestoClasses.DATA_SET,
91-
TestoClasses.TEST_INLINE,
89+
TestoClasses.DATA_PROVIDER_OLD,
90+
TestoClasses.DATA_PROVIDER_NEW,
91+
TestoClasses.DATA_SET_OLD,
92+
TestoClasses.DATA_SET_NEW,
93+
TestoClasses.DATA_UNION,
94+
TestoClasses.DATA_CROSS,
95+
TestoClasses.DATA_ZIP,
96+
TestoClasses.TEST_INLINE_OLD,
97+
TestoClasses.TEST_INLINE_NEW,
9298
)
9399

94100
fun getLocationHint(element: Function) = when (element) {

src/main/kotlin/com/github/xepozz/testo/util/PsiUtil.kt

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ import com.jetbrains.php.lang.psi.elements.PhpAttribute
77
import com.jetbrains.php.lang.psi.elements.PhpAttributesOwner
88

99
object PsiUtil {
10-
val DATA_PROVIDER_ATTRIBUTES = arrayOf(
11-
TestoClasses.DATA_PROVIDER,
12-
TestoClasses.DATA_SET,
13-
)
1410
val MEANINGFUL_ATTRIBUTES = arrayOf(
15-
TestoClasses.TEST,
16-
TestoClasses.TEST_INLINE,
17-
TestoClasses.DATA_PROVIDER,
18-
TestoClasses.DATA_SET,
11+
TestoClasses.TEST_OLD,
12+
TestoClasses.TEST_NEW,
13+
TestoClasses.TEST_INLINE_OLD,
14+
TestoClasses.TEST_INLINE_NEW,
15+
TestoClasses.DATA_PROVIDER_OLD,
16+
TestoClasses.DATA_PROVIDER_NEW,
17+
TestoClasses.DATA_SET_OLD,
18+
TestoClasses.DATA_SET_NEW,
19+
TestoClasses.DATA_UNION,
20+
TestoClasses.DATA_CROSS,
21+
TestoClasses.DATA_ZIP,
1922
)
2023

2124
fun getAttributeOrder(attribute: PhpAttribute, owner: PhpAttributesOwner): Int = owner

0 commit comments

Comments
 (0)