- Added `applySearchReplace` function to handle search and replace operations with fuzzy matching capabilities. - Introduced tests for various scenarios including fuzzy matching with typos, exact matches, and handling whitespace differences. - Created a parser for search/replace blocks to facilitate the new functionality. - Updated prompts for search-replace operations to clarify usage and examples. - Added utility functions for text normalization and language detection based on file extensions. - Implemented a minimal stdio MCP server for local testing with tools for adding numbers and printing environment variables.
26 lines
746 B
TypeScript
26 lines
746 B
TypeScript
import { test } from "./helpers/test_helper";
|
|
import { expect } from "@playwright/test";
|
|
|
|
test("concurrent chat", async ({ po }) => {
|
|
await po.setUp();
|
|
await po.sendPrompt("tc=chat1 [sleep=medium]", {
|
|
skipWaitForCompletion: true,
|
|
});
|
|
// Need a short wait otherwise the click on Apps tab is ignored.
|
|
await po.sleep(2_000);
|
|
|
|
await po.goToAppsTab();
|
|
await po.sendPrompt("tc=chat2");
|
|
await po.snapshotMessages();
|
|
await po.clickChatActivityButton();
|
|
|
|
// Chat #1 will be the last in the list
|
|
expect(
|
|
await po.page.getByTestId(`chat-activity-list-item-1`).textContent(),
|
|
).toContain("Chat #1");
|
|
await po.page.getByTestId(`chat-activity-list-item-1`).click();
|
|
await po.snapshotMessages({ timeout: 12_000 });
|
|
|
|
//
|
|
});
|