X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Ftest_embed_record.c;h=ebb8a6a9d23e0d36192aed433fa39d37639c6760;hb=refs%2Ftags%2Fv4.2.38;hp=e5e6a021b0e5eef7b1f4ba6fba932ab3bc426f09;hpb=95a76bd311b56586f2f3e9bb6e2e2a6c3f2dbce4;p=yaz-moved-to-github.git diff --git a/test/test_embed_record.c b/test/test_embed_record.c index e5e6a02..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( @@ -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; }