Preview Email v3.0.2
The Order Confirmation preview now reproduces the confirmation email byte-for-byte: the product row, the option/value attribute lines, the one-time-charges row and the totals are exactly what order::send_order_email() builds. This corrects two places the rebuild had quietly diverged, and a made-up attribute format that showed option prices the real email never includes.
A parity guard in the test suite reads includes/classes/order.php from a running store, evaluates core's own markup expressions, and fails if the preview ever stops matching — verified identical across Zen Cart 1.5.8 through 3.0.0. Raised by Scott C. Wilson.
Also normalizes line endings to LF.
Install / upgrade: upload zc_plugins/PreviewEmail/v3.0.2/ and it upgrades in place through Modules > Plugin Manager.