X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=test%2Ftest_record_conv.c;h=fa65224a52801a4849eb49b37b7708acb3be1e5f;hp=f388ea4bc698a27ab4bc067e98d1114c8fc73334;hb=527dee673a04d80bd3002e4d7db7e754bb3b2eca;hpb=30f492ef927015dcd1399147ddc77c3f61976f5a
diff --git a/test/test_record_conv.c b/test/test_record_conv.c
index f388ea4..fa65224 100644
--- a/test/test_record_conv.c
+++ b/test/test_record_conv.c
@@ -252,6 +252,14 @@ static void tst_convert1(void)
"\x30\x30\x30\x30\x30\x31\x30\x30\x30\x31\x37\x30\x30\x30\x31\x33"
"#30;\x20\x20\x20\x31\x31\x32\x32\x34\x34\x36\x36\x20#30;\x20\x20"
"#31;\x61\x20\x20\x20\x31\x31\x32\x32\x34\x34\x36\x36\x20#30;#29;";
+ const char *raw_rec = /* raw is xml-string of marcxml_rec */
+ "<record xmlns=\"http://www.loc.gov/MARC21/slim\">\n"
+ " <leader>00080nam a22000498a 4500</leader>\n"
+ " <controlfield tag=\"001\"> 11224466 </controlfield>\n"
+ " <datafield tag=\"010\" ind1=\" \" ind2=\" \">\n"
+ " <subfield code=\"a\"> 11224466 </subfield>\n"
+ " </datafield>\n"
+ "</record>\n\n";
YAZ_CHECK(conv_configure_test(""
""
+ "",
+ 0, &p));
+ YAZ_CHECK(conv_convert_test(p, raw_rec, marcxml_rec));
+ yaz_record_conv_destroy(p);
}
static void tst_convert2(void)
@@ -369,7 +384,7 @@ static void tst_convert3(void)
yaz_record_conv_t p = 0;
const char *iso2709_rec =
- "\x30\x30\x30\x37\x37\x6E\x61\x6D\x20\x61\x32\x32\x30\x30\x30\x34"
+ "\x30\x30\x30\x37\x37\x6E\x61\x6D\x20\x20\x32\x32\x30\x30\x30\x34"
"\x39\x38\x61\x20\x34\x35\x30\x30\x30\x30\x31\x30\x30\x31\x33\x30"
"\x30\x30\x30\x30\x30\x31\x30\x30\x30\x31\x34\x30\x30\x30\x31\x33"
"\x1E\x20\x20\x20\x31\x31\x32\x32\x34\x34\x36\x36\x20\x1E\x20\x20"
@@ -560,6 +575,43 @@ static void tst_convert3(void)
nmem_destroy(nmem);
}
+static void tst_convert4(void)
+{
+ NMEM nmem = nmem_create();
+ int ret;
+
+ const char *opacxml_rec =
+ "\n"
+ " \n"
+ "\n"
+ " 00077nam a22000498a 4500\n"
+ " 11224466 \n"
+ " \n"
+ " k" "\xc3" "\xb8" /* oslash in UTF_8 */
+ "benhavn\n"
+ " \n"
+ "\n"
+ " \n"
+ " \n"
+ " \n"
+ " Sprague Library hidden basement\n"
+ " E98.L7L44 1976 \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ ;
+
+ Z_OPACRecord *opac = 0;
+ yaz_marc_t mt = yaz_marc_create();
+ ret = yaz_xml_to_opac(mt, opacxml_rec, strlen(opacxml_rec),
+ &opac, 0 /* iconv */, nmem, 0);
+ YAZ_CHECK(ret);
+ YAZ_CHECK(opac);
+ yaz_marc_destroy(mt);
+ nmem_destroy(nmem);
+}
+
#endif
int main(int argc, char **argv)
@@ -573,6 +625,7 @@ int main(int argc, char **argv)
tst_convert1();
tst_convert2();
tst_convert3();
+ tst_convert4();
xsltCleanupGlobals();
#endif
#if YAZ_HAVE_XML2