diff --git a/src-tauri/src/cli/commands/config.rs b/src-tauri/src/cli/commands/config.rs index c8a6285..2905799 100644 --- a/src-tauri/src/cli/commands/config.rs +++ b/src-tauri/src/cli/commands/config.rs @@ -119,7 +119,7 @@ fn show_path() -> Result<(), AppError> { Ok(()) } -fn export_config(file: &PathBuf) -> Result<(), AppError> { +fn export_config(file: &Path) -> Result<(), AppError> { println!( "{}", info(&format!("Exporting configuration to {}...", file.display())) diff --git a/src-tauri/src/cli/commands/provider.rs b/src-tauri/src/cli/commands/provider.rs index 98fcd37..cac66f9 100644 --- a/src-tauri/src/cli/commands/provider.rs +++ b/src-tauri/src/cli/commands/provider.rs @@ -530,7 +530,7 @@ fn extract_claude_config(settings_config: &serde_json::Value) -> ClaudeConfig { .get("ANTHROPIC_AUTH_TOKEN") .or_else(|| env.get("ANTHROPIC_API_KEY")) .and_then(|v| v.as_str()) - .map(|s| mask_api_key(s)), + .map(mask_api_key), base_url: env .get("ANTHROPIC_BASE_URL") .and_then(|v| v.as_str()) @@ -538,19 +538,19 @@ fn extract_claude_config(settings_config: &serde_json::Value) -> ClaudeConfig { model: env .get("ANTHROPIC_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), haiku_model: env .get("ANTHROPIC_DEFAULT_HAIKU_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), sonnet_model: env .get("ANTHROPIC_DEFAULT_SONNET_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), opus_model: env .get("ANTHROPIC_DEFAULT_OPUS_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), } } else { ClaudeConfig::default() diff --git a/src-tauri/src/cli/commands/provider_input.rs b/src-tauri/src/cli/commands/provider_input.rs index 2c7eaad..2677213 100644 --- a/src-tauri/src/cli/commands/provider_input.rs +++ b/src-tauri/src/cli/commands/provider_input.rs @@ -41,8 +41,6 @@ pub fn generate_provider_id(name: &str, existing_ids: &[String]) -> String { .chars() .map(|c| if c.is_alphanumeric() || c == '-' || c == '_' { c - } else if c.is_whitespace() { - '-' } else { '-' }) diff --git a/src-tauri/src/cli/i18n.rs b/src-tauri/src/cli/i18n.rs index e9c70cf..88fa608 100644 --- a/src-tauri/src/cli/i18n.rs +++ b/src-tauri/src/cli/i18n.rs @@ -835,19 +835,11 @@ pub mod texts { } pub fn auth_type_api_key() -> &'static str { - if is_chinese() { - "API Key" - } else { - "API Key" - } + "API Key" } pub fn auth_type_service_account() -> &'static str { - if is_chinese() { - "Service Account (ADC)" - } else { - "Service Account (ADC)" - } + "Service Account (ADC)" } pub fn gemini_api_key_label() -> &'static str { @@ -915,11 +907,7 @@ pub mod texts { } pub fn packycode_api_key() -> &'static str { - if is_chinese() { - "PackyCode API Key" - } else { - "PackyCode API Key" - } + "PackyCode API Key" } pub fn generic_api_key() -> &'static str { @@ -1084,11 +1072,7 @@ pub mod texts { } pub fn id_label() -> &'static str { - if is_chinese() { - "ID" - } else { - "ID" - } + "ID" } pub fn website_label() -> &'static str { @@ -1201,19 +1185,11 @@ pub mod texts { } pub fn api_key_display_label() -> &'static str { - if is_chinese() { - "API Key" - } else { - "API Key" - } + "API Key" } pub fn base_url_display_label() -> &'static str { - if is_chinese() { - "Base URL" - } else { - "Base URL" - } + "Base URL" } pub fn model_config_header() -> &'static str { @@ -1233,27 +1209,15 @@ pub mod texts { } pub fn haiku_model_display() -> &'static str { - if is_chinese() { - "Haiku" - } else { - "Haiku" - } + "Haiku" } pub fn sonnet_model_display() -> &'static str { - if is_chinese() { - "Sonnet" - } else { - "Sonnet" - } + "Sonnet" } pub fn opus_model_display() -> &'static str { - if is_chinese() { - "Opus" - } else { - "Opus" - } + "Opus" } pub fn auth_type_display_label() -> &'static str { diff --git a/src-tauri/src/cli/interactive/mod.rs b/src-tauri/src/cli/interactive/mod.rs index 5f31cb5..53a27c4 100644 --- a/src-tauri/src/cli/interactive/mod.rs +++ b/src-tauri/src/cli/interactive/mod.rs @@ -161,7 +161,7 @@ fn view_current_config(app_type: &AppType) -> Result<(), AppError> { if let Some(provider) = providers.get(¤t_provider) { println!("\n{}", highlight(texts::provider_label())); println!(" 名称: {}", provider.name); - let api_url = provider::extract_api_url(&provider.settings_config, &app_type) + let api_url = provider::extract_api_url(&provider.settings_config, app_type) .unwrap_or_else(|| "N/A".to_string()); println!(" API URL: {}", api_url); } diff --git a/src-tauri/src/cli/interactive/provider.rs b/src-tauri/src/cli/interactive/provider.rs index 42032f5..29a03d6 100644 --- a/src-tauri/src/cli/interactive/provider.rs +++ b/src-tauri/src/cli/interactive/provider.rs @@ -426,7 +426,7 @@ fn extract_claude_config(settings_config: &serde_json::Value) -> ClaudeConfig { .get("ANTHROPIC_AUTH_TOKEN") .or_else(|| env.get("ANTHROPIC_API_KEY")) .and_then(|v| v.as_str()) - .map(|s| mask_api_key(s)), + .map(mask_api_key), base_url: env .get("ANTHROPIC_BASE_URL") .and_then(|v| v.as_str()) @@ -434,19 +434,19 @@ fn extract_claude_config(settings_config: &serde_json::Value) -> ClaudeConfig { model: env .get("ANTHROPIC_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), haiku_model: env .get("ANTHROPIC_DEFAULT_HAIKU_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), sonnet_model: env .get("ANTHROPIC_DEFAULT_SONNET_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), opus_model: env .get("ANTHROPIC_DEFAULT_OPUS_MODEL") .and_then(|v| v.as_str()) - .map(|s| simplify_model_name(s)), + .map(simplify_model_name), } } else { ClaudeConfig::default() diff --git a/src-tauri/src/services/speedtest.rs b/src-tauri/src/services/speedtest.rs index 9eda578..6f629db 100644 --- a/src-tauri/src/services/speedtest.rs +++ b/src-tauri/src/services/speedtest.rs @@ -140,20 +140,21 @@ mod tests { ); } - #[test] - fn test_endpoints_handles_empty_list() { - let result = - tauri::async_runtime::block_on(SpeedtestService::test_endpoints(Vec::new(), Some(5))) - .expect("empty list should succeed"); + #[tokio::test] + async fn test_endpoints_handles_empty_list() { + let result = SpeedtestService::test_endpoints(Vec::new(), Some(5)) + .await + .expect("empty list should succeed"); assert!(result.is_empty()); } - #[test] - fn test_endpoints_reports_invalid_url() { - let result = tauri::async_runtime::block_on(SpeedtestService::test_endpoints( + #[tokio::test] + async fn test_endpoints_reports_invalid_url() { + let result = SpeedtestService::test_endpoints( vec!["not a url".into(), "".into()], None, - )) + ) + .await .expect("invalid inputs should still succeed"); assert_eq!(result.len(), 2);