You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Other constants: `ASSERT` (`\Testo\Assert`), `EXPECT` (`\Testo\Expect`), `ASSERTION_EXCEPTION`.
151
152
152
153
These arrays are spread into `RUNNABLE_ATTRIBUTES` (line markers) and `MEANINGFUL_ATTRIBUTES` (PsiUtil) — adding a new attribute to the group array automatically propagates it everywhere.
153
154
154
155
### Attribute Group Numbering
155
156
156
-
Attributes on a function/method are numbered **within their own group**, not globally. Each group has independent 0-based indexing:
157
+
Attributes on a function/method are numbered **within their own group**, not globally. Each group has independent 0-based indexing. The groups are defined in `PsiUtil.ATTRIBUTE_GROUPS`:
157
158
158
-
-**test data** group: all `DATA_ATTRIBUTES` (DataProvider, DataSet, DataUnion, DataCross, DataZip) share one group — numbered together
159
-
-**inline** group: each `TestInline` is numbered among other `TestInline` attributes (same FQN)
160
-
-**bench** group: each `Bench` is numbered among other `Bench` attributes (same FQN)
| test data |`DATA_ATTRIBUTES`| Data providers for `#[Test]` methods |
162
+
| inline |`TEST_INLINE_ATTRIBUTES`| Inline test cases (`#[TestInline]`) |
163
+
| bench |`BENCH_ATTRIBUTES`| Benchmark data (`#[Bench]`) |
161
164
162
-
Explicit multi-attribute groups are defined in `PsiUtil.ATTRIBUTE_GROUPS` (currently only `DATA_ATTRIBUTES`). All other meaningful attributes (except `Test`) are grouped by their own FQN — attributes with the same FQN form a group automatically.
165
+
The `#[Test]`attribute itself is **not numbered** — it is a marker only. The method/function name already gets its own gutter line marker. `Test` IS included in `RUNNABLE_ATTRIBUTES` (it's runnable), but `getAttributeOrder` returns `-1` for it, and the line marker falls back to `getLocationInfo`.
163
166
164
167
The `#[Test]` attribute itself is **not numbered** — it is a marker only. The method/function name already gets its own gutter line marker.
165
168
@@ -177,7 +180,7 @@ Example for a function `foo` with multiple attributes:
177
180
#[Bench(...)] → type=bench, foo:1
178
181
```
179
182
180
-
`RUNNABLE_ATTRIBUTES` (used for gutter line markers) contains `TestInline + BENCH_ATTRIBUTES + DATA_ATTRIBUTES` — it does **not** include `Test` since the method already gets a run marker via `getLocationInfo`.
183
+
`RUNNABLE_ATTRIBUTES` (used for gutter line markers) contains `TEST_ATTRIBUTES + BENCH_ATTRIBUTES + DATA_ATTRIBUTES`.
0 commit comments