#[cfg(not(feature = "std"))]
extern crate alloc;
#[cfg(not(feature = "std"))]
use alloc::format;
use ass_core::utils::decode_uu_data;
#[test]
fn test_decode_uu_data_malformed_input() {
let invalid_length = "\x7FABCDEFGH"; let result = decode_uu_data(std::iter::once(invalid_length));
drop(result);
let short_line = "M"; let result = decode_uu_data(std::iter::once(short_line));
drop(result);
let invalid_chars = "M\x01\x02\x03"; let result = decode_uu_data(std::iter::once(invalid_chars));
drop(result);
let overlength = "N".repeat(100); let result = decode_uu_data(std::iter::once(overlength.as_str()));
drop(result);
let empty = std::iter::empty::<&str>();
let result = decode_uu_data(empty);
assert!(result.is_ok());
assert!(result.unwrap().is_empty());
let only_length = "M";
let result = decode_uu_data(std::iter::once(only_length));
drop(result);
let with_nulls = "M\0\0\0\0";
let result = decode_uu_data(std::iter::once(with_nulls));
drop(result);
}
#[test]
fn test_decode_uu_data_edge_cases() {
let min_data = "!A"; let result = decode_uu_data(std::iter::once(min_data));
assert!(result.is_ok());
let max_length_char = 'M'; let max_data = format!("{}{}", max_length_char, "A".repeat(60)); let result = decode_uu_data(std::iter::once(max_data.as_str()));
assert!(result.is_ok() || result.is_err());
let with_whitespace = "5 A B C D"; let result = decode_uu_data(std::iter::once(with_whitespace));
drop(result);
let with_newlines = ["5ABCD", "EFGH"];
let result = decode_uu_data(with_newlines.iter().copied());
drop(result); }