+ YAZ_CHECK(tst_convert(cd, "@*", "*"));
+ YAZ_CHECK(tst_convert(cd, "@@", "@"));
+ YAZ_CHECK(tst_convert(cd, "@\xa4", "\xC2\xA4"));
+ YAZ_CHECK(tst_convert(cd, "\xa4", "\xC2\xA4"));
+ YAZ_CHECK(tst_convert(cd, "@\xe5", "\xEA\x9C\xB3"));
+ YAZ_CHECK(tst_convert(cd, "@\xc5.", "\xEA\x9C\xB2" "."));
+
+ YAZ_CHECK(tst_convert(cd, "@a733", "\xEA\x9C\xB3"));
+ YAZ_CHECK(tst_convert(cd, "@a732.", "\xEA\x9C\xB2" "."));
+
+ YAZ_CHECK(tst_convert(cd, "a@03BBb", "a\xce\xbb" "b")); /* lambda */
+
+ yaz_iconv_close(cd);
+}
+
+static void tst_utf8_to_danmarc(void)
+{
+ yaz_iconv_t cd = yaz_iconv_open("danmarc", "utf-8");
+
+ YAZ_CHECK(cd);
+ if (!cd)
+ return;
+
+ YAZ_CHECK(tst_convert(cd, "ax", "ax"));
+
+ YAZ_CHECK(tst_convert(cd, "a@b", "a@@b"));
+ YAZ_CHECK(tst_convert(cd, "a@@b", "a@@@@b"));
+
+ YAZ_CHECK(tst_convert(cd, "*", "@*"));
+ YAZ_CHECK(tst_convert(cd, "@", "@@"));
+ YAZ_CHECK(tst_convert(cd, "\xC2\xA4", "\xa4"));
+
+ YAZ_CHECK(tst_convert(cd, "a\xc3\xa5" "b", "a\xe5" "b")); /* aring */
+ YAZ_CHECK(tst_convert(cd, "a\xce\xbb" "b", "a@03BBb")); /* lambda */
+
+ YAZ_CHECK(tst_convert(cd, "\xEA\x9C\xB2" ".", "@\xc5."));
+ YAZ_CHECK(tst_convert(cd, "\xEA\x9C\xB3", "@\xe5"));