- Add generate-icons.sh script for cross-platform icon generation - Generate all required icon sizes (32x32, 128x128, 256x256, 512x512) - Create Windows .ico and macOS .icns icons - Add Rust unit tests for core functionality - Add tauri:test and tauri:icons npm scripts New files: - src-tauri/generate-icons.sh - src-tauri/icons/32x32.png - src-tauri/icons/128x128.png - src-tauri/icons/128x128@2x.png - src-tauri/icons/512x512.png - src-tauri/icons/icon.ico - src-tauri/icons/icon.icns - src-tauri/icons/src/app-icon.svg - src-tauri/icons/tray-icon.png - src-tauri/src/tests.rs Modified: - src-tauri/src/lib.rs (added tests module)
53 lines
1.6 KiB
Rust
53 lines
1.6 KiB
Rust
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn test_greet_command() {
|
|
let result = greet("World");
|
|
assert_eq!(result, "Hello, World! You've been greeted from Rust!");
|
|
}
|
|
|
|
#[test]
|
|
fn test_app_state_default() {
|
|
let state = AppState::default();
|
|
assert!(!state.app_version.is_empty());
|
|
assert_eq!(state.is_dev_mode, cfg!(debug_assertions));
|
|
}
|
|
|
|
#[test]
|
|
fn test_window_state_serialization() {
|
|
let state = WindowState {
|
|
width: 1280.0,
|
|
height: 800.0,
|
|
x: 100,
|
|
y: 100,
|
|
is_maximized: false,
|
|
};
|
|
|
|
let serialized = serde_json::to_string(&state).unwrap();
|
|
let deserialized: WindowState = serde_json::from_str(&serialized).unwrap();
|
|
|
|
assert_eq!(state.width, deserialized.width);
|
|
assert_eq!(state.height, deserialized.height);
|
|
assert_eq!(state.x, deserialized.x);
|
|
assert_eq!(state.y, deserialized.y);
|
|
assert_eq!(state.is_maximized, deserialized.is_maximized);
|
|
}
|
|
|
|
#[test]
|
|
fn test_update_info_serialization() {
|
|
let update_info = UpdateInfo {
|
|
current_version: "0.1.0".to_string(),
|
|
latest_version: "0.2.0".to_string(),
|
|
release_notes: "Bug fixes".to_string(),
|
|
download_url: "https://example.com/update".to_string(),
|
|
is_update_available: true,
|
|
};
|
|
|
|
let serialized = serde_json::to_string(&update_info).unwrap();
|
|
assert!(serialized.contains("0.2.0"));
|
|
assert!(serialized.contains("Bug fixes"));
|
|
}
|
|
}
|