mirror of https://github.com/kiwix/libkiwix.git
Preparing to enhance the search results testsuite
Providing the core part of the query explicitly in the search results testsuite test data.
This commit is contained in:
parent
1514661c26
commit
3b3d7ad9c4
|
@ -1590,6 +1590,8 @@ bool isSubSnippet(std::string subSnippet, const std::string& superSnippet)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define RAYCHARLESZIMID "6f1d19d0-633f-087b-fb55-7ac324ff9baf"
|
||||||
|
|
||||||
TEST_F(TaskbarlessServerTest, searchResults)
|
TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
{
|
{
|
||||||
struct TestData
|
struct TestData
|
||||||
|
@ -1601,7 +1603,7 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
bool selected;
|
bool selected;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string pattern;
|
std::string query;
|
||||||
int start;
|
int start;
|
||||||
size_t resultsPerPage;
|
size_t resultsPerPage;
|
||||||
size_t totalResultCount;
|
size_t totalResultCount;
|
||||||
|
@ -1609,9 +1611,9 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
std::vector<std::string> results;
|
std::vector<std::string> results;
|
||||||
std::vector<PaginationEntry> pagination;
|
std::vector<PaginationEntry> pagination;
|
||||||
|
|
||||||
static std::string makeUrl(const std::string pattern, int start, size_t resultsPerPage)
|
static std::string makeUrl(const std::string& query, int start, size_t resultsPerPage)
|
||||||
{
|
{
|
||||||
std::string url = "/ROOT/search?pattern=" + pattern + "&books.id=6f1d19d0-633f-087b-fb55-7ac324ff9baf";
|
std::string url = "/ROOT/search?" + query;
|
||||||
|
|
||||||
if ( start >= 0 ) {
|
if ( start >= 0 ) {
|
||||||
url += "&start=" + to_string(start);
|
url += "&start=" + to_string(start);
|
||||||
|
@ -1624,15 +1626,23 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string getPattern() const
|
||||||
|
{
|
||||||
|
const std::string p = "pattern=";
|
||||||
|
const size_t i = query.find(p);
|
||||||
|
std::string r = query.substr(i + p.size());
|
||||||
|
return r.substr(0, r.find("&"));
|
||||||
|
}
|
||||||
|
|
||||||
std::string url() const
|
std::string url() const
|
||||||
{
|
{
|
||||||
return makeUrl(pattern, start, resultsPerPage);
|
return makeUrl(query, start, resultsPerPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string expectedHeader() const
|
std::string expectedHeader() const
|
||||||
{
|
{
|
||||||
if ( totalResultCount == 0 ) {
|
if ( totalResultCount == 0 ) {
|
||||||
return "\n No results were found for <b>\"" + pattern + "\"</b>";
|
return "\n No results were found for <b>\"" + getPattern() + "\"</b>";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string header = R"( Results
|
std::string header = R"( Results
|
||||||
|
@ -1649,7 +1659,7 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
header = replace(header, "FIRSTRESULT", to_string(firstResultIndex));
|
header = replace(header, "FIRSTRESULT", to_string(firstResultIndex));
|
||||||
header = replace(header, "LASTRESULT", to_string(lastResultIndex));
|
header = replace(header, "LASTRESULT", to_string(lastResultIndex));
|
||||||
header = replace(header, "RESULTCOUNT", to_string(totalResultCount));
|
header = replace(header, "RESULTCOUNT", to_string(totalResultCount));
|
||||||
header = replace(header, "PATTERN", pattern);
|
header = replace(header, "PATTERN", getPattern());
|
||||||
return header;
|
return header;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1677,7 +1687,7 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
std::ostringstream oss;
|
std::ostringstream oss;
|
||||||
oss << "\n <ul>\n";
|
oss << "\n <ul>\n";
|
||||||
for ( const auto& p : pagination ) {
|
for ( const auto& p : pagination ) {
|
||||||
const auto url = makeUrl(pattern, p.start, resultsPerPage);
|
const auto url = makeUrl(query, p.start, resultsPerPage);
|
||||||
oss << " <li>\n";
|
oss << " <li>\n";
|
||||||
oss << " <a ";
|
oss << " <a ";
|
||||||
if ( p.selected ) {
|
if ( p.selected ) {
|
||||||
|
@ -1695,7 +1705,7 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
std::string expectedHtml() const
|
std::string expectedHtml() const
|
||||||
{
|
{
|
||||||
return makeSearchResultsHtml(
|
return makeSearchResultsHtml(
|
||||||
pattern,
|
getPattern(),
|
||||||
expectedHeader(),
|
expectedHeader(),
|
||||||
expectedResultsString(),
|
expectedResultsString(),
|
||||||
expectedFooter()
|
expectedFooter()
|
||||||
|
@ -1768,7 +1778,7 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
|
|
||||||
const TestData testData[] = {
|
const TestData testData[] = {
|
||||||
{
|
{
|
||||||
/* pattern */ "velomanyunkan",
|
/* query */ "pattern=velomanyunkan&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ -1,
|
/* start */ -1,
|
||||||
/* resultsPerPage */ 0,
|
/* resultsPerPage */ 0,
|
||||||
/* totalResultCount */ 0,
|
/* totalResultCount */ 0,
|
||||||
|
@ -1778,7 +1788,7 @@ TEST_F(TaskbarlessServerTest, searchResults)
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "razaf",
|
/* query */ "pattern=razaf&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ -1,
|
/* start */ -1,
|
||||||
/* resultsPerPage */ 0,
|
/* resultsPerPage */ 0,
|
||||||
/* totalResultCount */ 1,
|
/* totalResultCount */ 1,
|
||||||
|
@ -1797,7 +1807,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "yellow",
|
/* query */ "pattern=yellow&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ -1,
|
/* start */ -1,
|
||||||
/* resultsPerPage */ 0,
|
/* resultsPerPage */ 0,
|
||||||
/* totalResultCount */ 2,
|
/* totalResultCount */ 2,
|
||||||
|
@ -1825,7 +1835,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ -1,
|
/* start */ -1,
|
||||||
/* resultsPerPage */ 100,
|
/* resultsPerPage */ 100,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1835,7 +1845,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ -1,
|
/* start */ -1,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1859,7 +1869,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 5,
|
/* start */ 5,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1884,7 +1894,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 10,
|
/* start */ 10,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1910,7 +1920,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 15,
|
/* start */ 15,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1937,7 +1947,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 20,
|
/* start */ 20,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1964,7 +1974,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 25,
|
/* start */ 25,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -1991,7 +2001,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 30,
|
/* start */ 30,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -2017,7 +2027,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 35,
|
/* start */ 35,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -2042,7 +2052,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 40,
|
/* start */ 40,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -2065,7 +2075,7 @@ R"SEARCHRESULT(
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 21,
|
/* start */ 21,
|
||||||
/* resultsPerPage */ 3,
|
/* resultsPerPage */ 3,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
@ -2094,7 +2104,7 @@ R"SEARCHRESULT(
|
||||||
// This test-point only documents how the current implementation
|
// This test-point only documents how the current implementation
|
||||||
// works, not how it should work!
|
// works, not how it should work!
|
||||||
{
|
{
|
||||||
/* pattern */ "jazz",
|
/* query */ "pattern=jazz&books.id=" RAYCHARLESZIMID,
|
||||||
/* start */ 45,
|
/* start */ 45,
|
||||||
/* resultsPerPage */ 5,
|
/* resultsPerPage */ 5,
|
||||||
/* totalResultCount */ 44,
|
/* totalResultCount */ 44,
|
||||||
|
|
Loading…
Reference in New Issue