Index: chrome/test/pyautolib/download_info.py |
=================================================================== |
--- chrome/test/pyautolib/download_info.py (revision 261231) |
+++ chrome/test/pyautolib/download_info.py (working copy) |
@@ -1,78 +0,0 @@ |
-# Copyright (c) 2011 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. |
- |
-"""DownloadInfo: python representation for downloads visible to Chrome. |
- |
-Obtain one of these from PyUITestSuite::GetDownloadsInfo() call. |
- |
-class MyDownloadsTest(pyauto.PyUITest): |
- def testDownload(self): |
- self.DownloadAndWaitForStart('http://my.url/package.zip') |
- self.WaitForAllDownloadsToComplete() |
- info = self.GetDownloadsInfo() |
- print info.Downloads() |
- self.assertEqual(info.Downloads()[0]['file_name'], 'packge.zip') |
- |
-See more tests in chrome/test/functional/downloads.py. |
-""" |
- |
-import os |
-import simplejson as json |
-import sys |
- |
-from pyauto_errors import JSONInterfaceError |
- |
- |
-class DownloadInfo(object): |
- """Represent info about Downloads. |
- |
- The info is represented as a list of DownloadItems. Each DownloadItem is a |
- dictionary with various attributes about a download, like id, file_name, |
- path, state, and so on. |
- """ |
- def __init__(self, downloads_dict): |
- """Initialize a DownloadInfo from a string of json. |
- |
- Args: |
- downloads_dict: a dict returned by the IPC command 'GetDownloadsInfo'. |
- A typical dict representing one download looks like: |
- {'downloads': [{'url': 'http://blah/a_file.zip', |
- 'file_name': 'a_file.zip', |
- 'state': 'COMPLETED', |
- ..., |
- ..., } ] } |
- |
- Raises: |
- pyauto_errors.JSONInterfaceError if the automation call returns an error. |
- """ |
- # JSON string prepared in GetDownloadsInfo() in automation_provider.cc |
- self.downloadsdict = downloads_dict |
- if self.downloadsdict.has_key('error'): |
- raise JSONInterfaceError(self.downloadsdict['error']) |
- |
- def Downloads(self): |
- """Info about all downloads. |
- |
- This includes downloads in all states (COMPLETE, IN_PROGRESS, ...). |
- |
- Returns: |
- [downloaditem1, downloaditem2, ...] |
- """ |
- return self.downloadsdict.get('downloads', []) |
- |
- def DownloadsInProgress(self): |
- """Info about all downloads in progress. |
- |
- Returns: |
- [downloaditem1, downloaditem2, ...] |
- """ |
- return [x for x in self.Downloads() if x['state'] == 'IN_PROGRESS'] |
- |
- def DownloadsComplete(self): |
- """Info about all downloads that have completed. |
- |
- Returns: |
- [downloaditem1, downloaditem2, ...] |
- """ |
- return [x for x in self.Downloads() if x['state'] == 'COMPLETE'] |