| <!DOCTYPE html> |
| <title>Test "video" element size with and without "src" and "poster" attributes.</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <body> |
| <script> |
| var movieInfo = [ |
| { |
| src: null, |
| poster: null, |
| description: "no 'src' and no 'poster', with 'width' and 'height' attributes", |
| width: 640, |
| height: 480, |
| videoWidth: 0, |
| videoHeight: 0, |
| setSize: true |
| }, |
| { |
| src: null, |
| poster: null, |
| description: "no 'src' and no 'poster', with no 'width' and 'height' attributes, should be default size", |
| width: 300, |
| height: 150, |
| videoWidth: 0, |
| videoHeight: 0 |
| }, |
| { |
| src: null, |
| poster: "content/abe.png", |
| description: "'poster' but no 'src', should be 'poster' size", |
| width: 76, |
| height: 103, |
| videoWidth: 0, |
| videoHeight: 0 |
| }, |
| { |
| src: "content/test.ogv", |
| poster: "content/abe.png", |
| play: false, |
| description: "'poster' and 'src', should be 'poster' size before play", |
| width: 76, |
| height: 103, |
| videoWidth: 320, |
| videoHeight: 240 |
| }, |
| { |
| src: "content/test.ogv", |
| poster: "content/abe.png", |
| play: true, |
| description: "'poster' and 'src', should be 'video' size after play", |
| width: 320, |
| height: 240, |
| videoWidth: 320, |
| videoHeight: 240 |
| }, |
| { |
| src: "content/bogus.ogv", |
| poster: "content/greenbox.png", |
| description: "'poster' and invalid 'src', should be 'poster' size", |
| width: 25, |
| height: 25, |
| videoWidth: 0, |
| videoHeight: 0 |
| } |
| ]; |
| |
| movieInfo.forEach(function(movie) { |
| async_test(function(t) { |
| if (movie.poster) { |
| var image = document.createElement("img"); |
| image.src = movie.poster; |
| document.body.appendChild(image); |
| image.onload = t.step_func(runTest); |
| } else { |
| runTest(); |
| } |
| |
| function runTest() { |
| var video = document.createElement("video"); |
| document.body.appendChild(video); |
| if (movie.setSize) { |
| video.setAttribute("width", "640"); |
| video.setAttribute("height", "480"); |
| } |
| |
| if (movie.src) |
| video.src = movie.src; |
| |
| if (movie.poster) |
| video.poster = movie.poster; |
| |
| if (movie.play) { |
| video.onplaying = t.step_func_done(testMovieSize); |
| video.play(); |
| } else { |
| video.onloadedmetadata = t.step_func_done(testMovieSize); |
| } |
| |
| if (!movie.src || movie.src.indexOf("bogus") >= 0) { |
| setTimeout(t.step_func_done(testMovieSize), 0); |
| } |
| |
| function testMovieSize() { |
| assert_equals(video.clientWidth, movie.width); |
| assert_equals(video.clientHeight, movie.height); |
| assert_equals(video.videoWidth, movie.videoWidth); |
| assert_equals(video.videoHeight, movie.videoHeight); |
| } |
| } |
| }, movie.description); |
| }); |
| </script> |