Merge lp:~diegosarmentero/ubuntuone-control-panel/tests-failing into lp:ubuntuone-control-panel

Proposed by Diego Sarmentero
Status: Merged
Approved by: Diego Sarmentero
Approved revision: 332
Merged at revision: 329
Proposed branch: lp:~diegosarmentero/ubuntuone-control-panel/tests-failing
Merge into: lp:ubuntuone-control-panel
Diff against target: 147 lines (+37/-15)
3 files modified
data/qt/images.qrc (+1/-0)
ubuntuone/controlpanel/gui/qt/folders.py (+25/-12)
ubuntuone/controlpanel/gui/qt/tests/test_folders.py (+11/-3)
To merge this branch: bzr merge lp:~diegosarmentero/ubuntuone-control-panel/tests-failing
Reviewer Review Type Date Requested Status
Roberto Alsina (community) Approve
Brian Curtin (community) Approve
Review via email: mp+107799@code.launchpad.net

Commit message

- Using suggested_path to server path comparisons (LP: 1004603).

To post a comment you must log in.
330. By Diego Sarmentero

removing unnecesary import

331. By Diego Sarmentero

Linking bug

332. By Diego Sarmentero

adding test with ~/

Revision history for this message
Brian Curtin (brian.curtin) wrote :

Looks good to me. Passes on Windows.

review: Approve
Revision history for this message
Roberto Alsina (ralsina) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'data/audio-x-generic.png'
2Binary files data/audio-x-generic.png 1970-01-01 00:00:00 +0000 and data/audio-x-generic.png 2012-05-29 17:22:19 +0000 differ
3=== modified file 'data/qt/images.qrc'
4--- data/qt/images.qrc 2012-05-14 21:05:08 +0000
5+++ data/qt/images.qrc 2012-05-29 17:22:19 +0000
6@@ -1,5 +1,6 @@
7 <RCC>
8 <qresource prefix="/">
9+ <file>../audio-x-generic.png</file>
10 <file>../banner.png</file>
11 <file>../computer.png</file>
12 <file>../external_icon_dark_grey.png</file>
13
14=== modified file 'ubuntuone/controlpanel/gui/qt/folders.py'
15--- ubuntuone/controlpanel/gui/qt/folders.py 2012-05-14 18:50:12 +0000
16+++ ubuntuone/controlpanel/gui/qt/folders.py 2012-05-29 17:22:19 +0000
17@@ -80,10 +80,15 @@
18
19 def _process_name(name):
20 """Tweak 'name' with a translatable music folder name."""
21- if name == MUSIC_REAL_PATH:
22+ if name.startswith('~/'):
23+ suggested = name[2:]
24+ else:
25+ suggested = name
26+
27+ if suggested == MUSIC_REAL_PATH:
28 result = MUSIC_DISPLAY_NAME
29 else:
30- result = name
31+ result = suggested
32 return result
33
34
35@@ -203,7 +208,8 @@
36 child.volume_path = volume['path']
37 child.volume_id = volume['volume_id']
38
39- name = _process_name(volume[u'display_name'])
40+ name = _process_name(volume.get(u'suggested_path',
41+ volume[u'display_name']))
42 child.setText(FOLDER_NAME_COL, name)
43 child.setToolTip(FOLDER_NAME_COL, name)
44 child.setToolTip(EXPLORE_COL, FOLDERS_COLUMN_EXPLORE)
45@@ -505,21 +511,25 @@
46 for volume in volumes:
47 if (volume[u'type'] == self.backend.FOLDER_TYPE and
48 bool(volume['subscribed'])):
49- folders.append((volume['path'], volume['volume_id']))
50+ suggested = volume.get(u'suggested_path',
51+ volume[u'display_name'])
52+ folders.append((volume['path'], volume['volume_id'],
53+ suggested))
54
55 # add local folders only if they are valid
56 for folder in default_folders(user_home=self.user_home):
57 is_valid = yield self.backend.validate_path_for_folder(folder)
58 if is_valid:
59- folders.append((folder, None))
60+ folders.append((folder, None, None))
61
62 # always clear the items dict first, since clearing the folders
63 # list will trigger "underlying C/C++ object has been deleted"
64 self.items.clear()
65 self.ui.folders.clear()
66
67- for path, volume_id in folders:
68- self.add_folder(folder_path=path, volume_id=volume_id)
69+ for path, volume_id, suggested in folders:
70+ self.add_folder(folder_path=path, volume_id=volume_id,
71+ suggested=suggested)
72
73 if folders and not self.timer.isActive():
74 self.timer.start(2000)
75@@ -552,20 +562,23 @@
76 self.changesApplied.emit()
77
78 @handle_errors(logger=logger)
79- def add_folder(self, folder_path, volume_id=None):
80+ def add_folder(self, folder_path, volume_id=None, suggested=None):
81 """Add a folder to the list."""
82 if folder_path in self.items:
83 logger.warning('LocalFoldersPanel: already have an item for %r.',
84 folder_path)
85 return
86
87- if self.user_home is None:
88+ if suggested is None:
89 logger.warning('LocalFoldersPanel: user home is None! '
90 'paths will not be pretty.')
91- display_name = folder_path
92- else:
93- user_home = self.user_home + os.path.sep
94+ if self.user_home is None:
95+ user_home = ''
96+ else:
97+ user_home = self.user_home + os.path.sep
98 display_name = _process_name(folder_path.replace(user_home, ''))
99+ else:
100+ display_name = _process_name(suggested)
101
102 item = FolderItem([display_name, ""], path=folder_path,
103 queue=self.queue, volume_id=volume_id)
104
105=== modified file 'ubuntuone/controlpanel/gui/qt/tests/test_folders.py'
106--- ubuntuone/controlpanel/gui/qt/tests/test_folders.py 2012-05-14 18:50:12 +0000
107+++ ubuntuone/controlpanel/gui/qt/tests/test_folders.py 2012-05-29 17:22:19 +0000
108@@ -37,6 +37,7 @@
109 FAKE_VOLUMES_ONLY_ROOT_INFO,
110 MUSIC_FOLDER, MUSIC_PATH, ROOT, USER_HOME,
111 )
112+from ubuntuone.controlpanel.gui import MUSIC_REAL_PATH
113 from ubuntuone.controlpanel.gui.qt import folders as gui
114 from ubuntuone.controlpanel.gui.qt.tests import (
115 BaseTestCase,
116@@ -1219,13 +1220,13 @@
117 class LocalFoldersPanelAddFolderTestCase(BaseLocalFoldersPanelTestCase):
118 """Test suite for the add_folder method from LocalFoldersPanel."""
119
120- def test_folder_is_added(self, folder_path=None):
121+ def test_folder_is_added(self, folder_path=None, suggested=None):
122 """Adding a folder adds it to the folder list."""
123 former_count = self.ui.ui.folders.topLevelItemCount()
124
125 if folder_path is None:
126 folder_path = self.path
127- self.ui.add_folder(folder_path)
128+ self.ui.add_folder(folder_path, suggested=suggested)
129
130 new_count = self.ui.ui.folders.topLevelItemCount()
131 self.assertEqual(new_count, former_count + 1)
132@@ -1233,7 +1234,14 @@
133
134 def test_add_music_folder_adds_the_folder(self):
135 """Adding the purchased music folder adds it to the folder list."""
136- self.test_folder_is_added(folder_path=MUSIC_PATH)
137+ self.test_folder_is_added(folder_path=MUSIC_PATH,
138+ suggested=MUSIC_REAL_PATH)
139+
140+ def test_add_music_folder_adds_the_folder_with_suggested_path(self):
141+ """Adding the purchased music folder adds it to the folder list."""
142+ suggested_path = '~/' + MUSIC_REAL_PATH
143+ self.test_folder_is_added(folder_path=MUSIC_PATH,
144+ suggested=suggested_path)
145
146 def test_do_not_add_twice(self):
147 """The same folder will not be added twice."""

Subscribers

People subscribed via source and target branches