use revue::style::Color;
use revue::widget::MaskedInput;
#[test]
fn test_masked_input_new() {
let mut input = MaskedInput::new();
assert_eq!(input.get_value(), "");
assert!(input.validate());
}
#[test]
fn test_masked_input_password() {
let _input = MaskedInput::password();
}
#[test]
fn test_masked_input_pin() {
let _input = MaskedInput::pin(4);
}
#[test]
fn test_masked_input_credit_card() {
let _input = MaskedInput::credit_card();
}
#[test]
fn test_masked_input_value() {
let input = MaskedInput::new().value("test123");
assert_eq!(input.get_value(), "test123");
}
#[test]
fn test_masked_input_set_value() {
let mut input = MaskedInput::new();
input.set_value("new value");
assert_eq!(input.get_value(), "new value");
}
#[test]
fn test_masked_input_clear() {
let mut input = MaskedInput::new().value("some text");
input.clear();
assert_eq!(input.get_value(), "");
}
#[test]
fn test_masked_input_mask_char() {
let _input = MaskedInput::new().mask_char('•');
}
#[test]
fn test_masked_input_placeholder() {
let _input = MaskedInput::new().placeholder("Enter password");
}
#[test]
fn test_masked_input_label() {
let _input = MaskedInput::new().label("Password:");
}
#[test]
fn test_masked_input_max_length() {
let _input = MaskedInput::new().max_length(10);
}
#[test]
fn test_masked_input_min_length() {
let _input = MaskedInput::new().min_length(5);
}
#[test]
fn test_masked_input_focused() {
let _input = MaskedInput::new().focused(true);
}
#[test]
fn test_masked_input_disabled() {
let _input = MaskedInput::new().disabled(true);
}
#[test]
fn test_masked_input_colors() {
let _input = MaskedInput::new().fg(Color::CYAN).bg(Color::BLUE);
}
#[test]
fn test_masked_input_width() {
let _input = MaskedInput::new().width(30);
}
#[test]
fn test_masked_input_show_strength() {
let _input = MaskedInput::new().show_strength(true);
}
#[test]
fn test_masked_input_allow_reveal() {
let _input = MaskedInput::new().allow_reveal(true);
}
#[test]
fn test_masked_input_toggle_reveal() {
let mut input = MaskedInput::new();
input.toggle_reveal();
}
#[test]
fn test_masked_input_insert_char() {
let mut input = MaskedInput::new();
input.insert_char('a');
input.insert_char('b');
input.insert_char('c');
assert_eq!(input.get_value(), "abc");
}
#[test]
fn test_masked_input_delete_backward() {
let mut input = MaskedInput::new().value("abc");
input.delete_backward();
assert_eq!(input.get_value(), "ab");
}
#[test]
fn test_masked_input_delete_forward() {
let mut input = MaskedInput::new().value("abc");
input.move_left(); input.delete_forward();
assert_eq!(input.get_value(), "ab");
}
#[test]
fn test_masked_input_move_left() {
let mut input = MaskedInput::new().value("abc");
input.move_left();
}
#[test]
fn test_masked_input_move_right() {
let mut input = MaskedInput::new().value("abc");
input.move_left();
input.move_right();
}
#[test]
fn test_masked_input_move_start() {
let mut input = MaskedInput::new().value("abc");
input.move_start();
}
#[test]
fn test_masked_input_move_end() {
let mut input = MaskedInput::new().value("abc");
input.move_start();
input.move_end();
}
#[test]
fn test_masked_input_password_strength() {
let input = MaskedInput::new().value("weak");
let _strength = input.password_strength();
}
#[test]
fn test_masked_input_strength_label() {
let input = MaskedInput::new().value("test");
let _label = input.strength_label();
}
#[test]
fn test_masked_input_strength_color() {
let input = MaskedInput::new().value("test");
let _color = input.strength_color();
}
#[test]
fn test_masked_input_validate() {
let input = MaskedInput::new().value("test123");
assert_eq!(input.get_value(), "test123");
}
#[test]
fn test_masked_input_validate_empty() {
let input = MaskedInput::new();
assert_eq!(input.get_value(), "");
}
#[test]
fn test_masked_input_with_min_length() {
let mut input = MaskedInput::new().min_length(5).value("abc");
assert!(!input.validate()); }
#[test]
fn test_masked_input_with_min_length_valid() {
let mut input = MaskedInput::new().min_length(5).value("abcdefgh");
assert!(input.validate()); }