blob: 88c8ca2cbc51ba82c7c2e00866420520ef929bfd [file] [log] [blame]
Test basic dictionary and enum types of Media Capabilities API
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file' });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'media-source' });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', audio: { } });
} rejected promise with TypeError: Member AudioConfiguration.contentType is required and must be an instance of DOMString.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', audio: { contentType: 'video/mp4; codecs="avc1"' } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { } });
} rejected promise with TypeError: Member VideoConfiguration.bitrate is required and must be an instance of unsigned long long.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'audio/mp3', width: 640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="avc1"', height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Member VideoConfiguration.width is required and must be an instance of unsigned long.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="avc1,vp9"', width:640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4', width:640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: 0 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: "24/a" } });
} rejected promise with TypeError: The provided value is non-finite.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'file', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: "24/0" } });
} rejected promise with TypeError: The provided value is non-finite.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'invalid', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.encodingInfo({ type: 'record' });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.encodingInfo({ type: 'record', audio: { } });
} rejected promise with TypeError: Member AudioConfiguration.contentType is required and must be an instance of DOMString.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', audio: { } });
} rejected promise with TypeError: Member AudioConfiguration.contentType is required and must be an instance of DOMString.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', audio: { contentType: 'video/mp4; codecs="avc1"' } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { } });
} rejected promise with TypeError: Member VideoConfiguration.bitrate is required and must be an instance of unsigned long long.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'audio/mp3', width: 640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'video/mp4; codecs="avc1"', height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Member VideoConfiguration.width is required and must be an instance of unsigned long.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'video/mp4; codecs="avc1,vp9"', width:640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'video/mp4', width:640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: 0 } });
} rejected promise with TypeError: Type error.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: "24/a" } });
} rejected promise with TypeError: The provided value is non-finite.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'record', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: "24/-1" } });
} rejected promise with TypeError: The provided value is non-finite.
PASS () => {
return navigator.mediaCapabilities.decodingInfo({ type: 'invalid', video: { contentType: 'video/mp4; codecs="avc1"', width: 640, height: 480, bitrate: 1000, framerate: 24 } });
} rejected promise with TypeError: Type error.
PASS successfullyParsed is true
TEST COMPLETE