From 189e706b962aad8e5dd6b234b7418290968d542a Mon Sep 17 00:00:00 2001 From: neverland Date: Mon, 8 Apr 2024 15:31:10 +0800 Subject: [PATCH] test(e2e): fix confusing decorator error logs (#2031) --- e2e/cases/decorator/2022-03/index.test.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/e2e/cases/decorator/2022-03/index.test.ts b/e2e/cases/decorator/2022-03/index.test.ts index a12eebae10..e75d1a703c 100644 --- a/e2e/cases/decorator/2022-03/index.test.ts +++ b/e2e/cases/decorator/2022-03/index.test.ts @@ -1,5 +1,5 @@ import { test, expect } from '@playwright/test'; -import { build, gotoPage, rspackOnlyTest } from '@e2e/helper'; +import { build, gotoPage, proxyConsole, rspackOnlyTest } from '@e2e/helper'; import { pluginBabel } from '@rsbuild/plugin-babel'; test('should run stage 3 decorators correctly', async ({ page }) => { @@ -37,6 +37,8 @@ rspackOnlyTest( test.fail( 'stage 3 decorators do not support decoratorBeforeExport', async ({ page }) => { + const { logs, restore } = proxyConsole(); + // SyntaxError: Decorators must be placed *after* the 'export' keyword const rsbuild = await build({ cwd: __dirname, @@ -56,5 +58,15 @@ test.fail( expect(await page.evaluate('window.method')).toBe('targetMethod'); expect(await page.evaluate('window.field')).toBe('message'); await rsbuild.close(); + + expect( + logs.find((log) => + log.includes( + 'Using the export keyword between a decorator and a class is not allowed', + ), + ), + ).toBeTruthy(); + + restore(); }, );