ethCallResult() answers an override of 0 instead of falling back to the explorer's 6, so a token with no decimal places can be fixtured.
Every Chrome test that turns a fixture switch on for itself alone (a held or failing gas estimate, a seeded native transfer or receipt, a lying decimals(), a markup symbol) turns it off in a finally.
The two tests that drive the popup's own send also end on the address screen in their finally, through backToAddressAfterSend(). The wait for a receipt has no button and polls every ten seconds, so the helper reopens the popup, which asks at once, with seedReceipt set.
The lying-decimals() test asserts that nothing was broadcast as soon as the send ends, then expects the failure screen.
Most of the run.js diff is re-indentation; git diff -w shows the change. Switches meant to outlast a test (balances, the seeded token transfer and holding) are left alone: putting them back after a failure would break the tests built on them. The first ConfirmTx test's hold is released by the next test; a comment now says so.
Judgement call: "in one place" read as one finally per test rather than the runner, for the reason above.
Mutation: with confirmTx.js encoding from parseUnits(tx.amount, await contract.decimals()) again, the lying-decimals() test failed within a second on its broadcast assertion, and was the only red test.
Partly verified: no standing test sets the override to 0; I checked it with one local run of the lying-decimals() test at a scale of 0.
Model: opus-5-5
Closes https://git.eeqj.de/sneak/AutistMask/issues/318.
- `ethCallResult()` answers an override of `0` instead of falling back to the explorer's 6, so a token with no decimal places can be fixtured.
- Every Chrome test that turns a fixture switch on for itself alone (a held or failing gas estimate, a seeded native transfer or receipt, a lying `decimals()`, a markup symbol) turns it off in a `finally`.
- The two tests that drive the popup's own send also end on the address screen in their `finally`, through `backToAddressAfterSend()`. The wait for a receipt has no button and polls every ten seconds, so the helper reopens the popup, which asks at once, with `seedReceipt` set.
- The lying-`decimals()` test asserts that nothing was broadcast as soon as the send ends, then expects the failure screen.
Most of the `run.js` diff is re-indentation; `git diff -w` shows the change. Switches meant to outlast a test (balances, the seeded token transfer and holding) are left alone: putting them back after a failure would break the tests built on them. The first ConfirmTx test's hold is released by the next test; a comment now says so.
Judgement call: "in one place" read as one `finally` per test rather than the runner, for the reason above.
Mutation: with `confirmTx.js` encoding from `parseUnits(tx.amount, await contract.decimals())` again, the lying-`decimals()` test failed within a second on its broadcast assertion, and was the only red test.
Partly verified: no standing test sets the override to `0`; I checked it with one local run of the lying-`decimals()` test at a scale of `0`.
Model: opus-5-5
The branch no longer merges into current next. TODO.md conflicts with the #168 entry that landed on next at 6fece80, because both entries were added at the top of Completed Steps. Acceptable: rebase onto current next, keep both entries with this one first, run make fmt, and push. No other change is needed.
Model: opus-5-5
FAIL
1. The branch no longer merges into current `next`. `TODO.md` conflicts with the https://git.eeqj.de/sneak/AutistMask/issues/168 entry that landed on `next` at `6fece80`, because both entries were added at the top of Completed Steps. Acceptable: rebase onto current `next`, keep both entries with this one first, run `make fmt`, and push. No other change is needed.
Model: opus-5-5
Rebased onto 6fece80. Only TODO.md conflicted: kept both Completed Steps entries, this one above the one from #168. Nothing else changed.
Model: opus-5-5
Rebased onto `6fece80`. Only `TODO.md` conflicted: kept both Completed Steps entries, this one above the one from https://git.eeqj.de/sneak/AutistMask/issues/168. Nothing else changed.
Model: opus-5-5
A test that turns a fixture switch on for itself alone turns it off in a
finally, so a failure no longer reddens the tests after it. The two tests
that drive the popup's own send also return it to the address screen,
reopening the popup to leave a wait for a receipt. The lying-decimals()
test asserts that nothing was broadcast as soon as the send ends, before
waiting for the failure screen. ethCallResult() answers an override of 0
instead of falling back to the explorer's scale.
Model: opus-5-5
Rebased onto 83b169d; TODO.md conflicted with the entry from #457, resolved by keeping both entries with this one on top; nothing else changed.
Model: opus-5-5
Rebased onto `83b169d`; `TODO.md` conflicted with the entry from https://git.eeqj.de/sneak/AutistMask/pulls/457, resolved by keeping both entries with this one on top; nothing else changed.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #318.
ethCallResult()answers an override of0instead of falling back to the explorer's 6, so a token with no decimal places can be fixtured.decimals(), a markup symbol) turns it off in afinally.finally, throughbackToAddressAfterSend(). The wait for a receipt has no button and polls every ten seconds, so the helper reopens the popup, which asks at once, withseedReceiptset.decimals()test asserts that nothing was broadcast as soon as the send ends, then expects the failure screen.Most of the
run.jsdiff is re-indentation;git diff -wshows the change. Switches meant to outlast a test (balances, the seeded token transfer and holding) are left alone: putting them back after a failure would break the tests built on them. The first ConfirmTx test's hold is released by the next test; a comment now says so.Judgement call: "in one place" read as one
finallyper test rather than the runner, for the reason above.Mutation: with
confirmTx.jsencoding fromparseUnits(tx.amount, await contract.decimals())again, the lying-decimals()test failed within a second on its broadcast assertion, and was the only red test.Partly verified: no standing test sets the override to
0; I checked it with one local run of the lying-decimals()test at a scale of0.Model: opus-5-5
FAIL
next.TODO.mdconflicts with the #168 entry that landed onnextat6fece80, because both entries were added at the top of Completed Steps. Acceptable: rebase onto currentnext, keep both entries with this one first, runmake fmt, and push. No other change is needed.Model: opus-5-5
7de9dd26fetoc32e44d6c6Rebased onto
6fece80. OnlyTODO.mdconflicted: kept both Completed Steps entries, this one above the one from #168. Nothing else changed.Model: opus-5-5
c32e44d6c6tod99c852899Rebased onto
83b169d;TODO.mdconflicted with the entry from #457, resolved by keeping both entries with this one on top; nothing else changed.Model: opus-5-5
PASS
Model: opus-5-5