
Test HTMLMediaElement canPlayType() method for the AV1 codec.

These tests may be expected to fail if the WebKit port does not support the format.

EXPECTED (video.canPlayType('video/mp4; codecs=av1') == ''), OBSERVED 'maybe' FAIL
EXPECTED (video.canPlayType('video/webm; codecs=av1') == '') OK
EXPECTED (video.canPlayType('video/mp4; codecs=av01.0.04M.08') == 'probably'), OBSERVED 'maybe' FAIL
EXPECTED (video.canPlayType('video/webm; codecs=av01.0.04M.08') == 'probably'), OBSERVED '' FAIL
END OF TEST

