X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_ccl.c;h=d189f004a42f85ca4750fb0c072d16d57243ef77;hp=de611d3730330eee7ce3c34d60ed0510c107724d;hb=05e94adc1a717e85ba5b775468c3c9e2c8a26034;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292 diff --git a/test/test_ccl.c b/test/test_ccl.c index de611d3..d189f00 100644 --- a/test/test_ccl.c +++ b/test/test_ccl.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ #if HAVE_CONFIG_H @@ -429,6 +429,9 @@ void tst2(void) ccl_qual_fitem(bibset, "u=4 s=pw t=l,r", "ti"); ccl_qual_fitem(bibset, "1=1016 s=al,pw t=z", "term"); + YAZ_CHECK(tst_ccl_query(bibset, "a?#", + "@attr 5=104 @attr 4=2 @attr 1=1016 a?# ")); + YAZ_CHECK(tst_ccl_query(bibset, "a*", "@attr 4=2 @attr 1=1016 a* ")); @@ -442,6 +445,16 @@ void tst2(void) YAZ_CHECK(tst_ccl_query(bibset, "a?", "@attr 5=104 @attr 4=2 @attr 1=1016 a\\\\? ")); + ccl_qual_fitem(bibset, "?", "@mask"); + YAZ_CHECK(tst_ccl_query(bibset, "a?", + "@attr 5=104 @attr 4=2 @attr 1=1016 a# ")); + + + ccl_qual_fitem(bibset, "", "@mask"); + ccl_qual_fitem(bibset, "", "@truncation"); + YAZ_CHECK(tst_ccl_query(bibset, "a?#", + "@attr 5=104 @attr 4=2 @attr 1=1016 a\\\\?\\\\# ")); + ccl_qual_fitem(bibset, "og", "@and"); ccl_qual_fitem(bibset, "eller", "@or"); ccl_qual_fitem(bibset, "ikke", "@not"); @@ -455,6 +468,36 @@ void tst2(void) } +void tst_addinfo(void) +{ + const char *addinfo; + int r; + CCL_bibset bibset = ccl_qual_mk(); + + r = ccl_qual_fitem2(bibset, "u=4 s=pw t=l,r", "ti", &addinfo); + YAZ_CHECK(r == 0 && addinfo == 0); + + r = ccl_qual_fitem2(bibset, "1=1016 s=al,pw t=z", "term", &addinfo); + YAZ_CHECK(r == 0 && addinfo == 0); + + r = ccl_qual_fitem2(bibset, "x=", "term", &addinfo); + YAZ_CHECK(r != 0 && addinfo != 0); + + r = ccl_qual_fitem2(bibset, "12=3", "term", &addinfo); + YAZ_CHECK(r == 0 && addinfo == 0); + + r = ccl_qual_fitem2(bibset, "ab=3", "term", &addinfo); + YAZ_CHECK(r != 0 && addinfo != 0); + + r = ccl_qual_fitem2(bibset, "x=ab", "term", &addinfo); + YAZ_CHECK(r != 0 && addinfo != 0); + + r = ccl_qual_fitem2(bibset, "s=ab", "term", &addinfo); + YAZ_CHECK(r == 0 && addinfo == 0); + + ccl_qual_rm(&bibset); +} + int main(int argc, char **argv) { YAZ_CHECK_INIT(argc, argv); @@ -464,6 +507,7 @@ int main(int argc, char **argv) tst1(2); tst1(3); tst2(); + tst_addinfo(); YAZ_CHECK_TERM; } /*