#![allow(
clippy::unwrap_used,
clippy::expect_used,
unused_results,
clippy::unreadable_literal,
clippy::significant_drop_tightening,
clippy::needless_pass_by_value,
clippy::float_cmp
)]
use hexz_server::parse_range;
#[test]
fn test_parse_range_valid_bounded() {
assert_eq!(parse_range("bytes=0-1023", 10000), Some((0, 1023)));
}
#[test]
fn test_parse_range_valid_unbounded() {
assert_eq!(parse_range("bytes=1024-", 10000), Some((1024, 9999)));
}
#[test]
fn test_parse_range_single_byte() {
assert_eq!(parse_range("bytes=0-0", 1000), Some((0, 0)));
}
#[test]
fn test_parse_range_at_eof() {
assert_eq!(parse_range("bytes=0-999", 1000), Some((0, 999)));
}
#[test]
fn test_parse_range_missing_prefix() {
assert_eq!(parse_range("0-1023", 10000), None);
}
#[test]
fn test_parse_range_invalid_integers() {
assert_eq!(parse_range("bytes=abc-def", 10000), None);
}
#[test]
fn test_parse_range_inverted_range() {
assert_eq!(parse_range("bytes=1000-500", 10000), None);
}
#[test]
fn test_parse_range_out_of_bounds() {
assert_eq!(parse_range("bytes=0-1000", 1000), None);
}
#[test]
fn test_parse_range_suffix_unsupported() {
assert_eq!(parse_range("bytes=-500", 10000), None);
}
#[test]
fn test_parse_range_empty_after_prefix() {
assert_eq!(parse_range("bytes=", 10000), None);
}
#[test]
fn test_parse_range_constants() {
let large_size = 10 * 1024 * 1024 * 1024u64; assert_eq!(parse_range("bytes=0-1023", large_size), Some((0, 1023)));
}
#[test]
fn test_parse_range_mid_range() {
assert_eq!(parse_range("bytes=500-1499", 5000), Some((500, 1499)));
}
#[test]
fn test_parse_range_unbounded_at_zero() {
assert_eq!(parse_range("bytes=0-", 1000), Some((0, 999)));
}