fn generate_path_combinations() -> Vec<(String, Vec<String>)> {
vec![
(".nvim/init.lua".to_string(), vec![".nvim".to_string()]),
(".nvim".to_string(), vec![".nvim/init.lua".to_string()]),
(
".config/nvim".to_string(),
vec![
".config/nvim/init.lua".to_string(),
".config/nvim/lua/config.lua".to_string(),
],
),
(
".config/nvim/lua/plugins/init.lua".to_string(),
vec![".config/nvim".to_string()],
),
(
".nvim/config.lua".to_string(),
vec![".nvim/init.lua".to_string()],
),
("./nvim/init.lua".to_string(), vec![".nvim".to_string()]),
("nvim/init.lua".to_string(), vec![".nvim".to_string()]),
(
".config/nvim/init.lua".to_string(),
vec![".config".to_string(), ".local".to_string()],
),
]
}
#[test]
fn test_path_combination_scenarios() {
let combinations = generate_path_combinations();
assert!(!combinations.is_empty(), "Should have test combinations");
let has_bug_scenario = combinations.iter().any(|(path, synced)| {
path.contains("nvim/init.lua") && synced.iter().any(|s| s.contains("nvim"))
});
assert!(has_bug_scenario, "Should test the original bug scenario");
}