Preset save/load/list/delete/import/export, config JSON persistence, session state save/restore, and processing history log with append/clear. All stored as JSON under ~/.config/pixstrip/.
28 lines
943 B
Rust
28 lines
943 B
Rust
use pixstrip_core::config::*;
|
|
|
|
#[test]
|
|
fn default_config() {
|
|
let config = AppConfig::default();
|
|
assert_eq!(config.output_subfolder, "processed");
|
|
assert_eq!(config.overwrite_behavior, OverwriteBehavior::Ask);
|
|
assert!(config.remember_settings);
|
|
assert_eq!(config.skill_level, SkillLevel::Simple);
|
|
assert_eq!(config.thread_count, ThreadCount::Auto);
|
|
assert_eq!(config.error_behavior, ErrorBehavior::SkipAndContinue);
|
|
}
|
|
|
|
#[test]
|
|
fn config_serialization_roundtrip() {
|
|
let config = AppConfig::default();
|
|
let json = serde_json::to_string(&config).unwrap();
|
|
let deserialized: AppConfig = serde_json::from_str(&json).unwrap();
|
|
assert_eq!(deserialized.output_subfolder, config.output_subfolder);
|
|
assert_eq!(deserialized.overwrite_behavior, config.overwrite_behavior);
|
|
}
|
|
|
|
#[test]
|
|
fn skill_level_toggle() {
|
|
assert!(!SkillLevel::Simple.is_advanced());
|
|
assert!(SkillLevel::Detailed.is_advanced());
|
|
}
|