X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_embed_record.c;h=ebb8a6a9d23e0d36192aed433fa39d37639c6760;hp=aac2987d106b2f9127bb3a3d38ab5241950f601a;hb=46ef949fc6e8c975ebb5bd6ed1a4f745b2d24aae;hpb=c78f61142413410e88ed2a83627516bb4fa24b33 diff --git a/test/test_embed_record.c b/test/test_embed_record.c index aac2987..ebb8a6a 100644 --- a/test/test_embed_record.c +++ b/test/test_embed_record.c @@ -13,18 +13,40 @@ #include #include -#if YAZ_HAVE_XML2 - #include #include #include #include +#if YAZ_HAVE_XML2 + #include #include +#endif void test1(void) { + int buflen; + for (buflen = 0; buflen < 256; buflen++) + { + char buf[256]; + char buf_a[1024]; + char buf_b[1024]; + int i; + for (i = 0; i < buflen; i++) + buf[i] = 1 + i; + buf[i] = 0; + + yaz_base64encode(buf, buf_a); + + YAZ_CHECK(yaz_base64decode(buf_a, buf_b) == 0); + + YAZ_CHECK(strcmp(buf, buf_b) == 0); + } +} + +void test2(void) +{ char base_enc[] = "MDA3NjZuYW0gIDIyMDAyNjU4YSA0NTAwMDAxMDAxMjAwMDAwMDAzMDAwNjAwMDEyMDA1MDAx" "NzAwMDE4MDA4MDA0MTAwMDM1MDEwMDAxNzAwMDc2MDIwMDAxNTAwMDkzMDM1MDAxODAwMTA4" @@ -61,7 +83,6 @@ void test1(void) wrbuf_destroy(buf); } -#endif static int test_render(const char *type_spec, int is_marc, const char *input, const char *expected_output) @@ -115,8 +136,9 @@ int main(int argc, char **argv) { YAZ_CHECK_INIT(argc, argv); YAZ_CHECK_LOG(); -#if YAZ_HAVE_XML2 test1(); + test2(); +#if YAZ_HAVE_XML2 YAZ_CHECK(test_render("xml", 0, "", "")); YAZ_CHECK(test_render( @@ -145,7 +167,7 @@ int main(int argc, char **argv) YAZ_CHECK(test_render("xml", 0, "", "")); YAZ_CHECK(test_render( - "xml; base64(/my/text(),xml)", 0, + "xml; base64=/my/text()", 0, "" "MDAxMzhuYW0gIDIyMDAwNzM4YSA0NTAwMDAxMDAxMzAwMDAwMDAzMDAwNDAwMDEzMTAwMDAxNzAw" "MDE3MjQ1MDAzMDAwMDM0HiAgIDExMjI0NDY2IB5ETEMeMTAfYUphY2sgQ29sbGlucx4xMB9hSG93" @@ -165,7 +187,7 @@ int main(int argc, char **argv) "\n")); YAZ_CHECK(test_render( - "xml; charset=utf-8; base64(/my/text(),xml)", 0, + "xml; charset=utf-8; base64=/my/text()", 0, "" "MDAxMzhuYW0gIDIyMDAwNzM4YSA0NTAwMDAxMDAxMzAwMDAwMDAzMDAwNDAwMDEzMTAwMDAxNzAw" "MDE3MjQ1MDAzMDAwMDM0HiAgIDExMjI0NDY2IB5ETEMeMTAfYUphY2sgQ29sbGlucx4xMB9hSG93" @@ -185,7 +207,7 @@ int main(int argc, char **argv) "\n")); YAZ_CHECK(test_render( - "xml; base64(/my/text(),xml);charset=utf-8", 0, + "xml; base64=/my/text();charset=utf-8", 0, "" "MDAxMzhuYW0gIDIyMDAwNzM4YSA0NTAwMDAxMDAxMzAwMDAwMDAzMDAwNDAwMDEzMTAwMDAxNzAw" "MDE3MjQ1MDAzMDAwMDM0HiAgIDExMjI0NDY2IB5ETEMeMTAfYUphY2sgQ29sbGlucx4xMB9hSG93" @@ -205,7 +227,7 @@ int main(int argc, char **argv) "\n")); YAZ_CHECK(test_render( - "xml; base64(/my/text(),txml;charset=utf-8)", 0, + "txml;base64=/my/text();charset=utf-8", 0, "" "MDAxMzhuYW0gIDIyMDAwNzM4YSA0NTAwMDAxMDAxMzAwMDAwMDAzMDAwNDAwMDEzMTAwMDAxNzAw" "MDE3MjQ1MDAzMDAwMDM0HiAgIDExMjI0NDY2IB5ETEMeMTAfYUphY2sgQ29sbGlucx4xMB9hSG93" @@ -223,6 +245,54 @@ int main(int argc, char **argv) " How to program a computer\n" " \n" "\n")); + + YAZ_CHECK(test_render( + "xml; charset=utf-8; base64=/my/text()", 0, + "" +"MDA0OTJuYW0gYTIyMDAxNDU1YSA0NTAwMDAxMDAxMDAwMDAwMDA1MDAxNzAwMDEwMDA4MDA0MTAw" +"MDI3MTAwMDA1MjAwMDY4MjQ1MDEwNDAwMTIwMjUwMDAxNDAwMjI0MjYwMDAyMzAwMjM4MzAwMDAx" +"NjAwMjYxNjUwMDA1MTAwMjc3NjUwMDAxODAwMzI4HjAwMDI3NzQ4NR4yMDA1MTAyNjExMTQzNi4w" +"HjA1MDQxM3MxODk0ICAgIGdyICAgICAgICAgICAgMDAwIDAgZ3JlIGQeMSAfYc6czrHPgc6/z43O" +"tM63z4IsIM6az4nOvc+Dz4TOsc69z4TOr869zr/PgiDOmc+JHjEwH2HOlc67zrvOt869zrnOus+M" +"zr0gzrrPgc+Fz4DPhM6/zrPPgc6xz4bOuc66z4zOvSDOu861zr7Ouc66z4zOvSAvH2POms+Jzr3P" +"g8+ELiDOmS4gzpzOsc+Bzr/Pjc60zrfPgi4eICAyzrcgzrXOus60Lh4gIB9hzpHOuM6uzr3OsSwf" +"YzE4OTQuHiAgH2EyNDggz4POtc67Lh4gMB9hR3JlZWsgbGFuZ3VhZ2UsIE1vZGVybh94RGlhbGVj" +"dHMfdkRpY3Rpb25hcmllcx4gMB9hQ3J5cHRvZ3JhcGh5Lh4d" + "", +"\n" +"\n" +" 00492nam a22001455a 4500\n" +" 000277485\n" +" 20051026111436.0\n" +" 050413s1894 gr 000 0 gre d\n" +" \n" +" Μαρούδης, Κωνσταντίνος Ιω\n" +" \n" +" \n" +" Ελληνικόν κρυπτογραφικόν λεξικόν /\n" +" Κωνστ. Ι. Μαρούδης.\n" +" \n" +" \n" +" εκδ.\n" +" \n" +" \n" +" Αθήνα,\n" +" 1894.\n" +" \n" +" \n" +" 248 σελ.\n" +" \n" +" \n" +" Greek language, Modern\n" +" Dialects\n" +" Dictionaries\n" +" \n" +" \n" +" Cryptography.\n" +" \n" +"\n")); + + #endif YAZ_CHECK_TERM; }