aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Ethan Burrell <30448729+ethanburrell@users.noreply.github.com> 2023-01-12 12:49:36 -0800
committerGravatar GitHub <noreply@github.com> 2023-01-12 12:49:36 -0800
commit76e6a178e3a0f1f12f42cd9980349e18145258f2 (patch)
treeb59b96e18c910fc4c748466a84b08c5f889eb89e
parentbb5efb67ab28849a28d0d41939734dc6336c40c0 (diff)
downloadbun-76e6a178e3a0f1f12f42cd9980349e18145258f2.tar.gz
bun-76e6a178e3a0f1f12f42cd9980349e18145258f2.tar.zst
bun-76e6a178e3a0f1f12f42cd9980349e18145258f2.zip
fix(bun-test): test title in results (#1753)
* fix(bun-test): test title in results * missed case * clean up import * respond to reviews
-rw-r--r--src/bun.js/test/jest.zig2
-rw-r--r--src/cli/test_command.zig8
-rw-r--r--test/bun.js/bun-test/nested-describes.test.ts38
3 files changed, 45 insertions, 3 deletions
diff --git a/src/bun.js/test/jest.zig b/src/bun.js/test/jest.zig
index 00c8148b2..37c4c79cb 100644
--- a/src/bun.js/test/jest.zig
+++ b/src/bun.js/test/jest.zig
@@ -1737,7 +1737,7 @@ pub const DescribeScope = struct {
var scope = allocator.create(DescribeScope) catch unreachable;
scope.* = .{
.label = (label.toSlice(allocator).cloneIfNeeded(allocator) catch unreachable).slice(),
- .parent = this,
+ .parent = active orelse this,
.file_id = this.file_id,
};
var new_this = DescribeScope.Class.make(ctx, scope);
diff --git a/src/cli/test_command.zig b/src/cli/test_command.zig
index a36561be0..8fb8bf01b 100644
--- a/src/cli/test_command.zig
+++ b/src/cli/test_command.zig
@@ -113,7 +113,9 @@ pub const CommandLineReporter = struct {
const color_code = comptime if (skip) "<yellow>" else "";
if (Output.enable_ansi_colors_stderr) {
- for (scopes) |scope| {
+ for (scopes) |_, i| {
+ const index = (scopes.len - 1) - i;
+ const scope = scopes[index];
if (scope.label.len == 0) continue;
writer.writeAll(" ") catch unreachable;
@@ -123,7 +125,9 @@ pub const CommandLineReporter = struct {
writer.writeAll(" >") catch unreachable;
}
} else {
- for (scopes) |scope| {
+ for (scopes) |_, i| {
+ const index = (scopes.len - 1) - i;
+ const scope = scopes[index];
if (scope.label.len == 0) continue;
writer.writeAll(" ") catch unreachable;
writer.writeAll(scope.label) catch unreachable;
diff --git a/test/bun.js/bun-test/nested-describes.test.ts b/test/bun.js/bun-test/nested-describes.test.ts
new file mode 100644
index 000000000..de7ba194e
--- /dev/null
+++ b/test/bun.js/bun-test/nested-describes.test.ts
@@ -0,0 +1,38 @@
+import {
+describe,
+expect,
+test,
+} from "bun:test";
+
+/*
+In this test we want the tests to print out the following on a success.
+Each success / fail should show the path of describe and test scopes
+
+✓ outer most describe > mid describe 1 > inner most describe 1 > first
+✓ outer most describe > mid describe 1 > inner most describe 2 > second
+✓ outer most describe > mid describe 2 > inner most describe 3 > first
+
+@TODO add testing for this, would require to read the test console output
+*/
+
+describe("outer most describe", () => {
+ describe("mid describe 1", () => {
+ describe("inner most describe 1", () => {
+ test("first", () => {
+ expect(5).toEqual(5);
+ })
+ })
+ describe("inner most describe 2", () => {
+ test("second", () => {
+ expect(5).toEqual(5);
+ })
+ })
+ })
+ describe("mid describe 2", () => {
+ describe("inner most describe 3", () => {
+ test("third", () => {
+ expect(5).toEqual(5);
+ })
+ })
+ })
+})