///|
test "default limits accept ordinary Range" {
assert_true(parse_range_with_limits("bytes=0-9", Limits::default()) is Ok(_))
}
///|
test "strict limits reject oversized input" {
assert_true(
parse_range_with_limits(
"bytes=" + "0-0,".repeat(300) + "1-1",
Limits::strict(),
)
is Err(RangeError(_, LimitExceeded, _, _)),
)
}
///|
test "strict limits reject too many ranges" {
assert_true(
parse_range_with_limits(
"bytes=0-0,1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8",
Limits::strict(),
)
is Err(_),
)
}
///|
test "limits reject long unknown unit" {
assert_true(
parse_range_with_limits(
"abcdefghijklmnopqrstuvwxyzabcdefg=raw",
Limits::strict(),
)
is Err(_),
)
}
///|
test "limits reject long unknown range set" {
assert_true(
parse_range_with_limits("items=" + "x".repeat(600), Limits::strict())
is Err(_),
)
}
///|
test "strict is smaller than default" {
assert_true(Limits::strict().max_ranges() < Limits::default().max_ranges())
}
///|
test "permissive is larger than default" {
assert_true(
Limits::permissive().max_input_bytes() > Limits::default().max_input_bytes(),
)
}
///|
test "digit limit remains Int64 safe" {
assert_int_eq(Limits::default().max_digits_per_number(), 19)
}