cranpose-foundation 0.1.164

Modifiers, nodes, and foundation elements for Cranpose
Documentation
use super::*;

#[test]
fn single_line_properties() {
    let limits = TextFieldLineLimits::SingleLine;
    assert!(limits.is_single_line());
    assert!(!limits.is_multi_line());
    assert_eq!(limits.min_lines(), 1);
    assert_eq!(limits.max_lines(), 1);
}

#[test]
fn multi_line_default_properties() {
    let limits = TextFieldLineLimits::default();
    assert!(!limits.is_single_line());
    assert!(limits.is_multi_line());
    assert_eq!(limits.min_lines(), 1);
    assert_eq!(limits.max_lines(), usize::MAX);
}

#[test]
fn multi_line_constrained_properties() {
    let limits = TextFieldLineLimits::MultiLine {
        min_lines: 3,
        max_lines: 10,
    };
    assert!(!limits.is_single_line());
    assert!(limits.is_multi_line());
    assert_eq!(limits.min_lines(), 3);
    assert_eq!(limits.max_lines(), 10);
}

#[test]
fn filter_replaces_newlines() {
    assert_eq!(filter_for_single_line("hello\nworld"), "hello world");
    assert_eq!(filter_for_single_line("a\n\nb"), "a  b");
    assert_eq!(filter_for_single_line("no newlines"), "no newlines");
    assert_eq!(filter_for_single_line("\n\n\n"), "   ");
}