RUN(internals.enableMockMediaCapabilities())
RUN(internals.settings.setMediaCapabilitiesExtensionsEnabled(true))
RUN(internals.settings.setHDRMediaCapabilitiesEnabled(true))
RUN(promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="mock-with-hdr"', height: 720, bitrate: 1000, width: 1280, framerate: 24.5 }});)
Promise resolved OK
EXPECTED (info.supported == 'true') OK
EXPECTED (info.supportedConfiguration.video.colorGamut == 'null') OK
RUN(promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="mock-with-hdr"', height: 720, bitrate: 1000, width: 1280, framerate: 24.5, colorGamut: 'rec2020' }});)
Promise resolved OK
EXPECTED (info.supported == 'true') OK
EXPECTED (info.supportedConfiguration.video.colorGamut == 'rec2020') OK
RUN(promise = navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="mock"', height: 720, bitrate: 1000, width: 1280, framerate: 24.5, colorGamut: 'rec2020' }});)
Promise resolved OK
EXPECTED (info.supported == 'false') OK
EXPECTED (info.supportedConfiguration.video.colorGamut == 'rec2020') OK
END OF TEST

