macOS CI / build-and-test (push) Skipped
- Detect vendor tray keys in CupsParsers with InputSlot/MediaSource/EPIJ_FdSo/EPIJ_PSrc/CNIJMediaSupply roster; EPIJ_FdSo wins over EPIJ_PSrc. - PrinterTray now carries raw token + display name; PrinterCapabilities exposes trayKey, trayDefault and tray-specific quality maps. - CupsService enumerates trays from the detected key, enriches labels from PPD, seeds selection from CUPS default, and precomputes per-tray media→quality constraints. - MediaQualityConstraints resolves quality availability from both selected media and selected tray, falling back to the media-only map. - TicketWriteResolver emits the selected tray key=token in the locked write order between PageSize and media key. - PrintPanelService applies the Stage 2 tray token to PMPrintSettings on open and captures the tray back from the full roster plus AP_D_InputSlot. - PrintSessionViewModel keeps selectedTrayToken, applies capture-back, preserves unknown captured tokens as synthetic trays, and passes tray into spool overrides. - Stage2View replaces portrait/landscape buttons with an orientation dropdown (printerOrientationSelect) while preserving portrait/landscape semantics and orientation-requested=3|4. - Add/update core, UI and fixture tests for tray detection, enumeration, PPD labels, defaults, unknown-token synthesis, panel capture, ticket write order and tray-aware quality clamping. - Update docs/10-print-system.md, docs/11-print-macos.md, docs/21-ui-reference.md and docs/24-issues-invariants.md. Verified on the macOS 12.7.6 x86_64 CI runner: xcodebuild build-for-testing and ICCeryCoreTests pass (557 tests, 0 failures).
27 lines
908 B
Bash
Executable File
27 lines
908 B
Bash
Executable File
#!/bin/sh
|
|
# Mock lpoptions for Milestone3UITests. `-p <q>` prints printer-info;
|
|
# `-p <q> -l` prints Key/Label listings incl. Epson bypass keys and the
|
|
# recorded XP-55 EPIJ_Qual line — the driver's own non-sorted order
|
|
# (308 sits between 303 and 304, #180).
|
|
queue=""
|
|
list=0
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
-p) shift_flag=1 ;;
|
|
-l) list=1 ;;
|
|
-*) ;;
|
|
*) queue="$arg" ;;
|
|
esac
|
|
done
|
|
if [ "$list" = "1" ]; then
|
|
printf 'PageSize/Media Size: 4x6 5x7 *A4 Letter Legal\n'
|
|
printf 'EPIJ_FdSo/Paper Source: Auto *Main Rear\n'
|
|
printf 'MediaType/Media Type: *Stationery PhotographicGlossy PhotographicMatte\n'
|
|
printf 'EPIJ_Qual/Print Quality: 301 302 *303 308 304 305 307\n'
|
|
printf 'EPIJ_CMat/Color Adjust: *0 1 2 3\n'
|
|
printf 'ColorModel/Output Mode: *RGB Gray\n'
|
|
exit 0
|
|
fi
|
|
printf "printer-info='Mock %s' printer-make-and-model='EPSON XP-55 Series' printer-type=42\n" "$queue"
|
|
exit 0
|