test(core): cover profile compatibility
This commit is contained in:
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user