Merge lp:~mardy/libaccounts-qt/packaging into lp:libaccounts-qt
- packaging
- Merge into trunk
Proposed by
Alberto Mardegan
Status: | Merged |
---|---|
Approved by: | Alberto Mardegan |
Approved revision: | no longer in the source branch. |
Merged at revision: | 122 |
Proposed branch: | lp:~mardy/libaccounts-qt/packaging |
Merge into: | lp:libaccounts-qt |
Diff against target: |
934 lines (+231/-97) 20 files modified
.gitignore (+2/-0) Accounts/Accounts.pro (+1/-1) Accounts/account-service.cpp (+5/-8) Accounts/account-service.h (+1/-1) Accounts/account.cpp (+9/-27) Accounts/account.h (+1/-0) Accounts/accounts-qt5.pc.in (+1/-1) Accounts/application.h (+1/-1) Accounts/manager.cpp (+4/-22) Accounts/provider.cpp (+0/-3) Accounts/service-type.cpp (+0/-2) Accounts/service.cpp (+0/-2) Accounts/utils.cpp (+1/-1) common-vars.pri (+1/-1) debian/changelog (+13/-0) doc/doc.pri (+2/-2) tests/MyProvider.provider (+11/-0) tests/MyService.service (+5/-0) tests/accountstest.cpp (+172/-25) tests/accountstest.h (+1/-0) |
To merge this branch: | bzr merge lp:~mardy/libaccounts-qt/packaging |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Online Accounts | Pending | ||
Review via email: mp+149780@code.launchpad.net |
Commit message
New upstream release.
- Make libaccounts-qt compile with QT_NO_KEYWORDS
- Tests: increase coverage (now 93%)
- Make AccountService:
- Remove excessive debug verbosity
- Fixed pkg-config requires for accounts-qt5
- Documentation fixes for out-of-tree builds
Description of the change
New upstream release
To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : | # |
review:
Approve
(continuous-integration)
- 122. By Alberto Mardegan
-
New upstream release.
- Make libaccounts-qt compile with QT_NO_KEYWORDS
- Tests: increase coverage (now 93%)
- Make AccountService::account( ) always return a valid account
- Remove excessive debug verbosity
- Fixed pkg-config requires for accounts-qt5
- Documentation fixes for out-of-tree builds
.Approved by PS Jenkins bot.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.gitignore' |
2 | --- .gitignore 2012-11-26 09:17:34 +0000 |
3 | +++ .gitignore 2013-02-21 10:14:20 +0000 |
4 | @@ -10,5 +10,7 @@ |
5 | /doc/qch |
6 | moc_* |
7 | *~ |
8 | +*.gcda |
9 | +*.gcno |
10 | *.o |
11 | *.tar.* |
12 | |
13 | === modified file 'Accounts/Accounts.pro' |
14 | --- Accounts/Accounts.pro 2013-01-18 10:49:27 +0000 |
15 | +++ Accounts/Accounts.pro 2013-02-21 10:14:20 +0000 |
16 | @@ -37,7 +37,7 @@ |
17 | |
18 | CONFIG += link_pkgconfig |
19 | |
20 | -DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII |
21 | +DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII QT_NO_KEYWORDS |
22 | QT += core xml |
23 | QT -= gui |
24 | |
25 | |
26 | === modified file 'Accounts/account-service.cpp' |
27 | --- Accounts/account-service.cpp 2013-02-15 12:20:43 +0000 |
28 | +++ Accounts/account-service.cpp 2013-02-21 10:14:20 +0000 |
29 | @@ -202,15 +202,13 @@ |
30 | } |
31 | |
32 | /*! |
33 | - * Return the Account. Do not delete this object explicitly. |
34 | + * Return the Account. |
35 | */ |
36 | Account *AccountService::account() const |
37 | { |
38 | Q_D(const AccountService); |
39 | AgAccount *account = ag_account_service_get_account(d->m_accountService); |
40 | - AgAccountId account_id = account->id; |
41 | - |
42 | - return d->m_manager->account(account_id); |
43 | + return new Account(account, d->m_manager); |
44 | } |
45 | |
46 | /*! |
47 | @@ -272,7 +270,7 @@ |
48 | QStringList groups, all_keys; |
49 | |
50 | all_keys = allKeys(); |
51 | - foreach (QString key, all_keys) |
52 | + Q_FOREACH (QString key, all_keys) |
53 | { |
54 | if (key.contains(slash)) { |
55 | QString group = key.section(slash, 0, 0); |
56 | @@ -291,7 +289,7 @@ |
57 | QStringList keys, all_keys; |
58 | |
59 | all_keys = allKeys(); |
60 | - foreach (QString key, all_keys) |
61 | + Q_FOREACH (QString key, all_keys) |
62 | { |
63 | if (!key.contains(slash)) |
64 | keys.append(key); |
65 | @@ -357,7 +355,7 @@ |
66 | { |
67 | /* delete all keys in the group */ |
68 | QStringList keys = allKeys(); |
69 | - foreach (QString key, keys) |
70 | + Q_FOREACH (QString key, keys) |
71 | { |
72 | if (!key.isEmpty()) |
73 | remove(key); |
74 | @@ -381,7 +379,6 @@ |
75 | void AccountService::setValue(const QString &key, const QVariant &value) |
76 | { |
77 | Q_D(AccountService); |
78 | - TRACE(); |
79 | |
80 | GVariant *variant = qVariantToGVariant(value); |
81 | if (variant == 0) { |
82 | |
83 | === modified file 'Accounts/account-service.h' |
84 | --- Accounts/account-service.h 2013-02-18 10:17:42 +0000 |
85 | +++ Accounts/account-service.h 2013-02-21 10:14:20 +0000 |
86 | @@ -81,7 +81,7 @@ |
87 | |
88 | AuthData authData() const; |
89 | |
90 | -signals: |
91 | +Q_SIGNALS: |
92 | void enabled(bool isEnabled); |
93 | void changed(); |
94 | |
95 | |
96 | === modified file 'Accounts/account.cpp' |
97 | --- Accounts/account.cpp 2013-02-15 12:20:43 +0000 |
98 | +++ Accounts/account.cpp 2013-02-21 10:14:20 +0000 |
99 | @@ -130,7 +130,6 @@ |
100 | |
101 | Watch::~Watch() |
102 | { |
103 | - TRACE(); |
104 | Account *account = qobject_cast<Account *>(QObject::parent()); |
105 | /* The destructor of Account deletes the child Watches before detaching |
106 | * them, so here account should always be not NULL */ |
107 | @@ -140,25 +139,22 @@ |
108 | |
109 | void Account::Private::on_display_name_changed(Account *self) |
110 | { |
111 | - TRACE(); |
112 | const gchar *name = ag_account_get_display_name(self->d->m_account); |
113 | |
114 | - emit self->displayNameChanged(UTF8(name)); |
115 | + Q_EMIT self->displayNameChanged(UTF8(name)); |
116 | } |
117 | |
118 | void Account::Private::on_enabled(Account *self, const gchar *service_name, |
119 | gboolean enabled) |
120 | { |
121 | - TRACE(); |
122 | - |
123 | - emit self->enabledChanged(UTF8(service_name), enabled); |
124 | + Q_EMIT self->enabledChanged(UTF8(service_name), enabled); |
125 | } |
126 | |
127 | void Account::Private::on_deleted(Account *self) |
128 | { |
129 | TRACE(); |
130 | |
131 | - emit self->removed(); |
132 | + Q_EMIT self->removed(); |
133 | } |
134 | |
135 | /*! |
136 | @@ -171,7 +167,6 @@ |
137 | QObject(parent), |
138 | d(new Private) |
139 | { |
140 | - TRACE(); |
141 | d->m_account = account; |
142 | g_object_ref(account); |
143 | |
144 | @@ -189,8 +184,6 @@ |
145 | */ |
146 | Account::~Account() |
147 | { |
148 | - TRACE(); |
149 | - |
150 | QObjectList list = children(); |
151 | for (int i = 0; i < list.count(); i++) |
152 | { |
153 | @@ -232,8 +225,6 @@ |
154 | */ |
155 | bool Account::supportsService(const QString &serviceType) const |
156 | { |
157 | - TRACE() << serviceType; |
158 | - |
159 | return ag_account_supports_service(d->m_account, |
160 | serviceType.toUtf8().constData()); |
161 | } |
162 | @@ -248,8 +239,6 @@ |
163 | */ |
164 | ServiceList Account::services(const QString &serviceType) const |
165 | { |
166 | - TRACE() << serviceType; |
167 | - |
168 | GList *list; |
169 | if (serviceType.isEmpty()) { |
170 | list = ag_account_list_services(d->m_account); |
171 | @@ -423,7 +412,7 @@ |
172 | QStringList groups, all_keys; |
173 | |
174 | all_keys = allKeys(); |
175 | - foreach (QString key, all_keys) |
176 | + Q_FOREACH (QString key, all_keys) |
177 | { |
178 | if (key.contains(slash)) { |
179 | QString group = key.section(slash, 0, 0); |
180 | @@ -444,7 +433,7 @@ |
181 | QStringList keys, all_keys; |
182 | |
183 | all_keys = allKeys(); |
184 | - foreach (QString key, all_keys) |
185 | + Q_FOREACH (QString key, all_keys) |
186 | { |
187 | if (!key.contains(slash)) |
188 | keys.append(key); |
189 | @@ -522,7 +511,7 @@ |
190 | { |
191 | /* delete all keys in the group */ |
192 | QStringList keys = allKeys(); |
193 | - foreach (QString key, keys) |
194 | + Q_FOREACH (QString key, keys) |
195 | { |
196 | if (!key.isEmpty()) |
197 | remove(key); |
198 | @@ -545,8 +534,6 @@ |
199 | */ |
200 | void Account::setValue(const QString &key, const QVariant &value) |
201 | { |
202 | - TRACE(); |
203 | - |
204 | GVariant *variant = qVariantToGVariant(value); |
205 | if (variant == 0) { |
206 | return; |
207 | @@ -570,11 +557,11 @@ |
208 | error->code == G_IO_ERROR_CANCELLED) { |
209 | TRACE() << "Account destroyed, operation cancelled"; |
210 | } else { |
211 | - emit self->error(Error(error)); |
212 | + Q_EMIT self->error(Error(error)); |
213 | } |
214 | g_error_free(error); |
215 | } else { |
216 | - emit self->synced(); |
217 | + Q_EMIT self->synced(); |
218 | } |
219 | } |
220 | |
221 | @@ -723,7 +710,7 @@ |
222 | void Watch::Private::account_notify_cb(AgAccount *account, const gchar *key, |
223 | Watch *watch) |
224 | { |
225 | - emit watch->notify(key); |
226 | + Q_EMIT watch->notify(key); |
227 | |
228 | Q_UNUSED(account); |
229 | } |
230 | @@ -781,8 +768,6 @@ |
231 | */ |
232 | void Account::sync() |
233 | { |
234 | - TRACE(); |
235 | - |
236 | ag_account_store_async(d->m_account, |
237 | d->m_cancellable, |
238 | (GAsyncReadyCallback)&Private::account_store_cb, |
239 | @@ -798,8 +783,6 @@ |
240 | */ |
241 | bool Account::syncAndBlock() |
242 | { |
243 | - TRACE(); |
244 | - |
245 | GError *error = NULL; |
246 | bool ret; |
247 | |
248 | @@ -819,7 +802,6 @@ |
249 | */ |
250 | void Account::remove() |
251 | { |
252 | - TRACE(); |
253 | ag_account_delete(d->m_account); |
254 | } |
255 | |
256 | |
257 | === modified file 'Accounts/account.h' |
258 | --- Accounts/account.h 2013-02-15 12:20:43 +0000 |
259 | +++ Accounts/account.h 2013-02-21 10:14:20 +0000 |
260 | @@ -201,6 +201,7 @@ |
261 | friend class Manager; |
262 | friend class Account::Private; |
263 | friend class Watch; |
264 | + friend class AccountService; |
265 | friend class AccountServicePrivate; |
266 | |
267 | Private *d; |
268 | |
269 | === modified file 'Accounts/accounts-qt5.pc.in' |
270 | --- Accounts/accounts-qt5.pc.in 2013-01-18 10:49:27 +0000 |
271 | +++ Accounts/accounts-qt5.pc.in 2013-02-21 10:14:20 +0000 |
272 | @@ -10,6 +10,6 @@ |
273 | Description: Accounts Library |
274 | Version: $$PROJECT_VERSION |
275 | Libs: -L${libdir} -laccounts-qt5 |
276 | -Requires: QtCore QtXml |
277 | +Requires: Qt5Core Qt5Xml |
278 | Cflags: -I${includedir} |
279 | |
280 | |
281 | === modified file 'Accounts/application.h' |
282 | --- Accounts/application.h 2012-03-20 06:33:27 +0000 |
283 | +++ Accounts/application.h 2013-02-21 10:14:20 +0000 |
284 | @@ -55,7 +55,7 @@ |
285 | private: |
286 | // Don't include private data in docs: \cond |
287 | friend class Manager; |
288 | - Application(AgApplication *authData); |
289 | + Application(AgApplication *application); |
290 | |
291 | AgApplication *m_application; |
292 | // \endcond |
293 | |
294 | === modified file 'Accounts/manager.cpp' |
295 | --- Accounts/manager.cpp 2012-05-21 12:35:18 +0000 |
296 | +++ Accounts/manager.cpp 2013-02-21 10:14:20 +0000 |
297 | @@ -147,30 +147,22 @@ |
298 | |
299 | void Manager::Private::on_account_created(Manager *self, AgAccountId id) |
300 | { |
301 | - TRACE() << "id =" << id; |
302 | - |
303 | - emit self->accountCreated(id); |
304 | + Q_EMIT self->accountCreated(id); |
305 | } |
306 | |
307 | void Manager::Private::on_account_deleted(Manager *self, AgAccountId id) |
308 | { |
309 | - TRACE() << "id =" << id; |
310 | - |
311 | - emit self->accountRemoved(id); |
312 | + Q_EMIT self->accountRemoved(id); |
313 | } |
314 | |
315 | void Manager::Private::on_account_updated(Manager *self, AgAccountId id) |
316 | { |
317 | - TRACE() << "id =" << id; |
318 | - |
319 | - emit self->accountUpdated(id); |
320 | + Q_EMIT self->accountUpdated(id); |
321 | } |
322 | |
323 | void Manager::Private::on_enabled_event(Manager *self, AgAccountId id) |
324 | { |
325 | - TRACE() << "id =" << id; |
326 | - |
327 | - emit self->enabledEvent(id); |
328 | + Q_EMIT self->enabledEvent(id); |
329 | } |
330 | |
331 | /*! |
332 | @@ -230,8 +222,6 @@ |
333 | */ |
334 | Manager::~Manager() |
335 | { |
336 | - TRACE(); |
337 | - |
338 | g_signal_handlers_disconnect_by_func |
339 | (d->m_manager, (void *)&Private::on_enabled_event, this); |
340 | g_signal_handlers_disconnect_by_func |
341 | @@ -255,8 +245,6 @@ |
342 | */ |
343 | Account *Manager::account(const AccountId &id) const |
344 | { |
345 | - TRACE() << "get account id: " << id; |
346 | - |
347 | GError *error = NULL; |
348 | AgAccount *account = ag_manager_load_account(d->m_manager, id, &error); |
349 | |
350 | @@ -349,8 +337,6 @@ |
351 | */ |
352 | Account *Manager::createAccount(const QString &providerName) |
353 | { |
354 | - TRACE() << providerName; |
355 | - |
356 | AgAccount *account = |
357 | ag_manager_create_account(d->m_manager, |
358 | providerName.toUtf8().constData()); |
359 | @@ -373,7 +359,6 @@ |
360 | */ |
361 | Service Manager::service(const QString &serviceName) const |
362 | { |
363 | - TRACE() << serviceName; |
364 | AgService *service = |
365 | ag_manager_get_service(d->m_manager, |
366 | serviceName.toUtf8().constData()); |
367 | @@ -392,7 +377,6 @@ |
368 | */ |
369 | ServiceList Manager::serviceList(const QString &serviceType) const |
370 | { |
371 | - TRACE() << serviceType; |
372 | GList *list; |
373 | |
374 | if (serviceType.isEmpty()) { |
375 | @@ -401,7 +385,6 @@ |
376 | list = ag_manager_list_services_by_type(d->m_manager, |
377 | serviceType.toUtf8().constData()); |
378 | } |
379 | - TRACE() << "found:" << g_list_length(list); |
380 | |
381 | /* convert glist -> ServiceList */ |
382 | ServiceList servList; |
383 | @@ -426,7 +409,6 @@ |
384 | */ |
385 | Provider Manager::provider(const QString &providerName) const |
386 | { |
387 | - TRACE() << providerName; |
388 | AgProvider *provider; |
389 | |
390 | provider = ag_manager_get_provider(d->m_manager, |
391 | |
392 | === modified file 'Accounts/provider.cpp' |
393 | --- Accounts/provider.cpp 2012-03-20 06:33:33 +0000 |
394 | +++ Accounts/provider.cpp 2013-02-21 10:14:20 +0000 |
395 | @@ -46,7 +46,6 @@ |
396 | Provider::Provider(AgProvider *provider, ReferenceMode mode): |
397 | m_provider(provider) |
398 | { |
399 | - TRACE(); |
400 | if (m_provider != 0 && mode == AddReference) |
401 | ag_provider_ref(m_provider); |
402 | } |
403 | @@ -83,8 +82,6 @@ |
404 | |
405 | Provider::~Provider() |
406 | { |
407 | - TRACE(); |
408 | - |
409 | ag_provider_unref(m_provider); |
410 | m_provider = 0; |
411 | } |
412 | |
413 | === modified file 'Accounts/service-type.cpp' |
414 | --- Accounts/service-type.cpp 2012-05-21 12:35:18 +0000 |
415 | +++ Accounts/service-type.cpp 2013-02-21 10:14:20 +0000 |
416 | @@ -49,7 +49,6 @@ |
417 | m_serviceType(serviceType), |
418 | m_tags(0) |
419 | { |
420 | - TRACE(); |
421 | if (m_serviceType != 0 && mode == AddReference) |
422 | ag_service_type_ref(m_serviceType); |
423 | } |
424 | @@ -88,7 +87,6 @@ |
425 | |
426 | ServiceType::~ServiceType() |
427 | { |
428 | - TRACE(); |
429 | if (m_serviceType != 0) { |
430 | ag_service_type_unref(m_serviceType); |
431 | m_serviceType = 0; |
432 | |
433 | === modified file 'Accounts/service.cpp' |
434 | --- Accounts/service.cpp 2012-05-21 12:35:18 +0000 |
435 | +++ Accounts/service.cpp 2013-02-21 10:14:20 +0000 |
436 | @@ -87,8 +87,6 @@ |
437 | |
438 | Service::~Service() |
439 | { |
440 | - TRACE(); |
441 | - |
442 | if (m_service != 0) { |
443 | ag_service_unref(m_service); |
444 | m_service = 0; |
445 | |
446 | === modified file 'Accounts/utils.cpp' |
447 | --- Accounts/utils.cpp 2013-01-18 11:55:30 +0000 |
448 | +++ Accounts/utils.cpp 2013-02-21 10:14:20 +0000 |
449 | @@ -48,7 +48,7 @@ |
450 | GVariantBuilder builder; |
451 | |
452 | g_variant_builder_init(&builder, G_VARIANT_TYPE_STRING_ARRAY); |
453 | - foreach (const QString &string, stringList) { |
454 | + Q_FOREACH (const QString &string, stringList) { |
455 | g_variant_builder_add(&builder, "s", string.toUtf8().constData()); |
456 | } |
457 | return g_variant_builder_end(&builder); |
458 | |
459 | === modified file 'common-vars.pri' |
460 | --- common-vars.pri 2013-02-19 07:21:35 +0000 |
461 | +++ common-vars.pri 2013-02-21 10:14:20 +0000 |
462 | @@ -15,7 +15,7 @@ |
463 | # Project version |
464 | # remember to update debian/* files if you changes this |
465 | #----------------------------------------------------------------------------- |
466 | -PROJECT_VERSION = 1.5 |
467 | +PROJECT_VERSION = 1.6 |
468 | |
469 | #----------------------------------------------------------------------------- |
470 | # Library version |
471 | |
472 | === modified file 'debian/changelog' |
473 | --- debian/changelog 2013-02-19 07:21:35 +0000 |
474 | +++ debian/changelog 2013-02-21 10:14:20 +0000 |
475 | @@ -1,3 +1,16 @@ |
476 | +libaccounts-qt (1.6-0ubuntu1) raring; urgency=low |
477 | + |
478 | + * New upstream release. |
479 | + - Make libaccounts-qt compile with QT_NO_KEYWORDS |
480 | + - Tests: increase coverage (now 93%) |
481 | + - Make AccountService::account() always return a valid account |
482 | + - Remove excessive debug verbosity |
483 | + - Fixed pkg-config requires for accounts-qt5 |
484 | + - Documentation fixes for out-of-tree builds |
485 | + |
486 | + |
487 | + -- Alberto Mardegan <alberto.mardegan@canonical.com> Thu, 21 Feb 2013 11:47:25 +0200 |
488 | + |
489 | libaccounts-qt (1.5-0ubuntu1) raring; urgency=low |
490 | |
491 | [ Robert Bruce Park ] |
492 | |
493 | === modified file 'doc/doc.pri' |
494 | --- doc/doc.pri 2011-03-18 15:05:38 +0000 |
495 | +++ doc/doc.pri 2013-02-21 10:14:20 +0000 |
496 | @@ -10,7 +10,7 @@ |
497 | # must exist _before_ qmake generates the Makefile...so, make sure our |
498 | # documentation target folders exist in the current build folder |
499 | for( folder, DOC_FOLDERS ) { |
500 | - system( mkdir -p $$(PWD)/$${folder} ) |
501 | + system( mkdir -p $${TOP_BUILD_DIR}/$${folder} ) |
502 | } |
503 | |
504 | |
505 | @@ -61,7 +61,7 @@ |
506 | #----------------------------------------------------------------------------- |
507 | documentation.path = $${INSTALL_PREFIX}/share/doc/$${PROJECT_NAME} |
508 | for( folder, DOC_FOLDERS ) { |
509 | - documentation.files += $${folder} |
510 | + documentation.files += $${TOP_BUILD_DIR}/$${folder} |
511 | } |
512 | # make sure docs are generated before trying to install anything |
513 | documentation.depends = docs |
514 | |
515 | === modified file 'tests/MyProvider.provider' |
516 | --- tests/MyProvider.provider 2010-03-08 12:41:43 +0000 |
517 | +++ tests/MyProvider.provider 2013-02-21 10:14:20 +0000 |
518 | @@ -2,4 +2,15 @@ |
519 | <provider id="MyProvider"> |
520 | <name>My Provider</name> |
521 | <icon>general_myprovider</icon> |
522 | + <translations>accounts</translations> |
523 | + |
524 | + <template> |
525 | + <group name="auth"> |
526 | + <setting name="method">oauth2</setting> |
527 | + <setting name="mechanism">user_agent</setting> |
528 | + <group name="oauth2/user_agent"> |
529 | + <setting name="Host">myserver.example</setting> |
530 | + </group> |
531 | + </group> |
532 | + </template> |
533 | </provider> |
534 | |
535 | === modified file 'tests/MyService.service' |
536 | --- tests/MyService.service 2012-03-20 06:33:27 +0000 |
537 | +++ tests/MyService.service 2013-02-21 10:14:20 +0000 |
538 | @@ -4,6 +4,11 @@ |
539 | <name>My Service</name> |
540 | <icon>general_myservice</icon> |
541 | <provider>MyProvider</provider> |
542 | + <translations>accounts</translations> |
543 | + <tags> |
544 | + <tag>email</tag> |
545 | + <tag>e-mail</tag> |
546 | + </tags> |
547 | |
548 | <!-- default settings (account settings have precedence over these) --> |
549 | <template> |
550 | |
551 | === modified file 'tests/accountstest.cpp' |
552 | --- tests/accountstest.cpp 2013-02-15 12:20:43 +0000 |
553 | +++ tests/accountstest.cpp 2013-02-21 10:14:20 +0000 |
554 | @@ -62,8 +62,16 @@ |
555 | /* manager */ |
556 | void AccountsTest::managerTestCase() |
557 | { |
558 | - Manager * mgr=new Manager(); |
559 | - QVERIFY(mgr!=NULL); |
560 | + Manager *mgr = new Manager(); |
561 | + QVERIFY(mgr != NULL); |
562 | + QCOMPARE(mgr->serviceType(), QString()); |
563 | + |
564 | + mgr->setAbortOnTimeout(true); |
565 | + QCOMPARE(mgr->abortOnTimeout(), true); |
566 | + |
567 | + mgr->setTimeout(123); |
568 | + QCOMPARE(mgr->timeout(), quint32(123)); |
569 | + |
570 | delete mgr; |
571 | } |
572 | |
573 | @@ -116,21 +124,19 @@ |
574 | { |
575 | clearDb(); |
576 | |
577 | - Manager * mgr=new Manager(); |
578 | - QVERIFY(mgr!=NULL); |
579 | + Manager *mgr = new Manager(); |
580 | + QVERIFY(mgr != NULL); |
581 | |
582 | // make sure there is account |
583 | - Account* account = mgr->createAccount(NULL); |
584 | + Account *account = mgr->createAccount(NULL); |
585 | account->sync(); |
586 | |
587 | AccountIdList list = mgr->accountList(NULL); |
588 | - |
589 | QVERIFY(!list.isEmpty()); |
590 | QCOMPARE(list.size(), 1); |
591 | |
592 | - for (int i = 0; i < list.size(); i++) { |
593 | - qDebug("%d : %d",i,list.at(i)); |
594 | - } |
595 | + list = mgr->accountList("e-mail"); |
596 | + QVERIFY(list.isEmpty()); |
597 | |
598 | delete account; |
599 | delete mgr; |
600 | @@ -149,11 +155,33 @@ |
601 | |
602 | delete account; |
603 | |
604 | + /* Test invalid provider */ |
605 | + Provider invalid; |
606 | + QVERIFY(!invalid.isValid()); |
607 | + |
608 | /* Check listing and loading of XML files */ |
609 | Provider provider = mgr->provider("MyProvider"); |
610 | QVERIFY(provider.isValid()); |
611 | |
612 | QCOMPARE(provider.displayName(), QString("My Provider")); |
613 | + QCOMPARE(provider.iconName(), QString("general_myprovider")); |
614 | + QCOMPARE(provider.trCatalog(), QString("accounts")); |
615 | + |
616 | + QDomDocument dom = provider.domDocument(); |
617 | + QDomElement root = dom.documentElement(); |
618 | + QCOMPARE(root.tagName(), QString("provider")); |
619 | + |
620 | + /* Test copy constructor */ |
621 | + Provider copy(provider); |
622 | + QCOMPARE(copy.displayName(), QString("My Provider")); |
623 | + |
624 | + /* Test assignment */ |
625 | + copy = provider; |
626 | + QCOMPARE(copy.displayName(), QString("My Provider")); |
627 | + copy = invalid; |
628 | + QVERIFY(!copy.isValid()); |
629 | + copy = provider; |
630 | + QCOMPARE(copy.displayName(), QString("My Provider")); |
631 | |
632 | ProviderList providers = mgr->providerList(); |
633 | QVERIFY(!providers.isEmpty()); |
634 | @@ -171,6 +199,15 @@ |
635 | Service service = mgr->service(MYSERVICE); |
636 | QVERIFY(service.isValid()); |
637 | QCOMPARE(service.name(), MYSERVICE); |
638 | + QCOMPARE(service.iconName(), QString("general_myservice")); |
639 | + QCOMPARE(service.trCatalog(), QString("accounts")); |
640 | + QStringList tags; |
641 | + tags << "email" << "e-mail"; |
642 | + QCOMPARE(service.tags(), tags.toSet()); |
643 | + // Called twice, because the second time it returns a cached result |
644 | + QCOMPARE(service.tags(), tags.toSet()); |
645 | + QVERIFY(service.hasTag("email")); |
646 | + QVERIFY(!service.hasTag("chat")); |
647 | |
648 | service = mgr->service(SERVICE); |
649 | QVERIFY(!service.isValid()); |
650 | @@ -180,16 +217,18 @@ |
651 | |
652 | void AccountsTest::serviceListTestCase() |
653 | { |
654 | - Manager * mgr=new Manager(); |
655 | - QVERIFY(mgr!=NULL); |
656 | + Manager *mgr = new Manager(); |
657 | + QVERIFY(mgr != NULL); |
658 | |
659 | ServiceList list = mgr->serviceList(); |
660 | QVERIFY(!list.isEmpty()); |
661 | QCOMPARE(list.count(), 2); |
662 | |
663 | - for (int i = 0; i < list.size(); i++) { |
664 | - qDebug("%d : %s",i,list.at(i).name().toLocal8Bit().constData()); |
665 | - } |
666 | + list = mgr->serviceList("e-mail"); |
667 | + QCOMPARE(list.count(), 1); |
668 | + |
669 | + list = mgr->serviceList("sharing"); |
670 | + QCOMPARE(list.count(), 1); |
671 | |
672 | delete mgr; |
673 | } |
674 | @@ -223,6 +262,7 @@ |
675 | |
676 | Account *account = mgr->createAccount(PROVIDER); |
677 | QVERIFY(account!=NULL); |
678 | + QVERIFY(account->isWritable()); |
679 | |
680 | delete account; |
681 | delete mgr; |
682 | @@ -260,6 +300,24 @@ |
683 | QVERIFY(!list.isEmpty()); |
684 | QCOMPARE(list.count(), 1); |
685 | |
686 | + list = account->services("e-mail"); |
687 | + QCOMPARE(list.count(), 1); |
688 | + |
689 | + list = account->services("unsupported"); |
690 | + QVERIFY(list.isEmpty()); |
691 | + |
692 | + Service service = mgr->service(MYSERVICE); |
693 | + QVERIFY(service.isValid()); |
694 | + |
695 | + /* Test default settings */ |
696 | + account->selectService(service); |
697 | + QCOMPARE(account->value("parameters/server").toString(), |
698 | + QString("talk.google.com")); |
699 | + QCOMPARE(account->valueAsInt("parameters/port"), 5223); |
700 | + SettingSource source; |
701 | + QCOMPARE(account->valueAsInt("parameters/port", 0, &source), 5223); |
702 | + QCOMPARE(source, TEMPLATE); |
703 | + |
704 | delete account; |
705 | delete mgr; |
706 | } |
707 | @@ -339,6 +397,9 @@ |
708 | QStringList names; |
709 | names << "Tom" << "Dick" << "Harry"; |
710 | account->setValue("names", names); |
711 | + account->setValue("big distance", quint64(3)); |
712 | + account->setValue("big difference", qint64(-300)); |
713 | + account->setValue("boolean", false); |
714 | account->sync(); |
715 | |
716 | QTest::qWait(10); |
717 | @@ -361,10 +422,22 @@ |
718 | QVERIFY(source == ACCOUNT); |
719 | |
720 | QCOMPARE(account->value("names").toStringList(), names); |
721 | + QCOMPARE(account->value("big distance").toULongLong(), quint64(3)); |
722 | + QCOMPARE(account->value("big difference").toLongLong(), qint64(-300)); |
723 | |
724 | /* test the convenience methods */ |
725 | QString strval = account->valueAsString("test"); |
726 | QCOMPARE (strval, QString("value")); |
727 | + QCOMPARE(account->valueAsString("test", "Hi", &source), QString("value")); |
728 | + QCOMPARE(source, ACCOUNT); |
729 | + |
730 | + QCOMPARE(account->valueAsBool("boolean"), false); |
731 | + QCOMPARE(account->valueAsBool("boolean", true, &source), false); |
732 | + QCOMPARE(source, ACCOUNT); |
733 | + |
734 | + QCOMPARE(account->valueAsUInt64("big distance"), quint64(3)); |
735 | + QCOMPARE(account->valueAsUInt64("big distance", 10, &source), quint64(3)); |
736 | + QCOMPARE(source, ACCOUNT); |
737 | |
738 | strval = account->valueAsString("test_unexisting", "hello"); |
739 | QCOMPARE (strval, QString("hello")); |
740 | @@ -523,6 +596,12 @@ |
741 | AccountService *accountService = new AccountService(account, service); |
742 | QVERIFY(accountService != NULL); |
743 | |
744 | + QCOMPARE(accountService->account()->providerName(), |
745 | + account->providerName()); |
746 | + Service copy = accountService->service(); |
747 | + QVERIFY(copy.isValid()); |
748 | + QCOMPARE(copy.name(), service.name()); |
749 | + |
750 | QObject::connect(accountService, SIGNAL(changed()), |
751 | this, SLOT(onAccountServiceChanged())); |
752 | QObject::connect(accountService, SIGNAL(enabled(bool)), |
753 | @@ -550,8 +629,9 @@ |
754 | account->sync(); |
755 | |
756 | /* ensure that the callbacks have been called the correct number of times */ |
757 | - int changedEmissions = 0; |
758 | - QCOMPARE(spyChanged.count(), ++changedEmissions); |
759 | + QCOMPARE(spyChanged.count(), 1); |
760 | + spyChanged.clear(); |
761 | + spyEnabled.clear(); |
762 | |
763 | QStringList expectedChanges; |
764 | expectedChanges << "parameters/server"; |
765 | @@ -562,16 +642,15 @@ |
766 | UTF8("www.example.com")); |
767 | QCOMPARE(accountService->enabled(), true); |
768 | |
769 | - int enabledEmissions = spyChanged.count(); |
770 | - |
771 | /* check the enabled status */ |
772 | account->selectService(); |
773 | account->setEnabled(false); |
774 | account->sync(); |
775 | - QCOMPARE(spyChanged.count(), changedEmissions); |
776 | - QCOMPARE(spyEnabled.count(), ++enabledEmissions); |
777 | + QCOMPARE(spyChanged.count(), 0); |
778 | + QCOMPARE(spyEnabled.count(), 1); |
779 | QCOMPARE(accountService->enabled(), false); |
780 | QCOMPARE(m_accountServiceEnabledValue, accountService->enabled()); |
781 | + spyEnabled.clear(); |
782 | |
783 | /* enable the account, but disable the service */ |
784 | account->selectService(); |
785 | @@ -579,18 +658,19 @@ |
786 | account->selectService(service); |
787 | account->setEnabled(false); |
788 | account->sync(); |
789 | - QCOMPARE(spyEnabled.count(), enabledEmissions); |
790 | + QCOMPARE(spyEnabled.count(), 0); |
791 | QCOMPARE(accountService->enabled(), false); |
792 | |
793 | /* re-enable the service */ |
794 | account->selectService(service); |
795 | account->setEnabled(true); |
796 | account->sync(); |
797 | - QCOMPARE(spyEnabled.count(), ++enabledEmissions); |
798 | + QCOMPARE(spyEnabled.count(), 1); |
799 | QCOMPARE(accountService->enabled(), true); |
800 | QCOMPARE(m_accountServiceEnabledValue, accountService->enabled()); |
801 | + spyEnabled.clear(); |
802 | + spyChanged.clear(); |
803 | |
804 | - changedEmissions = spyChanged.count(); |
805 | |
806 | /* test some more APIs */ |
807 | QStringList expectedList; |
808 | @@ -605,6 +685,21 @@ |
809 | expectedList << "parameters"; |
810 | QCOMPARE(accountService->childGroups().toSet(), expectedList.toSet()); |
811 | |
812 | + /* Remove one key */ |
813 | + accountService->remove("parameters/port"); |
814 | + account->sync(); |
815 | + QCOMPARE(spyChanged.count(), 1); |
816 | + QCOMPARE(m_accountServiceChangedFields, QStringList("parameters/port")); |
817 | + spyChanged.clear(); |
818 | + |
819 | + /* remove all keys */ |
820 | + accountService->clear(); |
821 | + account->sync(); |
822 | + QCOMPARE(spyChanged.count(), 1); |
823 | + QVERIFY(m_accountServiceChangedFields.contains("parameters/server")); |
824 | + QVERIFY(m_accountServiceChangedFields.contains("parameters/old-ssl")); |
825 | + spyChanged.clear(); |
826 | + |
827 | delete accountService; |
828 | delete account; |
829 | delete mgr; |
830 | @@ -1038,12 +1133,50 @@ |
831 | |
832 | QCOMPARE(authData.parameters(), expectedParameters); |
833 | |
834 | + /* Test copy constructor */ |
835 | + AuthData copy(authData); |
836 | + QCOMPARE(copy.parameters(), expectedParameters); |
837 | + |
838 | + /* And delete destructor */ |
839 | + AuthData *copy2 = new AuthData(authData); |
840 | + QCOMPARE(copy2->parameters(), expectedParameters); |
841 | + delete copy2; |
842 | + |
843 | delete accountService; |
844 | delete account; |
845 | delete manager; |
846 | QVERIFY(service.isValid()); |
847 | } |
848 | |
849 | +void AccountsTest::globalAuthDataTest() |
850 | +{ |
851 | + Manager *manager = new Manager; |
852 | + QVERIFY(manager != NULL); |
853 | + |
854 | + Account *account = manager->createAccount("MyProvider"); |
855 | + QVERIFY(account != NULL); |
856 | + |
857 | + Service service; // global account |
858 | + QVERIFY(!service.isValid()); |
859 | + |
860 | + AccountService *accountService = new AccountService(account, service); |
861 | + QVERIFY(accountService != 0); |
862 | + |
863 | + AuthData authData = accountService->authData(); |
864 | + QCOMPARE(authData.method(), QString("oauth2")); |
865 | + QCOMPARE(authData.mechanism(), QString("user_agent")); |
866 | + QCOMPARE(authData.credentialsId(), uint(0)); |
867 | + |
868 | + QVariantMap expectedParameters; |
869 | + expectedParameters.insert("Host", QString("myserver.example")); |
870 | + |
871 | + QCOMPARE(authData.parameters(), expectedParameters); |
872 | + |
873 | + delete accountService; |
874 | + delete account; |
875 | + delete manager; |
876 | +} |
877 | + |
878 | void AccountsTest::listEnabledServices() |
879 | { |
880 | clearDb(); |
881 | @@ -1082,8 +1215,9 @@ |
882 | |
883 | Manager *mgr = new Manager("e-mail"); |
884 | QVERIFY(mgr != NULL); |
885 | + QCOMPARE(mgr->serviceType(), QString("e-mail")); |
886 | |
887 | - Account* account = mgr->createAccount("MyProvider"); |
888 | + Account *account = mgr->createAccount("MyProvider"); |
889 | QVERIFY(account != NULL); |
890 | account->setEnabled(true); |
891 | |
892 | @@ -1094,10 +1228,12 @@ |
893 | account->sync(); |
894 | |
895 | AccountIdList list = mgr->accountListEnabled("e-mail"); |
896 | - |
897 | QVERIFY(!list.isEmpty()); |
898 | QCOMPARE(list.size(), 1); |
899 | |
900 | + list = mgr->accountListEnabled(); |
901 | + QCOMPARE(list.count(), 1); |
902 | + |
903 | account->setEnabled(false); |
904 | account->sync(); |
905 | |
906 | @@ -1170,6 +1306,17 @@ |
907 | QCOMPARE(serviceType.trCatalog(), QLatin1String("translation_file")); |
908 | QCOMPARE(serviceType.iconName(), QLatin1String("email_icon")); |
909 | QVERIFY(serviceType.tags().contains(QString("email"))); |
910 | + // called twice, because the second time it returns a cached result |
911 | + QVERIFY(serviceType.tags().contains(QString("email"))); |
912 | + QVERIFY(serviceType.hasTag(QString("email"))); |
913 | + QVERIFY(!serviceType.hasTag(QString("fake-email"))); |
914 | + |
915 | + QDomDocument dom = serviceType.domDocument(); |
916 | + QDomElement root = dom.documentElement(); |
917 | + QCOMPARE(root.tagName(), QString("service-type")); |
918 | + |
919 | + ServiceType copy(serviceType); |
920 | + QCOMPARE(copy.displayName(), QLatin1String("Electronic mail")); |
921 | |
922 | delete mgr; |
923 | } |
924 | |
925 | === modified file 'tests/accountstest.h' |
926 | --- tests/accountstest.h 2013-02-15 12:20:43 +0000 |
927 | +++ tests/accountstest.h 2013-02-21 10:14:20 +0000 |
928 | @@ -96,6 +96,7 @@ |
929 | void credentialsIdTest(); |
930 | |
931 | void authDataTest(); |
932 | + void globalAuthDataTest(); |
933 | |
934 | void listEnabledServices(); |
935 |
PASSED: Continuous integration, rev:122 s-jenkins: 8080/job/ libaccounts- qt-ci/5/ s-jenkins: 8080/job/ libaccounts- qt-ci/. /build= pbuilder, distribution= raring, flavor= amd64/5/ console s-jenkins: 8080/job/ libaccounts- qt-ci/. /build= pbuilder, distribution= raring, flavor= i386/5/ console
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ libaccounts- qt-ci/5/ /rebuild/?
http://