Changeset View
Changeset View
Standalone View
Standalone View
autotests/integration/filesearchstoretest.cpp
Show All 34 Lines | |||||
35 | 35 | | |||
36 | 36 | | |||
37 | using namespace Baloo; | 37 | using namespace Baloo; | ||
38 | 38 | | |||
39 | void FileSearchStoreTest::testSimpleSearchString() | 39 | void FileSearchStoreTest::testSimpleSearchString() | ||
40 | { | 40 | { | ||
41 | QBENCHMARK { | 41 | QBENCHMARK { | ||
42 | QString url1(QLatin1String("/home/t/a")); | 42 | QString url1(QLatin1String("/home/t/a")); | ||
43 | quint64 id1 = insertUrl(url1); | 43 | DocId id1 = insertUrl(url1); | ||
44 | insertText(id1, QLatin1String("This is sample text")); | 44 | insertText(id1, QLatin1String("This is sample text")); | ||
45 | 45 | | |||
46 | QString url2(QLatin1String("/home/t/b")); | 46 | QString url2(QLatin1String("/home/t/b")); | ||
47 | quint64 id2 = insertUrl(url2); | 47 | DocId id2 = insertUrl(url2); | ||
48 | insertText(id2, QLatin1String("sample sample more sample text")); | 48 | insertText(id2, QLatin1String("sample sample more sample text")); | ||
49 | 49 | | |||
50 | Query q; | 50 | Query q; | ||
51 | q.addType(QLatin1String("File")); | 51 | q.addType(QLatin1String("File")); | ||
52 | q.setSearchString(QLatin1String("Sample")); | 52 | q.setSearchString(QLatin1String("Sample")); | ||
53 | 53 | | |||
54 | int qid = m_store->exec(q); | 54 | int qid = m_store->exec(q); | ||
55 | //QCOMPARE(qid, 1); | 55 | //QCOMPARE(qid, 1); | ||
Show All 13 Lines | |||||
69 | cleanupTestCase(); | 69 | cleanupTestCase(); | ||
70 | init(); | 70 | init(); | ||
71 | } | 71 | } | ||
72 | } | 72 | } | ||
73 | 73 | | |||
74 | void FileSearchStoreTest::testPropertyValueEqual() | 74 | void FileSearchStoreTest::testPropertyValueEqual() | ||
75 | { | 75 | { | ||
76 | QString url1(QLatin1String("/home/t/a")); | 76 | QString url1(QLatin1String("/home/t/a")); | ||
77 | quint64 id1 = insertUrl(url1); | 77 | DocId id1 = insertUrl(url1); | ||
78 | insertText(id1, QLatin1String("This is sample text")); | 78 | insertText(id1, QLatin1String("This is sample text")); | ||
79 | 79 | | |||
80 | QString url2(QLatin1String("/home/t/b")); | 80 | QString url2(QLatin1String("/home/t/b")); | ||
81 | quint64 id2 = insertUrl(url2); | 81 | DocId id2 = insertUrl(url2); | ||
82 | insertText(id2, QLatin1String("sample sample more sample but not text")); | 82 | insertText(id2, QLatin1String("sample sample more sample but not text")); | ||
83 | 83 | | |||
84 | Query q; | 84 | Query q; | ||
85 | q.setTerm(Term(QString(), "Sample text", Baloo::Term::Equal)); | 85 | q.setTerm(Term(QString(), "Sample text", Baloo::Term::Equal)); | ||
86 | q.addType(QLatin1String("File")); | 86 | q.addType(QLatin1String("File")); | ||
87 | 87 | | |||
88 | int qid = m_store->exec(q); | 88 | int qid = m_store->exec(q); | ||
89 | QCOMPARE(qid, 1); | 89 | QCOMPARE(qid, 1); | ||
90 | QVERIFY(m_store->next(qid)); | 90 | QVERIFY(m_store->next(qid)); | ||
91 | QCOMPARE(m_store->id(qid), serialize("file", id1)); | 91 | QCOMPARE(m_store->id(qid), serialize("file", id1)); | ||
92 | QCOMPARE(m_store->filePath(qid), url1); | 92 | QCOMPARE(m_store->filePath(qid), url1); | ||
93 | 93 | | |||
94 | QVERIFY(!m_store->next(qid)); | 94 | QVERIFY(!m_store->next(qid)); | ||
95 | QVERIFY(m_store->id(qid).isEmpty()); | 95 | QVERIFY(m_store->id(qid).isEmpty()); | ||
96 | QVERIFY(m_store->filePath(qid).isEmpty()); | 96 | QVERIFY(m_store->filePath(qid).isEmpty()); | ||
97 | 97 | | |||
98 | m_store->close(qid); | 98 | m_store->close(qid); | ||
99 | } | 99 | } | ||
100 | 100 | | |||
101 | void FileSearchStoreTest::testIncludeDir() | 101 | void FileSearchStoreTest::testIncludeDir() | ||
102 | { | 102 | { | ||
103 | QString url1(QLatin1String("/home/t/a")); | 103 | QString url1(QLatin1String("/home/t/a")); | ||
104 | quint64 id1 = insertUrl(url1); | 104 | DocId id1 = insertUrl(url1); | ||
105 | insertText(id1, QLatin1String("This is sample text")); | 105 | insertText(id1, QLatin1String("This is sample text")); | ||
106 | 106 | | |||
107 | QString url2(QLatin1String("/home/t/b")); | 107 | QString url2(QLatin1String("/home/t/b")); | ||
108 | quint64 id2 = insertUrl(url2); | 108 | DocId id2 = insertUrl(url2); | ||
109 | insertText(id2, QLatin1String("sample sample more sample text")); | 109 | insertText(id2, QLatin1String("sample sample more sample text")); | ||
110 | 110 | | |||
111 | QString url3(QLatin1String("/home/garden/b")); | 111 | QString url3(QLatin1String("/home/garden/b")); | ||
112 | quint64 id3 = insertUrl(url3); | 112 | DocId id3 = insertUrl(url3); | ||
113 | insertText(id3, QLatin1String("The grass is green in the garden.")); | 113 | insertText(id3, QLatin1String("The grass is green in the garden.")); | ||
114 | 114 | | |||
115 | QString url4(QLatin1String("/home/tt/b")); | 115 | QString url4(QLatin1String("/home/tt/b")); | ||
116 | quint64 id4 = insertUrl(url4); | 116 | DocId id4 = insertUrl(url4); | ||
117 | insertText(id4, QLatin1String("Let's see if this works.")); | 117 | insertText(id4, QLatin1String("Let's see if this works.")); | ||
118 | 118 | | |||
119 | QString url5(QLatin1String("/home/t/c")); | 119 | QString url5(QLatin1String("/home/t/c")); | ||
120 | quint64 id5 = insertUrl(url5); | 120 | DocId id5 = insertUrl(url5); | ||
121 | insertText(id5, QLatin1String("sample sample more sample text")); | 121 | insertText(id5, QLatin1String("sample sample more sample text")); | ||
122 | 122 | | |||
123 | Query q; | 123 | Query q; | ||
124 | q.addType(QLatin1String("File")); | 124 | q.addType(QLatin1String("File")); | ||
125 | q.setIncludeFolder(QStringLiteral("/home/t")); | 125 | q.setIncludeFolder(QStringLiteral("/home/t")); | ||
126 | 126 | | |||
127 | int qid = m_store->exec(q); | 127 | int qid = m_store->exec(q); | ||
128 | QCOMPARE(qid, 1); | 128 | QCOMPARE(qid, 1); | ||
Show All 14 Lines | |||||
143 | QVERIFY(m_store->filePath(qid).isEmpty()); | 143 | QVERIFY(m_store->filePath(qid).isEmpty()); | ||
144 | 144 | | |||
145 | m_store->close(qid); | 145 | m_store->close(qid); | ||
146 | } | 146 | } | ||
147 | 147 | | |||
148 | void FileSearchStoreTest::testRatings() | 148 | void FileSearchStoreTest::testRatings() | ||
149 | { | 149 | { | ||
150 | QString url1(QLatin1String("/home/t/a")); | 150 | QString url1(QLatin1String("/home/t/a")); | ||
151 | quint64 id1 = insertUrl(url1); | 151 | DocId id1 = insertUrl(url1); | ||
152 | insertRating(id1, 2); | 152 | insertRating(id1, 2); | ||
153 | 153 | | |||
154 | QString url2(QLatin1String("/home/t/b")); | 154 | QString url2(QLatin1String("/home/t/b")); | ||
155 | quint64 id2 = insertUrl(url2); | 155 | DocId id2 = insertUrl(url2); | ||
156 | insertRating(id2, 4); | 156 | insertRating(id2, 4); | ||
157 | 157 | | |||
158 | QString url3(QLatin1String("/home/garden/b")); | 158 | QString url3(QLatin1String("/home/garden/b")); | ||
159 | quint64 id3 = insertUrl(url3); | 159 | DocId id3 = insertUrl(url3); | ||
160 | insertRating(id3, 6); | 160 | insertRating(id3, 6); | ||
161 | 161 | | |||
162 | QString url4(QLatin1String("/home/tt/b")); | 162 | QString url4(QLatin1String("/home/tt/b")); | ||
163 | quint64 id4 = insertUrl(url4); | 163 | DocId id4 = insertUrl(url4); | ||
164 | insertRating(id4, 10); | 164 | insertRating(id4, 10); | ||
165 | 165 | | |||
166 | QString url5(QLatin1String("/home/tt/c")); | 166 | QString url5(QLatin1String("/home/tt/c")); | ||
167 | quint64 id5 = insertUrl(url5); | 167 | DocId id5 = insertUrl(url5); | ||
168 | insertText(id5, QLatin1String("Test text")); | 168 | insertText(id5, QLatin1String("Test text")); | ||
169 | 169 | | |||
170 | // | 170 | // | ||
171 | // Less than 5 | 171 | // Less than 5 | ||
172 | // | 172 | // | ||
173 | Query q; | 173 | Query q; | ||
174 | q.addType(QLatin1String("File")); | 174 | q.addType(QLatin1String("File")); | ||
175 | q.setTerm(Term(QLatin1String("rating"), 5, Term::Less)); | 175 | q.setTerm(Term(QLatin1String("rating"), 5, Term::Less)); | ||
Show All 18 Lines | |||||
194 | QVERIFY(m_store->next(qid2)); | 194 | QVERIFY(m_store->next(qid2)); | ||
195 | QCOMPARE(m_store->id(qid2), serialize("file", id4)); | 195 | QCOMPARE(m_store->id(qid2), serialize("file", id4)); | ||
196 | QVERIFY(!m_store->next(qid2)); | 196 | QVERIFY(!m_store->next(qid2)); | ||
197 | } | 197 | } | ||
198 | 198 | | |||
199 | void FileSearchStoreTest::testEmptySearchString() | 199 | void FileSearchStoreTest::testEmptySearchString() | ||
200 | { | 200 | { | ||
201 | QString url1(QLatin1String("/home/t/a")); | 201 | QString url1(QLatin1String("/home/t/a")); | ||
202 | quint64 id1 = insertUrl(url1); | 202 | DocId id1 = insertUrl(url1); | ||
203 | insertText(id1, QLatin1String("File A")); | 203 | insertText(id1, QLatin1String("File A")); | ||
204 | 204 | | |||
205 | QString url2(QLatin1String("/home/t/b")); | 205 | QString url2(QLatin1String("/home/t/b")); | ||
206 | quint64 id2 = insertUrl(url2); | 206 | DocId id2 = insertUrl(url2); | ||
207 | insertText(id2, QLatin1String("File B")); | 207 | insertText(id2, QLatin1String("File B")); | ||
208 | 208 | | |||
209 | QString url3(QLatin1String("/home/garden/b")); | 209 | QString url3(QLatin1String("/home/garden/b")); | ||
210 | quint64 id3 = insertUrl(url3); | 210 | DocId id3 = insertUrl(url3); | ||
211 | insertText(id3, QLatin1String("Garden B")); | 211 | insertText(id3, QLatin1String("Garden B")); | ||
212 | 212 | | |||
213 | QString url4(QLatin1String("/home/tt/b")); | 213 | QString url4(QLatin1String("/home/tt/b")); | ||
214 | quint64 id4 = insertUrl(url4); | 214 | DocId id4 = insertUrl(url4); | ||
215 | insertText(id4, QLatin1String("TT B")); | 215 | insertText(id4, QLatin1String("TT B")); | ||
216 | 216 | | |||
217 | QString url5(QLatin1String("/home/tt/c")); | 217 | QString url5(QLatin1String("/home/tt/c")); | ||
218 | quint64 id5 = insertUrl(url5); | 218 | DocId id5 = insertUrl(url5); | ||
219 | insertText(id5, QLatin1String("TT C")); | 219 | insertText(id5, QLatin1String("TT C")); | ||
220 | 220 | | |||
221 | Query q; | 221 | Query q; | ||
222 | q.addType(QLatin1String("File")); | 222 | q.addType(QLatin1String("File")); | ||
223 | 223 | | |||
224 | int qid1 = m_store->exec(q); | 224 | int qid1 = m_store->exec(q); | ||
225 | QCOMPARE(qid1, 1); | 225 | QCOMPARE(qid1, 1); | ||
226 | 226 | | |||
227 | QVERIFY(m_store->next(qid1)); | 227 | QVERIFY(m_store->next(qid1)); | ||
228 | QCOMPARE(m_store->id(qid1), serialize("file", id1)); | 228 | QCOMPARE(m_store->id(qid1), serialize("file", id1)); | ||
229 | QVERIFY(m_store->next(qid1)); | 229 | QVERIFY(m_store->next(qid1)); | ||
230 | QCOMPARE(m_store->id(qid1), serialize("file", id2)); | 230 | QCOMPARE(m_store->id(qid1), serialize("file", id2)); | ||
231 | QVERIFY(m_store->next(qid1)); | 231 | QVERIFY(m_store->next(qid1)); | ||
232 | QCOMPARE(m_store->id(qid1), serialize("file", id3)); | 232 | QCOMPARE(m_store->id(qid1), serialize("file", id3)); | ||
233 | QVERIFY(m_store->next(qid1)); | 233 | QVERIFY(m_store->next(qid1)); | ||
234 | QCOMPARE(m_store->id(qid1), serialize("file", id4)); | 234 | QCOMPARE(m_store->id(qid1), serialize("file", id4)); | ||
235 | QVERIFY(m_store->next(qid1)); | 235 | QVERIFY(m_store->next(qid1)); | ||
236 | QCOMPARE(m_store->id(qid1), serialize("file", id5)); | 236 | QCOMPARE(m_store->id(qid1), serialize("file", id5)); | ||
237 | QVERIFY(!m_store->next(qid1)); | 237 | QVERIFY(!m_store->next(qid1)); | ||
238 | } | 238 | } | ||
239 | 239 | | |||
240 | void FileSearchStoreTest::testAllVideos() | 240 | void FileSearchStoreTest::testAllVideos() | ||
241 | { | 241 | { | ||
242 | QString url1(QLatin1String("/home/t/a")); | 242 | QString url1(QLatin1String("/home/t/a")); | ||
243 | quint64 id1 = insertUrl(url1); | 243 | DocId id1 = insertUrl(url1); | ||
244 | insertType(id1, QLatin1String("Video")); | 244 | insertType(id1, QLatin1String("Video")); | ||
245 | 245 | | |||
246 | QString url2(QLatin1String("/home/t/b")); | 246 | QString url2(QLatin1String("/home/t/b")); | ||
247 | quint64 id2 = insertUrl(url2); | 247 | DocId id2 = insertUrl(url2); | ||
248 | insertType(id2, QLatin1String("Image")); | 248 | insertType(id2, QLatin1String("Image")); | ||
249 | 249 | | |||
250 | QString url3(QLatin1String("/home/garden/b")); | 250 | QString url3(QLatin1String("/home/garden/b")); | ||
251 | quint64 id3 = insertUrl(url3); | 251 | DocId id3 = insertUrl(url3); | ||
252 | insertType(id3, QLatin1String("Video")); | 252 | insertType(id3, QLatin1String("Video")); | ||
253 | 253 | | |||
254 | Query q; | 254 | Query q; | ||
255 | q.addType(QLatin1String("Video")); | 255 | q.addType(QLatin1String("Video")); | ||
256 | 256 | | |||
257 | int qid1 = m_store->exec(q); | 257 | int qid1 = m_store->exec(q); | ||
258 | QCOMPARE(qid1, 1); | 258 | QCOMPARE(qid1, 1); | ||
259 | 259 | | |||
260 | QVERIFY(m_store->next(qid1)); | 260 | QVERIFY(m_store->next(qid1)); | ||
261 | QCOMPARE(m_store->id(qid1), serialize("file", id1)); | 261 | QCOMPARE(m_store->id(qid1), serialize("file", id1)); | ||
262 | QVERIFY(m_store->next(qid1)); | 262 | QVERIFY(m_store->next(qid1)); | ||
263 | QCOMPARE(m_store->id(qid1), serialize("file", id3)); | 263 | QCOMPARE(m_store->id(qid1), serialize("file", id3)); | ||
264 | QVERIFY(!m_store->next(qid1)); | 264 | QVERIFY(!m_store->next(qid1)); | ||
265 | } | 265 | } | ||
266 | 266 | | |||
267 | void FileSearchStoreTest::testFileNameSearch() | 267 | void FileSearchStoreTest::testFileNameSearch() | ||
268 | { | 268 | { | ||
269 | QString url1(QLatin1String("/home/t/a")); | 269 | QString url1(QLatin1String("/home/t/a")); | ||
270 | quint64 id1 = insertUrl(url1); | 270 | DocId id1 = insertUrl(url1); | ||
271 | insertExactText(id1, QLatin1String("flowering"), "F"); | 271 | insertExactText(id1, QLatin1String("flowering"), "F"); | ||
272 | insertExactText(id1, QLatin1String("dork"), "F"); | 272 | insertExactText(id1, QLatin1String("dork"), "F"); | ||
273 | insertExactText(id1, QLatin1String("dork"), "A"); | 273 | insertExactText(id1, QLatin1String("dork"), "A"); | ||
274 | insertExactText(id1, QLatin1String("dork"), "G"); | 274 | insertExactText(id1, QLatin1String("dork"), "G"); | ||
275 | 275 | | |||
276 | QString url2(QLatin1String("/home/t/b")); | 276 | QString url2(QLatin1String("/home/t/b")); | ||
277 | quint64 id2 = insertUrl(url2); | 277 | DocId id2 = insertUrl(url2); | ||
278 | insertExactText(id2, QLatin1String("powering"), "F"); | 278 | insertExactText(id2, QLatin1String("powering"), "F"); | ||
279 | insertExactText(id2, QLatin1String("fire"), "F"); | 279 | insertExactText(id2, QLatin1String("fire"), "F"); | ||
280 | insertExactText(id2, QLatin1String("dork"), "A"); | 280 | insertExactText(id2, QLatin1String("dork"), "A"); | ||
281 | insertExactText(id2, QLatin1String("dork"), "G"); | 281 | insertExactText(id2, QLatin1String("dork"), "G"); | ||
282 | 282 | | |||
283 | QString url3(QLatin1String("/home/garden/b")); | 283 | QString url3(QLatin1String("/home/garden/b")); | ||
284 | quint64 id3 = insertUrl(url3); | 284 | DocId id3 = insertUrl(url3); | ||
285 | insertExactText(id3, QLatin1String("does"), "F"); | 285 | insertExactText(id3, QLatin1String("does"), "F"); | ||
286 | insertExactText(id3, QLatin1String("not"), "F"); | 286 | insertExactText(id3, QLatin1String("not"), "F"); | ||
287 | insertExactText(id3, QLatin1String("dork"), "A"); | 287 | insertExactText(id3, QLatin1String("dork"), "A"); | ||
288 | insertExactText(id3, QLatin1String("dork"), "G"); | 288 | insertExactText(id3, QLatin1String("dork"), "G"); | ||
289 | 289 | | |||
290 | Query q; | 290 | Query q; | ||
291 | q.addType(QLatin1String("File")); | 291 | q.addType(QLatin1String("File")); | ||
292 | q.setTerm(Term("filename", "dork")); | 292 | q.setTerm(Term("filename", "dork")); | ||
▲ Show 20 Lines • Show All 134 Lines • Show Last 20 Lines |