crates/monetize-site-buy/tests/browser/welcome.html
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>a welcome page</title></head>
<body>
<!-- A site's welcome page as the shared script needs it; the look is the site's. -->
<p id="headline">Setting up your account …</p>
<p id="detail" role="status" aria-live="polite">Checking your sign-up …</p>
<div id="progress"><i></i></div>
<form id="rename" hidden autocomplete="off">
<input id="u" name="u" type="text" maxlength="32" required aria-label="Username">
<button id="go" type="submit">Use this name</button>
</form>
<p id="foot" hidden></p>
<pre id="verdict"></pre>
<script>
// The sign-up page kept the buyer's address, masked, in this tab (welcome.js MAILED_KEY).
try { sessionStorage.setItem('/*@storage*/signin_mailed', 'b***@mock.invalid'); } catch (e) {}
</script>
<script>/*@welcome-script*/</script>
<script>
// What the reader saw, every sentence in order, read back for the test (--dump-dom).
const said = [];
setInterval(() => {
const text = id => (document.getElementById(id).textContent || '').trim();
const line = text('headline') + ' | ' + text('detail') + ' | ' + document.getElementById('detail').className;
if (said[said.length - 1] !== line) said.push(line);
const foot = document.getElementById('foot');
document.getElementById('verdict').textContent = JSON.stringify({
said,
headline: text('headline'),
detail: text('detail'),
cls: document.getElementById('detail').className,
foot: foot.hidden ? '' : text('foot'),
links: [...foot.querySelectorAll('a')].map(a => [a.textContent, a.getAttribute('href')]),
buttons: [...foot.querySelectorAll('button')].map(b => b.textContent),
});
}, 50);
</script>
</body>
</html>