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.