use super::*;
#[cfg_attr(coverage_nightly, coverage(off))]
#[cfg(test)]
mod edge_case_tests {
use super::*;
use std::fs;
use tempfile::TempDir;
#[tokio::test]
async fn test_handle_deep_context_nonexistent_path() {
let result = handle_analyze_deep_context(
PathBuf::from("/nonexistent/path/to/project"),
None,
DeepContextOutputFormat::Json,
false,
vec![],
vec![],
30,
None,
None,
vec![],
vec![],
None,
false,
false,
10,
)
.await;
let _ = result;
}
#[tokio::test]
async fn test_handle_deep_context_with_special_characters_in_path() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let special_dir = temp_dir.path().join("project with spaces");
fs::create_dir_all(&special_dir).expect("Failed to create directory");
let main_rs = special_dir.join("main.rs");
fs::write(&main_rs, "fn main() {}").expect("Failed to write file");
let result = handle_analyze_deep_context(
special_dir,
None,
DeepContextOutputFormat::Json,
false,
vec![],
vec![],
30,
None,
None,
vec![],
vec![],
None,
false,
false,
10,
)
.await;
assert!(result.is_ok());
}
#[tokio::test]
async fn test_handle_deep_context_empty_file() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let empty_rs = temp_dir.path().join("empty.rs");
fs::write(&empty_rs, "").expect("Failed to write empty file");
let result = handle_analyze_deep_context(
temp_dir.path().to_path_buf(),
None,
DeepContextOutputFormat::Json,
false,
vec![],
vec![],
30,
None,
None,
vec![],
vec![],
None,
false,
false,
10,
)
.await;
assert!(result.is_ok());
}
#[tokio::test]
async fn test_handle_deep_context_binary_file() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let binary_file = temp_dir.path().join("binary.rs");
fs::write(&binary_file, vec![0u8, 1, 2, 3, 255, 254, 253])
.expect("Failed to write binary file");
let result = handle_analyze_deep_context(
temp_dir.path().to_path_buf(),
None,
DeepContextOutputFormat::Json,
false,
vec![],
vec![],
30,
None,
None,
vec![],
vec![],
None,
false,
false,
10,
)
.await;
let _ = result;
}
#[tokio::test]
async fn test_handle_deep_context_large_top_files() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let main_rs = temp_dir.path().join("main.rs");
fs::write(&main_rs, "fn main() {}").expect("Failed to write file");
let result = handle_analyze_deep_context(
temp_dir.path().to_path_buf(),
None,
DeepContextOutputFormat::Json,
false,
vec![],
vec![],
30,
None,
None,
vec![],
vec![],
None,
false,
false,
1000, )
.await;
assert!(result.is_ok());
}
#[tokio::test]
async fn test_handle_deep_context_zero_period_days() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let main_rs = temp_dir.path().join("main.rs");
fs::write(&main_rs, "fn main() {}").expect("Failed to write file");
let result = handle_analyze_deep_context(
temp_dir.path().to_path_buf(),
None,
DeepContextOutputFormat::Json,
false,
vec![],
vec![],
0, None,
None,
vec![],
vec![],
None,
false,
false,
10,
)
.await;
let _ = result;
}
#[tokio::test]
async fn test_handle_comprehensive_empty_files_list() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let main_rs = temp_dir.path().join("main.rs");
fs::write(&main_rs, "fn main() {}").expect("Failed to write file");
let result = handle_analyze_comprehensive(
temp_dir.path().to_path_buf(),
None,
vec![], ComprehensiveOutputFormat::Summary,
false,
false,
false,
true,
false,
0.5,
100,
None,
None,
None,
false,
false,
)
.await;
let _ = result;
}
#[tokio::test]
async fn test_handle_graph_metrics_empty_seeds() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let main_rs = temp_dir.path().join("main.rs");
fs::write(&main_rs, "fn main() {}").expect("Failed to write file");
let result = handle_analyze_graph_metrics(
temp_dir.path().to_path_buf(),
vec![GraphMetricType::PageRank],
vec![], 0.85,
100,
1e-6,
false,
GraphMetricsOutputFormat::Summary,
None,
None,
None,
false,
10,
0.0,
)
.await;
let _ = result;
}
#[tokio::test]
async fn test_handle_symbol_table_empty_include_exclude() {
let temp_dir = TempDir::new().expect("Failed to create temp dir");
let main_rs = temp_dir.path().join("main.rs");
fs::write(&main_rs, "fn main() {}").expect("Failed to write file");
let result = handle_analyze_symbol_table(
temp_dir.path().to_path_buf(),
SymbolTableOutputFormat::Summary,
None,
None,
vec![], vec![], false,
false,
None,
false,
)
.await;
let _ = result;
}
}