cranpose-ui 0.1.164

UI primitives for Cranpose
Documentation
use super::*;

#[test]
fn padding_values_preserve_each_edge() {
    assert_eq!(
        PaddingValues::new(1.0, 2.0, 3.0, 4.0),
        PaddingValues {
            start: 1.0,
            top: 2.0,
            end: 3.0,
            bottom: 4.0,
        }
    );
    assert_eq!(
        PaddingValues::all(6.0),
        PaddingValues::new(6.0, 6.0, 6.0, 6.0)
    );
}

#[test]
fn reading_order_padding_swaps_sides_in_a_right_to_left_layout() {
    let padding = PaddingValues::new(24.0, 2.0, 8.0, 4.0);
    assert_eq!(
        padding.physical(LayoutDirection::Ltr),
        EdgeInsets::from_components(24.0, 2.0, 8.0, 4.0)
    );
    assert_eq!(
        padding.physical(LayoutDirection::Rtl),
        EdgeInsets::from_components(8.0, 2.0, 24.0, 4.0)
    );
}

#[test]
fn merging_takes_the_larger_of_each_edge() {
    let bars = PaddingValues::new(0.0, 56.0, 0.0, 0.0);
    let insets = PaddingValues::new(0.0, 24.0, 0.0, 48.0);
    assert_eq!(insets.max(bars), PaddingValues::new(0.0, 56.0, 0.0, 48.0));
}

#[test]
fn a_screen_can_keep_the_insets_it_draws_under() {
    let insets = PaddingValues::new(4.0, 24.0, 4.0, 48.0);
    let consumed = ScaffoldContentInsets {
        top: false,
        ..ScaffoldContentInsets::default()
    }
    .filter(insets);
    assert_eq!(consumed, PaddingValues::new(4.0, 0.0, 4.0, 48.0));
    assert_eq!(
        ScaffoldContentInsets::none().filter(insets),
        PaddingValues::default()
    );
}

#[test]
fn a_scaffold_states_no_surfaces_by_default() {
    assert_eq!(ScaffoldSpec::default().colors, ScaffoldColors::default());
    let colors = ScaffoldColors::uniform(Color(0.1, 0.1, 0.1, 1.0));
    assert_eq!(colors.background, colors.top_bar);
    assert_eq!(colors.background, colors.bottom_bar);
}