50 { |
50 { |
51 mCntMng = new QContactManager("symbian"); |
51 mCntMng = new QContactManager("symbian"); |
52 |
52 |
53 // Remove all contacts from the database |
53 // Remove all contacts from the database |
54 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
54 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
55 mCntMng->removeContacts(&cnt_ids); |
55 mCntMng->removeContacts(cnt_ids, 0); |
56 } |
56 } |
57 |
57 |
58 void SymbianPluginPerfomance::cleanupTestCase() |
58 void SymbianPluginPerfomance::cleanupTestCase() |
59 { |
59 { |
60 delete mCntMng; |
60 delete mCntMng; |
78 contactsList.append(alice); |
78 contactsList.append(alice); |
79 } |
79 } |
80 |
80 |
81 // Save the contacts |
81 // Save the contacts |
82 mTime.start(); |
82 mTime.start(); |
83 mCntMng->saveContacts(&contactsList); |
83 mCntMng->saveContacts(&contactsList, 0); |
84 int elapsed = mTime.elapsed(); |
84 int elapsed = mTime.elapsed(); |
85 qDebug() << "Created " << contactsList.count() << " simple contacts in" |
85 qDebug() << "Created " << contactsList.count() << " simple contacts in" |
86 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
86 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
87 } |
87 } |
88 |
88 |
89 void SymbianPluginPerfomance::removeSimpleContacts() |
89 void SymbianPluginPerfomance::removeSimpleContacts() |
90 { |
90 { |
91 // Remove N contacts |
91 // Remove N contacts |
92 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
92 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
93 mTime.restart(); |
93 mTime.restart(); |
94 mCntMng->removeContacts(&cnt_ids); |
94 mCntMng->removeContacts(cnt_ids, 0); |
95 int elapsed = mTime.elapsed(); |
95 int elapsed = mTime.elapsed(); |
96 qDebug() << "Removed " << cnt_ids.count() << " simple contacts in" |
96 qDebug() << "Removed " << cnt_ids.count() << " simple contacts in" |
97 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
97 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
98 } |
98 } |
99 |
99 |
164 |
164 |
165 contactsList.append(alice); |
165 contactsList.append(alice); |
166 } |
166 } |
167 // Save the contacts |
167 // Save the contacts |
168 mTime.restart(); |
168 mTime.restart(); |
169 QList<QContactManager::Error> errors = mCntMng->saveContacts(&contactsList); |
169 QMap<int, QContactManager::Error> errors; |
|
170 mCntMng->saveContacts(&contactsList, &errors); |
170 foreach(QContactManager::Error error, errors) { |
171 foreach(QContactManager::Error error, errors) { |
171 QCOMPARE(error, QContactManager::NoError); |
172 QCOMPARE(error, QContactManager::NoError); |
172 } |
173 } |
173 int elapsed = mTime.elapsed(); |
174 int elapsed = mTime.elapsed(); |
174 qDebug() << "Created " << contactsList.count() << " complex contacts in" |
175 qDebug() << "Created " << contactsList.count() << " complex contacts in" |
180 QList<QContactLocalId> cnt_ids; |
181 QList<QContactLocalId> cnt_ids; |
181 QContactSortOrder sortOrder; |
182 QContactSortOrder sortOrder; |
182 QContactSortOrder sortOrder1; |
183 QContactSortOrder sortOrder1; |
183 |
184 |
184 // first name sort order |
185 // first name sort order |
185 sortOrder.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst); |
186 sortOrder.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirstName); |
186 sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast); |
187 sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast); |
187 sortOrder.setDirection(Qt::AscendingOrder); |
188 sortOrder.setDirection(Qt::AscendingOrder); |
188 sortOrder.setCaseSensitivity(Qt::CaseInsensitive); |
189 sortOrder.setCaseSensitivity(Qt::CaseInsensitive); |
189 |
190 |
190 // last name sort order |
191 // last name sort order |
191 sortOrder1.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLast); |
192 sortOrder1.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLastName); |
192 sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast); |
193 sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast); |
193 sortOrder1.setDirection(Qt::AscendingOrder); |
194 sortOrder1.setDirection(Qt::AscendingOrder); |
194 sortOrder1.setCaseSensitivity(Qt::CaseInsensitive); |
195 sortOrder1.setCaseSensitivity(Qt::CaseInsensitive); |
195 |
196 |
196 QList<QContactSortOrder> sortOrders; |
197 QList<QContactSortOrder> sortOrders; |
278 unionFilter = QContactUnionFilter(); |
279 unionFilter = QContactUnionFilter(); |
279 QContactDetailFilter filt; |
280 QContactDetailFilter filt; |
280 filt.setValue("alice"); |
281 filt.setValue("alice"); |
281 filt.setMatchFlags(QContactFilter::MatchContains); |
282 filt.setMatchFlags(QContactFilter::MatchContains); |
282 |
283 |
283 filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst); |
284 filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirstName); |
284 unionFilter.append(filt); |
285 unionFilter.append(filt); |
285 filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLast); |
286 filt.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLastName); |
286 unionFilter.append(filt); |
287 unionFilter.append(filt); |
287 |
288 |
288 measureContactsFetch( |
289 measureContactsFetch( |
289 "Filter: first name \"alice\" or last name \"alice\"", |
290 "Filter: first name \"alice\" or last name \"alice\"", |
290 unionFilter); |
291 unionFilter); |
371 void SymbianPluginPerfomance::removeComplexContacts() |
372 void SymbianPluginPerfomance::removeComplexContacts() |
372 { |
373 { |
373 // Remove N contacts |
374 // Remove N contacts |
374 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
375 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
375 mTime.restart(); |
376 mTime.restart(); |
376 mCntMng->removeContacts(&cnt_ids); |
377 mCntMng->removeContacts(cnt_ids, 0); |
377 int elapsed = mTime.elapsed(); |
378 int elapsed = mTime.elapsed(); |
378 qDebug() << "Removed " << cnt_ids.count() << " complex contacts in" |
379 qDebug() << "Removed " << cnt_ids.count() << " complex contacts in" |
379 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
380 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
380 } |
381 } |
381 |
382 |
440 alice.saveDetail(&org); |
441 alice.saveDetail(&org); |
441 QContactOnlineAccount aliceOnlineAccount; |
442 QContactOnlineAccount aliceOnlineAccount; |
442 QString uri = first + "@yahoo.com"; |
443 QString uri = first + "@yahoo.com"; |
443 aliceOnlineAccount.setAccountUri(uri); |
444 aliceOnlineAccount.setAccountUri(uri); |
444 aliceOnlineAccount.setServiceProvider("yahoo"); |
445 aliceOnlineAccount.setServiceProvider("yahoo"); |
445 aliceOnlineAccount.setNickname("something"); |
|
446 aliceOnlineAccount.setSubTypes(QContactOnlineAccount::SubTypeSip); |
446 aliceOnlineAccount.setSubTypes(QContactOnlineAccount::SubTypeSip); |
447 alice.saveDetail(&aliceOnlineAccount); |
447 alice.saveDetail(&aliceOnlineAccount); |
448 contactsList.append(alice); |
448 contactsList.append(alice); |
449 } |
449 } |
450 mTime.restart(); |
450 mTime.restart(); |
451 QList<QContactManager::Error> errors = mCntMng->saveContacts(&contactsList); |
451 QMap<int, QContactManager::Error> errors; |
|
452 mCntMng->saveContacts(&contactsList, &errors); |
452 foreach(QContactManager::Error error, errors) { |
453 foreach(QContactManager::Error error, errors) { |
453 QCOMPARE(error, QContactManager::NoError); |
454 QCOMPARE(error, QContactManager::NoError); |
454 } |
455 } |
455 int elapsed = mTime.elapsed(); |
456 int elapsed = mTime.elapsed(); |
456 qDebug() << "Created " << contactsList.count() << " complex contacts with online account in" |
457 qDebug() << "Created " << contactsList.count() << " complex contacts with online account in" |
459 void SymbianPluginPerfomance::sortContactsWithOnlineAccount() |
460 void SymbianPluginPerfomance::sortContactsWithOnlineAccount() |
460 { |
461 { |
461 QList<QContactLocalId> cnt_ids; |
462 QList<QContactLocalId> cnt_ids; |
462 QContactSortOrder sortOrder; |
463 QContactSortOrder sortOrder; |
463 QContactSortOrder sortOrder1; |
464 QContactSortOrder sortOrder1; |
464 sortOrder.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirst); |
465 sortOrder.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldFirstName); |
465 sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast); |
466 sortOrder.setBlankPolicy(QContactSortOrder::BlanksLast); |
466 sortOrder.setDirection(Qt::AscendingOrder); |
467 sortOrder.setDirection(Qt::AscendingOrder); |
467 sortOrder.setCaseSensitivity(Qt::CaseInsensitive); |
468 sortOrder.setCaseSensitivity(Qt::CaseInsensitive); |
468 sortOrder1.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLast); |
469 sortOrder1.setDetailDefinitionName(QContactName::DefinitionName, QContactName::FieldLastName); |
469 sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast); |
470 sortOrder1.setBlankPolicy(QContactSortOrder::BlanksLast); |
470 sortOrder1.setDirection(Qt::AscendingOrder); |
471 sortOrder1.setDirection(Qt::AscendingOrder); |
471 sortOrder1.setCaseSensitivity(Qt::CaseInsensitive); |
472 sortOrder1.setCaseSensitivity(Qt::CaseInsensitive); |
472 QList<QContactSortOrder> sortOrders; |
473 QList<QContactSortOrder> sortOrders; |
473 sortOrders.append(sortOrder); |
474 sortOrders.append(sortOrder); |
487 } |
488 } |
488 void SymbianPluginPerfomance::removeComplextContactsWithOnlineAccount() |
489 void SymbianPluginPerfomance::removeComplextContactsWithOnlineAccount() |
489 { |
490 { |
490 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
491 QList<QContactLocalId> cnt_ids = mCntMng->contactIds(); |
491 mTime.restart(); |
492 mTime.restart(); |
492 mCntMng->removeContacts(&cnt_ids); |
493 mCntMng->removeContacts(cnt_ids, 0); |
493 int elapsed = mTime.elapsed(); |
494 int elapsed = mTime.elapsed(); |
494 qDebug() << "Removed " << cnt_ids.count() << " complext contacts with online account in" |
495 qDebug() << "Removed " << cnt_ids.count() << " complext contacts with online account in" |
495 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
496 << elapsed / 1000 << "s" << elapsed % 1000 << "ms"; |
496 } |
497 } |
497 QTEST_MAIN(SymbianPluginPerfomance); |
498 QTEST_MAIN(SymbianPluginPerfomance); |