Home | History | Annotate | Download | only in new
      1 <!--
      2 Copyright 2013 The Chromium Authors. All rights reserved.
      3 Use of this source code is governed by a BSD-style license that can be
      4 found in the LICENSE file.
      5 -->
      6 <!DOCTYPE html>
      7 <html>
      8   <head>
      9     <script src="webui_resource_test.js"></script>
     10     <script src="util.js"></script>
     11     <script src="player_manager.js"></script>
     12     <script src="player_info.js"></script>
     13     <script src="main.js"></script>
     14   </head>
     15   <body>
     16     <script>
     17       window.setUp = function() {
     18         var doNothing = function() {};
     19         var mockRenderer = {
     20           redrawList: doNothing,
     21           update: doNothing,
     22           select: doNothing
     23         };
     24 
     25         var manager = new PlayerManager(mockRenderer);
     26         media.initialize(manager);
     27 
     28         window.playerManager = manager;
     29       };
     30 
     31       // The renderer and player ids are completely arbitrarily.
     32       var TEST_RENDERER = 12;
     33       var TEST_PLAYER = 4;
     34       var TEST_NAME = TEST_RENDERER + ':' + TEST_PLAYER;
     35 
     36       // Correctly use the information from a media event.
     37       window.testOnMediaEvent = function() {
     38         var event = {
     39           ticksMillis: 132,
     40           renderer: TEST_RENDERER,
     41           player: TEST_PLAYER,
     42           params: {
     43             fps: 60,
     44             other: 'hi'
     45           }
     46         };
     47 
     48         window.media.onMediaEvent(event);
     49         var info = window.playerManager.players_[TEST_NAME];
     50 
     51         assertEquals(event.ticksMillis, info.firstTimestamp_);
     52         assertEquals(TEST_NAME, info.id);
     53         assertEquals(event.params.fps, info.properties.fps);
     54       };
     55 
     56       // Remove a player.
     57       window.testOnRenderTerminated = function() {
     58         window.testOnMediaEvent();
     59 
     60         window.playerManager.shouldRemovePlayer_ = function() {
     61           return true;
     62         };
     63 
     64         window.media.onRendererTerminated(TEST_RENDERER);
     65         assertEquals(undefined, window.playerManager.players_[TEST_NAME]);
     66       };
     67 
     68       // Audio Streams are weird, they are handled separately
     69       window.testAddAudioStream = function() {
     70         var event = {
     71           id: 'ID',
     72           status: 'created',
     73           playing: true
     74         };
     75 
     76         window.media.addAudioStream(event);
     77 
     78         var player = window.playerManager.players_[event.id];
     79         assertTrue(undefined !== player);
     80         assertEquals(event.playing, player.properties['playing']);
     81       };
     82 
     83       runTests();
     84     </script>
     85   </body>
     86 </html>
     87