NAME
run-bookmark-browser-smoke.pl - fast browser-backed smoke runner for saved bookmark files
SYNOPSIS
integration/browser/run-bookmark-browser-smoke.pl
integration/browser/run-bookmark-browser-smoke.pl \
--bookmark-file ~/.developer-dashboard/dashboards/test \
--expect-page-fragment "set_chain_value(foo,'bar','/ajax/foobar?type=text')" \
--expect-ajax-path /ajax/foobar?type=text \
--expect-ajax-body 123 \
--expect-dom-fragment '<span class="display">123</span>'
DESCRIPTION
This host-side smoke runner creates an isolated temporary dashboard runtime, starts the checkout-local web app, loads one saved bookmark page through a real headless browser, and verifies optional page, ajax, and final DOM fragments.
With no --bookmark-file, it runs the built-in legacy jQuery/Ajax bookmark sample that checks the exact foo.bar binding flow used by the bookmark regressions fixed in the 1.06 and 1.07 releases.
PURPOSE
This integration script drives saved pages, bookmark rendering, and page-routing behavior in an environment that is closer to a real install than the unit tests. Read it when you need the exact orchestration steps, external tools, and explicit assertions for that broader check.
WHY IT EXISTS
It exists because saved pages, bookmark rendering, and page-routing behavior cannot be trusted from isolated unit coverage alone. The repository needs one place that shows how the bigger environment is created and what success looks like there.
WHEN TO USE
Use this file when validating saved pages, bookmark rendering, and page-routing behavior, when the blank-environment or browser-smoke docs change, or when a release verification step fails outside the unit-test layer.
HOW TO USE
Run it directly from the repository root in the environment it expects, read the emitted paths and logs on failure, and prefer the documented wrapper path when one exists so the integration environment stays reproducible.
WHAT USES IT
Release verification, integration checklists, and contributors diagnosing environment-specific failures use this file.
EXAMPLES
Example 1:
perl integration/browser/run-bookmark-browser-smoke.pl --keep-temp
Keep the temporary project, home, and browser profile directories around for debugging after a failure.
Example 2:
perl integration/browser/run-bookmark-browser-smoke.pl --bookmark-file /tmp/sample.page --expect-ajax-path '/ajax/test?type=text' --expect-ajax-body 'ok'
Exercise one saved Ajax endpoint as part of the bookmark smoke.
Example 3:
perl integration/browser/run-bookmark-browser-smoke.pl --bookmark-file /tmp/sample.page --expect-page-fragment 'Hello' --expect-dom-fragment 'Hello'
Point the smoke runner at one explicit bookmark file and assert both raw page and browser DOM output.
Example 4:
perl integration/browser/run-bookmark-browser-smoke.pl
Run this integration helper directly from the repository root.