Relates to #25 (Milestone 6: Native Raw OS Printing Engine)
This PR adds an integration test suite for the unified raw printing engine and validates end-to-end command argument construction across the full profiling pipeline.
Key Changes
Integration Test Suite (src-tauri/src/print/tests.rs):
test_printer_model_json_serialization: Validates that Printer serializes and deserializes with exact field names (name, status, is_default) required by the frontend.
test_lpstat_e_multiline_and_whitespace_handling: Validates resilient handling of irregular formatting, blank lines, and whitespace in printer lists.
test_lpstat_p_various_printer_states: Tests state categorization (Idle, Printing, Stopped, Unknown) across different CUPS printer status outputs.
test_lpstat_d_with_trailing_spaces_and_tabs: Tests edge cases in default destination parsing.
test_multi_page_batch_spool_arguments: Tests argument generation for both standard raw spooling and PPD uncorrected fallback modes across multiple target pages.
test_print_target_nonexistent_file_handling: Validates that non-existent target files produce clear, informative errors prior to spooling.
Testing
cargo check and cargo test pass (21/21 tests passing).
## Summary
Relates to #25 (Milestone 6: Native Raw OS Printing Engine)
This PR adds an integration test suite for the unified raw printing engine and validates end-to-end command argument construction across the full profiling pipeline.
### Key Changes
- **Integration Test Suite (`src-tauri/src/print/tests.rs`)**:
- `test_printer_model_json_serialization`: Validates that `Printer` serializes and deserializes with exact field names (`name`, `status`, `is_default`) required by the frontend.
- `test_lpstat_e_multiline_and_whitespace_handling`: Validates resilient handling of irregular formatting, blank lines, and whitespace in printer lists.
- `test_lpstat_p_various_printer_states`: Tests state categorization (`Idle`, `Printing`, `Stopped`, `Unknown`) across different CUPS printer status outputs.
- `test_lpstat_d_with_trailing_spaces_and_tabs`: Tests edge cases in default destination parsing.
- `test_multi_page_batch_spool_arguments`: Tests argument generation for both standard raw spooling and PPD uncorrected fallback modes across multiple target pages.
- `test_print_target_nonexistent_file_handling`: Validates that non-existent target files produce clear, informative errors prior to spooling.
### Testing
- `cargo check` and `cargo test` pass (21/21 tests passing).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Relates to #25 (Milestone 6: Native Raw OS Printing Engine)
This PR adds an integration test suite for the unified raw printing engine and validates end-to-end command argument construction across the full profiling pipeline.
Key Changes
src-tauri/src/print/tests.rs):test_printer_model_json_serialization: Validates thatPrinterserializes and deserializes with exact field names (name,status,is_default) required by the frontend.test_lpstat_e_multiline_and_whitespace_handling: Validates resilient handling of irregular formatting, blank lines, and whitespace in printer lists.test_lpstat_p_various_printer_states: Tests state categorization (Idle,Printing,Stopped,Unknown) across different CUPS printer status outputs.test_lpstat_d_with_trailing_spaces_and_tabs: Tests edge cases in default destination parsing.test_multi_page_batch_spool_arguments: Tests argument generation for both standard raw spooling and PPD uncorrected fallback modes across multiple target pages.test_print_target_nonexistent_file_handling: Validates that non-existent target files produce clear, informative errors prior to spooling.Testing
cargo checkandcargo testpass (21/21 tests passing).