+9
-49
@@ -66,79 +66,39 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn validate_range_rejects_out_of_range() {
|
||||
let err = validate_range(11u8, 0..=10, || "bad value".into())
|
||||
.unwrap_err();
|
||||
let err = validate_range(11u8, 0..=10, || "bad value".into()).unwrap_err();
|
||||
|
||||
assert!(err.to_string().contains("bad value"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_ascii_padded_accepts_ascii_and_padding() {
|
||||
assert!(validate_ascii_padded(
|
||||
b"ABC ",
|
||||
4,
|
||||
b' ',
|
||||
"name",
|
||||
)
|
||||
.is_ok());
|
||||
assert!(validate_ascii_padded(b"ABC ", 4, b' ', "name",).is_ok());
|
||||
|
||||
assert!(validate_ascii_padded(
|
||||
&[b'A', 0, 0, 0],
|
||||
4,
|
||||
0,
|
||||
"password",
|
||||
)
|
||||
.is_ok());
|
||||
assert!(validate_ascii_padded(&[b'A', 0, 0, 0], 4, 0, "password",).is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_ascii_padded_rejects_wrong_length() {
|
||||
assert!(validate_ascii_padded(
|
||||
b"ABC",
|
||||
4,
|
||||
b' ',
|
||||
"name",
|
||||
)
|
||||
.is_err());
|
||||
assert!(validate_ascii_padded(b"ABC", 4, b' ', "name",).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_ascii_padded_rejects_non_ascii() {
|
||||
assert!(validate_ascii_padded(
|
||||
&[0xFF, b'A', b'B', b'C'],
|
||||
4,
|
||||
b' ',
|
||||
"name",
|
||||
)
|
||||
.is_err());
|
||||
assert!(validate_ascii_padded(&[0xFF, b'A', b'B', b'C'], 4, b' ', "name",).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_bitmask_accepts_valid_bits() {
|
||||
assert!(validate_bitmask(
|
||||
0b0101,
|
||||
0b1111,
|
||||
|| "".into(),
|
||||
)
|
||||
.is_ok());
|
||||
assert!(validate_bitmask(0b0101, 0b1111, || "".into(),).is_ok());
|
||||
|
||||
assert!(validate_bitmask(
|
||||
0,
|
||||
0b1111,
|
||||
|| "".into(),
|
||||
)
|
||||
.is_ok());
|
||||
assert!(validate_bitmask(0, 0b1111, || "".into(),).is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_bitmask_rejects_invalid_bits() {
|
||||
let err = validate_bitmask(
|
||||
0b10000,
|
||||
0b01111,
|
||||
|| "invalid mask".into(),
|
||||
)
|
||||
.unwrap_err();
|
||||
let err = validate_bitmask(0b10000, 0b01111, || "invalid mask".into()).unwrap_err();
|
||||
|
||||
assert!(err.to_string().contains("invalid mask"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user