26 #include <wibble/sys/fs.h>
30 namespace textsearch {
37 using namespace ept::textsearch;
38 using namespace ept::apt;
44 wibble::sys::fs::mkdirIfMissing(name, 0755);
56 : md( TEST_ENV_DIR
"xapian"), oid( TEST_ENV_DIR
"xapian")
60 textsearch.rebuildIfNeeded(apt);
61 }
catch (Xapian::Error& e) {
62 cerr << e.get_type() <<
" " << e.get_msg() <<
" " << e.get_context() << endl;
86 assert(textsearch.hasData());
87 assert(textsearch.timestamp() > 0);
88 assert(!textsearch.needsRebuild(apt));
90 Xapian::Enquire enq(textsearch.db());
91 enq.set_query(textsearch.makeORQuery(
"sgml"));
92 Xapian::MSet matches = enq.get_mset(0, 100);
93 assert(matches.size() > 0);
97 for (Xapian::MSetIterator i = matches.begin(); i != matches.end(); ++i)
98 results.insert(i.get_document().get_data());
99 assert(results.find(
"sp") != results.end());
105 Xapian::Enquire enq(textsearch.db());
106 enq.set_query(textsearch.makeORQuery(
"sgml"));
107 Xapian::MSet matches = enq.get_mset(0, 100);
108 assert(matches.size() > 0);
112 for (Xapian::MSetIterator i = matches.begin(); i != matches.end(); ++i)
113 results.insert(i.get_document().get_data());
114 assert(results.find(
"sp") != results.end());
118 Test partialOrQuery()
120 Xapian::Enquire enq(textsearch.db());
121 enq.set_query(textsearch.makePartialORQuery(
"sgml"));
122 Xapian::MSet matches = enq.get_mset(0, 100);
123 assert(matches.size() > 0);
127 for (Xapian::MSetIterator i = matches.begin(); i != matches.end(); ++i)
128 results.insert(i.get_document().get_data());
129 assert(results.find(
"sp") != results.end());
135 assert(textsearch.docidByName(
"sp") != 0);
136 assert_eq(textsearch.docidByName(
"thereisnopackagewiththisname"), 0u);
142 assert(textsearch.hasData());
143 assert(textsearch.timestamp() > 0);
144 assert(!textsearch.needsRebuild(apt));
148 assert(dval == 2408);
150 assert(dval == 741486);
152 assert_eq(textsearch.getDoubleValue(
"thereisnopackagewiththisname",
VAL_APT_PACKAGE_SIZE), 0.0);
158 assert(val == 741486);