Files
sanderling/internal/integration/testdata/counter/spec.ts
T

19 lines
623 B
TypeScript

import { always, extract, taps } from "@sanderling/spec";
const counter = extract((s) => {
const el = s.ax.find({ id: "counter" });
return el ? parseInt(el.text, 10) || 0 : 0;
}).named("counter");
// The + and - buttons each move the counter by exactly 1, so no step ever
// changes it by more than 1. A bug that double-applied a click would break this.
const changesByAtMostOne = always(() => {
const previous = counter.previous;
if (previous === undefined) return true;
return Math.abs(counter.current - previous) <= 1;
});
export const properties = { changesByAtMostOne };
export const actionsRoot = taps;