#6567 Code errors disappear when closing and reopening the editor (#7166)

* Fix error of not showing errors when reopening KCL code pane

* add test for errors not shown after reopening code pane

* rename test

* typo in e2e/playwright/editor-tests.spec.ts

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>

* lint

* fmt

* fix test: Opening and closing the code pane will consistently show error diagnostics

* PR feedback: use catch(reportRejection) for safeParse

* no need for lint rule

---------

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
This commit is contained in:
Andrew Varga
2025-05-23 18:41:37 +02:00
committed by GitHub
parent 4eee50d79e
commit 22f92942f6
3 changed files with 54 additions and 18 deletions

View File

@ -78,11 +78,10 @@ extrude001 = extrude(sketch001, length = 5)`
// Delete a character to break the KCL
await editor.openPane()
await editor.scrollToText('bracketLeg1Sketch, length = thickness)')
await page
.getByText('extrude(bracketLeg1Sketch, length = thickness)')
.click()
await page.keyboard.press('Backspace')
await editor.scrollToText('extrude(%, length = width)')
await page.getByText('extrude(%, length = width)').click()
await page.keyboard.press(')')
// Ensure that a badge appears on the button
await expect(codePaneButtonHolder).toContainText('notification')
@ -99,16 +98,11 @@ extrude001 = extrude(sketch001, length = 5)`
await page.waitForTimeout(500)
// Ensure that a badge appears on the button
await expect(codePaneButtonHolder).toContainText('notification')
// Ensure we have no errors in the gutter.
await expect(page.locator('.cm-lint-marker-error')).not.toBeVisible()
// Open the code pane
await editor.openPane()
// Go to our problematic code again (missing closing paren!)
await editor.scrollToText('extrude(bracketLeg1Sketch, length = thickness')
// Go to our problematic code again
await editor.scrollToText('extrude(%, length = w')
// Ensure that a badge appears on the button
await expect(codePaneButtonHolder).toContainText('notification')