Wire IDE symbol navigation panel
CI / python (push) Has been cancelled
CI / rust (push) Has been cancelled

This commit is contained in:
2026-05-16 20:48:31 +03:00
parent 1fe213c5ee
commit 523a756f5c
3 changed files with 89 additions and 48 deletions
@@ -106,7 +106,7 @@ const checks = [
{
name: "module mode",
url: `${baseUrl}/editor?lang=ru&project=${projectId}&mode=module&routine=${routine}`,
mustInclude: ["data-ide-workspace", "data-left-navigation-panel", "data-right-context-inspector", "data-open-objects-bar", "data-open-document-pin", "data-open-document-close", "data-fallback-tree-search", "data-fallback-tree-filters", "Alt+1 Alt+2 Alt+3", "Редактор BSL", "Код модуля не загружен", "Выберите реальный модуль", "Основная конфигурация", "Расширение: <Имя>", "SFERA", "Среды"]
mustInclude: ["data-ide-workspace", "data-active-mode=\"module\"", "data-left-navigation-panel", "data-right-context-inspector", "data-open-objects-bar", "data-open-document-pin", "data-open-document-close", "data-fallback-tree-search", "data-fallback-tree-filters", "data-fast-bsl-editor", "data-symbol-navigation-panel", "symbol-search-input", "Alt+1 Alt+2 Alt+3", "Основная конфигурация", "SFERA", "Среды"]
},
{
name: "form mode",
@@ -186,16 +186,13 @@ try {
await restoredModuleTabs.first().click();
}
await page.locator("[data-fast-bsl-editor]").waitFor({ state: "visible", timeout: 15000 });
const symbolNavigationPanel = page.locator("[data-symbol-navigation-panel]");
if ((await symbolNavigationPanel.count()) > 0) {
await symbolNavigationPanel.waitFor({ state: "visible", timeout: 15000 });
}
await page.locator("[data-symbol-navigation-panel]").waitFor({ state: "visible", timeout: 15000 });
const symbolSearchInput = page.locator("#symbol-search-input");
if ((await symbolSearchInput.count()) > 0) {
await symbolSearchInput.fill("Проверить");
await symbolSearchInput.press("Enter");
await page.locator("[data-symbol-result]").first().waitFor({ state: "visible", timeout: 15000 });
}
await symbolSearchInput.fill("demo");
await symbolSearchInput.press("Enter");
await page.locator("[data-symbol-result]").first().waitFor({ state: "visible", timeout: 15000 });
await page.locator('button[data-editor-action="symbol-definition-row"]').first().click();
await page.locator("[data-symbol-definition]").waitFor({ state: "visible", timeout: 15000 });
const findUsagesButton = page.locator('button[data-editor-action="find-usages"]');
if ((await findUsagesButton.count()) > 0 && await findUsagesButton.isEnabled()) {
await findUsagesButton.click();