Generalize Rolemaster standard dice parsing

This commit is contained in:
2026-04-03 01:33:32 +02:00
parent e5f00fa693
commit f0dd79e589
17 changed files with 121 additions and 275 deletions

View File

@@ -108,9 +108,9 @@ test("Rolemaster UI exposes conditional create and edit fields", async ({ page,
await page.getByRole("menuitem", { name: "Play" }).click();
await page.getByRole("button", { name: "Add group" }).click();
await expect(page.locator("#skill-group-rolemaster-roll-type")).toBeVisible();
await expect(page.locator("#skill-group-wild-dice")).toHaveCount(0);
await page.locator("#skill-group-rolemaster-roll-type").selectOption("open-ended-percentile");
await expect(page.locator("#skill-group-expression")).toHaveValue("d100");
await page.locator("#skill-group-expression").fill("d100!+15");
await expect(page.locator("#skill-group-fumble-range")).toBeVisible();
await page.locator("#skill-group-fumble-range").fill("");
await page.getByRole("button", { name: "Create Group" }).click();
@@ -118,16 +118,17 @@ test("Rolemaster UI exposes conditional create and edit fields", async ({ page,
await page.getByRole("button", { name: "Cancel" }).click();
await page.getByRole("button", { name: "Add skill" }).first().click();
await expect(page.locator("#skill-create-rolemaster-roll-type")).toBeVisible();
await page.locator("#skill-create-rolemaster-roll-type").selectOption("percentile");
await expect(page.locator("#skill-create-expression")).toHaveValue("d100!+15");
await page.locator("#skill-create-expression").fill("15d10");
await expect(page.locator("#skill-create-fumble-range")).toHaveCount(0);
await page.locator("#skill-create-rolemaster-roll-type").selectOption("open-ended-percentile");
await page.locator("#skill-create-expression").fill("d100!+25");
await expect(page.locator("#skill-create-fumble-range")).toBeVisible();
await page.getByRole("button", { name: "Cancel" }).click();
await page.locator("button[title='Edit skill']").first().click();
await expect(page.locator("#skill-edit-expression")).toHaveValue("d100!+25");
await expect(page.locator("#skill-edit-rolemaster-roll-type")).toHaveValue("open-ended-percentile");
await expect(page.locator("#skill-edit-fumble-range")).toHaveValue("5");
await page.locator("#skill-edit-expression").fill("d10");
await expect(page.locator("#skill-edit-fumble-range")).toHaveCount(0);
await page.getByRole("button", { name: "Cancel" }).click();
});