Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: chrome/test/pyautolib/download_info.py

Issue 222873002: Remove pyauto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """DownloadInfo: python representation for downloads visible to Chrome.
6
7 Obtain one of these from PyUITestSuite::GetDownloadsInfo() call.
8
9 class MyDownloadsTest(pyauto.PyUITest):
10 def testDownload(self):
11 self.DownloadAndWaitForStart('http://my.url/package.zip')
12 self.WaitForAllDownloadsToComplete()
13 info = self.GetDownloadsInfo()
14 print info.Downloads()
15 self.assertEqual(info.Downloads()[0]['file_name'], 'packge.zip')
16
17 See more tests in chrome/test/functional/downloads.py.
18 """
19
20 import os
21 import simplejson as json
22 import sys
23
24 from pyauto_errors import JSONInterfaceError
25
26
27 class DownloadInfo(object):
28 """Represent info about Downloads.
29
30 The info is represented as a list of DownloadItems. Each DownloadItem is a
31 dictionary with various attributes about a download, like id, file_name,
32 path, state, and so on.
33 """
34 def __init__(self, downloads_dict):
35 """Initialize a DownloadInfo from a string of json.
36
37 Args:
38 downloads_dict: a dict returned by the IPC command 'GetDownloadsInfo'.
39 A typical dict representing one download looks like:
40 {'downloads': [{'url': 'http://blah/a_file.zip',
41 'file_name': 'a_file.zip',
42 'state': 'COMPLETED',
43 ...,
44 ..., } ] }
45
46 Raises:
47 pyauto_errors.JSONInterfaceError if the automation call returns an error.
48 """
49 # JSON string prepared in GetDownloadsInfo() in automation_provider.cc
50 self.downloadsdict = downloads_dict
51 if self.downloadsdict.has_key('error'):
52 raise JSONInterfaceError(self.downloadsdict['error'])
53
54 def Downloads(self):
55 """Info about all downloads.
56
57 This includes downloads in all states (COMPLETE, IN_PROGRESS, ...).
58
59 Returns:
60 [downloaditem1, downloaditem2, ...]
61 """
62 return self.downloadsdict.get('downloads', [])
63
64 def DownloadsInProgress(self):
65 """Info about all downloads in progress.
66
67 Returns:
68 [downloaditem1, downloaditem2, ...]
69 """
70 return [x for x in self.Downloads() if x['state'] == 'IN_PROGRESS']
71
72 def DownloadsComplete(self):
73 """Info about all downloads that have completed.
74
75 Returns:
76 [downloaditem1, downloaditem2, ...]
77 """
78 return [x for x in self.Downloads() if x['state'] == 'COMPLETE']
OLDNEW
« no previous file with comments | « chrome/test/pyautolib/dom_mutation_observer.js ('k') | chrome/test/pyautolib/fetch_prebuilt_pyauto.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698