summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-04-30 12:45:19 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-04-30 13:10:00 +0200
commitaee2ee66fe48788e699f4cd1f2006a2cea3f8813 (patch)
treef01f0ee42aed51abdb1c11d3c756a74211b081c4
parentdb27202d1c7ae8b6198cd1d0b4190157d3f7fcb3 (diff)
downloadgnutls-aee2ee66fe48788e699f4cd1f2006a2cea3f8813.tar.gz
tests: check against symbols present only in IDNA2003
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r--tests/str-idna.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/str-idna.c b/tests/str-idna.c
index 1134c291d6..60dd58d5c5 100644
--- a/tests/str-idna.c
+++ b/tests/str-idna.c
@@ -82,6 +82,13 @@ MATCH_FUNC_TWO_WAY(test_mix, "简体中文.εξτρα.com", "xn--fiqu1az03c18t.x
MATCH_FUNC_TWO_WAY(test_german4, "bücher.de", "xn--bcher-kva.de");
MATCH_FUNC_TWO_WAY(test_u1, "夡夞夜夙", "xn--bssffl");
MATCH_FUNC_TWO_WAY(test_jp2, "日本語.jp", "xn--wgv71a119e.jp");
+/* invalid (✌️) symbol in IDNA2008 but valid in IDNA2003. Browsers
+ * fallback to IDNA2003, and we do too, so that should work */
+#if defined(HAVE_LIBIDN) || IDN2_VERSION_NUMBER >= 0x02000002
+MATCH_FUNC_TWO_WAY(test_valid_idna2003, "\xe2\x9c\x8c\xef\xb8\x8f.com", "xn--7bi.com");
+#else
+EMPTY_FUNC(test_valid_idna2003);
+#endif
#ifdef HAVE_LIBIDN2 /* IDNA 2008 */
MATCH_FUNC_TWO_WAY(test_greek2, "βόλος.com", "xn--nxasmm1c.com");
@@ -138,7 +145,8 @@ int main(void)
cmocka_unit_test(test_u1_reverse),
cmocka_unit_test(test_jp2),
cmocka_unit_test(test_jp2_reverse),
- cmocka_unit_test(test_dots)
+ cmocka_unit_test(test_dots),
+ cmocka_unit_test(test_valid_idna2003)
};
ret = gnutls_idna_map("β", strlen("β"), &tmp, GLOBAL_FLAGS);