Merge lp:~mandel/ubuntu-download-manager/empty-group into lp:ubuntu-download-manager

Proposed by Manuel de la Peña
Status: Merged
Approved by: Manuel de la Peña
Approved revision: 166
Merged at revision: 166
Proposed branch: lp:~mandel/ubuntu-download-manager/empty-group
Merge into: lp:ubuntu-download-manager
Diff against target: 76 lines (+32/-6)
3 files modified
libubuntudownloadmanager/downloads/group_download.cpp (+11/-6)
ubuntu-download-manager-tests/downloads/test_group_download.cpp (+18/-0)
ubuntu-download-manager-tests/downloads/test_group_download.h (+3/-0)
To merge this branch: bzr merge lp:~mandel/ubuntu-download-manager/empty-group
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Diego Sarmentero (community) Approve
Review via email: mp+194169@code.launchpad.net

Commit message

Ensure that finished is raised when the group download is empty.

Description of the change

Ensure that finished is raised when the group download is empty.

To post a comment you must log in.
Revision history for this message
Diego Sarmentero (diegosarmentero) wrote :

+1

review: Approve
Revision history for this message
Ying-Chun Liu (paulliu) wrote :

LGTM +1

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'libubuntudownloadmanager/downloads/group_download.cpp'
--- libubuntudownloadmanager/downloads/group_download.cpp 2013-10-25 11:44:53 +0000
+++ libubuntudownloadmanager/downloads/group_download.cpp 2013-11-06 15:17:05 +0000
@@ -174,14 +174,19 @@
174174
175 void startDownload() {175 void startDownload() {
176 Q_Q(GroupDownload);176 Q_Q(GroupDownload);
177 foreach(FileDownload* download, _downloads) {177 if (_downloads.count() > 0) {
178 Download::State state = download->state();178 foreach(FileDownload* download, _downloads) {
179 if (state == Download::IDLE) {179 Download::State state = download->state();
180 download->start();180 if (state == Download::IDLE) {
181 download->startDownload();181 download->start();
182 download->startDownload();
183 }
182 }184 }
185 emit q->started(true);
186 } else {
187 emit q->started(true);
188 emit q->finished(_finishedDownloads);
183 }189 }
184 emit q->started(true);
185 }190 }
186191
187 qulonglong progress() {192 qulonglong progress() {
188193
=== modified file 'ubuntu-download-manager-tests/downloads/test_group_download.cpp'
--- ubuntu-download-manager-tests/downloads/test_group_download.cpp 2013-10-30 11:04:37 +0000
+++ ubuntu-download-manager-tests/downloads/test_group_download.cpp 2013-11-06 15:17:05 +0000
@@ -16,6 +16,7 @@
16 * Boston, MA 02110-1301, USA.16 * Boston, MA 02110-1301, USA.
17 */17 */
1818
19#include <QScopedPointer>
19#include <QSignalSpy>20#include <QSignalSpy>
20#include <downloads/group_download.h>21#include <downloads/group_download.h>
21#include <system/uuid_utils.h>22#include <system/uuid_utils.h>
@@ -903,3 +904,20 @@
903904
904 QVERIFY(group->isValid());905 QVERIFY(group->isValid());
905}906}
907
908void
909TestGroupDownload::testEmptyGroupRaisesFinish() {
910 QList<GroupDownloadStruct> downloadsStruct;
911 QScopedPointer<GroupDownload> group(new GroupDownload(_id, _path, false, _rootPath,
912 downloadsStruct, "md5", _isGSMDownloadAllowed, _metadata, _headers,
913 QSharedPointer<SystemNetworkInfo>(_networkInfo),
914 QSharedPointer<Factory>(_downloadFactory),
915 QSharedPointer<FileManager>(_fileManager)));
916
917 QSignalSpy startedSpy(group.data(), SIGNAL(started(bool)));
918 QSignalSpy finishedSpy(group.data(), SIGNAL(finished(QStringList)));
919
920 group->startDownload();
921 QCOMPARE(startedSpy.count(), 1);
922 QCOMPARE(finishedSpy.count(), 1);
923}
906924
=== modified file 'ubuntu-download-manager-tests/downloads/test_group_download.h'
--- ubuntu-download-manager-tests/downloads/test_group_download.h 2013-10-30 11:04:37 +0000
+++ ubuntu-download-manager-tests/downloads/test_group_download.h 2013-11-06 15:17:05 +0000
@@ -78,6 +78,9 @@
78 void testInvalidFilePresent();78 void testInvalidFilePresent();
79 void testValidFileNotPresent();79 void testValidFileNotPresent();
8080
81 // empty group tests
82 void testEmptyGroupRaisesFinish();
83
81 private:84 private:
82 QString _id;85 QString _id;
83 QString _path;86 QString _path;

Subscribers

People subscribed via source and target branches