traxor/tests/app.rs
Kristofers Solo 6675634391
Some checks failed
CI / build-and-test (push) Has been cancelled
chore: add reamde
2026-01-01 16:46:17 +02:00

79 lines
1.9 KiB
Rust

use claims::assert_ok;
use traxor::{app::App, config::Config};
#[test]
fn test_app_creation() {
let config = assert_ok!(Config::load());
let app = assert_ok!(App::new(config));
assert_eq!(app.tabs().len(), 5);
}
#[test]
fn test_app_quit() {
let config = assert_ok!(Config::load());
let mut app = assert_ok!(App::new(config));
app.quit();
assert!(!app.running);
}
#[test]
fn test_app_next_tab() {
let config = assert_ok!(Config::load());
let mut app = assert_ok!(App::new(config));
assert_eq!(app.index(), 0);
app.next_tab();
assert_eq!(app.index(), 1);
app.next_tab();
assert_eq!(app.index(), 2);
app.next_tab();
assert_eq!(app.index(), 3);
app.next_tab();
assert_eq!(app.index(), 4);
app.next_tab();
assert_eq!(app.index(), 0); // Wraps around
}
#[test]
fn test_app_prev_tab() {
let config = assert_ok!(Config::load());
let mut app = assert_ok!(App::new(config));
assert_eq!(app.index(), 0);
app.prev_tab();
assert_eq!(app.index(), 4); // Wraps around
app.prev_tab();
assert_eq!(app.index(), 3);
}
#[test]
fn test_app_switch_tab() {
let config = assert_ok!(Config::load());
let mut app = assert_ok!(App::new(config));
assert_eq!(app.index(), 0);
app.switch_tab(2);
assert_eq!(app.index(), 2);
app.switch_tab(0);
assert_eq!(app.index(), 0);
}
#[test]
fn test_app_toggle_popup() {
let config = assert_ok!(Config::load());
let mut app = assert_ok!(App::new(config));
assert!(!app.show_help);
app.toggle_help();
assert!(app.show_help);
app.toggle_help();
assert!(!app.show_help);
}
#[test]
fn test_app_open_close_popup() {
let config = assert_ok!(Config::load());
let mut app = assert_ok!(App::new(config));
assert!(!app.show_help);
app.open_help();
assert!(app.show_help);
app.close_help();
assert!(!app.show_help);
}