mod core;
mod helper;
mod types;
#[cfg(test)]
mod tests {
use super::*;
use crate::event::Key;
use crate::style::Color;
#[test]
fn test_card_new() {
let _c = Card::new();
}
#[test]
fn test_card_title() {
let _c = Card::new().title("My Card");
}
#[test]
fn test_card_subtitle() {
let _c = Card::new().subtitle("Description");
}
#[test]
fn test_card_variants() {
let _c = Card::new().outlined();
let _c = Card::new().filled();
let _c = Card::new().elevated();
let _c = Card::new().flat();
}
#[test]
fn test_card_border_styles() {
let _c = Card::new().rounded();
}
#[test]
fn test_card_collapsible() {
let mut c = Card::new().collapsible(true);
assert!(c.is_collapsible());
assert!(c.is_expanded());
c.toggle();
assert!(!c.is_expanded());
c.expand();
assert!(c.is_expanded());
c.collapse();
assert!(!c.is_expanded());
}
#[test]
fn test_card_collapsible_toggle_not_collapsible() {
let mut c = Card::new().collapsible(false);
c.toggle();
assert!(c.is_expanded()); }
#[test]
fn test_card_handle_key() {
let mut c = Card::new().collapsible(true);
assert!(c.handle_key(&Key::Enter));
assert!(!c.is_expanded());
assert!(c.handle_key(&Key::Char(' ')));
assert!(c.is_expanded());
assert!(c.handle_key(&Key::Left));
assert!(!c.is_expanded());
assert!(c.handle_key(&Key::Right));
assert!(c.is_expanded());
}
#[test]
fn test_card_handle_key_not_collapsible() {
let mut c = Card::new();
assert!(!c.handle_key(&Key::Enter));
}
#[test]
fn test_card_handle_key_disabled() {
let mut c = Card::new().collapsible(true).disabled(true);
assert!(!c.handle_key(&Key::Enter));
}
#[test]
fn test_card_colors() {
let _c = Card::new()
.background(Color::RED)
.border_color(Color::BLUE)
.title_color(Color::GREEN);
}
#[test]
fn test_card_padding() {
let _c = Card::new().padding(2);
}
#[test]
fn test_card_render_basic() {
}
#[test]
fn test_card_render_rounded() {
}
#[test]
fn test_card_with_body() {
}
#[test]
fn test_card_default() {
let _c = Card::default();
}
#[test]
fn test_card_helper() {
let _c = card().title("Helper");
}
#[test]
fn test_card_border_chars() {
}
#[test]
fn test_card_collapse_icon() {
}
#[test]
fn test_card_effective_colors() {
}
#[test]
fn test_card_clickable() {
let _c = Card::new().clickable(true);
}
}
pub use core::Card;
pub use helper::card;
pub use types::CardVariant;