projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
4508ccc
)
Test for solr sort specs
author
Dennis Schafroth
<dennis@indexdata.com>
Mon, 1 Oct 2012 12:38:53 +0000
(14:38 +0200)
committer
Dennis Schafroth
<dennis@indexdata.com>
Mon, 1 Oct 2012 12:38:53 +0000
(14:38 +0200)
test/test_sortspec.c
patch
|
blob
|
history
diff --git
a/test/test_sortspec.c
b/test/test_sortspec.c
index
86f99d6
..
516c372
100644
(file)
--- a/
test/test_sortspec.c
+++ b/
test/test_sortspec.c
@@
-107,7
+107,7
@@
static int type7(const char *arg, const char *expected_result)
return ret;
}
return ret;
}
-static int srw_sortkeys(const char *arg, const char *expected_result)
+static int strategy_sortkeys(const char *arg, const char *expected_result, int (*strategy) (Z_SortKeySpecList *, WRBUF))
{
ODR odr = odr_createmem(ODR_ENCODE);
Z_SortKeySpecList *sort_spec = yaz_sort_spec(odr, arg);
{
ODR odr = odr_createmem(ODR_ENCODE);
Z_SortKeySpecList *sort_spec = yaz_sort_spec(odr, arg);
@@
-120,7
+120,7
@@
static int srw_sortkeys(const char *arg, const char *expected_result)
else
{
WRBUF w = wrbuf_alloc();
else
{
WRBUF w = wrbuf_alloc();
- int r = yaz_sort_spec_to_srw_sortkeys(sort_spec, w);
+ int r = (strategy)(sort_spec, w);
if (!expected_result && r)
ret = 1;
if (!expected_result && r)
ret = 1;
@@
-153,6
+153,16
@@
static int srw_sortkeys(const char *arg, const char *expected_result)
return ret;
}
return ret;
}
+static int srw_sortkeys(const char *arg, const char *expected_result) {
+ return strategy_sortkeys(arg, expected_result, yaz_sort_spec_to_srw_sortkeys);
+}
+
+static int solr_sortkeys(const char *arg, const char *expected_result) {
+ return strategy_sortkeys(arg, expected_result, yaz_sort_spec_to_solr_sortkeys);
+}
+
+
+
static int check_srw_sortkeys_to_sort_spec(const char *arg,
const char *expected_result)
{
static int check_srw_sortkeys_to_sort_spec(const char *arg,
const char *expected_result)
{
@@
-222,6
+232,12
@@
static void tst(void)
YAZ_CHECK(check_srw_sortkeys_to_sort_spec(
"date,,1,0,1900",
"date ai=1900"));
YAZ_CHECK(check_srw_sortkeys_to_sort_spec(
"date,,1,0,1900",
"date ai=1900"));
+
+ YAZ_CHECK(solr_sortkeys("title a",
+ "title asc"));
+ YAZ_CHECK(solr_sortkeys("title a date ds",
+ "title asc, date desc"));
+ YAZ_CHECK(solr_sortkeys("1=4,2=3 a", 0));
}
int main(int argc, char **argv)
}
int main(int argc, char **argv)