#[cfg(test)]
mod config_verification {
use std::time::Duration;
use vtcode_config::VTCodeConfig;
#[test]
fn test_cache_constants_optimized() {
use crate::cache::DEFAULT_CACHE_TTL;
assert_eq!(
DEFAULT_CACHE_TTL,
Duration::from_secs(120),
"Cache TTL should be 120 seconds (optimized from 300s)"
);
use crate::cache::DEFAULT_MAX_CACHE_CAPACITY;
assert_eq!(
DEFAULT_MAX_CACHE_CAPACITY, 1_000,
"Max cache capacity should be 1,000 entries (optimized from 10k)"
);
println!(
"v Cache constants verified: TTL={}s, MaxCapacity={}",
DEFAULT_CACHE_TTL.as_secs(),
DEFAULT_MAX_CACHE_CAPACITY
);
}
#[test]
fn test_pty_config_optimized() {
let config = VTCodeConfig::default();
assert_eq!(
config.pty.max_scrollback_bytes, 25_000_000,
"PTY max scrollback should be 25MB (optimized from 50MB)"
);
println!(
"v PTY config verified: max_scrollback={}MB",
config.pty.max_scrollback_bytes / 1_000_000
);
}
#[test]
fn test_default_config_reasonable() {
let config = VTCodeConfig::default();
assert!(
config.pty.max_scrollback_bytes > 1_000_000,
"PTY scrollback too small"
);
assert!(
config.pty.max_scrollback_bytes < 100_000_000,
"PTY scrollback too large"
);
assert!(
config.pty.scrollback_lines > 0,
"Scrollback lines should be positive"
);
assert!(
config.pty.scrollback_lines < 10_000,
"Scrollback lines shouldn't be huge"
);
println!(
"v Default config reasonable: scrollback_lines={}, max_bytes={}",
config.pty.scrollback_lines, config.pty.max_scrollback_bytes
);
}
#[test]
fn test_config_override_capability() {
let increased_scrollback = 52_428_800; assert!(
increased_scrollback > 25_000_000,
"Override should allow larger values"
);
let decreased_scrollback = 5_000_000; assert!(
decreased_scrollback < 25_000_000,
"Override should allow smaller values"
);
println!(
"v Config override capability verified: can set scrollback to {}MB - {}MB",
decreased_scrollback / 1_000_000,
increased_scrollback / 1_000_000
);
}
#[test]
fn test_optimized_defaults_integrated() {
let config = VTCodeConfig::default();
assert!(
config.pty.max_scrollback_bytes <= 25_000_000,
"PTY using optimized default"
);
assert!(config.pty.enabled, "PTY should be enabled by default");
assert!(config.pty.default_rows > 0, "PTY should have default rows");
assert!(
config.pty.default_cols > 0,
"PTY should have default columns"
);
println!(
"v Optimized defaults integrated: PTY{}x{}, scrollback={}MB",
config.pty.default_rows,
config.pty.default_cols,
config.pty.max_scrollback_bytes / 1_000_000
);
}
#[test]
fn test_ask_questions_default_enabled() {
let config = VTCodeConfig::default();
assert!(
config.chat.ask_questions.enabled,
"Ask Questions should be enabled by default"
);
}
#[test]
fn test_ask_questions_alias_parsing() {
let cfg: VTCodeConfig = toml::from_str(
r#"
[chat.askQuestions]
enabled = false
"#,
)
.expect("Failed to parse chat.askQuestions");
assert!(!cfg.chat.ask_questions.enabled);
let cfg: VTCodeConfig = toml::from_str(
r#"
[chat.ask_questions]
enabled = false
"#,
)
.expect("Failed to parse chat.ask_questions");
assert!(!cfg.chat.ask_questions.enabled);
}
}