test(core): cover profile compatibility

This commit is contained in:
Miguel Palhas
2026-08-22 20:41:45 +01:00
parent be231352ca
commit dcd7328c8c
+25 -5
View File
@@ -695,20 +695,40 @@ mod tests {
#[test]
fn dolby_vision_profile_5_is_rejected() {
assert_dolby_vision_verdict(5, None, true);
assert_dolby_vision_verdict(&policy(), 5, None, true);
}
#[test]
fn dolby_vision_profile_7_is_rejected() {
assert_dolby_vision_verdict(7, Some(6), true);
assert_dolby_vision_verdict(&policy(), 7, Some(6), true);
}
#[test]
fn dolby_vision_profile_8_1_is_accepted() {
assert_dolby_vision_verdict(8, Some(1), false);
assert_dolby_vision_verdict(&policy(), 8, Some(1), false);
}
fn assert_dolby_vision_verdict(profile: u8, compatibility_id: Option<u8>, rejected: bool) {
#[test]
fn compatibility_specific_rule_matches_only_that_id() {
let mut policy = policy();
policy
.hdr_rules
.rejected_dolby_vision_profiles
.push(DolbyVisionProfile {
profile: 8,
compatibility_id: Some(2),
});
assert_dolby_vision_verdict(&policy, 8, Some(2), true);
assert_dolby_vision_verdict(&policy, 8, Some(1), false);
}
fn assert_dolby_vision_verdict(
policy: &Policy,
profile: u8,
compatibility_id: Option<u8>,
rejected: bool,
) {
let mut media = probed(Resolution::R2160p, Some(Source::WebDl));
let profile = DolbyVisionProfile {
profile,
@@ -717,7 +737,7 @@ mod tests {
media.hdr = HdrFormat::DolbyVision(profile);
let report = evaluate(
&policy(),
policy,
&MovieOverrides::default(),
&en(),
Candidate::PostDownload(&media),