use revue::layout::{Breakpoint, Breakpoints};
#[test]
fn test_breakpoint_new() {
let bp = Breakpoint::new("custom", 50);
assert_eq!(bp.name, "custom");
assert_eq!(bp.min_width, 50);
}
#[test]
fn test_breakpoint_xs_const() {
assert_eq!(Breakpoint::XS.name, "xs");
assert_eq!(Breakpoint::XS.min_width, 0);
}
#[test]
fn test_breakpoint_sm_const() {
assert_eq!(Breakpoint::SM.name, "sm");
assert_eq!(Breakpoint::SM.min_width, 40);
}
#[test]
fn test_breakpoint_md_const() {
assert_eq!(Breakpoint::MD.name, "md");
assert_eq!(Breakpoint::MD.min_width, 80);
}
#[test]
fn test_breakpoint_lg_const() {
assert_eq!(Breakpoint::LG.name, "lg");
assert_eq!(Breakpoint::LG.min_width, 120);
}
#[test]
fn test_breakpoint_xl_const() {
assert_eq!(Breakpoint::XL.name, "xl");
assert_eq!(Breakpoint::XL.min_width, 160);
}
#[test]
fn test_breakpoints_new() {
let _bp = Breakpoints::new();
}
#[test]
fn test_breakpoints_terminal() {
let bp = Breakpoints::terminal();
assert_eq!(bp.current(30).name, "xs");
assert_eq!(bp.current(50).name, "sm");
assert_eq!(bp.current(100).name, "md");
assert_eq!(bp.current(140).name, "lg");
assert_eq!(bp.current(180).name, "xl");
}
#[test]
fn test_breakpoints_add() {
let bp = Breakpoints::new()
.add(Breakpoint::new("small", 20))
.add(Breakpoint::new("large", 100));
assert_eq!(bp.current(10).name, "small");
assert_eq!(bp.current(50).name, "small");
assert_eq!(bp.current(150).name, "large");
}
#[test]
fn test_breakpoints_current_exact_match() {
let bp = Breakpoints::new().add(Breakpoint::new("test", 50));
assert_eq!(bp.current(50).name, "test");
}
#[test]
fn test_breakpoints_current_below_min() {
let bp = Breakpoints::new().add(Breakpoint::new("test", 50));
assert_eq!(bp.current(30).name, "test"); }
#[test]
fn test_breakpoints_current_above_min() {
let bp = Breakpoints::new().add(Breakpoint::new("test", 50));
assert_eq!(bp.current(70).name, "test");
}
#[test]
fn test_breakpoints_get() {
let bp = Breakpoints::terminal();
assert!(bp.get("md").is_some());
assert!(bp.get("nonexistent").is_none());
}
#[test]
fn test_breakpoints_matches() {
let bp = Breakpoints::terminal();
assert!(bp.matches(100, "md"));
assert!(!bp.matches(100, "lg"));
}
#[test]
fn test_breakpoints_at_least() {
let bp = Breakpoints::terminal();
assert!(bp.at_least(100, "md"));
assert!(!bp.at_least(50, "md"));
}
#[test]
fn test_breakpoints_below() {
let bp = Breakpoints::terminal();
assert!(bp.below(50, "md"));
assert!(!bp.below(100, "md"));
}
#[test]
fn test_breakpoints_names() {
let bp = Breakpoints::terminal();
let names = bp.names();
assert_eq!(names, vec!["xs", "sm", "md", "lg", "xl"]);
}
#[test]
fn test_breakpoints_simple() {
let bp = Breakpoints::simple();
assert_eq!(bp.current(30).name, "sm");
assert_eq!(bp.current(80).name, "md");
assert_eq!(bp.current(120).name, "lg");
}