From 2ecd11eb355e6a79b3f5af292cea66e2eabc0b63 Mon Sep 17 00:00:00 2001 From: Felix Geyer Date: Thu, 10 May 2012 21:29:10 +0200 Subject: [PATCH] Add test for a non-ascii password. --- tests/TestKeePass1Reader.cpp | 18 ++++++++++++++++++ tests/TestKeePass1Reader.h | 1 + tests/data/CP-1252.kdb | Bin 0 -> 620 bytes tests/data/CP-1252.kdb.key | 1 + 4 files changed, 20 insertions(+) create mode 100644 tests/data/CP-1252.kdb create mode 100644 tests/data/CP-1252.kdb.key diff --git a/tests/TestKeePass1Reader.cpp b/tests/TestKeePass1Reader.cpp index ea4a7d64..2a2ca6eb 100644 --- a/tests/TestKeePass1Reader.cpp +++ b/tests/TestKeePass1Reader.cpp @@ -196,6 +196,24 @@ void TestKeePass1Reader::testTwofish() delete db; } +void TestKeePass1Reader::testCP1252Password() +{ + QString name = "CP-1252"; + + KeePass1Reader reader; + + QString dbFilename = QString("%1/%2.kdb").arg(QString(KEEPASSX_TEST_DATA_DIR), name); + QString password = QString::fromUtf8("\xe2\x80\x9e\x70\x61\x73\x73\x77\x6f\x72\x64\xe2\x80\x9d"); + + Database* db = reader.readDatabase(dbFilename, password, QByteArray()); + QVERIFY(db); + QVERIFY(!reader.hasError()); + QCOMPARE(db->rootGroup()->children().size(), 1); + QCOMPARE(db->rootGroup()->children().at(0)->name(), name); + + delete db; +} + void TestKeePass1Reader::cleanupTestCase() { delete m_db; diff --git a/tests/TestKeePass1Reader.h b/tests/TestKeePass1Reader.h index fe1c435f..d9b1deb3 100644 --- a/tests/TestKeePass1Reader.h +++ b/tests/TestKeePass1Reader.h @@ -36,6 +36,7 @@ private Q_SLOTS: void testFileKey_data(); void testCompositeKey(); void testTwofish(); + void testCP1252Password(); void cleanupTestCase(); private: diff --git a/tests/data/CP-1252.kdb b/tests/data/CP-1252.kdb new file mode 100644 index 0000000000000000000000000000000000000000..707bc458ede716e7b41ece050b7211410423e4ae GIT binary patch literal 620 zcmV-y0+am%*`k_d`%AS00000200RK#^e#+mRri1&wkmw|`ZD#oNn8%O_S=M-?0^kbdye>|n>yHnSB z5(Nc@ujL+ZC8{0a=a&DDePZEYI;>{(I6WiI_6mMQ?iHW+xl;Pu5-e!dY$AH6<94Ph7|pQq0@(@#x;gx#rd z{X!o2?F_8hK1~w z!}u%>=83wgxWrEf!!#8#aPaybNPhPBB=ZKCC2-YCW22U9(0!h*2Efnhp#*pV$9V)A z12q_mDsU)#q%KQq-)Y;Ut^1zYv-WSuCp|SpWRT7qs#l9%5L4=VL&k(L?2BnTE?gPt z&?HD5q>oW16&A%0Q%z6`z!@JQy|(P)AumpusUPv{a(+vDpDJSj literal 0 HcmV?d00001 diff --git a/tests/data/CP-1252.kdb.key b/tests/data/CP-1252.kdb.key new file mode 100644 index 00000000..b51896a1 --- /dev/null +++ b/tests/data/CP-1252.kdb.key @@ -0,0 +1 @@ +„password” \ No newline at end of file