X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_rpn2solr.c;h=e60d9c0969f3fc43648ce344e819237a151f0e11;hp=2f3f01e7655d6b6194eed5ad76e95b6ba6d298a4;hb=dd749e1547ed756dddc3ab4b22aec241e3e9eefa;hpb=4f2a5c81a0efcee0fcd92bb89998126ee5dfd8e2 diff --git a/test/test_rpn2solr.c b/test/test_rpn2solr.c index 2f3f01e..e60d9c0 100644 --- a/test/test_rpn2solr.c +++ b/test/test_rpn2solr.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ #if HAVE_CONFIG_H @@ -53,10 +53,6 @@ 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")); @@ -73,17 +69,27 @@ static void tst1(void) /* Truncation */ YAZ_CHECK(compare(ct, "@attr 5=1 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 t=l water", "*water")); - - YAZ_CHECK(compare(ct, "@attr 5=3 water", "*water*")); - YAZ_CHECK(compare(ct, "@attr t=b water", "*water*")); - - /* - YAZ_CHECK(compare(ct, "@or @attr 1=1016 water @attr 7=1 @attr 1=4 0", "any:water rank:??"); - */ + YAZ_CHECK(compare(ct, "@attr 5=2 water", 0)); + YAZ_CHECK(compare(ct, "@attr 5=3 water", 0)); + YAZ_CHECK(compare(ct, "@attr 5=100 water", "water")); + YAZ_CHECK(compare(ct, "@attr 5=101 water", 0)); + YAZ_CHECK(compare(ct, "@attr 5=104 w#ter", "w?ter")); + YAZ_CHECK(compare(ct, "@attr 5=104 w#t?r", "w?t*r")); + YAZ_CHECK(compare(ct, "@attr 5=104 w#te?", "w?te*")); + YAZ_CHECK(compare(ct, "@attr 5=104 w\\#te?", "w?te*")); /* PQF eats # */ + YAZ_CHECK(compare(ct, "@attr 5=104 w\\\\#te?", "w#te*")); + + /* reserved characters */ + YAZ_CHECK(compare(ct, "@attr 5=104 \\\"\\\\\\\\", + "\\\"" "\\\\")); + YAZ_CHECK(compare(ct, "@attr 5=104 \\\"\\\\\\\\\\\"", + "\\\"" "\\\\" "\\\"")); + YAZ_CHECK(compare(ct, "@attr 5=104 \\\"\\\\", "\\\"\\\\")); + + YAZ_CHECK(compare(ct, "@attr 5=104 \\{:\\}", "\\{\\:\\}")); + + YAZ_CHECK(compare(ct, "@attr 5=104 \\\"\\\\\\\\\\\"", + "\\\"" "\\\\" "\\\"")); solr_transform_close(ct); } @@ -99,7 +105,7 @@ static void tst2(void) wrbuf_puts(w, "/"); } wrbuf_puts(w, "../etc/pqf.properties"); - + ct = solr_transform_open_fname(wrbuf_cstr(w)); YAZ_CHECK(compare(ct, "@attr 1=4 abc", "dc.title:abc")); #if 0 @@ -108,14 +114,25 @@ static void tst2(void) 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]")); + + /* Date check */ + YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=1 1980", "dc.date:[* TO 1980}")); + YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=2 1980", "dc.date:[* TO 1980]")); YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=3 1980", "dc.date:1980")); - YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=5 1980", "dc.date:[* to 1980]")); - YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=2 1980", "dc.date:[* to 1980]")); - YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=4 1980", "dc.date:[1980 to *]")); + YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=4 1980", "dc.date:[1980 TO *]")); + YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=5 1980", "dc.date:{1980 TO *]")); +// YAZ_CHECK(compare(ct, "@attr 1=30 @attr 2=5 1980", "dc.date:[* TO 1980]")); + YAZ_CHECK(compare(ct, "@and @attr 1=30 @attr 2=2 234 @attr 1=30 @attr 2=4 1990", "dc.date:[* TO 234] AND dc.date:[1990 TO *]")); + YAZ_CHECK(compare(ct, "@and @attr 1=30 @attr 2=5 234 @attr 1=30 @attr 2=2 1990", "dc.date:{234 TO 1990]")); + YAZ_CHECK(compare(ct, "@and @attr 1=30 @attr 2=4 234 @attr 1=30 @attr 2=2 1990", "dc.date:[234 TO 1990]")); + YAZ_CHECK(compare(ct, "@and @attr 1=30 @attr 2=5 234 @attr 1=30 @attr 2=1 1990", "dc.date:{234 TO 1990}")); + YAZ_CHECK(compare(ct, "@and @attr 1=30 @attr 2=4 234 @attr 1=30 @attr 2=2 1990", "dc.date:[234 TO 1990]")); + YAZ_CHECK(compare(ct, "@or @attr 1=30 @attr 2=4 234 @attr 1=30 @attr 2=2 1990", "dc.date:[234 TO *] OR dc.date:[* TO 1990]")); + YAZ_CHECK(compare(ct, "@or @attr 1=30 @attr 2=2 234 @attr 1=30 @attr 2=4 1990", "dc.date:[* TO 234] OR dc.date:[1990 TO *]")); +#if 0 YAZ_CHECK(compare(ct, "@attr 2=103 @attr 1=_ALLRECORDS 1", "solr.allRecords=1")); #endif YAZ_CHECK(compare(ct, "@attr 1=500 abc", 0));