X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_rpn2solr.c;h=bef27ffe6244479aec5569aef4612c8f546d6661;hp=8367d8c2f5610f7dc0afdcdf95d39eaa3f7d9237;hb=6d79c6e2281fb22a755f95a15b3da16c3ace7c3a;hpb=582c324a5b5dc365195133e92f4ca6d02991e43b diff --git a/test/test_rpn2solr.c b/test/test_rpn2solr.c index 8367d8c..bef27ff 100644 --- a/test/test_rpn2solr.c +++ b/test/test_rpn2solr.c @@ -1,7 +1,10 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2010 Index Data + * Copyright (C) 1995-2011 Index Data * See the file LICENSE for details. */ +#if HAVE_CONFIG_H +#include +#endif #include #include @@ -50,12 +53,16 @@ static void tst1(void) YAZ_CHECK(compare(ct, "abc", "abc")); YAZ_CHECK(compare(ct, "\"a b c\"", "\"a b c\"")); +#if 0 +/* Invalid PQF, so this will never work */ YAZ_CHECK(compare(ct, "a b", "a b")); +#endif YAZ_CHECK(compare(ct, "@not a b", "a AND NOT b")); YAZ_CHECK(compare(ct, "@and @or a b c", "(a OR b) AND c")); YAZ_CHECK(compare(ct, "@and a b", "a AND b")); YAZ_CHECK(compare(ct, "@or a b", "a OR b")); YAZ_CHECK(compare(ct, "@attr 1=field abc", "field:abc")); + YAZ_CHECK(compare(ct, "@attr 1=field \"a b c\"", "field:\"a b c\"")); YAZ_CHECK(compare(ct, "@attr 1=4 abc", 0)); /* should fail */ solr_transform_define_pattern(ct, "index.title", "1=4"); @@ -64,6 +71,19 @@ static void tst1(void) solr_transform_define_pattern(ct, "index.foo", "1=bar"); YAZ_CHECK(compare(ct, "@attr 1=bar abc", "foo:abc")); + /* Truncation */ + YAZ_CHECK(compare(ct, "@attr 5=1 water", "water*")); + YAZ_CHECK(compare(ct, "@attr 5=r water", "water*")); +/* YAZ_CHECK(compare(ct, "@attr t=r water", "water*")); */ + + YAZ_CHECK(compare(ct, "@attr 5=2 water", "*water")); + + YAZ_CHECK(compare(ct, "@attr 5=3 water", "*water*")); + + /* + YAZ_CHECK(compare(ct, "@or @attr 1=1016 water @attr 7=1 @attr 1=4 0", "any:water rank:??"); + */ + solr_transform_close(ct); } @@ -81,9 +101,13 @@ static void tst2(void) ct = solr_transform_open_fname(wrbuf_cstr(w)); YAZ_CHECK(compare(ct, "@attr 1=4 abc", "dc.title:abc")); +#if 0 YAZ_CHECK(compare(ct, "@attr 1=4 @attr 4=108 abc", "dc.title:abc")); +#endif + YAZ_CHECK(compare(ct, "@attr 1=4 @attr 3=1 @attr 6=1 abc", "dc.title:abc")); YAZ_CHECK(compare(ct, "@attr 1=4 @attr 4=1 @attr 6=1 abc", "dc.title:abc")); +#if 0 YAZ_CHECK(compare(ct, "@attr 1=1016 abc", "abc")); YAZ_CHECK(compare(ct, "@attr 2=1 @attr 1=30 1980", "dc.date:[* to 1980]")); YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=3 1980", "dc.date:1980")); @@ -92,6 +116,7 @@ static void tst2(void) YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=4 1980", "dc.date:[1980 to *]")); YAZ_CHECK(compare(ct, "@attr 2=103 @attr 1=_ALLRECORDS 1", "solr.allRecords=1")); +#endif YAZ_CHECK(compare(ct, "@attr 1=500 abc", 0)); solr_transform_close(ct); wrbuf_destroy(w);