| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 0b375a3 commit f6d2af8
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3034,6 +3034,14 @@ test('top level test', (t) => { | |||
| 3034 | 3034 | }); | |
| 3035 | 3035 | ``` | |
| 3036 | 3036 | ||
| 3037 | + ### `context.fullName` | ||
| 3038 | + | ||
| 3039 | + <!-- YAML | ||
| 3040 | + added: REPLACEME | ||
| 3041 | + --> | ||
| 3042 | + | ||
| 3043 | + The name of the test and each of its ancestors, separated by `>`. | ||
| 3044 | + | ||
| 3037 | 3045 | ### `context.name` | |
| 3038 | 3046 | ||
| 3039 | 3047 | <!-- YAML | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -218,6 +218,10 @@ class TestContext { | |||
| 218 | 218 | return this.#test.name; | |
| 219 | 219 | } | |
| 220 | 220 | ||
| 221 | + get fullName() { | ||
| 222 | + return getFullName(this.#test); | ||
| 223 | + } | ||
| 224 | + | ||
| 221 | 225 | get error() { | |
| 222 | 226 | return this.#test.error; | |
| 223 | 227 | } | |
@@ -331,6 +335,10 @@ class SuiteContext { | |||
| 331 | 335 | get name() { | |
| 332 | 336 | return this.#suite.name; | |
| 333 | 337 | } | |
| 338 | + | ||
| 339 | + get fullName() { | ||
| 340 | + return getFullName(this.#suite); | ||
| 341 | + } | ||
| 334 | 342 | } | |
| 335 | 343 | ||
| 336 | 344 | class Test extends AsyncResource { | |
@@ -1216,6 +1224,16 @@ class Suite extends Test { | |||
| 1216 | 1224 | } | |
| 1217 | 1225 | } | |
| 1218 | 1226 | ||
| 1227 | + function getFullName(test) { | ||
| 1228 | + let fullName = test.name; | ||
| 1229 | + | ||
| 1230 | + for (let t = test.parent; t !== t.root; t = t.parent) { | ||
| 1231 | + fullName = `${t.name} > ${fullName}`; | ||
| 1232 | + } | ||
| 1233 | + | ||
| 1234 | + return fullName; | ||
| 1235 | + } | ||
| 1236 | + | ||
| 1219 | 1237 | module.exports = { | |
| 1220 | 1238 | kCancelledByParent, | |
| 1221 | 1239 | kSubtestsFailed, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,24 @@ | |||
| 1 | + 'use strict'; | ||
| 2 | + require('../common'); | ||
| 3 | + const { strictEqual } = require('node:assert'); | ||
| 4 | + const { suite, test } = require('node:test'); | ||
| 5 | + | ||
| 6 | + suite('suite', (t) => { | ||
| 7 | + strictEqual(t.fullName, 'suite'); | ||
| 8 | + | ||
| 9 | + test('test', (t) => { | ||
| 10 | + strictEqual(t.fullName, 'suite > test'); | ||
| 11 | + | ||
| 12 | + t.test('subtest', (t) => { | ||
| 13 | + strictEqual(t.fullName, 'suite > test > subtest'); | ||
| 14 | + | ||
| 15 | + t.test('subsubtest', (t) => { | ||
| 16 | + strictEqual(t.fullName, 'suite > test > subtest > subsubtest'); | ||
| 17 | + }); | ||
| 18 | + }); | ||
| 19 | + }); | ||
| 20 | + }); | ||
| 21 | + | ||
| 22 | + test((t) => { | ||
| 23 | + strictEqual(t.fullName, '<anonymous>'); | ||
| 24 | + }); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments