feat(sim): F4.6f1 what a run leaves goes back into the document
The oracle SaveAfterRunRun saves Java's project after a run. The room writes what a run leaves that Java keeps - files, running servers, virtual hosts, mail servers' domains and accounts, mail programs' accounts and folders, firewalls, DHCP clients' addresses - into the document as origin 'sim', at most once a second, after each action and at the stop; writeRunState writes only what differs. The command line now goes on in a folder made before a restart, as Java's does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -362,6 +362,37 @@ test('keeps the command line over leaving it, over a return to the design, and e
|
||||
await expect(window).toBeVisible();
|
||||
});
|
||||
|
||||
test('keeps what a run made in the files over a return to the design, as Java\'s project keeps it', async ({ page }) => {
|
||||
await openEditor(page, server.base, 'internetwork_komplett.fls');
|
||||
await start(page);
|
||||
const { input, text } = await commandLine(page, 'Notebook 1.10');
|
||||
await input.fill('mkdir ordner');
|
||||
await input.press('Enter');
|
||||
await input.fill('ls');
|
||||
await input.press('Enter');
|
||||
await expect(text).toContainText('ordner');
|
||||
await designButton(page).click();
|
||||
await expect(page.locator('svg.filius-canvas')).toHaveAttribute('data-mode', 'design');
|
||||
await start(page);
|
||||
await input.fill('cls');
|
||||
await input.press('Enter');
|
||||
await input.fill('ls');
|
||||
await input.press('Enter');
|
||||
await expect(text).toContainText('\n/> ls\n');
|
||||
await expect(text).toContainText('ordner');
|
||||
// Removed in the run, it is gone from the project too.
|
||||
await input.fill('rm ordner');
|
||||
await input.press('Enter');
|
||||
await designButton(page).click();
|
||||
await start(page);
|
||||
await input.fill('cls');
|
||||
await input.press('Enter');
|
||||
await input.fill('ls');
|
||||
await input.press('Enter');
|
||||
await expect(text).toContainText('\n/> ls\n');
|
||||
await expect(text).not.toContainText('ordner');
|
||||
});
|
||||
|
||||
test("installs and removes programs as Java's installation does, and a program installed runs at once", async ({ page }) => {
|
||||
await openEditor(page, server.base, 'internetwork_komplett.fls');
|
||||
const id = await deviceNamed(page, 'Rechner 3.10');
|
||||
|
||||
Reference in New Issue
Block a user