feat(editor): the simulation's properties in a sheet of their own, with a restart for everyone
Who started the simulation, "Pakete verwerfen" and the dropped packets move from the toolbar into a properties sheet beside the surface. New in it: restart the simulation, after asking. The room learns a restart message: stopped as by stop, every capture, dropped frame and program window emptied, started anew and named after who restarted; refused for readers and frozen projects, logged, and waiting for asked blobs like a start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
// its address; the browser's card while it fetches a page — a row per frame
|
||||
// in its layer's colour, the chosen frame's details, the table as a text
|
||||
// file named after the tab —, a router's two cards beside it, "Tabellen
|
||||
// löschen", "Automatisches Scrollen" off, a tab closed, the window gone with
|
||||
// löschen", "Automatisches Scrollen" off, a restart emptying it, a tab closed, the window gone with
|
||||
// the design and back with the next start without the tab of a computer
|
||||
// removed; and on a phone.
|
||||
|
||||
@@ -164,6 +164,27 @@ test("shows a card's frames as Java's data exchange window does, with their deta
|
||||
await expect(window.locator('tbody tr[aria-selected="true"]')).toHaveCount(0);
|
||||
expect(await scrolled()).toMatchObject({ overflows: true, top: 0 });
|
||||
|
||||
// Started anew from „Eigenschaften“: the table begins empty, and the frame chosen before is chosen in none of the new ones.
|
||||
await rows.nth(2).click();
|
||||
await expect(rows.nth(2)).toHaveAttribute('aria-selected', 'true');
|
||||
await page.getByRole('button', { name: 'Eigenschaften' }).click();
|
||||
const properties = page.getByRole('complementary', { name: 'Eigenschaften' });
|
||||
await properties.getByRole('button', { name: 'Simulation neu starten' }).click();
|
||||
await properties.getByRole('button', { name: 'Neu starten' }).click();
|
||||
await expect(rows).toHaveCount(0);
|
||||
await properties.getByRole('button', { name: 'Schließen' }).click();
|
||||
await window.locator('.simulation-sheet__close').click();
|
||||
await showDesktop(page, await idOf(page, 'Browser'));
|
||||
await desktop.locator('[data-program="webBrowser"]').click();
|
||||
await address.fill('192.168.0.20');
|
||||
await address.press('Enter');
|
||||
await page.waitForTimeout(6_000);
|
||||
await desktop.locator('.simulation-sheet__close').click();
|
||||
await (await menuOf(page, 'Browser')).filter({ hasText: 'Datenaustausch' }).click();
|
||||
await expect.poll(() => rows.count()).toBeGreaterThan(3);
|
||||
await expect(rows.first().locator('td').first()).toHaveText('1');
|
||||
await expect(window.locator('tbody tr[aria-selected="true"]')).toHaveCount(0);
|
||||
|
||||
// A third tab; a tab closed beside the chosen one leaves it chosen.
|
||||
await window.locator('.simulation-sheet__close').click();
|
||||
await (await menuOf(page, 'Server')).filter({ hasText: 'Datenaustausch' }).click();
|
||||
|
||||
Reference in New Issue
Block a user