mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-08-07 05:52:33 -04:00
Improve existing code prior to implementing FDO Secrets
* DatabaseTabWidget::newDatabase returns the created DatabaseWidget * Emit DatabaseTabWidget::databaseOpened signal before a new tab is added * EntrySearcher can now search attribute values including custom ones * Add Group::applyGroupIconTo to set the group icon on the supplied entry * Implement desktop notifications through the system tray icon * Add DatabaseWidget::deleteEntries to delete a list of entries * Add Aes128 in SymmetricCipher::algorithmIvSize * Add DatabaseWidget::databaseReplaced signal * Add a helper class to override the message box's parent (prevent bugs)
This commit is contained in:
parent
bc891761b6
commit
d93f33f514
15 changed files with 154 additions and 30 deletions
|
@ -210,4 +210,40 @@ void TestEntrySearcher::testSearchTermParser()
|
|||
|
||||
QCOMPARE(terms[1]->field, EntrySearcher::Field::Username);
|
||||
QCOMPARE(terms[1]->regex.pattern(), QString("\\d+\\w{2}"));
|
||||
|
||||
// Test custom attribute search terms
|
||||
m_entrySearcher.parseSearchTerms("+_abc:efg _def:\"ddd\"");
|
||||
terms = m_entrySearcher.m_searchTerms;
|
||||
|
||||
QCOMPARE(terms.length(), 2);
|
||||
|
||||
QCOMPARE(terms[0]->field, EntrySearcher::Field::AttributeValue);
|
||||
QCOMPARE(terms[0]->word, QString("abc"));
|
||||
QCOMPARE(terms[0]->regex.pattern(), QString("^efg$"));
|
||||
|
||||
QCOMPARE(terms[1]->field, EntrySearcher::Field::AttributeValue);
|
||||
QCOMPARE(terms[1]->word, QString("def"));
|
||||
QCOMPARE(terms[1]->regex.pattern(), QString("ddd"));
|
||||
}
|
||||
|
||||
void TestEntrySearcher::testCustomAttributesAreSearched()
|
||||
{
|
||||
QScopedPointer<Entry> e1(new Entry());
|
||||
e1->setGroup(m_rootGroup);
|
||||
|
||||
e1->attributes()->set("testAttribute", "testE1");
|
||||
e1->attributes()->set("testProtected", "testP", true);
|
||||
|
||||
QScopedPointer<Entry> e2(new Entry());
|
||||
e2->setGroup(m_rootGroup);
|
||||
e2->attributes()->set("testAttribute", "testE2");
|
||||
e2->attributes()->set("testProtected", "testP2", true);
|
||||
|
||||
// search for custom entries
|
||||
m_searchResult = m_entrySearcher.search("_testAttribute:test", m_rootGroup);
|
||||
QCOMPARE(m_searchResult.count(), 2);
|
||||
|
||||
// protected attributes are ignored
|
||||
m_searchResult = m_entrySearcher.search("_testAttribute:test _testProtected:testP2", m_rootGroup);
|
||||
QCOMPARE(m_searchResult.count(), 2);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue