Index: chrome/test/functional/media/media_basic_playback.py |
=================================================================== |
--- chrome/test/functional/media/media_basic_playback.py (revision 261231) |
+++ chrome/test/functional/media/media_basic_playback.py (working copy) |
@@ -1,78 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Basic playback test. Checks playback, seek, and replay based on events. |
- |
-This test uses the bear videos from the test matrix in h264, vp8, and theora |
-formats. |
-""" |
-import logging |
-import os |
- |
-import pyauto_media |
-import pyauto |
- |
- |
-# HTML test path; relative to src/chrome/test/data. |
-_TEST_HTML_PATH = os.path.join('media', 'html', 'media_basic_playback.html') |
- |
-# Test videos to play. TODO(dalecurtis): Convert to text matrix parser when we |
-# have more test videos in the matrix. Code already written, see patch here: |
-# https://chromiumcodereview.appspot.com/9290008/#ps12 |
-_TEST_VIDEOS = [ |
- pyauto.PyUITest.GetFileURLForContentDataPath('media', name) |
- for name in ['bear.mp4', 'bear.ogv', 'bear.webm', 'bear_silent.mp4', |
- 'bear_silent.ogv', 'bear_silent.webm']] |
- |
-# Expected events for the first iteration and every iteration thereafter. |
-_EXPECTED_EVENTS_0 = [('ended', 2), ('playing', 2), ('seeked', 1), |
- ('suspend', 1)] |
-_EXPECTED_EVENTS_n = [('abort', 1), ('emptied', 1)] + _EXPECTED_EVENTS_0 |
- |
- |
-class MediaBasicPlaybackTest(pyauto.PyUITest): |
- """PyAuto test container. See file doc string for more information.""" |
- |
- def testBasicPlaybackMatrix(self): |
- """Launches HTML test which plays each video until end, seeks, and replays. |
- |
- Specifically ensures that after the above sequence of events, the following |
- are true: |
- |
- 1. The first video has only 2x playing, 2x ended, and 1x seeked events. |
- 2. Each subsequent video additionally has 1x abort and 1x emptied due to |
- switching of the src attribute. |
- 3. video.currentTime == video.duration for each video. |
- |
- See the HTML file at _TEST_HTML_PATH for more information. |
- """ |
- self.NavigateToURL(self.GetFileURLForDataPath(_TEST_HTML_PATH)) |
- |
- for i, media in enumerate(_TEST_VIDEOS): |
- logging.debug('Running basic playback test for %s', media) |
- |
- # Block until the test finishes and notifies us. Upon return the value of |
- # video.currentTime == video.duration is provided. |
- try: |
- self.assertTrue(self.ExecuteJavascript("startTest('%s');" % media)) |
- |
- # PyAuto has trouble with arrays, so convert to string prior to request. |
- events = self.GetDOMValue("events.join(',')").split(',') |
- counts = [(item, events.count(item)) for item in sorted(set(events))] |
- |
- # The first loop will not have the abort and emptied events triggered by |
- # changing the video src. |
- if (i == 0): |
- self.assertEqual(counts, _EXPECTED_EVENTS_0) |
- else: |
- self.assertEqual(counts, _EXPECTED_EVENTS_n) |
- except: |
- logging.debug( |
- 'Test failed with events: %s', self.GetDOMValue("events.join(',')")) |
- raise |
- |
- |
-if __name__ == '__main__': |
- pyauto_media.Main() |