File indexing completed on 2024-04-21 04:41:07
0001 /* 0002 SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include <../src/generator/indexeddatatable.cpp> 0008 0009 #include <QTest> 0010 0011 #define S(x) QStringLiteral(x) 0012 0013 class IndexedDataTableTest : public QObject 0014 { 0015 Q_OBJECT 0016 private Q_SLOTS: 0017 void testSuffixCompression() 0018 { 0019 StringTable strTab; 0020 0021 // suffix 0022 strTab.addString(S("M4")); 0023 strTab.addString(S("4")); 0024 QCOMPARE(strTab.stringOffset(S("M4")), 0); 0025 QCOMPARE(strTab.stringOffset(S("4")), 1); 0026 0027 // prefix 0028 strTab.addString(S("S7")); 0029 QCOMPARE(strTab.stringOffset(S("S7")), 3); 0030 strTab.addString(S("S75")); 0031 QCOMPARE(strTab.stringOffset(S("S7")), 3); 0032 QCOMPARE(strTab.stringOffset(S("S75")), 6); 0033 0034 // suffix upgrade 0035 strTab.addString(S("XS75")); 0036 QCOMPARE(strTab.stringOffset(S("XS75")), 6); 0037 QCOMPARE(strTab.stringOffset(S("S75")), 7); 0038 0039 // empty entry 0040 strTab.addString(QString()); // should not add 0041 QCOMPARE(strTab.stringOffset(QString()), 2); // first teriminator element 0042 } 0043 }; 0044 0045 QTEST_GUILESS_MAIN(IndexedDataTableTest) 0046 0047 #include "indexeddatatabletest.moc"