Skip to content

Commit

Permalink
Add more test cases for HTML5 video and video.js
Browse files Browse the repository at this point in the history
  • Loading branch information
screeley committed Jan 22, 2014
1 parent e56cc31 commit 059f254
Show file tree
Hide file tree
Showing 7 changed files with 213 additions and 3 deletions.
Binary file added lib/videos/demo.mp4
Binary file not shown.
14 changes: 14 additions & 0 deletions test/html.html
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">

</head>
<body>
<video id='video' preload="none">
<source src="/lib/videos/demo.mp4" type="video/mp4">
</video>
<script src="/dist/player.js"></script>
<script src="/test/html.js"></script>
</body>
</html>
86 changes: 86 additions & 0 deletions test/html.js
@@ -0,0 +1,86 @@
/*globals playerjs:true*/

//playerjs.DEBUG = true;
var receiver = new playerjs.Receiver();

var video = document.getElementById('video');
video.load();

video.addEventListener('playing', function(){
receiver.emit('play');
});

video.addEventListener('pause', function(){
receiver.emit('pause');
});

video.addEventListener('ended', function(){
receiver.emit('ended');
});

video.addEventListener('timeupdate', function(){
receiver.emit('timeupdate', {
seconds: video.currentTime,
duration: video.duration
});
});

video.addEventListener('progress', function(){
receiver.emit('buffered', {
percent: video.buffered.length
});
});

receiver.on('play', function(){
video.play();
});

receiver.on('pause', function(){
video.pause();
});

receiver.on('getPaused', function(callback){
callback(video.paused);
});

receiver.on('getCurrentTime', function(callback){
callback(video.currentTime);
});

receiver.on('setCurrentTime', function(value){
video.currentTime = value;
});

receiver.on('getDuration', function(callback){
callback(video.duration);
});

receiver.on('getVolume', function(callback){
callback(video.volume * 100);
});

receiver.on('setVolume', function(value){
video.volume = value/100;
});

receiver.on('mute', function(){
video.muted = true;
});

receiver.on('unmute', function(){
video.muted = false;
});

receiver.on('getMuted', function(callback){
callback(video.muted);
});

receiver.on('getLoop', function(callback){
callback(video.loop);
});

receiver.on('setLoop', function(value){
video.loop = value;
});

receiver.ready();
File renamed without changes.
6 changes: 3 additions & 3 deletions test/test.js
@@ -1,10 +1,10 @@
/*globals asyncTest:true, ok:true, start:true, playerjs:true*/
var FRAMES = [
'http://localhost.com:8003/test/iframe.html'
'http://localhost.com:8003/test/mock.html',
'http://localhost.com:8003/test/html.html',
'http://localhost.com:8003/test/video.html'
];

//playerjs.DEBUG = true;

var isNumber= function(obj){
return Object.prototype.toString.call(obj) === "[object Number]";
};
Expand Down
16 changes: 16 additions & 0 deletions test/video.html
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="//vjs.zencdn.net/4.2/video-js.css" rel="stylesheet">
</head>
<body>
<video id="video" class="video-js vjs-default-skin"
controls preload="auto">
<source src="/lib/videos/demo.mp4" type='video/mp4' />
</video>
<script src="//vjs.zencdn.net/4.2/video.js"></script>
<script src="/dist/player.js"></script>
<script src="/test/video.js"></script>
</body>
</html>
94 changes: 94 additions & 0 deletions test/video.js
@@ -0,0 +1,94 @@
/*globals playerjs:true, videojs:true*/
var receiver = new playerjs.Receiver();

videojs("video", {}, function(){
var player = this;

receiver.ready();

player.on("pause", function(){
receiver.emit('pause');
});

player.on("play", function(){
receiver.emit('play');
});

player.on("timeupdate", function(e){
var seconds = player.currentTime(),
duration = player.duration();

if (!seconds || !duration){
return false;
}

var value = {
seconds: seconds,
duration: duration
};
receiver.emit('timeupdate', value);
});

player.on("ended", function(){
receiver.emit('ended');
});

player.on("error", function(){
receiver.emit('error');
});


receiver.on('play', function(){
player.play();
});

receiver.on('pause', function(){
player.pause();
});

receiver.on('getPaused', function(callback){
callback(player.paused());
});

receiver.on('getCurrentTime', function(callback){
callback(player.currentTime());
});

receiver.on('setCurrentTime', function(value){
player.currentTime(value);
});

receiver.on('getDuration', function(callback){
callback(player.duration());
});

receiver.on('getVolume', function(callback){
callback(player.volume() * 100);
});

receiver.on('setVolume', function(value){
player.volume(value/100);
});

receiver.on('mute', function(){
player.volume(0);
});

receiver.on('unmute', function(){
player.volume(1);
});

receiver.on('getMuted', function(callback){
callback(player.volume() === 0);
});

receiver.on('getLoop', function(callback){
callback(player.loop());
});

receiver.on('setLoop', function(value){
player.loop(value);
});

receiver.ready();
});

0 comments on commit 059f254

Please sign in to comment.