summaryrefslogtreecommitdiffstats
path: root/searchsummary/src/tests/juniper
diff options
context:
space:
mode:
Diffstat (limited to 'searchsummary/src/tests/juniper')
-rw-r--r--searchsummary/src/tests/juniper/auxTest.cpp83
-rw-r--r--searchsummary/src/tests/juniper/matchobjectTest.cpp60
-rw-r--r--searchsummary/src/tests/juniper/mcandTest.cpp170
3 files changed, 135 insertions, 178 deletions
diff --git a/searchsummary/src/tests/juniper/auxTest.cpp b/searchsummary/src/tests/juniper/auxTest.cpp
index 15f5ad1749e..c42cf4ccd83 100644
--- a/searchsummary/src/tests/juniper/auxTest.cpp
+++ b/searchsummary/src/tests/juniper/auxTest.cpp
@@ -136,15 +136,14 @@ AuxTest::TestDoubleWidth()
juniper::QueryParser q("\xef\xbd\x93\xef\xbd\x8f\xef\xbd\x8e\xef\xbd\x99");
juniper::QueryHandle qh(q, nullptr, juniper.getModifier());
- juniper::Result* res = juniper::Analyse(&myConfig, &qh,
- input, 17, 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(myConfig, qh,
+ input, 17, 0, 0, 0);
+ _test(static_cast<bool>(res));
- juniper::Summary* sum = juniper::GetTeaser(res, nullptr);
+ juniper::Summary* sum = juniper::GetTeaser(*res, nullptr);
(void) sum;
// this should work
// _test(sum->Length() != 0);
- juniper::ReleaseResult(res);
}
@@ -175,17 +174,15 @@ AuxTest::TestPartialUTF8()
juniper::QueryParser q("ipod");
juniper::QueryHandle qh(q, nullptr, juniper.getModifier());
- juniper::Result* res = juniper::Analyse(&myConfig, &qh,
- input, inputSize, 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(myConfig, qh,
+ input, inputSize, 0, 0, 0);
+ _test(static_cast<bool>(res));
- juniper::Summary* sum = juniper::GetTeaser(res, nullptr);
+ juniper::Summary* sum = juniper::GetTeaser(*res, nullptr);
_test(sum->Length() != 0);
// check for partial/broken utf-8
_test(countBrokenUTF8(sum->Text(), sum->Length()) == 0);
-
- juniper::ReleaseResult(res);
}
void AuxTest::TestLargeBlockChinese()
@@ -215,11 +212,11 @@ void AuxTest::TestLargeBlockChinese()
juniper::QueryParser q("希望");
juniper::QueryHandle qh(q, nullptr, juniper.getModifier());
- juniper::Result* res = juniper::Analyse(&myConfig, &qh,
- input, inputSize, 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(myConfig, qh,
+ input, inputSize, 0, 0, 0);
+ _test(static_cast<bool>(res));
- juniper::Summary* sum = juniper::GetTeaser(res, nullptr);
+ juniper::Summary* sum = juniper::GetTeaser(*res, nullptr);
_test(sum->Length() != 0);
// check that the entire block of chinese data is not returned in the summary
@@ -227,8 +224,6 @@ void AuxTest::TestLargeBlockChinese()
// check for partial/broken utf-8
_test(countBrokenUTF8(sum->Text(), sum->Length()) == 0);
-
- juniper::ReleaseResult(res);
}
void AuxTest::TestExample()
@@ -241,17 +236,14 @@ void AuxTest::TestExample()
"&%#%&! cries the sleepy monkey and jumps down from the tree."
"the last token here is split across lines consumed";
int content_len = strlen(content);
- juniper::Result* res =
- juniper::Analyse(juniper::TestConfig,
- &qh,
- content, content_len,
- 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(*juniper::TestConfig, qh,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
res->Scan();
Matcher& m = *res->_matcher;
_test(m.TotalMatchCnt(0) == 2 && m.ExactMatchCnt(0) == 0);
- juniper::ReleaseResult(res);
}
@@ -410,8 +402,8 @@ void AuxTest::TestUTF8context()
s.append(char_from_u8(u8" beste forekomst av s\u00f8ket med s\u00f8kemotor til brukeren blir det enda bedre. "));
s.append(char_from_u8(u8"Hvis bare UTF8-kodingen virker som den skal for tegn som tar mer enn \u00e9n byte."));
- juniper::Result* res = juniper::Analyse(juniper::TestConfig, &qh, s.c_str(), s.size(), 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(*juniper::TestConfig, qh, s.c_str(), s.size(), 0, 0, 0);
+ _test(static_cast<bool>(res));
size_t charsize;
Matcher& m = *res->_matcher;
@@ -454,7 +446,6 @@ void AuxTest::TestUTF8context()
test_dump(s.c_str(), s.size());
m.dump_statistics();
}
- juniper::ReleaseResult(res);
}
@@ -491,10 +482,10 @@ void AuxTest::TestJapanese()
const char* content = testjap[i].text;
int content_len = strlen(content);
- juniper::Result* res = juniper::Analyse(juniper::TestConfig, &qh,
- content, content_len,
- 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(*juniper::TestConfig, qh,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
size_t charsize;
Matcher& m = *res->_matcher;
@@ -545,7 +536,6 @@ void AuxTest::TestJapanese()
default:
break;
}
- juniper::ReleaseResult(res);
DeleteSummaryDesc(sumdesc);
DeleteSummaryConfig(_sumconf);
}
@@ -582,15 +572,14 @@ void AuxTest::TestStartHits()
" In fact it must be much longer. And then som more text at the end. But this text at "
"the end must be much longer than this to trigger the case";
int content_len = strlen(content);
- juniper::Result* res = juniper::Analyse(juniper::TestConfig, &qh,
- content, content_len,
- 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(*juniper::TestConfig, qh,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
- juniper::Summary* sum = juniper::GetTeaser(res, nullptr);
+ juniper::Summary* sum = juniper::GetTeaser(*res, nullptr);
(void) sum;
// TODO: ReEnable _test(sum->Length() != 0);
- juniper::ReleaseResult(res);
}
@@ -607,14 +596,13 @@ void AuxTest::TestEndHit()
"surround_len bytes closer than good towardstheend�����������������������������������";
size_t content_len = strlen(content) - 55;
- juniper::Result* res = juniper::Analyse(juniper::TestConfig, &qh,
- content, content_len,
- 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(*juniper::TestConfig, qh,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
- juniper::Summary* sum = juniper::GetTeaser(res, nullptr);
+ juniper::Summary* sum = juniper::GetTeaser(*res, nullptr);
_test(sum->Length() != 0);
- juniper::ReleaseResult(res);
}
void AuxTest::TestJuniperStack()
@@ -880,14 +868,13 @@ AuxTest::TestWhiteSpacePreserved()
juniper::QueryParser q("best");
juniper::QueryHandle qh(q, nullptr, juniper.getModifier());
- juniper::Result* res = juniper::Analyse(&myConfig, &qh, input.c_str(), input.size(), 0, 0, 0);
- _test(res != nullptr);
+ auto res = juniper::Analyse(myConfig, qh, input.c_str(), input.size(), 0, 0, 0);
+ _test(static_cast<bool>(res));
- juniper::Summary* sum = juniper::GetTeaser(res, nullptr);
+ juniper::Summary* sum = juniper::GetTeaser(*res, nullptr);
vespalib::string expected = "<hi>best</hi> of \nmetallica";
vespalib::string actual(sum->Text(), sum->Length());
_test(actual == expected);
- juniper::ReleaseResult(res);
}
void AuxTest::Run(MethodContainer::iterator &itr) {
diff --git a/searchsummary/src/tests/juniper/matchobjectTest.cpp b/searchsummary/src/tests/juniper/matchobjectTest.cpp
index 07e3cf84767..d8b7724d8a5 100644
--- a/searchsummary/src/tests/juniper/matchobjectTest.cpp
+++ b/searchsummary/src/tests/juniper/matchobjectTest.cpp
@@ -28,10 +28,10 @@ void MatchObjectTest::testTerm() {
size_t content_len = strlen(content);
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig, &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig, q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Do the scanning manually. This calls accept several times
res->Scan();
@@ -42,51 +42,39 @@ void MatchObjectTest::testTerm() {
_test(ms.size() == 2);
- delete res;
// printf("%d %d\n", m.TotalHits(),ms.size());
TestQuery q1("t*t");
TestQuery q2("*ea*");
TestQuery q3("*d");
TestQuery q4("*word");
- Result* r1 = juniper::Analyse(juniper::TestConfig, &q1._qhandle, content, content_len, 0, 0, 0);
- Result* r2 = juniper::Analyse(juniper::TestConfig, &q2._qhandle, content, content_len, 0, 0, 0);
- Result* r3 = juniper::Analyse(juniper::TestConfig, &q3._qhandle, content, content_len, 0, 0, 0);
- Result* r4 = juniper::Analyse(juniper::TestConfig, &q4._qhandle, content, content_len, 0, 0, 0);
- if (r1 != 0)
- {
+ auto r1 = juniper::Analyse(*juniper::TestConfig, q1._qhandle, content, content_len, 0, 0, 0);
+ auto r2 = juniper::Analyse(*juniper::TestConfig, q2._qhandle, content, content_len, 0, 0, 0);
+ auto r3 = juniper::Analyse(*juniper::TestConfig, q3._qhandle, content, content_len, 0, 0, 0);
+ auto r4 = juniper::Analyse(*juniper::TestConfig, q4._qhandle, content, content_len, 0, 0, 0);
+ _test(static_cast<bool>(r1));
+ if (r1) {
r1->Scan();
_test(r1->_matcher->TotalHits() == 1);
- delete r1;
}
- else
- _test(r1 != 0);
-
- if (r2 != 0)
- {
+ _test(static_cast<bool>(r2));
+ if (r2) {
r2->Scan();
_test(r2->_matcher->TotalHits() == 2);
- delete r2;
}
- else
- _test(r2 != 0);
- if (r3 != 0)
- {
+ if (r3) {
r3->Scan();
_test(r3->_matcher->TotalHits() == 2);
- delete r3;
+ } else {
+ _test(static_cast<bool>(r3));
}
- else
- _test(r3 != 0);
- if (r4 != 0)
- {
+ if (r4) {
r4->Scan();
_test_equal(r4->_matcher->TotalHits(), 2);
- delete r4;
+ } else {
+ _test(static_cast<bool>(r4));
}
- else
- _test(r4 != 0);
}
/**
@@ -98,7 +86,7 @@ void MatchObjectTest::testMatch() {
juniper::QueryHandle qh(p, NULL, juniper::_Juniper->getModifier());
MatchObject* mo = qh.MatchObj(0);
- juniper::Result res(juniper::TestConfig, &qh, "", 0, 0);
+ juniper::Result res(*juniper::TestConfig, qh, "", 0, 0);
unsigned opts = 0;
match_iterator mi(mo, &res);
ucs4_t ucs4_str[10];
@@ -140,7 +128,7 @@ void MatchObjectTest::testMatch() {
"extremelylongwordhit,extremelylongwordhits,extremelylongwordhit,"
"extremelylongwordhit))");
QueryHandle& qh1(q._qhandle);
- juniper::Result res1(juniper::TestConfig, &qh1,
+ juniper::Result res1(*juniper::TestConfig, qh1,
doc.c_str(), doc.size(), 0);
juniper::Summary* sum = res1.GetTeaser(NULL);
std::string s(sum->Text());
@@ -165,7 +153,7 @@ void MatchObjectTest::testMatchAnnotated() {
" stuff";
TestQuery q("AND(big,buy)");
QueryHandle &qh1(q._qhandle);
- juniper::Result res1(juniper::TestConfig, &qh1,
+ juniper::Result res1(*juniper::TestConfig, qh1,
doc, strlen(doc), 0);
juniper::Summary *sum = res1.GetTeaser(NULL);
std::string s(sum->Text());
@@ -205,7 +193,7 @@ void MatchObjectTest::testLangid()
std::string doc("see if we can match b or c somewhere in this a3 doc. "
"Note that we should not match b1 or c1 or a somewhere..");
- juniper::Result res(juniper::TestConfig, &qh, doc.c_str(), doc.size(),0);
+ juniper::Result res(*juniper::TestConfig, qh, doc.c_str(), doc.size(),0);
juniper::Summary* sum = res.GetTeaser(NULL);
std::string s(sum->Text());
@@ -218,7 +206,7 @@ void MatchObjectTest::testLangid()
// Do another test with the same query handle (testing reuse of qh with rewriters)
std::string doc("Try to run this on another doc just to see if b or c still can be"
" matched with the same query handle");
- juniper::Result res(juniper::TestConfig, &qh,
+ juniper::Result res(*juniper::TestConfig, qh,
doc.c_str(), doc.size(), 0);
juniper::Summary* sum = res.GetTeaser(NULL);
@@ -247,7 +235,7 @@ void MatchObjectTest::testCombined()
{
std::string doc("see if we can match a3 or c somewhere in this b doc. "
"Note that we should not match b1 or c1 or a somewhere..");
- juniper::Result res(juniper::TestConfig, &qh, doc.c_str(), doc.size(), 0);
+ juniper::Result res(*juniper::TestConfig, qh, doc.c_str(), doc.size(), 0);
juniper::Summary* sum = res.GetTeaser(NULL);
std::string s(sum->Text());
diff --git a/searchsummary/src/tests/juniper/mcandTest.cpp b/searchsummary/src/tests/juniper/mcandTest.cpp
index 5a465275a80..46bd4a5196f 100644
--- a/searchsummary/src/tests/juniper/mcandTest.cpp
+++ b/searchsummary/src/tests/juniper/mcandTest.cpp
@@ -41,24 +41,23 @@ void MatchCandidateTest::testLog() {
TestQuery q("");
std::string content("Here we go hepp and then some words away hoi some silly text here");
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content.c_str(), content.size(),
- 0, 0, 0);
- _test(res); // We get a result handle
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content.c_str(), content.size(),
+ 0, 0, 0);
+ _test(static_cast<bool>(res)); // We get a result handle
_test(!res->_mo); // but it is empty
- juniper::Summary* sum = juniper::GetTeaser(res);
+ juniper::Summary* sum = juniper::GetTeaser(*res);
std::string s(sum->Text());
_test_equal(s, std::string(""));
- long relevance = juniper::GetRelevancy(res);
+ long relevance = juniper::GetRelevancy(*res);
_test_equal(relevance, PROXIMITYBOOST_NOCONSTRAINT_OFFSET);
- sum = juniper::GetLog(res);
+ sum = juniper::GetLog(*res);
s = sum->Text();
_test_equal(s, std::string(""));
- juniper::ReleaseResult(res);
}
@@ -70,56 +69,52 @@ void MatchCandidateTest::testDump() {
{
TestQuery q("NEAR/1(hepp,hoi)");
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content.c_str(), content.size(),
- 0, 0, 0);
- _test(res != NULL);
- long relevance = juniper::GetRelevancy(res);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content.c_str(), content.size(),
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
+ long relevance = juniper::GetRelevancy(*res);
// zero value since there are no hits and constraints are enabled..
_test_equal(relevance, 0);
- juniper::ReleaseResult(res);
}
{
TestQuery q("OR(NEAR/1(hepp,hoi),bananas)");
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content.c_str(), content.size(),
- 0, 0, 0);
- _test(res != NULL);
- long relevance = juniper::GetRelevancy(res);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content.c_str(), content.size(),
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
+ long relevance = juniper::GetRelevancy(*res);
// Check that X_CONSTR propagates as intended
_test_equal(relevance, 0);
- juniper::ReleaseResult(res);
}
{
TestQuery q("PHRASE(hepp,hoi)");
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content.c_str(), content.size(),
- 0, 0, 0);
- _test(res != NULL);
- long relevance = juniper::GetRelevancy(res);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content.c_str(), content.size(),
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
+ long relevance = juniper::GetRelevancy(*res);
// constant value since there are no hits but this is
// also not a constrained search..
_test_equal(relevance, PROXIMITYBOOST_NOCONSTRAINT_OFFSET);
- juniper::ReleaseResult(res);
}
{
TestQuery q("AND(hepp,hoi)");
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content.c_str(), content.size(),
- 0, 0, 0);
- _test(res != NULL);
- long relevance = juniper::GetRelevancy(res);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content.c_str(), content.size(),
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
+ long relevance = juniper::GetRelevancy(*res);
// Relevance may change, but nice to discover such changes..
// The important is that we get a nonzero value here as a hit
_test_equal(relevance, 4470);
- juniper::ReleaseResult(res);
}
}
@@ -135,11 +130,11 @@ void MatchCandidateTest::testorder() {
size_t content_len = strlen(content);
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Do the scanning manually. Scan calls accept several times
res->Scan();
@@ -150,7 +145,6 @@ void MatchCandidateTest::testorder() {
match_candidate_set& ms = m.OrderedMatchSet();
_test(ms.size() == 1);
- juniper::ReleaseResult(res);
}
@@ -165,11 +159,11 @@ void MatchCandidateTest::testMatches_limit() {
size_t content_len = strlen(content);
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Do the scanning manually. This calls accept several times
res->Scan();
@@ -182,11 +176,10 @@ void MatchCandidateTest::testMatches_limit() {
_test(ms.size() == 2); // The first (complete) match and the second starting at "test"
// Check if we get the correct teaser as well..
- juniper::Summary* sum = juniper::GetTeaser(res);
+ juniper::Summary* sum = juniper::GetTeaser(*res);
_test(strcmp(sum->Text(),
"This is a simple text where a <b>phrase</b> <b>match</b> can be found not"
" quite adjacent to a <b>test</b> <b>word</b>") == 0);
- juniper::ReleaseResult(res);
}
@@ -200,11 +193,11 @@ void MatchCandidateTest::testAccept() {
size_t content_len = strlen(content);
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Do the scanning manually. This calls accept several times
res->Scan();
@@ -218,7 +211,6 @@ void MatchCandidateTest::testAccept() {
_test(ms.size() > 0);
if (!ms.size()) {
- juniper::ReleaseResult(res);
return; // No point in continuing..
}
@@ -234,10 +226,9 @@ void MatchCandidateTest::testAccept() {
_test(mc._klist.size() == 2); // Two occurrence elements in list
// Just for the sake of it, verify that we get a proper teaser out of this also..
- juniper::Summary* sum = juniper::GetTeaser(res);
+ juniper::Summary* sum = juniper::GetTeaser(*res);
_test(strcmp(sum->Text(),
"This is a <b>simple</b> <b>test</b> where we should get a perfect match") == 0);
- juniper::ReleaseResult(res);
}
@@ -260,11 +251,11 @@ void MatchCandidateTest::testMake_keylist() {
size_t content_len = strlen(content);
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Do the scanning manually. This calls accept several times
res->Scan();
@@ -275,8 +266,6 @@ void MatchCandidateTest::testMake_keylist() {
match_candidate_set& ms = m.OrderedMatchSet();
_test_equal(static_cast<size_t>(ms.size()), 6u);
-
- juniper::ReleaseResult(res);
}
@@ -291,11 +280,11 @@ void MatchCandidateTest::testAdd_to_keylist() {
size_t content_len = strlen(content);
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Do the scanning manually. This calls accept several times
res->Scan();
@@ -308,13 +297,12 @@ void MatchCandidateTest::testAdd_to_keylist() {
_test_equal(static_cast<size_t>(ms.size()), 1u); // Single result
// Bug triggered when result is fetched..
- juniper::Summary* sum = juniper::GetTeaser(res);
+ juniper::Summary* sum = juniper::GetTeaser(*res);
std::string s(sum->Text());
_test_equal(s,
"connect truende. <b>phr1</b> <b>phr2</b> www www www <b>phr3</b>"
" <b>phr4</b> acuicola 8844");
- juniper::ReleaseResult(res);
}
@@ -331,11 +319,11 @@ void MatchCandidateTest::testLength() {
TestQuery q("NEAR/4(pattern,NEAR/1(simple,with),NEAR/2(simple,adjacent))");
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig, &q._qhandle,
- content, content_len,
- 0, 0, 0);
+ auto res = juniper::Analyse(*juniper::TestConfig, q._qhandle,
+ content, content_len,
+ 0, 0, 0);
- juniper::Summary* sum = juniper::GetTeaser(res);
+ juniper::Summary* sum = juniper::GetTeaser(*res);
Matcher& m = *res->_matcher;
match_candidate_set& ms = m.OrderedMatchSet();
_test_equal(static_cast<size_t>(ms.size()), 1u);
@@ -345,7 +333,6 @@ void MatchCandidateTest::testLength() {
"this <b>simple</b> text <b>with</b> <b>adjacent</b> words of "
"a certain <b>pattern</b> must be matched according to specific"
" rules to be detailed in this test.");
- juniper::ReleaseResult(res);
}
{
@@ -353,17 +340,16 @@ void MatchCandidateTest::testLength() {
TestQuery q("ONEAR/4(pattern,NEAR/1(simple,with),NEAR/2(simple,adjacent))");
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle
- ,content, content_len,
- 0, 0, 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle
+ ,content, content_len,
+ 0, 0, 0);
res->Scan();
Matcher& m = *res->_matcher;
match_candidate_set& ms = m.OrderedMatchSet();
_test_equal(static_cast<size_t>(ms.size()), 0u);
- juniper::ReleaseResult(res);
}
{
@@ -372,16 +358,14 @@ void MatchCandidateTest::testLength() {
TestQuery q("NEAR/4(pattern,NEAR/1(simple,with),NEAR/1(simple,adjacent))");
// Fetch a result descriptor:
- Result* res = juniper::Analyse(juniper::TestConfig, &q._qhandle,
- content, content_len,
- 0, 0, 0);
+ auto res = juniper::Analyse(*juniper::TestConfig, q._qhandle,
+ content, content_len,
+ 0, 0, 0);
res->Scan();
Matcher& m = *res->_matcher;
match_candidate_set& ms = m.OrderedMatchSet();
_test_equal(static_cast<size_t>(ms.size()), 0u);
-
- juniper::ReleaseResult(res);
}
}
@@ -416,11 +400,11 @@ void MatchCandidateTest::requireThatMaxNumberOfMatchCandidatesCanBeControlled()
const char *content = "re re re re foo re re re re bar re re re re foo re re re re bar";
size_t content_len = strlen(content);
- Result *res = juniper::Analyse(juniper::TestConfig,
- &q._qhandle,
- content, content_len,
- 0, 0, 0);
- _test(res != 0);
+ auto res = juniper::Analyse(*juniper::TestConfig,
+ q._qhandle,
+ content, content_len,
+ 0, 0, 0);
+ _test(static_cast<bool>(res));
// Deflect tokens to my processor
Matcher &m = *res->_matcher;
@@ -435,8 +419,6 @@ void MatchCandidateTest::requireThatMaxNumberOfMatchCandidatesCanBeControlled()
_test_equal(m.TotalHits(), 20);
match_candidate_set& mcs = m.OrderedMatchSet();
_test_equal(static_cast<size_t>(mcs.size()), 2u);
-
- juniper::ReleaseResult(res);
}