From 4135860076538f7718ec2a6dd8e06c40c0449c11 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Tue, 20 Jan 2026 23:08:53 -0800 Subject: [PATCH] pass toAsciiFail All 19176 tests passed. --- generate.ts | 4 +- idna.zig | 1 + testv2.zig | 11554 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 11557 insertions(+), 2 deletions(-) diff --git a/generate.ts b/generate.ts index 85cefceafa365884aafe5fc1d5bccc1e376859d2..c7e2747a4cc16e7e79bc5a70be72d3b6259fd4ee 100644 --- a/generate.ts +++ b/generate.ts @@ -243,8 +243,8 @@ fn toAsciiFail( if (toAsciiTStatus === "[]") w.write(`test { try toAsciiPass("${E(source)}", "${E(toAsciiT)}", true); }\n`); if (toUnicodeStatus !== "[]") w.write(`test { try toUnicodeFail("${E(source)}"); } // ${toUnicodeStatus}\n`); - // if (toAsciiNStatus !== "[]") w.write(`test { try toAsciiFail("${E(source)}", false); } // ${toAsciiNStatus}\n`); - // if (toAsciiTStatus !== "[]") w.write(`test { try toAsciiFail("${E(source)}", true); } // ${toAsciiTStatus}\n`); + if (toAsciiNStatus !== "[]") w.write(`test { try toAsciiFail("${E(source)}", false); } // ${toAsciiNStatus}\n`); + if (toAsciiTStatus !== "[]") w.write(`test { try toAsciiFail("${E(source)}", true); } // ${toAsciiTStatus}\n`); } w.flush(); diff --git a/idna.zig b/idna.zig index 154a190c40bd4497fa2b534da449d8744b708f1f..af99e9758a2db8188f023c0f47108bb4d97cbd64 100644 --- a/idna.zig +++ b/idna.zig @@ -41,6 +41,7 @@ pub fn ToASCII( if (VerifyDnsLength) { // 1. The length of the domain name, excluding the root label and its dot, is from 1 to 253. + if (map.list.items.len > 253) return error.IDNAFailure; // 2. The length of each label is from 1 to 63. for (map.lengths.items, 0..) |l, n| { if (n % 2 == 1) continue; diff --git a/testv2.zig b/testv2.zig index 0163a43ae26f28be990d5df0e413f3007b304ddd..e1113bac316ae4a82bcfe9d1ec2d8c5c5dd99da2 100755 --- a/testv2.zig +++ b/testv2.zig @@ -69,15 +69,35 @@ test { try toUnicodePass("xn--fa-hia.de", "fa\xc3\x9f.de"); } test { try toAsciiPass("xn--fa-hia.de", "xn--fa-hia.de", false); } test { try toAsciiPass("xn--fa-hia.de", "xn--fa-hia.de", true); } test { try toUnicodeFail("\xc3\xa0\xd7\x90"); } // [B5, B6] +test { try toAsciiFail("\xc3\xa0\xd7\x90", false); } // [B5, B6] +test { try toAsciiFail("\xc3\xa0\xd7\x90", true); } // [B5, B6] test { try toUnicodeFail("a\xcc\x80\xd7\x90"); } // [B5, B6] +test { try toAsciiFail("a\xcc\x80\xd7\x90", false); } // [B5, B6] +test { try toAsciiFail("a\xcc\x80\xd7\x90", true); } // [B5, B6] test { try toUnicodeFail("A\xcc\x80\xd7\x90"); } // [B5, B6] +test { try toAsciiFail("A\xcc\x80\xd7\x90", false); } // [B5, B6] +test { try toAsciiFail("A\xcc\x80\xd7\x90", true); } // [B5, B6] test { try toUnicodeFail("\xc3\x80\xd7\x90"); } // [B5, B6] +test { try toAsciiFail("\xc3\x80\xd7\x90", false); } // [B5, B6] +test { try toAsciiFail("\xc3\x80\xd7\x90", true); } // [B5, B6] test { try toUnicodeFail("xn--0ca24w"); } // [B5, B6] +test { try toAsciiFail("xn--0ca24w", false); } // [B5, B6] +test { try toAsciiFail("xn--0ca24w", true); } // [B5, B6] test { try toUnicodeFail("0\xc3\xa0.\xd7\x90"); } // [B1] +test { try toAsciiFail("0\xc3\xa0.\xd7\x90", false); } // [B1] +test { try toAsciiFail("0\xc3\xa0.\xd7\x90", true); } // [B1] test { try toUnicodeFail("0a\xcc\x80.\xd7\x90"); } // [B1] +test { try toAsciiFail("0a\xcc\x80.\xd7\x90", false); } // [B1] +test { try toAsciiFail("0a\xcc\x80.\xd7\x90", true); } // [B1] test { try toUnicodeFail("0A\xcc\x80.\xd7\x90"); } // [B1] +test { try toAsciiFail("0A\xcc\x80.\xd7\x90", false); } // [B1] +test { try toAsciiFail("0A\xcc\x80.\xd7\x90", true); } // [B1] test { try toUnicodeFail("0\xc3\x80.\xd7\x90"); } // [B1] +test { try toAsciiFail("0\xc3\x80.\xd7\x90", false); } // [B1] +test { try toAsciiFail("0\xc3\x80.\xd7\x90", true); } // [B1] test { try toUnicodeFail("xn--0-sfa.xn--4db"); } // [B1] +test { try toAsciiFail("xn--0-sfa.xn--4db", false); } // [B1] +test { try toAsciiFail("xn--0-sfa.xn--4db", true); } // [B1] test { try toUnicodePass("\xc3\xa0.\xd7\x90\xcc\x88", "\xc3\xa0.\xd7\x90\xcc\x88"); } test { try toAsciiPass("\xc3\xa0.\xd7\x90\xcc\x88", "xn--0ca.xn--ssa73l", false); } test { try toAsciiPass("\xc3\xa0.\xd7\x90\xcc\x88", "xn--0ca.xn--ssa73l", true); } @@ -94,22 +114,56 @@ test { try toUnicodePass("xn--0ca.xn--ssa73l", "\xc3\xa0.\xd7\x90\xcc\x88"); } test { try toAsciiPass("xn--0ca.xn--ssa73l", "xn--0ca.xn--ssa73l", false); } test { try toAsciiPass("xn--0ca.xn--ssa73l", "xn--0ca.xn--ssa73l", true); } test { try toUnicodeFail("\xc3\xa0.\xd7\x900\xd9\xa0\xd7\x90"); } // [B4] +test { try toAsciiFail("\xc3\xa0.\xd7\x900\xd9\xa0\xd7\x90", false); } // [B4] +test { try toAsciiFail("\xc3\xa0.\xd7\x900\xd9\xa0\xd7\x90", true); } // [B4] test { try toUnicodeFail("a\xcc\x80.\xd7\x900\xd9\xa0\xd7\x90"); } // [B4] +test { try toAsciiFail("a\xcc\x80.\xd7\x900\xd9\xa0\xd7\x90", false); } // [B4] +test { try toAsciiFail("a\xcc\x80.\xd7\x900\xd9\xa0\xd7\x90", true); } // [B4] test { try toUnicodeFail("A\xcc\x80.\xd7\x900\xd9\xa0\xd7\x90"); } // [B4] +test { try toAsciiFail("A\xcc\x80.\xd7\x900\xd9\xa0\xd7\x90", false); } // [B4] +test { try toAsciiFail("A\xcc\x80.\xd7\x900\xd9\xa0\xd7\x90", true); } // [B4] test { try toUnicodeFail("\xc3\x80.\xd7\x900\xd9\xa0\xd7\x90"); } // [B4] +test { try toAsciiFail("\xc3\x80.\xd7\x900\xd9\xa0\xd7\x90", false); } // [B4] +test { try toAsciiFail("\xc3\x80.\xd7\x900\xd9\xa0\xd7\x90", true); } // [B4] test { try toUnicodeFail("xn--0ca.xn--0-zhcb98c"); } // [B4] +test { try toAsciiFail("xn--0ca.xn--0-zhcb98c", false); } // [B4] +test { try toAsciiFail("xn--0ca.xn--0-zhcb98c", true); } // [B4] test { try toUnicodeFail("\xcc\x88.\xd7\x90"); } // [B1, V6] +test { try toAsciiFail("\xcc\x88.\xd7\x90", false); } // [B1, V6] +test { try toAsciiFail("\xcc\x88.\xd7\x90", true); } // [B1, V6] test { try toUnicodeFail("xn--ssa.xn--4db"); } // [B1, V6] +test { try toAsciiFail("xn--ssa.xn--4db", false); } // [B1, V6] +test { try toAsciiFail("xn--ssa.xn--4db", true); } // [B1, V6] test { try toUnicodeFail("\xc3\xa0.\xd7\x900\xd9\xa0"); } // [B4] +test { try toAsciiFail("\xc3\xa0.\xd7\x900\xd9\xa0", false); } // [B4] +test { try toAsciiFail("\xc3\xa0.\xd7\x900\xd9\xa0", true); } // [B4] test { try toUnicodeFail("a\xcc\x80.\xd7\x900\xd9\xa0"); } // [B4] +test { try toAsciiFail("a\xcc\x80.\xd7\x900\xd9\xa0", false); } // [B4] +test { try toAsciiFail("a\xcc\x80.\xd7\x900\xd9\xa0", true); } // [B4] test { try toUnicodeFail("A\xcc\x80.\xd7\x900\xd9\xa0"); } // [B4] +test { try toAsciiFail("A\xcc\x80.\xd7\x900\xd9\xa0", false); } // [B4] +test { try toAsciiFail("A\xcc\x80.\xd7\x900\xd9\xa0", true); } // [B4] test { try toUnicodeFail("\xc3\x80.\xd7\x900\xd9\xa0"); } // [B4] +test { try toAsciiFail("\xc3\x80.\xd7\x900\xd9\xa0", false); } // [B4] +test { try toAsciiFail("\xc3\x80.\xd7\x900\xd9\xa0", true); } // [B4] test { try toUnicodeFail("xn--0ca.xn--0-zhc74b"); } // [B4] +test { try toAsciiFail("xn--0ca.xn--0-zhc74b", false); } // [B4] +test { try toAsciiFail("xn--0ca.xn--0-zhc74b", true); } // [B4] test { try toUnicodeFail("\xc3\xa0\xcb\x87.\xd7\x90"); } // [B6] +test { try toAsciiFail("\xc3\xa0\xcb\x87.\xd7\x90", false); } // [B6] +test { try toAsciiFail("\xc3\xa0\xcb\x87.\xd7\x90", true); } // [B6] test { try toUnicodeFail("a\xcc\x80\xcb\x87.\xd7\x90"); } // [B6] +test { try toAsciiFail("a\xcc\x80\xcb\x87.\xd7\x90", false); } // [B6] +test { try toAsciiFail("a\xcc\x80\xcb\x87.\xd7\x90", true); } // [B6] test { try toUnicodeFail("A\xcc\x80\xcb\x87.\xd7\x90"); } // [B6] +test { try toAsciiFail("A\xcc\x80\xcb\x87.\xd7\x90", false); } // [B6] +test { try toAsciiFail("A\xcc\x80\xcb\x87.\xd7\x90", true); } // [B6] test { try toUnicodeFail("\xc3\x80\xcb\x87.\xd7\x90"); } // [B6] +test { try toAsciiFail("\xc3\x80\xcb\x87.\xd7\x90", false); } // [B6] +test { try toAsciiFail("\xc3\x80\xcb\x87.\xd7\x90", true); } // [B6] test { try toUnicodeFail("xn--0ca88g.xn--4db"); } // [B6] +test { try toAsciiFail("xn--0ca88g.xn--4db", false); } // [B6] +test { try toAsciiFail("xn--0ca88g.xn--4db", true); } // [B6] test { try toUnicodePass("\xc3\xa0\xcc\x88.\xd7\x90", "\xc3\xa0\xcc\x88.\xd7\x90"); } test { try toAsciiPass("\xc3\xa0\xcc\x88.\xd7\x90", "xn--0ca81i.xn--4db", false); } test { try toAsciiPass("\xc3\xa0\xcc\x88.\xd7\x90", "xn--0ca81i.xn--4db", true); } @@ -127,14 +181,19 @@ test { try toAsciiPass("xn--0ca81i.xn--4db", "xn--0ca81i.xn--4db", false); } test { try toAsciiPass("xn--0ca81i.xn--4db", "xn--0ca81i.xn--4db", true); } test { try toAsciiPass("a\xe2\x80\x8cb", "ab", true); } test { try toUnicodeFail("a\xe2\x80\x8cb"); } // [C1] +test { try toAsciiFail("a\xe2\x80\x8cb", false); } // [C1] test { try toAsciiPass("A\xe2\x80\x8cB", "ab", true); } test { try toUnicodeFail("A\xe2\x80\x8cB"); } // [C1] +test { try toAsciiFail("A\xe2\x80\x8cB", false); } // [C1] test { try toAsciiPass("A\xe2\x80\x8cb", "ab", true); } test { try toUnicodeFail("A\xe2\x80\x8cb"); } // [C1] +test { try toAsciiFail("A\xe2\x80\x8cb", false); } // [C1] test { try toUnicodePass("ab", "ab"); } test { try toAsciiPass("ab", "ab", false); } test { try toAsciiPass("ab", "ab", true); } test { try toUnicodeFail("xn--ab-j1t"); } // [C1] +test { try toAsciiFail("xn--ab-j1t", false); } // [C1] +test { try toAsciiFail("xn--ab-j1t", true); } // [C1] test { try toUnicodePass("a\xe0\xa5\x8d\xe2\x80\x8cb", "a\xe0\xa5\x8d\xe2\x80\x8cb"); } test { try toAsciiPass("a\xe0\xa5\x8d\xe2\x80\x8cb", "xn--ab-fsf604u", false); } test { try toAsciiPass("a\xe0\xa5\x8d\xe2\x80\x8cb", "xn--ab-fsf", true); } @@ -160,25 +219,56 @@ test { try toUnicodePass("xn--ab-fsf604u", "a\xe0\xa5\x8d\xe2\x80\x8cb"); } test { try toAsciiPass("xn--ab-fsf604u", "xn--ab-fsf604u", false); } test { try toAsciiPass("xn--ab-fsf604u", "xn--ab-fsf604u", true); } test { try toUnicodeFail("\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b"); } // [B1, C1, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b", true); } // [B1, V6] test { try toUnicodeFail("\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8B"); } // [B1, C1, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8B", false); } // [B1, C1, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8B", true); } // [B1, V6] test { try toUnicodeFail("xn--b-bcba413a"); } // [B1, V6] +test { try toAsciiFail("xn--b-bcba413a", false); } // [B1, V6] +test { try toAsciiFail("xn--b-bcba413a", true); } // [B1, V6] test { try toUnicodeFail("xn--b-bcba413a2w8b"); } // [B1, C1, V6] +test { try toAsciiFail("xn--b-bcba413a2w8b", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--b-bcba413a2w8b", true); } // [B1, C1, V6] test { try toUnicodeFail("a\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88"); } // [B5, B6, C1] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88", false); } // [B5, B6, C1] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88", true); } // [B5, B6] test { try toUnicodeFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88"); } // [B5, B6, C1] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88", false); } // [B5, B6, C1] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88", true); } // [B5, B6] test { try toUnicodeFail("xn--a-ccba213a"); } // [B5, B6] +test { try toAsciiFail("xn--a-ccba213a", false); } // [B5, B6] +test { try toAsciiFail("xn--a-ccba213a", true); } // [B5, B6] test { try toUnicodeFail("xn--a-ccba213a5w8b"); } // [B5, B6, C1] +test { try toAsciiFail("xn--a-ccba213a5w8b", false); } // [B5, B6, C1] +test { try toAsciiFail("xn--a-ccba213a5w8b", true); } // [B5, B6, C1] test { try toUnicodeFail("a\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b"); } // [B5] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b", false); } // [B5] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b", true); } // [B5] test { try toUnicodeFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8B"); } // [B5] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8B", false); } // [B5] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8B", true); } // [B5] test { try toUnicodeFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b"); } // [B5] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b", false); } // [B5] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8c\xcc\x88\xd8\xa8b", true); } // [B5] test { try toUnicodeFail("xn--ab-uuba211bca"); } // [B5] +test { try toAsciiFail("xn--ab-uuba211bca", false); } // [B5] +test { try toAsciiFail("xn--ab-uuba211bca", true); } // [B5] test { try toUnicodeFail("xn--ab-uuba211bca8057b"); } // [B5] +test { try toAsciiFail("xn--ab-uuba211bca8057b", false); } // [B5] +test { try toAsciiFail("xn--ab-uuba211bca8057b", true); } // [B5] test { try toAsciiPass("a\xe2\x80\x8db", "ab", true); } test { try toUnicodeFail("a\xe2\x80\x8db"); } // [C2] +test { try toAsciiFail("a\xe2\x80\x8db", false); } // [C2] test { try toAsciiPass("A\xe2\x80\x8dB", "ab", true); } test { try toUnicodeFail("A\xe2\x80\x8dB"); } // [C2] +test { try toAsciiFail("A\xe2\x80\x8dB", false); } // [C2] test { try toAsciiPass("A\xe2\x80\x8db", "ab", true); } test { try toUnicodeFail("A\xe2\x80\x8db"); } // [C2] +test { try toAsciiFail("A\xe2\x80\x8db", false); } // [C2] test { try toUnicodeFail("xn--ab-m1t"); } // [C2] +test { try toAsciiFail("xn--ab-m1t", false); } // [C2] +test { try toAsciiFail("xn--ab-m1t", true); } // [C2] test { try toUnicodePass("a\xe0\xa5\x8d\xe2\x80\x8db", "a\xe0\xa5\x8d\xe2\x80\x8db"); } test { try toAsciiPass("a\xe0\xa5\x8d\xe2\x80\x8db", "xn--ab-fsf014u", false); } test { try toAsciiPass("a\xe0\xa5\x8d\xe2\x80\x8db", "xn--ab-fsf", true); } @@ -192,15 +282,35 @@ test { try toUnicodePass("xn--ab-fsf014u", "a\xe0\xa5\x8d\xe2\x80\x8db"); } test { try toAsciiPass("xn--ab-fsf014u", "xn--ab-fsf014u", false); } test { try toAsciiPass("xn--ab-fsf014u", "xn--ab-fsf014u", true); } test { try toUnicodeFail("\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b"); } // [B1, C2, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b", false); } // [B1, C2, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b", true); } // [B1, V6] test { try toUnicodeFail("\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8B"); } // [B1, C2, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8B", false); } // [B1, C2, V6] +test { try toAsciiFail("\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8B", true); } // [B1, V6] test { try toUnicodeFail("xn--b-bcba413a7w8b"); } // [B1, C2, V6] +test { try toAsciiFail("xn--b-bcba413a7w8b", false); } // [B1, C2, V6] +test { try toAsciiFail("xn--b-bcba413a7w8b", true); } // [B1, C2, V6] test { try toUnicodeFail("a\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88"); } // [B5, B6, C2] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88", false); } // [B5, B6, C2] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88", true); } // [B5, B6] test { try toUnicodeFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88"); } // [B5, B6, C2] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88", false); } // [B5, B6, C2] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88", true); } // [B5, B6] test { try toUnicodeFail("xn--a-ccba213abx8b"); } // [B5, B6, C2] +test { try toAsciiFail("xn--a-ccba213abx8b", false); } // [B5, B6, C2] +test { try toAsciiFail("xn--a-ccba213abx8b", true); } // [B5, B6, C2] test { try toUnicodeFail("a\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b"); } // [B5, C2] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b", false); } // [B5, C2] +test { try toAsciiFail("a\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b", true); } // [B5] test { try toUnicodeFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8B"); } // [B5, C2] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8B", false); } // [B5, C2] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8B", true); } // [B5] test { try toUnicodeFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b"); } // [B5, C2] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b", false); } // [B5, C2] +test { try toAsciiFail("A\xd8\xa8\xcc\x88\xe2\x80\x8d\xcc\x88\xd8\xa8b", true); } // [B5] test { try toUnicodeFail("xn--ab-uuba211bca5157b"); } // [B5, C2] +test { try toAsciiFail("xn--ab-uuba211bca5157b", false); } // [B5, C2] +test { try toAsciiFail("xn--ab-uuba211bca5157b", true); } // [B5, C2] test { try toUnicodePass("\xc2\xa1", "\xc2\xa1"); } test { try toAsciiPass("\xc2\xa1", "xn--7a", false); } test { try toAsciiPass("\xc2\xa1", "xn--7a", true); } @@ -214,8 +324,14 @@ test { try toUnicodePass("xn--pkf", "\xe1\xa7\x9a"); } test { try toAsciiPass("xn--pkf", "xn--pkf", false); } test { try toAsciiPass("xn--pkf", "xn--pkf", true); } test { try toUnicodeFail("\"\""); } // [X4_2] +test { try toAsciiFail("\"\"", false); } // [A4_1, A4_2] +test { try toAsciiFail("\"\"", true); } // [A4_1, A4_2] test { try toUnicodeFail("\xe3\x80\x82"); } // [X4_2] +test { try toAsciiFail("\xe3\x80\x82", false); } // [A4_1, A4_2] +test { try toAsciiFail("\xe3\x80\x82", true); } // [A4_1, A4_2] test { try toUnicodeFail("."); } // [X4_2] +test { try toAsciiFail(".", false); } // [A4_1, A4_2] +test { try toAsciiFail(".", true); } // [A4_1, A4_2] test { try toUnicodePass("\xea\xad\xa0", "\xea\xad\xa0"); } test { try toAsciiPass("\xea\xad\xa0", "xn--3y9a", false); } test { try toAsciiPass("\xea\xad\xa0", "xn--3y9a", true); } @@ -223,10 +339,20 @@ test { try toUnicodePass("xn--3y9a", "\xea\xad\xa0"); } test { try toAsciiPass("xn--3y9a", "xn--3y9a", false); } test { try toAsciiPass("xn--3y9a", "xn--3y9a", true); } test { try toUnicodePass("1234567890\xc3\xa41234567890123456789012345678901234567890123456", "1234567890\xc3\xa41234567890123456789012345678901234567890123456"); } +test { try toAsciiFail("1234567890\xc3\xa41234567890123456789012345678901234567890123456", false); } // [A4_2] +test { try toAsciiFail("1234567890\xc3\xa41234567890123456789012345678901234567890123456", true); } // [A4_2] test { try toUnicodePass("1234567890a\xcc\x881234567890123456789012345678901234567890123456", "1234567890\xc3\xa41234567890123456789012345678901234567890123456"); } +test { try toAsciiFail("1234567890a\xcc\x881234567890123456789012345678901234567890123456", false); } // [A4_2] +test { try toAsciiFail("1234567890a\xcc\x881234567890123456789012345678901234567890123456", true); } // [A4_2] test { try toUnicodePass("1234567890A\xcc\x881234567890123456789012345678901234567890123456", "1234567890\xc3\xa41234567890123456789012345678901234567890123456"); } +test { try toAsciiFail("1234567890A\xcc\x881234567890123456789012345678901234567890123456", false); } // [A4_2] +test { try toAsciiFail("1234567890A\xcc\x881234567890123456789012345678901234567890123456", true); } // [A4_2] test { try toUnicodePass("1234567890\xc3\x841234567890123456789012345678901234567890123456", "1234567890\xc3\xa41234567890123456789012345678901234567890123456"); } +test { try toAsciiFail("1234567890\xc3\x841234567890123456789012345678901234567890123456", false); } // [A4_2] +test { try toAsciiFail("1234567890\xc3\x841234567890123456789012345678901234567890123456", true); } // [A4_2] test { try toUnicodePass("xn--12345678901234567890123456789012345678901234567890123456-fxe", "1234567890\xc3\xa41234567890123456789012345678901234567890123456"); } +test { try toAsciiFail("xn--12345678901234567890123456789012345678901234567890123456-fxe", false); } // [A4_2] +test { try toAsciiFail("xn--12345678901234567890123456789012345678901234567890123456-fxe", true); } // [A4_2] test { try toUnicodePass("www.eXample.cOm", "www.example.com"); } test { try toAsciiPass("www.eXample.cOm", "www.example.com", false); } test { try toAsciiPass("www.eXample.cOm", "www.example.com", true); } @@ -405,12 +531,26 @@ test { try toUnicodePass("\xd9\x86\xd8\xa7\xd9\x85\xd9\x87\xd8\xa7\xdb\x8c.COM", test { try toAsciiPass("\xd9\x86\xd8\xa7\xd9\x85\xd9\x87\xd8\xa7\xdb\x8c.COM", "xn--mgba3gch31f.com", false); } test { try toAsciiPass("\xd9\x86\xd8\xa7\xd9\x85\xd9\x87\xd8\xa7\xdb\x8c.COM", "xn--mgba3gch31f.com", true); } test { try toUnicodePass("a.b\xef\xbc\x8ec\xe3\x80\x82d\xef\xbd\xa1", "a.b.c.d."); } +test { try toAsciiFail("a.b\xef\xbc\x8ec\xe3\x80\x82d\xef\xbd\xa1", false); } // [A4_2] +test { try toAsciiFail("a.b\xef\xbc\x8ec\xe3\x80\x82d\xef\xbd\xa1", true); } // [A4_2] test { try toUnicodePass("a.b.c\xe3\x80\x82d\xe3\x80\x82", "a.b.c.d."); } +test { try toAsciiFail("a.b.c\xe3\x80\x82d\xe3\x80\x82", false); } // [A4_2] +test { try toAsciiFail("a.b.c\xe3\x80\x82d\xe3\x80\x82", true); } // [A4_2] test { try toUnicodePass("A.B.C\xe3\x80\x82D\xe3\x80\x82", "a.b.c.d."); } +test { try toAsciiFail("A.B.C\xe3\x80\x82D\xe3\x80\x82", false); } // [A4_2] +test { try toAsciiFail("A.B.C\xe3\x80\x82D\xe3\x80\x82", true); } // [A4_2] test { try toUnicodePass("A.b.c\xe3\x80\x82D\xe3\x80\x82", "a.b.c.d."); } +test { try toAsciiFail("A.b.c\xe3\x80\x82D\xe3\x80\x82", false); } // [A4_2] +test { try toAsciiFail("A.b.c\xe3\x80\x82D\xe3\x80\x82", true); } // [A4_2] test { try toUnicodePass("a.b.c.d.", "a.b.c.d."); } +test { try toAsciiFail("a.b.c.d.", false); } // [A4_2] +test { try toAsciiFail("a.b.c.d.", true); } // [A4_2] test { try toUnicodePass("A.B\xef\xbc\x8eC\xe3\x80\x82D\xef\xbd\xa1", "a.b.c.d."); } +test { try toAsciiFail("A.B\xef\xbc\x8eC\xe3\x80\x82D\xef\xbd\xa1", false); } // [A4_2] +test { try toAsciiFail("A.B\xef\xbc\x8eC\xe3\x80\x82D\xef\xbd\xa1", true); } // [A4_2] test { try toUnicodePass("A.b\xef\xbc\x8ec\xe3\x80\x82D\xef\xbd\xa1", "a.b.c.d."); } +test { try toAsciiFail("A.b\xef\xbc\x8ec\xe3\x80\x82D\xef\xbd\xa1", false); } // [A4_2] +test { try toAsciiFail("A.b\xef\xbc\x8ec\xe3\x80\x82D\xef\xbd\xa1", true); } // [A4_2] test { try toUnicodePass("U\xcc\x88.xn--tda", "\xc3\xbc.\xc3\xbc"); } test { try toAsciiPass("U\xcc\x88.xn--tda", "xn--tda.xn--tda", false); } test { try toAsciiPass("U\xcc\x88.xn--tda", "xn--tda.xn--tda", true); } @@ -457,25 +597,59 @@ test { try toUnicodePass("U\xcc\x88.u\xcc\x88", "\xc3\xbc.\xc3\xbc"); } test { try toAsciiPass("U\xcc\x88.u\xcc\x88", "xn--tda.xn--tda", false); } test { try toAsciiPass("U\xcc\x88.u\xcc\x88", "xn--tda.xn--tda", true); } test { try toUnicodeFail("xn--u-ccb"); } // [V1] +test { try toAsciiFail("xn--u-ccb", false); } // [V1] +test { try toAsciiFail("xn--u-ccb", true); } // [V1] test { try toUnicodeFail("a\xe2\x92\x88com"); } // [V7] +test { try toAsciiFail("a\xe2\x92\x88com", false); } // [V7] +test { try toAsciiFail("a\xe2\x92\x88com", true); } // [V7] test { try toUnicodePass("a1.com", "a1.com"); } test { try toAsciiPass("a1.com", "a1.com", false); } test { try toAsciiPass("a1.com", "a1.com", true); } test { try toUnicodeFail("A\xe2\x92\x88COM"); } // [V7] +test { try toAsciiFail("A\xe2\x92\x88COM", false); } // [V7] +test { try toAsciiFail("A\xe2\x92\x88COM", true); } // [V7] test { try toUnicodeFail("A\xe2\x92\x88Com"); } // [V7] +test { try toAsciiFail("A\xe2\x92\x88Com", false); } // [V7] +test { try toAsciiFail("A\xe2\x92\x88Com", true); } // [V7] test { try toUnicodeFail("xn--acom-0w1b"); } // [V7] +test { try toAsciiFail("xn--acom-0w1b", false); } // [V7] +test { try toAsciiFail("xn--acom-0w1b", true); } // [V7] test { try toUnicodeFail("xn--a-ecp.ru"); } // [V7] +test { try toAsciiFail("xn--a-ecp.ru", false); } // [V7] +test { try toAsciiFail("xn--a-ecp.ru", true); } // [V7] test { try toUnicodeFail("xn--0.pt"); } // [P4] +test { try toAsciiFail("xn--0.pt", false); } // [P4] +test { try toAsciiFail("xn--0.pt", true); } // [P4] test { try toUnicodeFail("xn--a.pt"); } // [V7] +test { try toAsciiFail("xn--a.pt", false); } // [V7] +test { try toAsciiFail("xn--a.pt", true); } // [V7] test { try toUnicodeFail("xn--a-\xc3\x84.pt"); } // [P4] +test { try toAsciiFail("xn--a-\xc3\x84.pt", false); } // [P4] +test { try toAsciiFail("xn--a-\xc3\x84.pt", true); } // [P4] test { try toUnicodeFail("xn--a-A\xcc\x88.pt"); } // [P4] +test { try toAsciiFail("xn--a-A\xcc\x88.pt", false); } // [P4] +test { try toAsciiFail("xn--a-A\xcc\x88.pt", true); } // [P4] test { try toUnicodeFail("xn--a-a\xcc\x88.pt"); } // [P4] +test { try toAsciiFail("xn--a-a\xcc\x88.pt", false); } // [P4] +test { try toAsciiFail("xn--a-a\xcc\x88.pt", true); } // [P4] test { try toUnicodeFail("xn--a-\xc3\xa4.pt"); } // [P4] +test { try toAsciiFail("xn--a-\xc3\xa4.pt", false); } // [P4] +test { try toAsciiFail("xn--a-\xc3\xa4.pt", true); } // [P4] test { try toUnicodeFail("XN--A-\xc3\x84.PT"); } // [P4] +test { try toAsciiFail("XN--A-\xc3\x84.PT", false); } // [P4] +test { try toAsciiFail("XN--A-\xc3\x84.PT", true); } // [P4] test { try toUnicodeFail("XN--A-A\xcc\x88.PT"); } // [P4] +test { try toAsciiFail("XN--A-A\xcc\x88.PT", false); } // [P4] +test { try toAsciiFail("XN--A-A\xcc\x88.PT", true); } // [P4] test { try toUnicodeFail("Xn--A-A\xcc\x88.pt"); } // [P4] +test { try toAsciiFail("Xn--A-A\xcc\x88.pt", false); } // [P4] +test { try toAsciiFail("Xn--A-A\xcc\x88.pt", true); } // [P4] test { try toUnicodeFail("Xn--A-\xc3\x84.pt"); } // [P4] +test { try toAsciiFail("Xn--A-\xc3\x84.pt", false); } // [P4] +test { try toAsciiFail("Xn--A-\xc3\x84.pt", true); } // [P4] test { try toUnicodeFail("xn--xn--a--gua.pt"); } // [V2, V4] +test { try toAsciiFail("xn--xn--a--gua.pt", false); } // [V2, V4] +test { try toAsciiFail("xn--xn--a--gua.pt", true); } // [V2, V4] test { try toUnicodePass("\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e\xe3\x80\x82\xef\xbc\xaa\xef\xbc\xb0", "\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e.jp"); } test { try toAsciiPass("\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e\xe3\x80\x82\xef\xbc\xaa\xef\xbc\xb0", "xn--wgv71a119e.jp", false); } test { try toAsciiPass("\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e\xe3\x80\x82\xef\xbc\xaa\xef\xbc\xb0", "xn--wgv71a119e.jp", true); } @@ -513,30 +687,68 @@ test { try toUnicodePass("xn--53h", "\xe2\x98\x95"); } test { try toAsciiPass("xn--53h", "xn--53h", false); } test { try toAsciiPass("xn--53h", "xn--53h", true); } test { try toUnicodeFail("1.a\xc3\x9f\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dc\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fd\xcf\x82\xcf\x83\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fe\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fx\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fy\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xcc\x82\xc3\x9fz"); } // [C1, C2] +test { try toAsciiFail("1.a\xc3\x9f\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dc\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fd\xcf\x82\xcf\x83\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fe\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fx\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fy\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xcc\x82\xc3\x9fz", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.a\xc3\x9f\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dc\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fd\xcf\x82\xcf\x83\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fe\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fx\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fy\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xcc\x82\xc3\x9fz", true); } // [A4_2] test { try toUnicodeFail("1.ASS\xe2\x80\x8c\xe2\x80\x8dB\xe2\x80\x8c\xe2\x80\x8dCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSS\xcc\x82SSZ"); } // [C1, C2] +test { try toAsciiFail("1.ASS\xe2\x80\x8c\xe2\x80\x8dB\xe2\x80\x8c\xe2\x80\x8dCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSS\xcc\x82SSZ", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.ASS\xe2\x80\x8c\xe2\x80\x8dB\xe2\x80\x8c\xe2\x80\x8dCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSS\xcc\x82SSZ", true); } // [A4_2] test { try toUnicodeFail("1.ASS\xe2\x80\x8c\xe2\x80\x8dB\xe2\x80\x8c\xe2\x80\x8dCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSS\xc5\x9cSSZ"); } // [C1, C2] +test { try toAsciiFail("1.ASS\xe2\x80\x8c\xe2\x80\x8dB\xe2\x80\x8c\xe2\x80\x8dCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSS\xc5\x9cSSZ", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.ASS\xe2\x80\x8c\xe2\x80\x8dB\xe2\x80\x8c\xe2\x80\x8dCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSS\xc5\x9cSSZ", true); } // [A4_2] test { try toUnicodeFail("1.ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } // [C1, C2] +test { try toAsciiFail("1.ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", true); } // [A4_2] test { try toUnicodeFail("1.ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz"); } // [C1, C2] +test { try toAsciiFail("1.ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", true); } // [A4_2] test { try toUnicodeFail("1.Ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz"); } // [C1, C2] +test { try toAsciiFail("1.Ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.Ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", true); } // [A4_2] test { try toUnicodeFail("1.Ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } // [C1, C2] +test { try toAsciiFail("1.Ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.Ass\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", true); } // [A4_2] test { try toUnicodePass("1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa", false); } // [A4_2] +test { try toAsciiFail("1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa", true); } // [A4_2] test { try toUnicodePass("1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", false); } // [A4_2] +test { try toAsciiFail("1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", true); } // [A4_2] test { try toUnicodePass("1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", false); } // [A4_2] +test { try toAsciiFail("1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", true); } // [A4_2] test { try toUnicodePass("1.ASSBCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSS\xcc\x82SSZ", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.ASSBCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSS\xcc\x82SSZ", false); } // [A4_2] +test { try toAsciiFail("1.ASSBCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSSS\xcc\x82SSZ", true); } // [A4_2] test { try toUnicodePass("1.ASSBCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSS\xc5\x9cSSZ", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.ASSBCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSS\xc5\x9cSSZ", false); } // [A4_2] +test { try toAsciiFail("1.ASSBCSSSSSSSSD\xce\xa3\xce\xa3SSSSSSSSSSSSSSSSESSSSSSSSSSSSSSSSSSSSXSSSSSSSSSSSSSSSSSSSSYSSSSSSSSSSSSSSS\xc5\x9cSSZ", true); } // [A4_2] test { try toUnicodePass("1.Assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.Assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", false); } // [A4_2] +test { try toAsciiFail("1.Assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz", true); } // [A4_2] test { try toUnicodePass("1.Assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", "1.assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssss\xc5\x9dssz"); } +test { try toAsciiFail("1.Assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", false); } // [A4_2] +test { try toAsciiFail("1.Assbcssssssssd\xcf\x83\xcf\x83ssssssssssssssssessssssssssssssssssssxssssssssssssssssssssyssssssssssssssss\xcc\x82ssz", true); } // [A4_2] test { try toUnicodeFail("1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc"); } // [C1, C2] +test { try toAsciiFail("1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.xn--assbcssssssssdssssssssssssssssessssssssssssssssssssxssssssssssssssssssssysssssssssssssssssz-pxq1419aa69989dba9gc", true); } // [C1, C2, A4_2] test { try toUnicodeFail("1.A\xc3\x9f\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dc\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fd\xcf\x82\xcf\x83\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fe\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fx\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fy\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xcc\x82\xc3\x9fz"); } // [C1, C2] +test { try toAsciiFail("1.A\xc3\x9f\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dc\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fd\xcf\x82\xcf\x83\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fe\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fx\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fy\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xcc\x82\xc3\x9fz", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.A\xc3\x9f\xe2\x80\x8c\xe2\x80\x8db\xe2\x80\x8c\xe2\x80\x8dc\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fd\xcf\x82\xcf\x83\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fe\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fx\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9fy\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xc3\x9f\xcc\x82\xc3\x9fz", true); } // [A4_2] test { try toUnicodeFail("1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc"); } // [C1, C2] +test { try toAsciiFail("1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc", false); } // [C1, C2, A4_2] +test { try toAsciiFail("1.xn--abcdexyz-qyacaaabaaaaaaabaaaaaaaaabaaaaaaaaabaaaaaaaa010ze2isb1140zba8cc", true); } // [C1, C2, A4_2] test { try toAsciiPass("\xe2\x80\x8cx\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-b\xc3\x9f", "xn--bss", true); } test { try toUnicodeFail("\xe2\x80\x8cx\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-b\xc3\x9f"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8cx\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-b\xc3\x9f", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8cX\xe2\x80\x8dN\xe2\x80\x8c-\xe2\x80\x8d-BSS", "xn--bss", true); } test { try toUnicodeFail("\xe2\x80\x8cX\xe2\x80\x8dN\xe2\x80\x8c-\xe2\x80\x8d-BSS"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8cX\xe2\x80\x8dN\xe2\x80\x8c-\xe2\x80\x8d-BSS", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8cx\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-bss", "xn--bss", true); } test { try toUnicodeFail("\xe2\x80\x8cx\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-bss"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8cx\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-bss", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8cX\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-Bss", "xn--bss", true); } test { try toUnicodeFail("\xe2\x80\x8cX\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-Bss"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8cX\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-Bss", false); } // [C1, C2] test { try toUnicodePass("xn--bss", "\xe5\xa4\x99"); } test { try toAsciiPass("xn--bss", "xn--bss", false); } test { try toAsciiPass("xn--bss", "xn--bss", true); } @@ -544,9 +756,14 @@ test { try toUnicodePass("\xe5\xa4\x99", "\xe5\xa4\x99"); } test { try toAsciiPass("\xe5\xa4\x99", "xn--bss", false); } test { try toAsciiPass("\xe5\xa4\x99", "xn--bss", true); } test { try toUnicodeFail("xn--xn--bss-7z6ccid"); } // [C1, C2] +test { try toAsciiFail("xn--xn--bss-7z6ccid", false); } // [C1, C2] +test { try toAsciiFail("xn--xn--bss-7z6ccid", true); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8cX\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-B\xc3\x9f", "xn--bss", true); } test { try toUnicodeFail("\xe2\x80\x8cX\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-B\xc3\x9f"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8cX\xe2\x80\x8dn\xe2\x80\x8c-\xe2\x80\x8d-B\xc3\x9f", false); } // [C1, C2] test { try toUnicodeFail("xn--xn--b-pqa5796ccahd"); } // [C1, C2] +test { try toAsciiFail("xn--xn--b-pqa5796ccahd", false); } // [C1, C2] +test { try toAsciiFail("xn--xn--b-pqa5796ccahd", true); } // [C1, C2] test { try toUnicodePass("\xcb\xa3\xcd\x8f\xe2\x84\x95\xe2\x80\x8b\xef\xb9\xa3\xc2\xad\xef\xbc\x8d\xe1\xa0\x8c\xe2\x84\xac\xef\xb8\x80\xc5\xbf\xe2\x81\xa4\xf0\x9d\x94\xb0\xf3\xa0\x87\xaf\xef\xac\x84", "\xe5\xa4\xa1\xe5\xa4\x9e\xe5\xa4\x9c\xe5\xa4\x99"); } test { try toAsciiPass("\xcb\xa3\xcd\x8f\xe2\x84\x95\xe2\x80\x8b\xef\xb9\xa3\xc2\xad\xef\xbc\x8d\xe1\xa0\x8c\xe2\x84\xac\xef\xb8\x80\xc5\xbf\xe2\x81\xa4\xf0\x9d\x94\xb0\xf3\xa0\x87\xaf\xef\xac\x84", "xn--bssffl", false); } test { try toAsciiPass("\xcb\xa3\xcd\x8f\xe2\x84\x95\xe2\x80\x8b\xef\xb9\xa3\xc2\xad\xef\xbc\x8d\xe1\xa0\x8c\xe2\x84\xac\xef\xb8\x80\xc5\xbf\xe2\x81\xa4\xf0\x9d\x94\xb0\xf3\xa0\x87\xaf\xef\xac\x84", "xn--bssffl", true); } @@ -581,10 +798,20 @@ test { try toUnicodePass("123456789012345678901234567890123456789012345678901234 test { try toAsciiPass("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } test { try toAsciiPass("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", "123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", "123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", "123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", "123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901234.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } // [A4_1, A4_2] test { try toUnicodePass("\xc3\xa41234567890123456789012345678901234567890123456789012345", "\xc3\xa41234567890123456789012345678901234567890123456789012345"); } test { try toAsciiPass("\xc3\xa41234567890123456789012345678901234567890123456789012345", "xn--1234567890123456789012345678901234567890123456789012345-9te", false); } test { try toAsciiPass("\xc3\xa41234567890123456789012345678901234567890123456789012345", "xn--1234567890123456789012345678901234567890123456789012345-9te", true); } @@ -616,77 +843,221 @@ test { try toUnicodePass("123456789012345678901234567890123456789012345678901234 test { try toAsciiPass("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } test { try toAsciiPass("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901C", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789A.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } // [A4_1, A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890a\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } // [A4_1, A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B", true); } // [A4_1, A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890B", true); } // [A4_1, A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.xn--12345678901234567890123456789012345678901234567890123456-fxe.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } // [A4_1, A4_2] test { try toUnicodeFail("a.b..-q--a-.e"); } // [V2, V3, X4_2] +test { try toAsciiFail("a.b..-q--a-.e", false); } // [V2, V3, A4_2] +test { try toAsciiFail("a.b..-q--a-.e", true); } // [V2, V3, A4_2] test { try toUnicodeFail("a.b..-q--\xc3\xa4-.e"); } // [V2, V3, X4_2] +test { try toAsciiFail("a.b..-q--\xc3\xa4-.e", false); } // [V2, V3, A4_2] +test { try toAsciiFail("a.b..-q--\xc3\xa4-.e", true); } // [V2, V3, A4_2] test { try toUnicodeFail("a.b..-q--a\xcc\x88-.e"); } // [V2, V3, X4_2] +test { try toAsciiFail("a.b..-q--a\xcc\x88-.e", false); } // [V2, V3, A4_2] +test { try toAsciiFail("a.b..-q--a\xcc\x88-.e", true); } // [V2, V3, A4_2] test { try toUnicodeFail("A.B..-Q--A\xcc\x88-.E"); } // [V2, V3, X4_2] +test { try toAsciiFail("A.B..-Q--A\xcc\x88-.E", false); } // [V2, V3, A4_2] +test { try toAsciiFail("A.B..-Q--A\xcc\x88-.E", true); } // [V2, V3, A4_2] test { try toUnicodeFail("A.B..-Q--\xc3\x84-.E"); } // [V2, V3, X4_2] +test { try toAsciiFail("A.B..-Q--\xc3\x84-.E", false); } // [V2, V3, A4_2] +test { try toAsciiFail("A.B..-Q--\xc3\x84-.E", true); } // [V2, V3, A4_2] test { try toUnicodeFail("A.b..-Q--\xc3\x84-.E"); } // [V2, V3, X4_2] +test { try toAsciiFail("A.b..-Q--\xc3\x84-.E", false); } // [V2, V3, A4_2] +test { try toAsciiFail("A.b..-Q--\xc3\x84-.E", true); } // [V2, V3, A4_2] test { try toUnicodeFail("A.b..-Q--A\xcc\x88-.E"); } // [V2, V3, X4_2] +test { try toAsciiFail("A.b..-Q--A\xcc\x88-.E", false); } // [V2, V3, A4_2] +test { try toAsciiFail("A.b..-Q--A\xcc\x88-.E", true); } // [V2, V3, A4_2] test { try toUnicodeFail("a.b..xn---q----jra.e"); } // [V2, V3, X4_2] +test { try toAsciiFail("a.b..xn---q----jra.e", false); } // [V2, V3, A4_2] +test { try toAsciiFail("a.b..xn---q----jra.e", true); } // [V2, V3, A4_2] test { try toUnicodeFail("a..c"); } // [X4_2] +test { try toAsciiFail("a..c", false); } // [A4_2] +test { try toAsciiFail("a..c", true); } // [A4_2] test { try toUnicodeFail("a.-b."); } // [V3] +test { try toAsciiFail("a.-b.", false); } // [V3, A4_2] +test { try toAsciiFail("a.-b.", true); } // [V3, A4_2] test { try toUnicodeFail("a.b-.c"); } // [V3] +test { try toAsciiFail("a.b-.c", false); } // [V3] +test { try toAsciiFail("a.b-.c", true); } // [V3] test { try toUnicodeFail("a.-.c"); } // [V3] +test { try toAsciiFail("a.-.c", false); } // [V3] +test { try toAsciiFail("a.-.c", true); } // [V3] test { try toUnicodeFail("a.bc--de.f"); } // [V2] +test { try toAsciiFail("a.bc--de.f", false); } // [V2] +test { try toAsciiFail("a.bc--de.f", true); } // [V2] test { try toUnicodeFail("xn--xn---epa"); } // [V2, V4] +test { try toAsciiFail("xn--xn---epa", false); } // [V2, V4] +test { try toAsciiFail("xn--xn---epa", true); } // [V2, V4] test { try toUnicodeFail("\xc3\xa4.\xc2\xad.c"); } // [X4_2] +test { try toAsciiFail("\xc3\xa4.\xc2\xad.c", false); } // [A4_2] +test { try toAsciiFail("\xc3\xa4.\xc2\xad.c", true); } // [A4_2] test { try toUnicodeFail("a\xcc\x88.\xc2\xad.c"); } // [X4_2] +test { try toAsciiFail("a\xcc\x88.\xc2\xad.c", false); } // [A4_2] +test { try toAsciiFail("a\xcc\x88.\xc2\xad.c", true); } // [A4_2] test { try toUnicodeFail("A\xcc\x88.\xc2\xad.C"); } // [X4_2] +test { try toAsciiFail("A\xcc\x88.\xc2\xad.C", false); } // [A4_2] +test { try toAsciiFail("A\xcc\x88.\xc2\xad.C", true); } // [A4_2] test { try toUnicodeFail("\xc3\x84.\xc2\xad.C"); } // [X4_2] +test { try toAsciiFail("\xc3\x84.\xc2\xad.C", false); } // [A4_2] +test { try toAsciiFail("\xc3\x84.\xc2\xad.C", true); } // [A4_2] test { try toUnicodeFail("xn--4ca..c"); } // [X4_2] +test { try toAsciiFail("xn--4ca..c", false); } // [A4_2] +test { try toAsciiFail("xn--4ca..c", true); } // [A4_2] test { try toUnicodeFail("\xc3\xa4.-b."); } // [V3] +test { try toAsciiFail("\xc3\xa4.-b.", false); } // [V3, A4_2] +test { try toAsciiFail("\xc3\xa4.-b.", true); } // [V3, A4_2] test { try toUnicodeFail("a\xcc\x88.-b."); } // [V3] +test { try toAsciiFail("a\xcc\x88.-b.", false); } // [V3, A4_2] +test { try toAsciiFail("a\xcc\x88.-b.", true); } // [V3, A4_2] test { try toUnicodeFail("A\xcc\x88.-B."); } // [V3] +test { try toAsciiFail("A\xcc\x88.-B.", false); } // [V3, A4_2] +test { try toAsciiFail("A\xcc\x88.-B.", true); } // [V3, A4_2] test { try toUnicodeFail("\xc3\x84.-B."); } // [V3] +test { try toAsciiFail("\xc3\x84.-B.", false); } // [V3, A4_2] +test { try toAsciiFail("\xc3\x84.-B.", true); } // [V3, A4_2] test { try toUnicodeFail("xn--4ca.-b."); } // [V3] +test { try toAsciiFail("xn--4ca.-b.", false); } // [V3, A4_2] +test { try toAsciiFail("xn--4ca.-b.", true); } // [V3, A4_2] test { try toUnicodeFail("\xc3\xa4.b-.c"); } // [V3] +test { try toAsciiFail("\xc3\xa4.b-.c", false); } // [V3] +test { try toAsciiFail("\xc3\xa4.b-.c", true); } // [V3] test { try toUnicodeFail("a\xcc\x88.b-.c"); } // [V3] +test { try toAsciiFail("a\xcc\x88.b-.c", false); } // [V3] +test { try toAsciiFail("a\xcc\x88.b-.c", true); } // [V3] test { try toUnicodeFail("A\xcc\x88.B-.C"); } // [V3] +test { try toAsciiFail("A\xcc\x88.B-.C", false); } // [V3] +test { try toAsciiFail("A\xcc\x88.B-.C", true); } // [V3] test { try toUnicodeFail("\xc3\x84.B-.C"); } // [V3] +test { try toAsciiFail("\xc3\x84.B-.C", false); } // [V3] +test { try toAsciiFail("\xc3\x84.B-.C", true); } // [V3] test { try toUnicodeFail("\xc3\x84.b-.C"); } // [V3] +test { try toAsciiFail("\xc3\x84.b-.C", false); } // [V3] +test { try toAsciiFail("\xc3\x84.b-.C", true); } // [V3] test { try toUnicodeFail("A\xcc\x88.b-.C"); } // [V3] +test { try toAsciiFail("A\xcc\x88.b-.C", false); } // [V3] +test { try toAsciiFail("A\xcc\x88.b-.C", true); } // [V3] test { try toUnicodeFail("xn--4ca.b-.c"); } // [V3] +test { try toAsciiFail("xn--4ca.b-.c", false); } // [V3] +test { try toAsciiFail("xn--4ca.b-.c", true); } // [V3] test { try toUnicodeFail("\xc3\xa4.-.c"); } // [V3] +test { try toAsciiFail("\xc3\xa4.-.c", false); } // [V3] +test { try toAsciiFail("\xc3\xa4.-.c", true); } // [V3] test { try toUnicodeFail("a\xcc\x88.-.c"); } // [V3] +test { try toAsciiFail("a\xcc\x88.-.c", false); } // [V3] +test { try toAsciiFail("a\xcc\x88.-.c", true); } // [V3] test { try toUnicodeFail("A\xcc\x88.-.C"); } // [V3] +test { try toAsciiFail("A\xcc\x88.-.C", false); } // [V3] +test { try toAsciiFail("A\xcc\x88.-.C", true); } // [V3] test { try toUnicodeFail("\xc3\x84.-.C"); } // [V3] +test { try toAsciiFail("\xc3\x84.-.C", false); } // [V3] +test { try toAsciiFail("\xc3\x84.-.C", true); } // [V3] test { try toUnicodeFail("xn--4ca.-.c"); } // [V3] +test { try toAsciiFail("xn--4ca.-.c", false); } // [V3] +test { try toAsciiFail("xn--4ca.-.c", true); } // [V3] test { try toUnicodeFail("\xc3\xa4.bc--de.f"); } // [V2] +test { try toAsciiFail("\xc3\xa4.bc--de.f", false); } // [V2] +test { try toAsciiFail("\xc3\xa4.bc--de.f", true); } // [V2] test { try toUnicodeFail("a\xcc\x88.bc--de.f"); } // [V2] +test { try toAsciiFail("a\xcc\x88.bc--de.f", false); } // [V2] +test { try toAsciiFail("a\xcc\x88.bc--de.f", true); } // [V2] test { try toUnicodeFail("A\xcc\x88.BC--DE.F"); } // [V2] +test { try toAsciiFail("A\xcc\x88.BC--DE.F", false); } // [V2] +test { try toAsciiFail("A\xcc\x88.BC--DE.F", true); } // [V2] test { try toUnicodeFail("\xc3\x84.BC--DE.F"); } // [V2] +test { try toAsciiFail("\xc3\x84.BC--DE.F", false); } // [V2] +test { try toAsciiFail("\xc3\x84.BC--DE.F", true); } // [V2] test { try toUnicodeFail("\xc3\x84.bc--De.f"); } // [V2] +test { try toAsciiFail("\xc3\x84.bc--De.f", false); } // [V2] +test { try toAsciiFail("\xc3\x84.bc--De.f", true); } // [V2] test { try toUnicodeFail("A\xcc\x88.bc--De.f"); } // [V2] +test { try toAsciiFail("A\xcc\x88.bc--De.f", false); } // [V2] +test { try toAsciiFail("A\xcc\x88.bc--De.f", true); } // [V2] test { try toUnicodeFail("xn--4ca.bc--de.f"); } // [V2] +test { try toAsciiFail("xn--4ca.bc--de.f", false); } // [V2] +test { try toAsciiFail("xn--4ca.bc--de.f", true); } // [V2] test { try toUnicodeFail("a.b.\xcc\x88c.d"); } // [V6] +test { try toAsciiFail("a.b.\xcc\x88c.d", false); } // [V6] +test { try toAsciiFail("a.b.\xcc\x88c.d", true); } // [V6] test { try toUnicodeFail("A.B.\xcc\x88C.D"); } // [V6] +test { try toAsciiFail("A.B.\xcc\x88C.D", false); } // [V6] +test { try toAsciiFail("A.B.\xcc\x88C.D", true); } // [V6] test { try toUnicodeFail("A.b.\xcc\x88c.d"); } // [V6] +test { try toAsciiFail("A.b.\xcc\x88c.d", false); } // [V6] +test { try toAsciiFail("A.b.\xcc\x88c.d", true); } // [V6] test { try toUnicodeFail("a.b.xn--c-bcb.d"); } // [V6] +test { try toAsciiFail("a.b.xn--c-bcb.d", false); } // [V6] +test { try toAsciiFail("a.b.xn--c-bcb.d", true); } // [V6] test { try toUnicodePass("A0", "a0"); } test { try toAsciiPass("A0", "a0", false); } test { try toAsciiPass("A0", "a0", true); } @@ -694,16 +1065,38 @@ test { try toUnicodePass("0A", "0a"); } test { try toAsciiPass("0A", "0a", false); } test { try toAsciiPass("0A", "0a", true); } test { try toUnicodeFail("0A.\xd7\x90"); } // [B1] +test { try toAsciiFail("0A.\xd7\x90", false); } // [B1] +test { try toAsciiFail("0A.\xd7\x90", true); } // [B1] test { try toUnicodeFail("0a.\xd7\x90"); } // [B1] +test { try toAsciiFail("0a.\xd7\x90", false); } // [B1] +test { try toAsciiFail("0a.\xd7\x90", true); } // [B1] test { try toUnicodeFail("0a.xn--4db"); } // [B1] +test { try toAsciiFail("0a.xn--4db", false); } // [B1] +test { try toAsciiFail("0a.xn--4db", true); } // [B1] test { try toUnicodeFail("c.xn--0-eha.xn--4db"); } // [B1] +test { try toAsciiFail("c.xn--0-eha.xn--4db", false); } // [B1] +test { try toAsciiFail("c.xn--0-eha.xn--4db", true); } // [B1] test { try toUnicodeFail("b-.\xd7\x90"); } // [B6, V3] +test { try toAsciiFail("b-.\xd7\x90", false); } // [B6, V3] +test { try toAsciiFail("b-.\xd7\x90", true); } // [B6, V3] test { try toUnicodeFail("B-.\xd7\x90"); } // [B6, V3] +test { try toAsciiFail("B-.\xd7\x90", false); } // [B6, V3] +test { try toAsciiFail("B-.\xd7\x90", true); } // [B6, V3] test { try toUnicodeFail("b-.xn--4db"); } // [B6, V3] +test { try toAsciiFail("b-.xn--4db", false); } // [B6, V3] +test { try toAsciiFail("b-.xn--4db", true); } // [B6, V3] test { try toUnicodeFail("d.xn----dha.xn--4db"); } // [B6, V3] +test { try toAsciiFail("d.xn----dha.xn--4db", false); } // [B6, V3] +test { try toAsciiFail("d.xn----dha.xn--4db", true); } // [B6, V3] test { try toUnicodeFail("a\xd7\x90"); } // [B5, B6] +test { try toAsciiFail("a\xd7\x90", false); } // [B5, B6] +test { try toAsciiFail("a\xd7\x90", true); } // [B5, B6] test { try toUnicodeFail("A\xd7\x90"); } // [B5, B6] +test { try toAsciiFail("A\xd7\x90", false); } // [B5, B6] +test { try toAsciiFail("A\xd7\x90", true); } // [B5, B6] test { try toUnicodeFail("xn--a-0hc"); } // [B5, B6] +test { try toAsciiFail("xn--a-0hc", false); } // [B5, B6] +test { try toAsciiFail("xn--a-0hc", true); } // [B5, B6] test { try toUnicodePass("\xd7\x90\xd7\x87", "\xd7\x90\xd7\x87"); } test { try toAsciiPass("\xd7\x90\xd7\x87", "xn--vdbr", false); } test { try toAsciiPass("\xd7\x90\xd7\x87", "xn--vdbr", true); } @@ -717,8 +1110,14 @@ test { try toUnicodePass("xn--9-ihcz", "\xd7\x909\xd7\x87"); } test { try toAsciiPass("xn--9-ihcz", "xn--9-ihcz", false); } test { try toAsciiPass("xn--9-ihcz", "xn--9-ihcz", true); } test { try toUnicodeFail("\xd7\x90a\xd7\x87"); } // [B2, B3] +test { try toAsciiFail("\xd7\x90a\xd7\x87", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x90a\xd7\x87", true); } // [B2, B3] test { try toUnicodeFail("\xd7\x90A\xd7\x87"); } // [B2, B3] +test { try toAsciiFail("\xd7\x90A\xd7\x87", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x90A\xd7\x87", true); } // [B2, B3] test { try toUnicodeFail("xn--a-ihcz"); } // [B2, B3] +test { try toAsciiFail("xn--a-ihcz", false); } // [B2, B3] +test { try toAsciiFail("xn--a-ihcz", true); } // [B2, B3] test { try toUnicodePass("\xd7\x90\xd7\xaa", "\xd7\x90\xd7\xaa"); } test { try toAsciiPass("\xd7\x90\xd7\xaa", "xn--4db6c", false); } test { try toAsciiPass("\xd7\x90\xd7\xaa", "xn--4db6c", true); } @@ -732,13 +1131,29 @@ test { try toUnicodePass("xn--4db6c0a", "\xd7\x90\xd7\xb3\xd7\xaa"); } test { try toAsciiPass("xn--4db6c0a", "xn--4db6c0a", false); } test { try toAsciiPass("xn--4db6c0a", "xn--4db6c0a", true); } test { try toUnicodeFail("a\xd7\x90Tz"); } // [B5] +test { try toAsciiFail("a\xd7\x90Tz", false); } // [B5] +test { try toAsciiFail("a\xd7\x90Tz", true); } // [B5] test { try toUnicodeFail("a\xd7\x90tz"); } // [B5] +test { try toAsciiFail("a\xd7\x90tz", false); } // [B5] +test { try toAsciiFail("a\xd7\x90tz", true); } // [B5] test { try toUnicodeFail("A\xd7\x90TZ"); } // [B5] +test { try toAsciiFail("A\xd7\x90TZ", false); } // [B5] +test { try toAsciiFail("A\xd7\x90TZ", true); } // [B5] test { try toUnicodeFail("A\xd7\x90tz"); } // [B5] +test { try toAsciiFail("A\xd7\x90tz", false); } // [B5] +test { try toAsciiFail("A\xd7\x90tz", true); } // [B5] test { try toUnicodeFail("xn--atz-qpe"); } // [B5] +test { try toAsciiFail("xn--atz-qpe", false); } // [B5] +test { try toAsciiFail("xn--atz-qpe", true); } // [B5] test { try toUnicodeFail("\xd7\x90T\xd7\xaa"); } // [B2] +test { try toAsciiFail("\xd7\x90T\xd7\xaa", false); } // [B2] +test { try toAsciiFail("\xd7\x90T\xd7\xaa", true); } // [B2] test { try toUnicodeFail("\xd7\x90t\xd7\xaa"); } // [B2] +test { try toAsciiFail("\xd7\x90t\xd7\xaa", false); } // [B2] +test { try toAsciiFail("\xd7\x90t\xd7\xaa", true); } // [B2] test { try toUnicodeFail("xn--t-zhc3f"); } // [B2] +test { try toAsciiFail("xn--t-zhc3f", false); } // [B2] +test { try toAsciiFail("xn--t-zhc3f", true); } // [B2] test { try toUnicodePass("\xd7\x907\xd7\xaa", "\xd7\x907\xd7\xaa"); } test { try toAsciiPass("\xd7\x907\xd7\xaa", "xn--7-zhc3f", false); } test { try toAsciiPass("\xd7\x907\xd7\xaa", "xn--7-zhc3f", true); } @@ -752,11 +1167,23 @@ test { try toUnicodePass("xn--4db6c6t", "\xd7\x90\xd9\xa7\xd7\xaa"); } test { try toAsciiPass("xn--4db6c6t", "xn--4db6c6t", false); } test { try toAsciiPass("xn--4db6c6t", "xn--4db6c6t", true); } test { try toUnicodeFail("a7\xd9\xa7z"); } // [B5] +test { try toAsciiFail("a7\xd9\xa7z", false); } // [B5] +test { try toAsciiFail("a7\xd9\xa7z", true); } // [B5] test { try toUnicodeFail("A7\xd9\xa7Z"); } // [B5] +test { try toAsciiFail("A7\xd9\xa7Z", false); } // [B5] +test { try toAsciiFail("A7\xd9\xa7Z", true); } // [B5] test { try toUnicodeFail("A7\xd9\xa7z"); } // [B5] +test { try toAsciiFail("A7\xd9\xa7z", false); } // [B5] +test { try toAsciiFail("A7\xd9\xa7z", true); } // [B5] test { try toUnicodeFail("xn--a7z-06e"); } // [B5] +test { try toAsciiFail("xn--a7z-06e", false); } // [B5] +test { try toAsciiFail("xn--a7z-06e", true); } // [B5] test { try toUnicodeFail("\xd7\x907\xd9\xa7\xd7\xaa"); } // [B4] +test { try toAsciiFail("\xd7\x907\xd9\xa7\xd7\xaa", false); } // [B4] +test { try toAsciiFail("\xd7\x907\xd9\xa7\xd7\xaa", true); } // [B4] test { try toUnicodeFail("xn--7-zhc3fty"); } // [B4] +test { try toAsciiFail("xn--7-zhc3fty", false); } // [B4] +test { try toAsciiFail("xn--7-zhc3fty", true); } // [B4] test { try toUnicodePass("\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8d", "\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8d"); } test { try toAsciiPass("\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8d", "xn--dmc4b194h", false); } test { try toAsciiPass("\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8d", "xn--dmc4b", true); } @@ -771,6 +1198,7 @@ test { try toAsciiPass("xn--dmc4b194h", "xn--dmc4b194h", false); } test { try toAsciiPass("xn--dmc4b194h", "xn--dmc4b194h", true); } test { try toAsciiPass("\xe0\xae\xb9\xe2\x80\x8d", "xn--dmc", true); } test { try toUnicodeFail("\xe0\xae\xb9\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xe0\xae\xb9\xe2\x80\x8d", false); } // [C2] test { try toUnicodePass("xn--dmc", "\xe0\xae\xb9"); } test { try toAsciiPass("xn--dmc", "xn--dmc", false); } test { try toAsciiPass("xn--dmc", "xn--dmc", true); } @@ -778,8 +1206,14 @@ test { try toUnicodePass("\xe0\xae\xb9", "\xe0\xae\xb9"); } test { try toAsciiPass("\xe0\xae\xb9", "xn--dmc", false); } test { try toAsciiPass("\xe0\xae\xb9", "xn--dmc", true); } test { try toUnicodeFail("xn--dmc225h"); } // [C2] +test { try toAsciiFail("xn--dmc225h", false); } // [C2] +test { try toAsciiFail("xn--dmc225h", true); } // [C2] test { try toUnicodeFail("\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d", true); } // [A4_1, A4_2] test { try toUnicodeFail("xn--1ug"); } // [C2] +test { try toAsciiFail("xn--1ug", false); } // [C2] +test { try toAsciiFail("xn--1ug", true); } // [C2] test { try toUnicodePass("\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8c", "\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8c"); } test { try toAsciiPass("\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8c", "xn--dmc4by94h", false); } test { try toAsciiPass("\xe0\xae\xb9\xe0\xaf\x8d\xe2\x80\x8c", "xn--dmc4b", true); } @@ -788,9 +1222,16 @@ test { try toAsciiPass("xn--dmc4by94h", "xn--dmc4by94h", false); } test { try toAsciiPass("xn--dmc4by94h", "xn--dmc4by94h", true); } test { try toAsciiPass("\xe0\xae\xb9\xe2\x80\x8c", "xn--dmc", true); } test { try toUnicodeFail("\xe0\xae\xb9\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("\xe0\xae\xb9\xe2\x80\x8c", false); } // [C1] test { try toUnicodeFail("xn--dmc025h"); } // [C1] +test { try toAsciiFail("xn--dmc025h", false); } // [C1] +test { try toAsciiFail("xn--dmc025h", true); } // [C1] test { try toUnicodeFail("\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c", true); } // [A4_1, A4_2] test { try toUnicodeFail("xn--0ug"); } // [C1] +test { try toAsciiFail("xn--0ug", false); } // [C1] +test { try toAsciiFail("xn--0ug", true); } // [C1] test { try toUnicodePass("\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad\xdb\xaf", "\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad\xdb\xaf"); } test { try toAsciiPass("\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad\xdb\xaf", "xn--ghb2gxqia7523a", false); } test { try toAsciiPass("\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad\xdb\xaf", "xn--ghb2gxqia", true); } @@ -841,6 +1282,7 @@ test { try toAsciiPass("xn--ghb65a953d", "xn--ghb65a953d", false); } test { try toAsciiPass("xn--ghb65a953d", "xn--ghb65a953d", true); } test { try toAsciiPass("\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad", "xn--ghb2gxq", true); } test { try toUnicodeFail("\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad"); } // [B3, C1] +test { try toAsciiFail("\xd9\x84\xd9\xb0\xe2\x80\x8c\xdb\xad", false); } // [B3, C1] test { try toUnicodePass("xn--ghb2gxq", "\xd9\x84\xd9\xb0\xdb\xad"); } test { try toAsciiPass("xn--ghb2gxq", "xn--ghb2gxq", false); } test { try toAsciiPass("xn--ghb2gxq", "xn--ghb2gxq", true); } @@ -848,8 +1290,11 @@ test { try toUnicodePass("\xd9\x84\xd9\xb0\xdb\xad", "\xd9\x84\xd9\xb0\xdb\xad") test { try toAsciiPass("\xd9\x84\xd9\xb0\xdb\xad", "xn--ghb2gxq", false); } test { try toAsciiPass("\xd9\x84\xd9\xb0\xdb\xad", "xn--ghb2gxq", true); } test { try toUnicodeFail("xn--ghb2gxqy34f"); } // [B3, C1] +test { try toAsciiFail("xn--ghb2gxqy34f", false); } // [B3, C1] +test { try toAsciiFail("xn--ghb2gxqy34f", true); } // [B3, C1] test { try toAsciiPass("\xdb\xaf\xe2\x80\x8c\xdb\xaf", "xn--cmba", true); } test { try toUnicodeFail("\xdb\xaf\xe2\x80\x8c\xdb\xaf"); } // [C1] +test { try toAsciiFail("\xdb\xaf\xe2\x80\x8c\xdb\xaf", false); } // [C1] test { try toUnicodePass("xn--cmba", "\xdb\xaf\xdb\xaf"); } test { try toAsciiPass("xn--cmba", "xn--cmba", false); } test { try toAsciiPass("xn--cmba", "xn--cmba", true); } @@ -857,8 +1302,11 @@ test { try toUnicodePass("\xdb\xaf\xdb\xaf", "\xdb\xaf\xdb\xaf"); } test { try toAsciiPass("\xdb\xaf\xdb\xaf", "xn--cmba", false); } test { try toAsciiPass("\xdb\xaf\xdb\xaf", "xn--cmba", true); } test { try toUnicodeFail("xn--cmba004q"); } // [C1] +test { try toAsciiFail("xn--cmba004q", false); } // [C1] +test { try toAsciiFail("xn--cmba004q", true); } // [C1] test { try toAsciiPass("\xd9\x84\xe2\x80\x8c", "xn--ghb", true); } test { try toUnicodeFail("\xd9\x84\xe2\x80\x8c"); } // [B3, C1] +test { try toAsciiFail("\xd9\x84\xe2\x80\x8c", false); } // [B3, C1] test { try toUnicodePass("xn--ghb", "\xd9\x84"); } test { try toAsciiPass("xn--ghb", "xn--ghb", false); } test { try toAsciiPass("xn--ghb", "xn--ghb", true); } @@ -866,28 +1314,68 @@ test { try toUnicodePass("\xd9\x84", "\xd9\x84"); } test { try toAsciiPass("\xd9\x84", "xn--ghb", false); } test { try toAsciiPass("\xd9\x84", "xn--ghb", true); } test { try toUnicodeFail("xn--ghb413k"); } // [B3, C1] +test { try toAsciiFail("xn--ghb413k", false); } // [B3, C1] +test { try toAsciiFail("xn--ghb413k", true); } // [B3, C1] test { try toUnicodeFail("a\xe3\x80\x82\xe3\x80\x82b"); } // [X4_2] +test { try toAsciiFail("a\xe3\x80\x82\xe3\x80\x82b", false); } // [A4_2] +test { try toAsciiFail("a\xe3\x80\x82\xe3\x80\x82b", true); } // [A4_2] test { try toUnicodeFail("A\xe3\x80\x82\xe3\x80\x82B"); } // [X4_2] +test { try toAsciiFail("A\xe3\x80\x82\xe3\x80\x82B", false); } // [A4_2] +test { try toAsciiFail("A\xe3\x80\x82\xe3\x80\x82B", true); } // [A4_2] test { try toUnicodeFail("a..b"); } // [X4_2] +test { try toAsciiFail("a..b", false); } // [A4_2] +test { try toAsciiFail("a..b", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xe3\x80\x82\xda\xb9\xe2\x80\x8c"); } // [B1, B3, C1, C2, X4_2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xe3\x80\x82\xda\xb9\xe2\x80\x8c", false); } // [B1, B3, C1, C2, A4_2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xe3\x80\x82\xda\xb9\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodeFail("..xn--skb"); } // [X4_2] +test { try toAsciiFail("..xn--skb", false); } // [A4_2] +test { try toAsciiFail("..xn--skb", true); } // [A4_2] test { try toUnicodeFail("xn--1ug..xn--skb080k"); } // [B1, B3, C1, C2, X4_2] +test { try toAsciiFail("xn--1ug..xn--skb080k", false); } // [B1, B3, C1, C2, A4_2] +test { try toAsciiFail("xn--1ug..xn--skb080k", true); } // [B1, B3, C1, C2, A4_2] test { try toUnicodeFail("\xd7\x900\xd9\xa0"); } // [B4] +test { try toAsciiFail("\xd7\x900\xd9\xa0", false); } // [B4] +test { try toAsciiFail("\xd7\x900\xd9\xa0", true); } // [B4] test { try toUnicodeFail("xn--0-zhc74b"); } // [B4] +test { try toAsciiFail("xn--0-zhc74b", false); } // [B4] +test { try toAsciiFail("xn--0-zhc74b", true); } // [B4] test { try toUnicodeFail("$"); } // [U1] +test { try toAsciiFail("$", false); } // [U1] +test { try toAsciiFail("$", true); } // [U1] test { try toUnicodeFail("\xe2\x91\xb7.four"); } // [U1] +test { try toAsciiFail("\xe2\x91\xb7.four", false); } // [U1] +test { try toAsciiFail("\xe2\x91\xb7.four", true); } // [U1] test { try toUnicodeFail("(4).four"); } // [U1] +test { try toAsciiFail("(4).four", false); } // [U1] +test { try toAsciiFail("(4).four", true); } // [U1] test { try toUnicodeFail("\xe2\x91\xb7.FOUR"); } // [U1] +test { try toAsciiFail("\xe2\x91\xb7.FOUR", false); } // [U1] +test { try toAsciiFail("\xe2\x91\xb7.FOUR", true); } // [U1] test { try toUnicodeFail("\xe2\x91\xb7.Four"); } // [U1] +test { try toAsciiFail("\xe2\x91\xb7.Four", false); } // [U1] +test { try toAsciiFail("\xe2\x91\xb7.Four", true); } // [U1] test { try toUnicodeFail("a\xef\xbf\xbdz"); } // [V7] +test { try toAsciiFail("a\xef\xbf\xbdz", false); } // [V7, A3] +test { try toAsciiFail("a\xef\xbf\xbdz", true); } // [V7, A3] test { try toUnicodeFail("A\xef\xbf\xbdZ"); } // [V7] +test { try toAsciiFail("A\xef\xbf\xbdZ", false); } // [V7, A3] +test { try toAsciiFail("A\xef\xbf\xbdZ", true); } // [V7, A3] test { try toUnicodeFail("xn--"); } // [P4, X4_2] +test { try toAsciiFail("xn--", false); } // [P4, A4_1, A4_2] +test { try toAsciiFail("xn--", true); } // [P4, A4_1, A4_2] test { try toUnicodeFail("xn---"); } // [P4] +test { try toAsciiFail("xn---", false); } // [P4] +test { try toAsciiFail("xn---", true); } // [P4] test { try toUnicodeFail("xn--ASCII-"); } // [P4] +test { try toAsciiFail("xn--ASCII-", false); } // [P4] +test { try toAsciiFail("xn--ASCII-", true); } // [P4] test { try toUnicodePass("ascii", "ascii"); } test { try toAsciiPass("ascii", "ascii", false); } test { try toAsciiPass("ascii", "ascii", true); } test { try toUnicodeFail("xn--unicode-.org"); } // [P4] +test { try toAsciiFail("xn--unicode-.org", false); } // [P4] +test { try toAsciiFail("xn--unicode-.org", true); } // [P4] test { try toUnicodePass("unicode.org", "unicode.org"); } test { try toAsciiPass("unicode.org", "unicode.org", false); } test { try toAsciiPass("unicode.org", "unicode.org", true); } @@ -946,25 +1434,65 @@ test { try toUnicodePass("123456789012345678901234567890123456789012345678901234 test { try toAsciiPass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } test { try toAsciiPass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.xn--1234567890123456789012345678901234567890123456789012345-kue.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x88123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa4123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", false); } // [A4_1] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x84123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012345678901c", true); } // [A4_1] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a."); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", false); } // [A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123456789a.", true); } // [A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890A\xcc\x881234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } // [A4_1, A4_2] test { try toUnicodePass("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", "123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\xa41234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b"); } +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", false); } // [A4_1, A4_2] +test { try toAsciiFail("123456789012345678901234567890123456789012345678901234567890123.1234567890\xc3\x841234567890123456789012345678901234567890123456.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890b", true); } // [A4_1, A4_2] test { try toUnicodeFail("c.0\xc3\xbc.\xd7\x90"); } // [B1] +test { try toAsciiFail("c.0\xc3\xbc.\xd7\x90", false); } // [B1] +test { try toAsciiFail("c.0\xc3\xbc.\xd7\x90", true); } // [B1] test { try toUnicodeFail("c.0u\xcc\x88.\xd7\x90"); } // [B1] +test { try toAsciiFail("c.0u\xcc\x88.\xd7\x90", false); } // [B1] +test { try toAsciiFail("c.0u\xcc\x88.\xd7\x90", true); } // [B1] test { try toUnicodeFail("C.0U\xcc\x88.\xd7\x90"); } // [B1] +test { try toAsciiFail("C.0U\xcc\x88.\xd7\x90", false); } // [B1] +test { try toAsciiFail("C.0U\xcc\x88.\xd7\x90", true); } // [B1] test { try toUnicodeFail("C.0\xc3\x9c.\xd7\x90"); } // [B1] +test { try toAsciiFail("C.0\xc3\x9c.\xd7\x90", false); } // [B1] +test { try toAsciiFail("C.0\xc3\x9c.\xd7\x90", true); } // [B1] test { try toUnicodeFail("C.0\xc3\xbc.\xd7\x90"); } // [B1] +test { try toAsciiFail("C.0\xc3\xbc.\xd7\x90", false); } // [B1] +test { try toAsciiFail("C.0\xc3\xbc.\xd7\x90", true); } // [B1] test { try toUnicodeFail("C.0u\xcc\x88.\xd7\x90"); } // [B1] +test { try toAsciiFail("C.0u\xcc\x88.\xd7\x90", false); } // [B1] +test { try toAsciiFail("C.0u\xcc\x88.\xd7\x90", true); } // [B1] test { try toUnicodeFail("\xe2\x92\x95\xe2\x88\x9d\xd9\x9f\xf2\x93\xa4\xa6\xef\xbc\x8e-\xf3\xa0\x84\xaf"); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x95\xe2\x88\x9d\xd9\x9f\xf2\x93\xa4\xa6\xef\xbc\x8e-\xf3\xa0\x84\xaf", false); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x95\xe2\x88\x9d\xd9\x9f\xf2\x93\xa4\xa6\xef\xbc\x8e-\xf3\xa0\x84\xaf", true); } // [V3, V7] test { try toUnicodeFail("14.\xe2\x88\x9d\xd9\x9f\xf2\x93\xa4\xa6.-\xf3\xa0\x84\xaf"); } // [V3, V7] +test { try toAsciiFail("14.\xe2\x88\x9d\xd9\x9f\xf2\x93\xa4\xa6.-\xf3\xa0\x84\xaf", false); } // [V3, V7] +test { try toAsciiFail("14.\xe2\x88\x9d\xd9\x9f\xf2\x93\xa4\xa6.-\xf3\xa0\x84\xaf", true); } // [V3, V7] test { try toUnicodeFail("14.xn--7hb713l3v90n.-"); } // [V3, V7] +test { try toAsciiFail("14.xn--7hb713l3v90n.-", false); } // [V3, V7] +test { try toAsciiFail("14.xn--7hb713l3v90n.-", true); } // [V3, V7] test { try toUnicodeFail("xn--7hb713lfwbi1311b.-"); } // [V3, V7] +test { try toAsciiFail("xn--7hb713lfwbi1311b.-", false); } // [V3, V7] +test { try toAsciiFail("xn--7hb713lfwbi1311b.-", true); } // [V3, V7] test { try toUnicodePass("\xea\xa1\xa3.\xdf\x8f", "\xea\xa1\xa3.\xdf\x8f"); } test { try toAsciiPass("\xea\xa1\xa3.\xdf\x8f", "xn--8c9a.xn--qsb", false); } test { try toAsciiPass("\xea\xa1\xa3.\xdf\x8f", "xn--8c9a.xn--qsb", true); } @@ -972,34 +1500,80 @@ test { try toUnicodePass("xn--8c9a.xn--qsb", "\xea\xa1\xa3.\xdf\x8f"); } test { try toAsciiPass("xn--8c9a.xn--qsb", "xn--8c9a.xn--qsb", false); } test { try toAsciiPass("xn--8c9a.xn--qsb", "xn--8c9a.xn--qsb", true); } test { try toUnicodeFail("\xe2\x89\xaf\xd8\x83\xef\xbd\xa1-"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xaf\xd8\x83\xef\xbd\xa1-", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xaf\xd8\x83\xef\xbd\xa1-", true); } // [B1, V3, V7] test { try toUnicodeFail(">\xcc\xb8\xd8\x83\xef\xbd\xa1-"); } // [B1, V3, V7] +test { try toAsciiFail(">\xcc\xb8\xd8\x83\xef\xbd\xa1-", false); } // [B1, V3, V7] +test { try toAsciiFail(">\xcc\xb8\xd8\x83\xef\xbd\xa1-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x89\xaf\xd8\x83\xe3\x80\x82-"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xaf\xd8\x83\xe3\x80\x82-", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xaf\xd8\x83\xe3\x80\x82-", true); } // [B1, V3, V7] test { try toUnicodeFail(">\xcc\xb8\xd8\x83\xe3\x80\x82-"); } // [B1, V3, V7] +test { try toAsciiFail(">\xcc\xb8\xd8\x83\xe3\x80\x82-", false); } // [B1, V3, V7] +test { try toAsciiFail(">\xcc\xb8\xd8\x83\xe3\x80\x82-", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--lfb566l.-"); } // [B1, V3, V7] +test { try toAsciiFail("xn--lfb566l.-", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--lfb566l.-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe1\x82\xad"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe1\x82\xad", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe1\x82\xad", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe1\x82\xad"); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe1\x82\xad", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe1\x82\xad", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe2\xb4\x8d"); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe2\xb4\x8d", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe2\xb4\x8d", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe1\x82\xad"); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe1\x82\xad", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe1\x82\xad", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x83\xe2\xb4\x8d"); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x83\xe2\xb4\x8d", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x83\xe2\xb4\x8d", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe2\xb4\x8d"); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe2\xb4\x8d", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xf0\x90\xb9\xa7\xe8\xb0\xb7.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe2\xb4\x8d", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6g3a1x434z.xn--4xa452s5d17u"); } // [B1, B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--4xa452s5d17u", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--4xa452s5d17u", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6g3a1x434z.xn--3xa652s5d17u"); } // [B1, B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--3xa652s5d17u", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--3xa652s5d17u", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe2\xb4\x8d"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe2\xb4\x8d", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x82\xe2\xb4\x8d", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe1\x82\xad"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe1\x82\xad", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe1\x82\xad", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x83\xe2\xb4\x8d"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x83\xe2\xb4\x8d", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xcf\x83\xe2\xb4\x8d", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe2\xb4\x8d"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe2\xb4\x8d", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xf0\x90\xb9\xa7\xe2\xbe\x95.\xe1\x85\x9f\xf3\xa0\x97\xb0\xce\xa3\xe2\xb4\x8d", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6g3a1x434z.xn--4xa180eotvh7453a"); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--4xa180eotvh7453a", false); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--4xa180eotvh7453a", true); } // [B5, V7] test { try toUnicodeFail("xn--6g3a1x434z.xn--4xa627dhpae6345i"); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--4xa627dhpae6345i", false); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--4xa627dhpae6345i", true); } // [B5, V7] test { try toUnicodeFail("xn--6g3a1x434z.xn--3xa380eotvh7453a"); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--3xa380eotvh7453a", false); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--3xa380eotvh7453a", true); } // [B5, V7] test { try toUnicodeFail("xn--6g3a1x434z.xn--3xa827dhpae6345i"); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--3xa827dhpae6345i", false); } // [B5, V7] +test { try toAsciiFail("xn--6g3a1x434z.xn--3xa827dhpae6345i", true); } // [B5, V7] test { try toAsciiPass("\xe2\x80\x8d\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe1\x82\xa0", "xn--jbf911clb.xn----p9j493ivi4l", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe1\x82\xa0"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe1\x82\xa0", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d=\xcc\xb8\xe1\xa2\x99>\xcc\xb8.\xe1\x84\x89\xe1\x85\xa9\xe1\x86\xbe-\xe1\xa1\xb4\xe1\x82\xa0", "xn--jbf911clb.xn----p9j493ivi4l", true); } test { try toUnicodeFail("\xe2\x80\x8d=\xcc\xb8\xe1\xa2\x99>\xcc\xb8.\xe1\x84\x89\xe1\x85\xa9\xe1\x86\xbe-\xe1\xa1\xb4\xe1\x82\xa0"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d=\xcc\xb8\xe1\xa2\x99>\xcc\xb8.\xe1\x84\x89\xe1\x85\xa9\xe1\x86\xbe-\xe1\xa1\xb4\xe1\x82\xa0", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d=\xcc\xb8\xe1\xa2\x99>\xcc\xb8.\xe1\x84\x89\xe1\x85\xa9\xe1\x86\xbe-\xe1\xa1\xb4\xe2\xb4\x80", "xn--jbf911clb.xn----p9j493ivi4l", true); } test { try toUnicodeFail("\xe2\x80\x8d=\xcc\xb8\xe1\xa2\x99>\xcc\xb8.\xe1\x84\x89\xe1\x85\xa9\xe1\x86\xbe-\xe1\xa1\xb4\xe2\xb4\x80"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d=\xcc\xb8\xe1\xa2\x99>\xcc\xb8.\xe1\x84\x89\xe1\x85\xa9\xe1\x86\xbe-\xe1\xa1\xb4\xe2\xb4\x80", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe2\xb4\x80", "xn--jbf911clb.xn----p9j493ivi4l", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe2\xb4\x80"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe2\xb4\x80", false); } // [C2] test { try toUnicodePass("xn--jbf911clb.xn----p9j493ivi4l", "\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe2\xb4\x80"); } test { try toAsciiPass("xn--jbf911clb.xn----p9j493ivi4l", "xn--jbf911clb.xn----p9j493ivi4l", false); } test { try toAsciiPass("xn--jbf911clb.xn----p9j493ivi4l", "xn--jbf911clb.xn----p9j493ivi4l", true); } @@ -1016,269 +1590,797 @@ test { try toUnicodePass("\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1 test { try toAsciiPass("\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe1\x82\xa0", "xn--jbf911clb.xn----p9j493ivi4l", false); } test { try toAsciiPass("\xe2\x89\xa0\xe1\xa2\x99\xe2\x89\xaf.\xec\x86\xa3-\xe1\xa1\xb4\xe1\x82\xa0", "xn--jbf911clb.xn----p9j493ivi4l", true); } test { try toUnicodeFail("xn--jbf929a90b0b.xn----p9j493ivi4l"); } // [C2] +test { try toAsciiFail("xn--jbf929a90b0b.xn----p9j493ivi4l", false); } // [C2] +test { try toAsciiFail("xn--jbf929a90b0b.xn----p9j493ivi4l", true); } // [C2] test { try toUnicodeFail("xn--jbf911clb.xn----6zg521d196p"); } // [V7] +test { try toAsciiFail("xn--jbf911clb.xn----6zg521d196p", false); } // [V7] +test { try toAsciiFail("xn--jbf911clb.xn----6zg521d196p", true); } // [V7] test { try toUnicodeFail("xn--jbf929a90b0b.xn----6zg521d196p"); } // [C2, V7] +test { try toAsciiFail("xn--jbf929a90b0b.xn----6zg521d196p", false); } // [C2, V7] +test { try toAsciiFail("xn--jbf929a90b0b.xn----6zg521d196p", true); } // [C2, V7] test { try toUnicodeFail("\xf1\xaf\x9e\x9c\xef\xbc\x8e\xf0\x90\xbf\x87\xe0\xbe\xa2\xdd\xbd\xd8\x80"); } // [V7] +test { try toAsciiFail("\xf1\xaf\x9e\x9c\xef\xbc\x8e\xf0\x90\xbf\x87\xe0\xbe\xa2\xdd\xbd\xd8\x80", false); } // [V7] +test { try toAsciiFail("\xf1\xaf\x9e\x9c\xef\xbc\x8e\xf0\x90\xbf\x87\xe0\xbe\xa2\xdd\xbd\xd8\x80", true); } // [V7] test { try toUnicodeFail("\xf1\xaf\x9e\x9c\xef\xbc\x8e\xf0\x90\xbf\x87\xe0\xbe\xa1\xe0\xbe\xb7\xdd\xbd\xd8\x80"); } // [V7] +test { try toAsciiFail("\xf1\xaf\x9e\x9c\xef\xbc\x8e\xf0\x90\xbf\x87\xe0\xbe\xa1\xe0\xbe\xb7\xdd\xbd\xd8\x80", false); } // [V7] +test { try toAsciiFail("\xf1\xaf\x9e\x9c\xef\xbc\x8e\xf0\x90\xbf\x87\xe0\xbe\xa1\xe0\xbe\xb7\xdd\xbd\xd8\x80", true); } // [V7] test { try toUnicodeFail("\xf1\xaf\x9e\x9c.\xf0\x90\xbf\x87\xe0\xbe\xa1\xe0\xbe\xb7\xdd\xbd\xd8\x80"); } // [V7] +test { try toAsciiFail("\xf1\xaf\x9e\x9c.\xf0\x90\xbf\x87\xe0\xbe\xa1\xe0\xbe\xb7\xdd\xbd\xd8\x80", false); } // [V7] +test { try toAsciiFail("\xf1\xaf\x9e\x9c.\xf0\x90\xbf\x87\xe0\xbe\xa1\xe0\xbe\xb7\xdd\xbd\xd8\x80", true); } // [V7] test { try toUnicodeFail("xn--gw68a.xn--ifb57ev2psc6027m"); } // [V7] +test { try toAsciiFail("xn--gw68a.xn--ifb57ev2psc6027m", false); } // [V7] +test { try toAsciiFail("xn--gw68a.xn--ifb57ev2psc6027m", true); } // [V7] test { try toUnicodeFail("\xf0\xa3\xb3\x94\xcc\x83.\xf0\x91\x93\x82"); } // [V6] +test { try toAsciiFail("\xf0\xa3\xb3\x94\xcc\x83.\xf0\x91\x93\x82", false); } // [V6] +test { try toAsciiFail("\xf0\xa3\xb3\x94\xcc\x83.\xf0\x91\x93\x82", true); } // [V6] test { try toUnicodeFail("xn--nsa95820a.xn--wz1d"); } // [V6] +test { try toAsciiFail("xn--nsa95820a.xn--wz1d", false); } // [V6] +test { try toAsciiFail("xn--nsa95820a.xn--wz1d", true); } // [V6] test { try toUnicodeFail("\xf0\x9e\xa4\x80\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe1\x83\x83\xea\xa1\xa5"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x80\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe1\x83\x83\xea\xa1\xa5", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x80\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe1\x83\x83\xea\xa1\xa5", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xa2\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe2\xb4\xa3\xea\xa1\xa5"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xa2\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe2\xb4\xa3\xea\xa1\xa5", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xa2\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe2\xb4\xa3\xea\xa1\xa5", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--9d6hgcy3556a.xn--rlju750b"); } // [B2, B3, V7] +test { try toAsciiFail("xn--9d6hgcy3556a.xn--rlju750b", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--9d6hgcy3556a.xn--rlju750b", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--9d6hgcy3556a.xn--7nd0578e"); } // [B2, B3, V7] +test { try toAsciiFail("xn--9d6hgcy3556a.xn--7nd0578e", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--9d6hgcy3556a.xn--7nd0578e", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x80\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe2\xb4\xa3\xea\xa1\xa5"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x80\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe2\xb4\xa3\xea\xa1\xa5", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x80\xf0\x9e\xa5\x85\xf1\x98\x90\xb1\xe3\x80\x82\xf3\xa0\x84\x8c\xe2\xb4\xa3\xea\xa1\xa5", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x82\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x82\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x82\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x82\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x82\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x82\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xce\xa3\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xce\xa3\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xce\xa3\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xce\xa3\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xce\xa3\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xce\xa3\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x83\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x83\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x83\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xeb\xa0\xa7", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x83\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x83\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa3\xa2\xf0\x91\x81\xbf\xcf\x83\xf0\x96\xac\xb1\xe3\x80\x82\xf3\xa0\x85\xa1\xe1\x84\x85\xe1\x85\xa7\xe1\x86\xaa", true); } // [B1, V7] test { try toUnicodeFail("xn--4xa53xp48ys2xc.xn--kn2b"); } // [B1, V7] +test { try toAsciiFail("xn--4xa53xp48ys2xc.xn--kn2b", false); } // [B1, V7] +test { try toAsciiFail("xn--4xa53xp48ys2xc.xn--kn2b", true); } // [B1, V7] test { try toUnicodeFail("xn--3xa73xp48ys2xc.xn--kn2b"); } // [B1, V7] +test { try toAsciiFail("xn--3xa73xp48ys2xc.xn--kn2b", false); } // [B1, V7] +test { try toAsciiFail("xn--3xa73xp48ys2xc.xn--kn2b", true); } // [B1, V7] test { try toUnicodeFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x8d\xe2\x80\x8c\xe2\x80\x8d\xe2\x92\x88"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x8d\xe2\x80\x8c\xe2\x80\x8d\xe2\x92\x88", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x8d\xe2\x80\x8c\xe2\x80\x8d\xe2\x92\x88", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x8d\xe2\x80\x8c\xe2\x80\x8d1."); } // [B1, C1, C2, V3] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x8d\xe2\x80\x8c\xe2\x80\x8d1.", false); } // [B1, C1, C2, V3, A4_2] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x8d\xe2\x80\x8c\xe2\x80\x8d1.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xaf\xe2\x80\x8c\xe2\x80\x8d1."); } // [B1, C1, C2, V3] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xaf\xe2\x80\x8c\xe2\x80\x8d1.", false); } // [B1, C1, C2, V3, A4_2] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xaf\xe2\x80\x8c\xe2\x80\x8d1.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("-.xn--1-0i8r."); } // [B1, V3] +test { try toAsciiFail("-.xn--1-0i8r.", false); } // [B1, V3, A4_2] +test { try toAsciiFail("-.xn--1-0i8r.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn----ugn.xn--1-rgnd61297b."); } // [B1, C1, C2, V3] +test { try toAsciiFail("xn----ugn.xn--1-rgnd61297b.", false); } // [B1, C1, C2, V3, A4_2] +test { try toAsciiFail("xn----ugn.xn--1-rgnd61297b.", true); } // [B1, C1, C2, V3, A4_2] test { try toUnicodeFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xaf\xe2\x80\x8c\xe2\x80\x8d\xe2\x92\x88"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xaf\xe2\x80\x8c\xe2\x80\x8d\xe2\x92\x88", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xaf\xe2\x80\x8c\xe2\x80\x8d\xe2\x92\x88", true); } // [B1, V3, V7] test { try toUnicodeFail("-.xn--tsh3666n"); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--tsh3666n", false); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--tsh3666n", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ugn.xn--0ugc555aiv51d"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn----ugn.xn--0ugc555aiv51d", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn----ugn.xn--0ugc555aiv51d", true); } // [B1, C1, C2, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf2\x85\x8e\xad.\xe1\x82\xb2\xf0\x91\x87\x80"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\x85\x8e\xad.\xe1\x82\xb2\xf0\x91\x87\x80", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\x85\x8e\xad.\xe1\x82\xb2\xf0\x91\x87\x80", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xf2\x85\x8e\xad.\xe2\xb4\x92\xf0\x91\x87\x80"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\x85\x8e\xad.\xe2\xb4\x92\xf0\x91\x87\x80", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\x85\x8e\xad.\xe2\xb4\x92\xf0\x91\x87\x80", true); } // [V7] test { try toUnicodeFail("xn--bn95b.xn--9kj2034e"); } // [V7] +test { try toAsciiFail("xn--bn95b.xn--9kj2034e", false); } // [V7] +test { try toAsciiFail("xn--bn95b.xn--9kj2034e", true); } // [V7] test { try toUnicodeFail("xn--0ug15083f.xn--9kj2034e"); } // [C1, V7] +test { try toAsciiFail("xn--0ug15083f.xn--9kj2034e", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug15083f.xn--9kj2034e", true); } // [C1, V7] test { try toUnicodeFail("xn--bn95b.xn--qnd6272k"); } // [V7] +test { try toAsciiFail("xn--bn95b.xn--qnd6272k", false); } // [V7] +test { try toAsciiFail("xn--bn95b.xn--qnd6272k", true); } // [V7] test { try toUnicodeFail("xn--0ug15083f.xn--qnd6272k"); } // [C1, V7] +test { try toAsciiFail("xn--0ug15083f.xn--qnd6272k", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug15083f.xn--qnd6272k", true); } // [C1, V7] test { try toUnicodeFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.\xef\xbc\x98\xef\xb8\x92"); } // [V7] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.\xef\xbc\x98\xef\xb8\x92", false); } // [V7] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.\xef\xbc\x98\xef\xb8\x92", true); } // [V7] test { try toUnicodePass("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.8\xe3\x80\x82", "\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.8."); } +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.8\xe3\x80\x82", false); } // [A4_2] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.8\xe3\x80\x82", true); } // [A4_2] test { try toUnicodePass("xn--gl0as212a.i.", "\xe7\xb9\xb1\xf0\x91\x96\xbf.i."); } +test { try toAsciiFail("xn--gl0as212a.i.", false); } // [A4_2] +test { try toAsciiFail("xn--gl0as212a.i.", true); } // [A4_2] test { try toUnicodePass("\xe7\xb9\xb1\xf0\x91\x96\xbf.i.", "\xe7\xb9\xb1\xf0\x91\x96\xbf.i."); } +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf.i.", false); } // [A4_2] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf.i.", true); } // [A4_2] test { try toUnicodePass("\xe7\xb9\xb1\xf0\x91\x96\xbf.I.", "\xe7\xb9\xb1\xf0\x91\x96\xbf.i."); } +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf.I.", false); } // [A4_2] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf.I.", true); } // [A4_2] test { try toUnicodePass("xn--1ug6928ac48e.i.", "\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.i."); } +test { try toAsciiFail("xn--1ug6928ac48e.i.", false); } // [A4_2] +test { try toAsciiFail("xn--1ug6928ac48e.i.", true); } // [A4_2] test { try toUnicodePass("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.i.", "\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.i."); } +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.i.", false); } // [A4_2] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.i.", true); } // [A4_2] test { try toUnicodePass("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.I.", "\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.i."); } +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.I.", false); } // [A4_2] +test { try toAsciiFail("\xe7\xb9\xb1\xf0\x91\x96\xbf\xe2\x80\x8d.I.", true); } // [A4_2] test { try toUnicodeFail("xn--gl0as212a.xn--8-o89h"); } // [V7] +test { try toAsciiFail("xn--gl0as212a.xn--8-o89h", false); } // [V7] +test { try toAsciiFail("xn--gl0as212a.xn--8-o89h", true); } // [V7] test { try toUnicodeFail("xn--1ug6928ac48e.xn--8-o89h"); } // [V7] +test { try toAsciiFail("xn--1ug6928ac48e.xn--8-o89h", false); } // [V7] +test { try toAsciiFail("xn--1ug6928ac48e.xn--8-o89h", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x86\xbe\xef\xbc\x8e\xf0\x9e\x80\x88"); } // [V6, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xbe\xef\xbc\x8e\xf0\x9e\x80\x88", false); } // [V6, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xbe\xef\xbc\x8e\xf0\x9e\x80\x88", true); } // [V6, A4_2] test { try toUnicodeFail("\xf3\xa0\x86\xbe.\xf0\x9e\x80\x88"); } // [V6, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xbe.\xf0\x9e\x80\x88", false); } // [V6, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xbe.\xf0\x9e\x80\x88", true); } // [V6, A4_2] test { try toUnicodeFail(".xn--ph4h"); } // [V6, X4_2] +test { try toAsciiFail(".xn--ph4h", false); } // [V6, A4_2] +test { try toAsciiFail(".xn--ph4h", true); } // [V6, A4_2] test { try toUnicodeFail("\xc3\x9f\xdb\xab\xe3\x80\x82\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xc3\x9f\xdb\xab\xe3\x80\x82\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("\xc3\x9f\xdb\xab\xe3\x80\x82\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("SS\xdb\xab\xe3\x80\x82\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("SS\xdb\xab\xe3\x80\x82\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("SS\xdb\xab\xe3\x80\x82\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("ss\xdb\xab\xe3\x80\x82\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("ss\xdb\xab\xe3\x80\x82\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("ss\xdb\xab\xe3\x80\x82\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("Ss\xdb\xab\xe3\x80\x82\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("Ss\xdb\xab\xe3\x80\x82\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("Ss\xdb\xab\xe3\x80\x82\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodePass("xn--ss-59d.", "ss\xdb\xab."); } +test { try toAsciiFail("xn--ss-59d.", false); } // [A4_2] +test { try toAsciiFail("xn--ss-59d.", true); } // [A4_2] test { try toUnicodePass("ss\xdb\xab.", "ss\xdb\xab."); } +test { try toAsciiFail("ss\xdb\xab.", false); } // [A4_2] +test { try toAsciiFail("ss\xdb\xab.", true); } // [A4_2] test { try toUnicodePass("SS\xdb\xab.", "ss\xdb\xab."); } +test { try toAsciiFail("SS\xdb\xab.", false); } // [A4_2] +test { try toAsciiFail("SS\xdb\xab.", true); } // [A4_2] test { try toUnicodePass("Ss\xdb\xab.", "ss\xdb\xab."); } +test { try toAsciiFail("Ss\xdb\xab.", false); } // [A4_2] +test { try toAsciiFail("Ss\xdb\xab.", true); } // [A4_2] test { try toUnicodeFail("xn--ss-59d.xn--1ug"); } // [C2] +test { try toAsciiFail("xn--ss-59d.xn--1ug", false); } // [C2] +test { try toAsciiFail("xn--ss-59d.xn--1ug", true); } // [C2] test { try toUnicodeFail("xn--zca012a.xn--1ug"); } // [C2] +test { try toAsciiFail("xn--zca012a.xn--1ug", false); } // [C2] +test { try toAsciiFail("xn--zca012a.xn--1ug", true); } // [C2] test { try toUnicodeFail("\xf3\xa0\x90\xb5\xe2\x80\x8c\xe2\x92\x88\xef\xbc\x8e\xf3\xa0\x8e\x87"); } // [C1, V7] +test { try toAsciiFail("\xf3\xa0\x90\xb5\xe2\x80\x8c\xe2\x92\x88\xef\xbc\x8e\xf3\xa0\x8e\x87", false); } // [C1, V7] +test { try toAsciiFail("\xf3\xa0\x90\xb5\xe2\x80\x8c\xe2\x92\x88\xef\xbc\x8e\xf3\xa0\x8e\x87", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x90\xb5\xe2\x80\x8c1..\xf3\xa0\x8e\x87"); } // [C1, V7, X4_2] +test { try toAsciiFail("\xf3\xa0\x90\xb5\xe2\x80\x8c1..\xf3\xa0\x8e\x87", false); } // [C1, V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x90\xb5\xe2\x80\x8c1..\xf3\xa0\x8e\x87", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-bs31m..xn--tv36e"); } // [V7, X4_2] +test { try toAsciiFail("xn--1-bs31m..xn--tv36e", false); } // [V7, A4_2] +test { try toAsciiFail("xn--1-bs31m..xn--tv36e", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-rgn37671n..xn--tv36e"); } // [C1, V7, X4_2] +test { try toAsciiFail("xn--1-rgn37671n..xn--tv36e", false); } // [C1, V7, A4_2] +test { try toAsciiFail("xn--1-rgn37671n..xn--tv36e", true); } // [C1, V7, A4_2] test { try toUnicodeFail("xn--tshz2001k.xn--tv36e"); } // [V7] +test { try toAsciiFail("xn--tshz2001k.xn--tv36e", false); } // [V7] +test { try toAsciiFail("xn--tshz2001k.xn--tv36e", true); } // [V7] test { try toUnicodeFail("xn--0ug88o47900b.xn--tv36e"); } // [C1, V7] +test { try toAsciiFail("xn--0ug88o47900b.xn--tv36e", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug88o47900b.xn--tv36e", true); } // [C1, V7] test { try toUnicodeFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2\xc3\x9f\xe3\x80\x82\xf3\x8c\x93\xa7"); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2\xc3\x9f\xe3\x80\x82\xf3\x8c\x93\xa7", false); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2\xc3\x9f\xe3\x80\x82\xf3\x8c\x93\xa7", true); } // [V7] test { try toUnicodeFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2SS\xe3\x80\x82\xf3\x8c\x93\xa7"); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2SS\xe3\x80\x82\xf3\x8c\x93\xa7", false); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2SS\xe3\x80\x82\xf3\x8c\x93\xa7", true); } // [V7] test { try toUnicodeFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2ss\xe3\x80\x82\xf3\x8c\x93\xa7"); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2ss\xe3\x80\x82\xf3\x8c\x93\xa7", false); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2ss\xe3\x80\x82\xf3\x8c\x93\xa7", true); } // [V7] test { try toUnicodeFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2Ss\xe3\x80\x82\xf3\x8c\x93\xa7"); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2Ss\xe3\x80\x82\xf3\x8c\x93\xa7", false); } // [V7] +test { try toAsciiFail("\xf3\x9f\x88\xa3\xd9\x9f\xea\xaa\xb2Ss\xe3\x80\x82\xf3\x8c\x93\xa7", true); } // [V7] test { try toUnicodeFail("xn--ss-3xd2839nncy1m.xn--bb79d"); } // [V7] +test { try toAsciiFail("xn--ss-3xd2839nncy1m.xn--bb79d", false); } // [V7] +test { try toAsciiFail("xn--ss-3xd2839nncy1m.xn--bb79d", true); } // [V7] test { try toUnicodeFail("xn--zca92z0t7n5w96j.xn--bb79d"); } // [V7] +test { try toAsciiFail("xn--zca92z0t7n5w96j.xn--bb79d", false); } // [V7] +test { try toAsciiFail("xn--zca92z0t7n5w96j.xn--bb79d", true); } // [V7] test { try toUnicodeFail("\xdd\xb4\xe2\x80\x8c\xf0\x9e\xa4\xbf\xe3\x80\x82\xf0\xbd\x98\x90\xe4\x89\x9c\xe2\x80\x8d\xf1\xbf\xa4\xbc"); } // [C1, C2, V7] +test { try toAsciiFail("\xdd\xb4\xe2\x80\x8c\xf0\x9e\xa4\xbf\xe3\x80\x82\xf0\xbd\x98\x90\xe4\x89\x9c\xe2\x80\x8d\xf1\xbf\xa4\xbc", false); } // [C1, C2, V7] +test { try toAsciiFail("\xdd\xb4\xe2\x80\x8c\xf0\x9e\xa4\xbf\xe3\x80\x82\xf0\xbd\x98\x90\xe4\x89\x9c\xe2\x80\x8d\xf1\xbf\xa4\xbc", true); } // [V7] test { try toUnicodeFail("\xdd\xb4\xe2\x80\x8c\xf0\x9e\xa4\x9d\xe3\x80\x82\xf0\xbd\x98\x90\xe4\x89\x9c\xe2\x80\x8d\xf1\xbf\xa4\xbc"); } // [C1, C2, V7] +test { try toAsciiFail("\xdd\xb4\xe2\x80\x8c\xf0\x9e\xa4\x9d\xe3\x80\x82\xf0\xbd\x98\x90\xe4\x89\x9c\xe2\x80\x8d\xf1\xbf\xa4\xbc", false); } // [C1, C2, V7] +test { try toAsciiFail("\xdd\xb4\xe2\x80\x8c\xf0\x9e\xa4\x9d\xe3\x80\x82\xf0\xbd\x98\x90\xe4\x89\x9c\xe2\x80\x8d\xf1\xbf\xa4\xbc", true); } // [V7] test { try toUnicodeFail("xn--4pb2977v.xn--z0nt555ukbnv"); } // [V7] +test { try toAsciiFail("xn--4pb2977v.xn--z0nt555ukbnv", false); } // [V7] +test { try toAsciiFail("xn--4pb2977v.xn--z0nt555ukbnv", true); } // [V7] test { try toUnicodeFail("xn--4pb607jjt73a.xn--1ug236ke314donv1a"); } // [C1, C2, V7] +test { try toAsciiFail("xn--4pb607jjt73a.xn--1ug236ke314donv1a", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--4pb607jjt73a.xn--1ug236ke314donv1a", true); } // [C1, C2, V7] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x82\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb11..\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb11..<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--1-zmb699meq63t..xn--gdh5392g6sd"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--1-zmb699meq63t..xn--gdh5392g6sd", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--1-zmb699meq63t..xn--gdh5392g6sd", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--1-zmb699meq63t..xn--1ug85gn777ahze"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--1-zmb699meq63t..xn--1ug85gn777ahze", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--1-zmb699meq63t..xn--1ug85gn777ahze", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--1-xmb999meq63t..xn--1ug85gn777ahze"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--1-xmb999meq63t..xn--1ug85gn777ahze", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--1-xmb999meq63t..xn--1ug85gn777ahze", true); } // [B1, V7, A4_2] test { try toUnicodeFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xce\xa3\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb1\xe2\x92\x88.\xe2\x89\xae\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x94\xad\x9c\xcf\x83\xe1\xa1\xb1\xe2\x92\x88.<\xcc\xb8\xf0\x91\x84\xb3\xe2\x80\x8d\xf0\x90\xae\x8d", true); } // [B1, V7] test { try toUnicodeFail("xn--4xa207hkzinr77u.xn--gdh5392g6sd"); } // [B1, V7] +test { try toAsciiFail("xn--4xa207hkzinr77u.xn--gdh5392g6sd", false); } // [B1, V7] +test { try toAsciiFail("xn--4xa207hkzinr77u.xn--gdh5392g6sd", true); } // [B1, V7] test { try toUnicodeFail("xn--4xa207hkzinr77u.xn--1ug85gn777ahze"); } // [B1, V7] +test { try toAsciiFail("xn--4xa207hkzinr77u.xn--1ug85gn777ahze", false); } // [B1, V7] +test { try toAsciiFail("xn--4xa207hkzinr77u.xn--1ug85gn777ahze", true); } // [B1, V7] test { try toUnicodeFail("xn--3xa407hkzinr77u.xn--1ug85gn777ahze"); } // [B1, V7] +test { try toAsciiFail("xn--3xa407hkzinr77u.xn--1ug85gn777ahze", false); } // [B1, V7] +test { try toAsciiFail("xn--3xa407hkzinr77u.xn--1ug85gn777ahze", true); } // [B1, V7] test { try toUnicodeFail("\xe3\x85\xa4\xe0\xa5\x8d\xe1\x82\xa0\xe1\x9f\x90.\xe1\xa0\x8b"); } // [V6] +test { try toAsciiFail("\xe3\x85\xa4\xe0\xa5\x8d\xe1\x82\xa0\xe1\x9f\x90.\xe1\xa0\x8b", false); } // [V6, A4_2] +test { try toAsciiFail("\xe3\x85\xa4\xe0\xa5\x8d\xe1\x82\xa0\xe1\x9f\x90.\xe1\xa0\x8b", true); } // [V6, A4_2] test { try toUnicodeFail("\xe1\x85\xa0\xe0\xa5\x8d\xe1\x82\xa0\xe1\x9f\x90.\xe1\xa0\x8b"); } // [V6] +test { try toAsciiFail("\xe1\x85\xa0\xe0\xa5\x8d\xe1\x82\xa0\xe1\x9f\x90.\xe1\xa0\x8b", false); } // [V6, A4_2] +test { try toAsciiFail("\xe1\x85\xa0\xe0\xa5\x8d\xe1\x82\xa0\xe1\x9f\x90.\xe1\xa0\x8b", true); } // [V6, A4_2] test { try toUnicodeFail("\xe1\x85\xa0\xe0\xa5\x8d\xe2\xb4\x80\xe1\x9f\x90.\xe1\xa0\x8b"); } // [V6] +test { try toAsciiFail("\xe1\x85\xa0\xe0\xa5\x8d\xe2\xb4\x80\xe1\x9f\x90.\xe1\xa0\x8b", false); } // [V6, A4_2] +test { try toAsciiFail("\xe1\x85\xa0\xe0\xa5\x8d\xe2\xb4\x80\xe1\x9f\x90.\xe1\xa0\x8b", true); } // [V6, A4_2] test { try toUnicodeFail("xn--n3b445e53p."); } // [V6] +test { try toAsciiFail("xn--n3b445e53p.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--n3b445e53p.", true); } // [V6, A4_2] test { try toUnicodeFail("\xe3\x85\xa4\xe0\xa5\x8d\xe2\xb4\x80\xe1\x9f\x90.\xe1\xa0\x8b"); } // [V6] +test { try toAsciiFail("\xe3\x85\xa4\xe0\xa5\x8d\xe2\xb4\x80\xe1\x9f\x90.\xe1\xa0\x8b", false); } // [V6, A4_2] +test { try toAsciiFail("\xe3\x85\xa4\xe0\xa5\x8d\xe2\xb4\x80\xe1\x9f\x90.\xe1\xa0\x8b", true); } // [V6, A4_2] test { try toUnicodeFail("xn--n3b742bkqf4ty."); } // [V7] +test { try toAsciiFail("xn--n3b742bkqf4ty.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--n3b742bkqf4ty.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--n3b468aoqa89r."); } // [V7] +test { try toAsciiFail("xn--n3b468aoqa89r.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--n3b468aoqa89r.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--n3b445e53po6d."); } // [V7] +test { try toAsciiFail("xn--n3b445e53po6d.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--n3b445e53po6d.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--n3b468azngju2a."); } // [V7] +test { try toAsciiFail("xn--n3b468azngju2a.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--n3b468azngju2a.", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x9d\xa3\xe2\x80\x8d\xef\xbc\x8e\xe0\xa7\x8d\xf0\x91\xb0\xbd\xd8\x92\xea\xa4\xa9"); } // [C2, V6] +test { try toAsciiFail("\xe2\x9d\xa3\xe2\x80\x8d\xef\xbc\x8e\xe0\xa7\x8d\xf0\x91\xb0\xbd\xd8\x92\xea\xa4\xa9", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x9d\xa3\xe2\x80\x8d\xef\xbc\x8e\xe0\xa7\x8d\xf0\x91\xb0\xbd\xd8\x92\xea\xa4\xa9", true); } // [V6] test { try toUnicodeFail("\xe2\x9d\xa3\xe2\x80\x8d.\xe0\xa7\x8d\xf0\x91\xb0\xbd\xd8\x92\xea\xa4\xa9"); } // [C2, V6] +test { try toAsciiFail("\xe2\x9d\xa3\xe2\x80\x8d.\xe0\xa7\x8d\xf0\x91\xb0\xbd\xd8\x92\xea\xa4\xa9", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x9d\xa3\xe2\x80\x8d.\xe0\xa7\x8d\xf0\x91\xb0\xbd\xd8\x92\xea\xa4\xa9", true); } // [V6] test { try toUnicodeFail("xn--pei.xn--0fb32q3w7q2g4d"); } // [V6] +test { try toAsciiFail("xn--pei.xn--0fb32q3w7q2g4d", false); } // [V6] +test { try toAsciiFail("xn--pei.xn--0fb32q3w7q2g4d", true); } // [V6] test { try toUnicodeFail("xn--1ugy10a.xn--0fb32q3w7q2g4d"); } // [C2, V6] +test { try toAsciiFail("xn--1ugy10a.xn--0fb32q3w7q2g4d", false); } // [C2, V6] +test { try toAsciiFail("xn--1ugy10a.xn--0fb32q3w7q2g4d", true); } // [C2, V6] test { try toUnicodeFail("\xe2\x89\xae\xf0\x90\xb3\xba\xf0\x90\xb9\x84.\xe2\x89\xaf\xf1\xaa\xae\xb8\xea\xa1\x85"); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb3\xba\xf0\x90\xb9\x84.\xe2\x89\xaf\xf1\xaa\xae\xb8\xea\xa1\x85", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb3\xba\xf0\x90\xb9\x84.\xe2\x89\xaf\xf1\xaa\xae\xb8\xea\xa1\x85", true); } // [B1, V7] test { try toUnicodeFail("<\xcc\xb8\xf0\x90\xb3\xba\xf0\x90\xb9\x84.>\xcc\xb8\xf1\xaa\xae\xb8\xea\xa1\x85"); } // [B1, V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb3\xba\xf0\x90\xb9\x84.>\xcc\xb8\xf1\xaa\xae\xb8\xea\xa1\x85", false); } // [B1, V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb3\xba\xf0\x90\xb9\x84.>\xcc\xb8\xf1\xaa\xae\xb8\xea\xa1\x85", true); } // [B1, V7] test { try toUnicodeFail("xn--gdh7943gk2a.xn--hdh1383c5e36c"); } // [B1, V7] +test { try toAsciiFail("xn--gdh7943gk2a.xn--hdh1383c5e36c", false); } // [B1, V7] +test { try toAsciiFail("xn--gdh7943gk2a.xn--hdh1383c5e36c", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb3\x8f\xf3\xa0\xb2\xba\xef\xbd\xa1\xe0\xb3\x8d\xe1\xa0\xa6"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb3\x8f\xf3\xa0\xb2\xba\xef\xbd\xa1\xe0\xb3\x8d\xe1\xa0\xa6", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb3\x8f\xf3\xa0\xb2\xba\xef\xbd\xa1\xe0\xb3\x8d\xe1\xa0\xa6", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb3\x8f\xf3\xa0\xb2\xba\xe3\x80\x82\xe0\xb3\x8d\xe1\xa0\xa6"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb3\x8f\xf3\xa0\xb2\xba\xe3\x80\x82\xe0\xb3\x8d\xe1\xa0\xa6", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb3\x8f\xf3\xa0\xb2\xba\xe3\x80\x82\xe0\xb3\x8d\xe1\xa0\xa6", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb2\x8f\xf3\xa0\xb2\xba\xe3\x80\x82\xe0\xb3\x8d\xe1\xa0\xa6"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb2\x8f\xf3\xa0\xb2\xba\xe3\x80\x82\xe0\xb3\x8d\xe1\xa0\xa6", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb2\x8f\xf3\xa0\xb2\xba\xe3\x80\x82\xe0\xb3\x8d\xe1\xa0\xa6", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--7tc6360ky5bn2732c.xn--8tc429c"); } // [B1, V6, V7] +test { try toAsciiFail("xn--7tc6360ky5bn2732c.xn--8tc429c", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--7tc6360ky5bn2732c.xn--8tc429c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb2\x8f\xf3\xa0\xb2\xba\xef\xbd\xa1\xe0\xb3\x8d\xe1\xa0\xa6"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb2\x8f\xf3\xa0\xb2\xba\xef\xbd\xa1\xe0\xb3\x8d\xe1\xa0\xa6", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb3\x8c\xf0\x90\xa7\x85\xf0\x90\xb2\x8f\xf3\xa0\xb2\xba\xef\xbd\xa1\xe0\xb3\x8d\xe1\xa0\xa6", true); } // [B1, V6, V7] test { try toUnicodeFail("\xcd\x89\xe3\x80\x82\xf0\xa7\xa1\xab"); } // [V6] +test { try toAsciiFail("\xcd\x89\xe3\x80\x82\xf0\xa7\xa1\xab", false); } // [V6] +test { try toAsciiFail("\xcd\x89\xe3\x80\x82\xf0\xa7\xa1\xab", true); } // [V6] test { try toUnicodeFail("xn--nua.xn--bc6k"); } // [V6] +test { try toAsciiFail("xn--nua.xn--bc6k", false); } // [V6] +test { try toAsciiFail("xn--nua.xn--bc6k", true); } // [V6] test { try toUnicodeFail("\xf0\x91\xb0\xbf\xf3\xa0\x85\xa6\xef\xbc\x8e\xe1\x85\xa0"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb0\xbf\xf3\xa0\x85\xa6\xef\xbc\x8e\xe1\x85\xa0", false); } // [V6, A4_2] +test { try toAsciiFail("\xf0\x91\xb0\xbf\xf3\xa0\x85\xa6\xef\xbc\x8e\xe1\x85\xa0", true); } // [V6, A4_2] test { try toUnicodeFail("\xf0\x91\xb0\xbf\xf3\xa0\x85\xa6.\xe1\x85\xa0"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb0\xbf\xf3\xa0\x85\xa6.\xe1\x85\xa0", false); } // [V6, A4_2] +test { try toAsciiFail("\xf0\x91\xb0\xbf\xf3\xa0\x85\xa6.\xe1\x85\xa0", true); } // [V6, A4_2] test { try toUnicodeFail("xn--ok3d."); } // [V6] +test { try toAsciiFail("xn--ok3d.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--ok3d.", true); } // [V6, A4_2] test { try toUnicodeFail("xn--ok3d.xn--psd"); } // [V6, V7] +test { try toAsciiFail("xn--ok3d.xn--psd", false); } // [V6, V7] +test { try toAsciiFail("xn--ok3d.xn--psd", true); } // [V6, V7] test { try toUnicodeFail("-\xf0\x9e\xa4\x86\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xbc\x84\xf0\x9e\xb3\x92"); } // [B1, B5, B6, C2, V3, V7] +test { try toAsciiFail("-\xf0\x9e\xa4\x86\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xbc\x84\xf0\x9e\xb3\x92", false); } // [B1, B5, B6, C2, V3, V7] +test { try toAsciiFail("-\xf0\x9e\xa4\x86\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xbc\x84\xf0\x9e\xb3\x92", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("-\xf0\x9e\xa4\xa8\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xbc\x84\xf0\x9e\xb3\x92"); } // [B1, B5, B6, C2, V3, V7] +test { try toAsciiFail("-\xf0\x9e\xa4\xa8\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xbc\x84\xf0\x9e\xb3\x92", false); } // [B1, B5, B6, C2, V3, V7] +test { try toAsciiFail("-\xf0\x9e\xa4\xa8\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xbc\x84\xf0\x9e\xb3\x92", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----ni8r.xn--846h96596c"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----ni8r.xn--846h96596c", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----ni8r.xn--846h96596c", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----ugnx367r.xn--846h96596c"); } // [B1, B5, B6, C2, V3, V7] +test { try toAsciiFail("xn----ugnx367r.xn--846h96596c", false); } // [B1, B5, B6, C2, V3, V7] +test { try toAsciiFail("xn----ugnx367r.xn--846h96596c", true); } // [B1, B5, B6, C2, V3, V7] test { try toUnicodeFail("\xea\xa1\x8f\xf3\xa0\x87\xb6\xe2\x89\xaf\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe2\xbe\x87\xe6\xbb\xb8\xf0\x90\xb9\xb0"); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6\xe2\x89\xaf\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe2\xbe\x87\xe6\xbb\xb8\xf0\x90\xb9\xb0", false); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6\xe2\x89\xaf\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe2\xbe\x87\xe6\xbb\xb8\xf0\x90\xb9\xb0", true); } // [B1, V6, V7] test { try toUnicodeFail("\xea\xa1\x8f\xf3\xa0\x87\xb6>\xcc\xb8\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe2\xbe\x87\xe6\xbb\xb8\xf0\x90\xb9\xb0"); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6>\xcc\xb8\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe2\xbe\x87\xe6\xbb\xb8\xf0\x90\xb9\xb0", false); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6>\xcc\xb8\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe2\xbe\x87\xe6\xbb\xb8\xf0\x90\xb9\xb0", true); } // [B1, V6, V7] test { try toUnicodeFail("\xea\xa1\x8f\xf3\xa0\x87\xb6\xe2\x89\xaf\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe8\x88\x9b\xe6\xbb\xb8\xf0\x90\xb9\xb0"); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6\xe2\x89\xaf\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe8\x88\x9b\xe6\xbb\xb8\xf0\x90\xb9\xb0", false); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6\xe2\x89\xaf\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe8\x88\x9b\xe6\xbb\xb8\xf0\x90\xb9\xb0", true); } // [B1, V6, V7] test { try toUnicodeFail("\xea\xa1\x8f\xf3\xa0\x87\xb6>\xcc\xb8\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe8\x88\x9b\xe6\xbb\xb8\xf0\x90\xb9\xb0"); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6>\xcc\xb8\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe8\x88\x9b\xe6\xbb\xb8\xf0\x90\xb9\xb0", false); } // [B1, V6, V7] +test { try toAsciiFail("\xea\xa1\x8f\xf3\xa0\x87\xb6>\xcc\xb8\xf0\xb3\xbe\xbd\xe3\x80\x82\xe1\xb7\xbd\xe8\x88\x9b\xe6\xbb\xb8\xf0\x90\xb9\xb0", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--hdh7483cu6twwki8e.xn--yfg0765a58l0n6k"); } // [B1, V6, V7] +test { try toAsciiFail("xn--hdh7483cu6twwki8e.xn--yfg0765a58l0n6k", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--hdh7483cu6twwki8e.xn--yfg0765a58l0n6k", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe8\x94\x8f\xef\xbd\xa1\xf0\x91\xb0\xba"); } // [V6] +test { try toAsciiFail("\xe8\x94\x8f\xef\xbd\xa1\xf0\x91\xb0\xba", false); } // [V6] +test { try toAsciiFail("\xe8\x94\x8f\xef\xbd\xa1\xf0\x91\xb0\xba", true); } // [V6] test { try toUnicodeFail("\xe8\x94\x8f\xe3\x80\x82\xf0\x91\xb0\xba"); } // [V6] +test { try toAsciiFail("\xe8\x94\x8f\xe3\x80\x82\xf0\x91\xb0\xba", false); } // [V6] +test { try toAsciiFail("\xe8\x94\x8f\xe3\x80\x82\xf0\x91\xb0\xba", true); } // [V6] test { try toUnicodeFail("xn--uy1a.xn--jk3d"); } // [V6] +test { try toAsciiFail("xn--uy1a.xn--jk3d", false); } // [V6] +test { try toAsciiFail("xn--uy1a.xn--jk3d", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\x9f\xbf\xf0\x90\xae\x8b\xe3\x80\x82\xf3\xa0\x84\x8a"); } // [B1] +test { try toAsciiFail("\xf0\x9d\x9f\xbf\xf0\x90\xae\x8b\xe3\x80\x82\xf3\xa0\x84\x8a", false); } // [B1, A4_2] +test { try toAsciiFail("\xf0\x9d\x9f\xbf\xf0\x90\xae\x8b\xe3\x80\x82\xf3\xa0\x84\x8a", true); } // [B1, A4_2] test { try toUnicodeFail("9\xf0\x90\xae\x8b\xe3\x80\x82\xf3\xa0\x84\x8a"); } // [B1] +test { try toAsciiFail("9\xf0\x90\xae\x8b\xe3\x80\x82\xf3\xa0\x84\x8a", false); } // [B1, A4_2] +test { try toAsciiFail("9\xf0\x90\xae\x8b\xe3\x80\x82\xf3\xa0\x84\x8a", true); } // [B1, A4_2] test { try toUnicodeFail("xn--9-rv5i."); } // [B1] +test { try toAsciiFail("xn--9-rv5i.", false); } // [B1, A4_2] +test { try toAsciiFail("xn--9-rv5i.", true); } // [B1, A4_2] test { try toUnicodeFail("\xf3\x9f\x87\x87-\xe4\x9f\x96F\xe3\x80\x82\xdf\x8b\xe2\x92\x88\xd9\xa2"); } // [B4, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96F\xe3\x80\x82\xdf\x8b\xe2\x92\x88\xd9\xa2", false); } // [B4, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96F\xe3\x80\x82\xdf\x8b\xe2\x92\x88\xd9\xa2", true); } // [B4, V7] test { try toUnicodeFail("\xf3\x9f\x87\x87-\xe4\x9f\x96F\xe3\x80\x82\xdf\x8b1.\xd9\xa2"); } // [B1, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96F\xe3\x80\x82\xdf\x8b1.\xd9\xa2", false); } // [B1, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96F\xe3\x80\x82\xdf\x8b1.\xd9\xa2", true); } // [B1, V7] test { try toUnicodeFail("\xf3\x9f\x87\x87-\xe4\x9f\x96f\xe3\x80\x82\xdf\x8b1.\xd9\xa2"); } // [B1, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96f\xe3\x80\x82\xdf\x8b1.\xd9\xa2", false); } // [B1, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96f\xe3\x80\x82\xdf\x8b1.\xd9\xa2", true); } // [B1, V7] test { try toUnicodeFail("xn---f-mz8b08788k.xn--1-ybd.xn--bib"); } // [B1, V7] +test { try toAsciiFail("xn---f-mz8b08788k.xn--1-ybd.xn--bib", false); } // [B1, V7] +test { try toAsciiFail("xn---f-mz8b08788k.xn--1-ybd.xn--bib", true); } // [B1, V7] test { try toUnicodeFail("\xf3\x9f\x87\x87-\xe4\x9f\x96f\xe3\x80\x82\xdf\x8b\xe2\x92\x88\xd9\xa2"); } // [B4, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96f\xe3\x80\x82\xdf\x8b\xe2\x92\x88\xd9\xa2", false); } // [B4, V7] +test { try toAsciiFail("\xf3\x9f\x87\x87-\xe4\x9f\x96f\xe3\x80\x82\xdf\x8b\xe2\x92\x88\xd9\xa2", true); } // [B4, V7] test { try toUnicodeFail("xn---f-mz8b08788k.xn--bib53ev44d"); } // [B4, V7] +test { try toAsciiFail("xn---f-mz8b08788k.xn--bib53ev44d", false); } // [B4, V7] +test { try toAsciiFail("xn---f-mz8b08788k.xn--bib53ev44d", true); } // [B4, V7] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbd\xa1\xf0\x90\xb9\xba"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xf0\x90\xb9\xba", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xf0\x90\xb9\xba", true); } // [B1, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82\xf0\x90\xb9\xba"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xf0\x90\xb9\xba", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xf0\x90\xb9\xba", true); } // [B1, A4_2] test { try toUnicodeFail(".xn--yo0d"); } // [B1, X4_2] +test { try toAsciiFail(".xn--yo0d", false); } // [B1, A4_2] +test { try toAsciiFail(".xn--yo0d", true); } // [B1, A4_2] test { try toUnicodeFail("xn--0ug.xn--yo0d"); } // [B1, C1] +test { try toAsciiFail("xn--0ug.xn--yo0d", false); } // [B1, C1] +test { try toAsciiFail("xn--0ug.xn--yo0d", true); } // [B1, C1] test { try toUnicodeFail("\xf0\x90\xa1\x86.\xe2\x89\xaf\xe2\x80\x8c-\xf0\x9e\xa5\x80"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.\xe2\x89\xaf\xe2\x80\x8c-\xf0\x9e\xa5\x80", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.\xe2\x89\xaf\xe2\x80\x8c-\xf0\x9e\xa5\x80", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xa1\x86.>\xcc\xb8\xe2\x80\x8c-\xf0\x9e\xa5\x80"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.>\xcc\xb8\xe2\x80\x8c-\xf0\x9e\xa5\x80", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.>\xcc\xb8\xe2\x80\x8c-\xf0\x9e\xa5\x80", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xa1\x86.>\xcc\xb8\xe2\x80\x8c-\xf0\x9e\xa4\x9e"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.>\xcc\xb8\xe2\x80\x8c-\xf0\x9e\xa4\x9e", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.>\xcc\xb8\xe2\x80\x8c-\xf0\x9e\xa4\x9e", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xa1\x86.\xe2\x89\xaf\xe2\x80\x8c-\xf0\x9e\xa4\x9e"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.\xe2\x89\xaf\xe2\x80\x8c-\xf0\x9e\xa4\x9e", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xa1\x86.\xe2\x89\xaf\xe2\x80\x8c-\xf0\x9e\xa4\x9e", true); } // [B1] test { try toUnicodeFail("xn--le9c.xn----ogo9956r"); } // [B1] +test { try toAsciiFail("xn--le9c.xn----ogo9956r", false); } // [B1] +test { try toAsciiFail("xn--le9c.xn----ogo9956r", true); } // [B1] test { try toUnicodeFail("xn--le9c.xn----rgn40iy359e"); } // [B1, C1] +test { try toAsciiFail("xn--le9c.xn----rgn40iy359e", false); } // [B1, C1] +test { try toAsciiFail("xn--le9c.xn----rgn40iy359e", true); } // [B1, C1] test { try toUnicodeFail("\xf3\xa0\x81\x80-\xe3\x80\x82\xe2\x89\xa0\xef\xb3\x97"); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82\xe2\x89\xa0\xef\xb3\x97", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82\xe2\x89\xa0\xef\xb3\x97", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\xa0\x81\x80-\xe3\x80\x82=\xcc\xb8\xef\xb3\x97"); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82=\xcc\xb8\xef\xb3\x97", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82=\xcc\xb8\xef\xb3\x97", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\xa0\x81\x80-\xe3\x80\x82\xe2\x89\xa0\xd9\x87\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82\xe2\x89\xa0\xd9\x87\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82\xe2\x89\xa0\xd9\x87\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\xa0\x81\x80-\xe3\x80\x82=\xcc\xb8\xd9\x87\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82=\xcc\xb8\xd9\x87\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x80-\xe3\x80\x82=\xcc\xb8\xd9\x87\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----f411m.xn--rgb7c611j"); } // [B1, V3, V7] +test { try toAsciiFail("xn----f411m.xn--rgb7c611j", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----f411m.xn--rgb7c611j", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf1\xbb\xac\xb9\xf0\x91\x88\xb5\xe3\x80\x82\xe2\x80\x8d\xf0\x9e\xa8\xb6"); } // [B1, C2, V7] +test { try toAsciiFail("\xf1\xbb\xac\xb9\xf0\x91\x88\xb5\xe3\x80\x82\xe2\x80\x8d\xf0\x9e\xa8\xb6", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf1\xbb\xac\xb9\xf0\x91\x88\xb5\xe3\x80\x82\xe2\x80\x8d\xf0\x9e\xa8\xb6", true); } // [V7] test { try toUnicodeFail("xn--8g1d12120a.xn--5l6h"); } // [V7] +test { try toAsciiFail("xn--8g1d12120a.xn--5l6h", false); } // [V7] +test { try toAsciiFail("xn--8g1d12120a.xn--5l6h", true); } // [V7] test { try toUnicodeFail("xn--8g1d12120a.xn--1ug6651p"); } // [B1, C2, V7] +test { try toAsciiFail("xn--8g1d12120a.xn--1ug6651p", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--8g1d12120a.xn--1ug6651p", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf0\x91\x8b\xa7\xea\xa7\x802\xef\xbd\xa1\xe3\xa7\x89\xf2\x92\x96\x84"); } // [V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xa7\xea\xa7\x802\xef\xbd\xa1\xe3\xa7\x89\xf2\x92\x96\x84", false); } // [V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xa7\xea\xa7\x802\xef\xbd\xa1\xe3\xa7\x89\xf2\x92\x96\x84", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x91\x8b\xa7\xea\xa7\x802\xe3\x80\x82\xe3\xa7\x89\xf2\x92\x96\x84"); } // [V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xa7\xea\xa7\x802\xe3\x80\x82\xe3\xa7\x89\xf2\x92\x96\x84", false); } // [V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xa7\xea\xa7\x802\xe3\x80\x82\xe3\xa7\x89\xf2\x92\x96\x84", true); } // [V6, V7] test { try toUnicodeFail("xn--2-5z4eu89y.xn--97l02706d"); } // [V6, V7] +test { try toAsciiFail("xn--2-5z4eu89y.xn--97l02706d", false); } // [V6, V7] +test { try toAsciiFail("xn--2-5z4eu89y.xn--97l02706d", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\xbd\xac\x84\xf0\x90\xb9\xb4\xf0\x9e\xa9\xa5\xe3\x80\x82\xe2\x89\xaf6"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xbd\xac\x84\xf0\x90\xb9\xb4\xf0\x9e\xa9\xa5\xe3\x80\x82\xe2\x89\xaf6", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xbd\xac\x84\xf0\x90\xb9\xb4\xf0\x9e\xa9\xa5\xe3\x80\x82\xe2\x89\xaf6", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\xbd\xac\x84\xf0\x90\xb9\xb4\xf0\x9e\xa9\xa5\xe3\x80\x82>\xcc\xb86"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xbd\xac\x84\xf0\x90\xb9\xb4\xf0\x9e\xa9\xa5\xe3\x80\x82>\xcc\xb86", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xbd\xac\x84\xf0\x90\xb9\xb4\xf0\x9e\xa9\xa5\xe3\x80\x82>\xcc\xb86", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--so0du768aim9m.xn--6-ogo"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--so0du768aim9m.xn--6-ogo", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--so0du768aim9m.xn--6-ogo", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--0ug7105gf5wfxepq.xn--6-ogo"); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug7105gf5wfxepq.xn--6-ogo", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug7105gf5wfxepq.xn--6-ogo", true); } // [B1, C1, V7] test { try toUnicodeFail("\xf0\x91\x81\xbf\xef\xbc\x8e\xf0\x90\xb9\xa6\xf0\xbb\x9e\xb5-\xe2\x80\x8d"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x81\xbf\xef\xbc\x8e\xf0\x90\xb9\xa6\xf0\xbb\x9e\xb5-\xe2\x80\x8d", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x81\xbf\xef\xbc\x8e\xf0\x90\xb9\xa6\xf0\xbb\x9e\xb5-\xe2\x80\x8d", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xf0\x91\x81\xbf.\xf0\x90\xb9\xa6\xf0\xbb\x9e\xb5-\xe2\x80\x8d"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x81\xbf.\xf0\x90\xb9\xa6\xf0\xbb\x9e\xb5-\xe2\x80\x8d", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x81\xbf.\xf0\x90\xb9\xa6\xf0\xbb\x9e\xb5-\xe2\x80\x8d", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--q30d.xn----i26i1299n"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--q30d.xn----i26i1299n", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--q30d.xn----i26i1299n", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--q30d.xn----ugn1088hfsxv"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--q30d.xn----ugn1088hfsxv", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--q30d.xn----ugn1088hfsxv", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe2\xa4\xb8\xcf\x82\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0"); } // [V7] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x82\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x82\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xa4\xb8\xcf\x82\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0"); } // [V7] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x82\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x82\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xa4\xb8\xce\xa3\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0"); } // [V7] +test { try toAsciiFail("\xe2\xa4\xb8\xce\xa3\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xa4\xb8\xce\xa3\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xa4\xb8\xcf\x83\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0"); } // [V7] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x83\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x83\xf0\xba\xb1\x80\xe3\x80\x82\xe1\x85\xa0", true); } // [V7, A4_2] test { try toUnicodeFail("xn--4xa192qmp03d."); } // [V7] +test { try toAsciiFail("xn--4xa192qmp03d.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--4xa192qmp03d.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--3xa392qmp03d."); } // [V7] +test { try toAsciiFail("xn--3xa392qmp03d.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--3xa392qmp03d.", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xa4\xb8\xce\xa3\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0"); } // [V7] +test { try toAsciiFail("\xe2\xa4\xb8\xce\xa3\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xa4\xb8\xce\xa3\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xa4\xb8\xcf\x83\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0"); } // [V7] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x83\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xa4\xb8\xcf\x83\xf0\xba\xb1\x80\xef\xbd\xa1\xef\xbe\xa0", true); } // [V7, A4_2] test { try toUnicodeFail("xn--4xa192qmp03d.xn--psd"); } // [V7] +test { try toAsciiFail("xn--4xa192qmp03d.xn--psd", false); } // [V7] +test { try toAsciiFail("xn--4xa192qmp03d.xn--psd", true); } // [V7] test { try toUnicodeFail("xn--3xa392qmp03d.xn--psd"); } // [V7] +test { try toAsciiFail("xn--3xa392qmp03d.xn--psd", false); } // [V7] +test { try toAsciiFail("xn--3xa392qmp03d.xn--psd", true); } // [V7] test { try toUnicodeFail("xn--4xa192qmp03d.xn--cl7c"); } // [V7] +test { try toAsciiFail("xn--4xa192qmp03d.xn--cl7c", false); } // [V7] +test { try toAsciiFail("xn--4xa192qmp03d.xn--cl7c", true); } // [V7] test { try toUnicodeFail("xn--3xa392qmp03d.xn--cl7c"); } // [V7] +test { try toAsciiFail("xn--3xa392qmp03d.xn--cl7c", false); } // [V7] +test { try toAsciiFail("xn--3xa392qmp03d.xn--cl7c", true); } // [V7] test { try toUnicodeFail("\xdd\xa5\xe1\x80\xb5\xf0\x90\xab\x94\xdb\x95.\xf0\x90\xa6\xac\xf0\x91\x8b\xaa\xe1\x82\xa3"); } // [B2, B3] +test { try toAsciiFail("\xdd\xa5\xe1\x80\xb5\xf0\x90\xab\x94\xdb\x95.\xf0\x90\xa6\xac\xf0\x91\x8b\xaa\xe1\x82\xa3", false); } // [B2, B3] +test { try toAsciiFail("\xdd\xa5\xe1\x80\xb5\xf0\x90\xab\x94\xdb\x95.\xf0\x90\xa6\xac\xf0\x91\x8b\xaa\xe1\x82\xa3", true); } // [B2, B3] test { try toUnicodeFail("\xdd\xa5\xe1\x80\xb5\xf0\x90\xab\x94\xdb\x95.\xf0\x90\xa6\xac\xf0\x91\x8b\xaa\xe2\xb4\x83"); } // [B2, B3] +test { try toAsciiFail("\xdd\xa5\xe1\x80\xb5\xf0\x90\xab\x94\xdb\x95.\xf0\x90\xa6\xac\xf0\x91\x8b\xaa\xe2\xb4\x83", false); } // [B2, B3] +test { try toAsciiFail("\xdd\xa5\xe1\x80\xb5\xf0\x90\xab\x94\xdb\x95.\xf0\x90\xa6\xac\xf0\x91\x8b\xaa\xe2\xb4\x83", true); } // [B2, B3] test { try toUnicodeFail("xn--llb10as9tqp5y.xn--ukj7371e21f"); } // [B2, B3] +test { try toAsciiFail("xn--llb10as9tqp5y.xn--ukj7371e21f", false); } // [B2, B3] +test { try toAsciiFail("xn--llb10as9tqp5y.xn--ukj7371e21f", true); } // [B2, B3] test { try toUnicodeFail("xn--llb10as9tqp5y.xn--bnd9168j21f"); } // [B2, B3, V7] +test { try toAsciiFail("xn--llb10as9tqp5y.xn--bnd9168j21f", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--llb10as9tqp5y.xn--bnd9168j21f", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd9\xa1\xe1\xad\x84-\xed\x82\xbc.\xe1\xae\xaa\xd8\x96\xd9\xac\xe2\x89\xaf"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xd9\xa1\xe1\xad\x84-\xed\x82\xbc.\xe1\xae\xaa\xd8\x96\xd9\xac\xe2\x89\xaf", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xd9\xa1\xe1\xad\x84-\xed\x82\xbc.\xe1\xae\xaa\xd8\x96\xd9\xac\xe2\x89\xaf", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xd9\xa1\xe1\xad\x84-\xe1\x84\x8f\xe1\x85\xb5\xe1\x86\xbf.\xe1\xae\xaa\xd8\x96\xd9\xac>\xcc\xb8"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xd9\xa1\xe1\xad\x84-\xe1\x84\x8f\xe1\x85\xb5\xe1\x86\xbf.\xe1\xae\xaa\xd8\x96\xd9\xac>\xcc\xb8", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xd9\xa1\xe1\xad\x84-\xe1\x84\x8f\xe1\x85\xb5\xe1\x86\xbf.\xe1\xae\xaa\xd8\x96\xd9\xac>\xcc\xb8", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn----9pc551nk39n.xn--4fb6o571degg"); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn----9pc551nk39n.xn--4fb6o571degg", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn----9pc551nk39n.xn--4fb6o571degg", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("-\xe3\x80\x82\xdb\x82\xd8\x84\xf2\x85\x96\xa1\xf0\x91\x93\x82"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xdb\x82\xd8\x84\xf2\x85\x96\xa1\xf0\x91\x93\x82", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xdb\x82\xd8\x84\xf2\x85\x96\xa1\xf0\x91\x93\x82", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-\xe3\x80\x82\xdb\x81\xd9\x94\xd8\x84\xf2\x85\x96\xa1\xf0\x91\x93\x82"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xdb\x81\xd9\x94\xd8\x84\xf2\x85\x96\xa1\xf0\x91\x93\x82", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xdb\x81\xd9\x94\xd8\x84\xf2\x85\x96\xa1\xf0\x91\x93\x82", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-.xn--mfb39a7208dzgs3d"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-.xn--mfb39a7208dzgs3d", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-.xn--mfb39a7208dzgs3d", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf3\xaf\x91\x96\xf3\xa0\x81\x90\xef\xbc\x8e\xd6\xbd\xf0\x99\xae\xb0\xea\xa1\x9d\xf0\x90\x8b\xa1"); } // [C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xaf\x91\x96\xf3\xa0\x81\x90\xef\xbc\x8e\xd6\xbd\xf0\x99\xae\xb0\xea\xa1\x9d\xf0\x90\x8b\xa1", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xaf\x91\x96\xf3\xa0\x81\x90\xef\xbc\x8e\xd6\xbd\xf0\x99\xae\xb0\xea\xa1\x9d\xf0\x90\x8b\xa1", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf3\xaf\x91\x96\xf3\xa0\x81\x90.\xd6\xbd\xf0\x99\xae\xb0\xea\xa1\x9d\xf0\x90\x8b\xa1"); } // [C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xaf\x91\x96\xf3\xa0\x81\x90.\xd6\xbd\xf0\x99\xae\xb0\xea\xa1\x9d\xf0\x90\x8b\xa1", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xaf\x91\x96\xf3\xa0\x81\x90.\xd6\xbd\xf0\x99\xae\xb0\xea\xa1\x9d\xf0\x90\x8b\xa1", true); } // [V6, V7] test { try toUnicodeFail("xn--b726ey18m.xn--ldb8734fg0qcyzzg"); } // [V6, V7] +test { try toAsciiFail("xn--b726ey18m.xn--ldb8734fg0qcyzzg", false); } // [V6, V7] +test { try toAsciiFail("xn--b726ey18m.xn--ldb8734fg0qcyzzg", true); } // [V6, V7] test { try toUnicodeFail("xn--1ug66101lt8me.xn--ldb8734fg0qcyzzg"); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug66101lt8me.xn--ldb8734fg0qcyzzg", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug66101lt8me.xn--ldb8734fg0qcyzzg", true); } // [C2, V6, V7] test { try toUnicodeFail("\xef\xb8\x92\xf4\x83\x88\xb5\xcf\x82\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88"); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xf4\x83\x88\xb5\xcf\x82\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88", false); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xf4\x83\x88\xb5\xcf\x82\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88", true); } // [B1, V7] test { try toUnicodeFail("\xe3\x80\x82\xf4\x83\x88\xb5\xcf\x82\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88"); } // [V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xf4\x83\x88\xb5\xcf\x82\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88", false); } // [V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xf4\x83\x88\xb5\xcf\x82\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88", true); } // [V7, A4_2] test { try toUnicodeFail("\xe3\x80\x82\xf4\x83\x88\xb5\xce\xa3\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88"); } // [V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xf4\x83\x88\xb5\xce\xa3\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88", false); } // [V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xf4\x83\x88\xb5\xce\xa3\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88", true); } // [V7, A4_2] test { try toUnicodeFail("\xe3\x80\x82\xf4\x83\x88\xb5\xcf\x83\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88"); } // [V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xf4\x83\x88\xb5\xcf\x83\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88", false); } // [V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xf4\x83\x88\xb5\xcf\x83\xf1\x80\xa0\x87\xe3\x80\x82\xf0\x90\xae\x88", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--4xa68573c7n64d.xn--f29c"); } // [V7, X4_2] +test { try toAsciiFail(".xn--4xa68573c7n64d.xn--f29c", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--4xa68573c7n64d.xn--f29c", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--3xa88573c7n64d.xn--f29c"); } // [V7, X4_2] +test { try toAsciiFail(".xn--3xa88573c7n64d.xn--f29c", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--3xa88573c7n64d.xn--f29c", true); } // [V7, A4_2] test { try toUnicodeFail("\xef\xb8\x92\xf4\x83\x88\xb5\xce\xa3\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88"); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xf4\x83\x88\xb5\xce\xa3\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88", false); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xf4\x83\x88\xb5\xce\xa3\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88", true); } // [B1, V7] test { try toUnicodeFail("\xef\xb8\x92\xf4\x83\x88\xb5\xcf\x83\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88"); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xf4\x83\x88\xb5\xcf\x83\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88", false); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xf4\x83\x88\xb5\xcf\x83\xf1\x80\xa0\x87\xef\xbd\xa1\xf0\x90\xae\x88", true); } // [B1, V7] test { try toUnicodeFail("xn--4xa1729jwz5t7gl5f.xn--f29c"); } // [B1, V7] +test { try toAsciiFail("xn--4xa1729jwz5t7gl5f.xn--f29c", false); } // [B1, V7] +test { try toAsciiFail("xn--4xa1729jwz5t7gl5f.xn--f29c", true); } // [B1, V7] test { try toUnicodeFail("xn--3xa3729jwz5t7gl5f.xn--f29c"); } // [B1, V7] +test { try toAsciiFail("xn--3xa3729jwz5t7gl5f.xn--f29c", false); } // [B1, V7] +test { try toAsciiFail("xn--3xa3729jwz5t7gl5f.xn--f29c", true); } // [B1, V7] test { try toUnicodeFail("\xdf\x99\xef\xbc\x8e\xdb\xae\xf3\x86\xbe\x83\xe2\x89\xaf\xf3\xa0\x85\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99\xef\xbc\x8e\xdb\xae\xf3\x86\xbe\x83\xe2\x89\xaf\xf3\xa0\x85\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99\xef\xbc\x8e\xdb\xae\xf3\x86\xbe\x83\xe2\x89\xaf\xf3\xa0\x85\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("\xdf\x99\xef\xbc\x8e\xdb\xae\xf3\x86\xbe\x83>\xcc\xb8\xf3\xa0\x85\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99\xef\xbc\x8e\xdb\xae\xf3\x86\xbe\x83>\xcc\xb8\xf3\xa0\x85\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99\xef\xbc\x8e\xdb\xae\xf3\x86\xbe\x83>\xcc\xb8\xf3\xa0\x85\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("\xdf\x99.\xdb\xae\xf3\x86\xbe\x83\xe2\x89\xaf\xf3\xa0\x85\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99.\xdb\xae\xf3\x86\xbe\x83\xe2\x89\xaf\xf3\xa0\x85\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99.\xdb\xae\xf3\x86\xbe\x83\xe2\x89\xaf\xf3\xa0\x85\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("\xdf\x99.\xdb\xae\xf3\x86\xbe\x83>\xcc\xb8\xf3\xa0\x85\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99.\xdb\xae\xf3\x86\xbe\x83>\xcc\xb8\xf3\xa0\x85\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xdf\x99.\xdb\xae\xf3\x86\xbe\x83>\xcc\xb8\xf3\xa0\x85\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--0sb.xn--bmb691l0524t"); } // [B2, B3, V7] +test { try toAsciiFail("xn--0sb.xn--bmb691l0524t", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--0sb.xn--bmb691l0524t", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\xa9\xb3\xf3\x9a\x99\xb8.\xf0\x90\xad\x8d"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xa9\xb3\xf3\x9a\x99\xb8.\xf0\x90\xad\x8d", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xa9\xb3\xf3\x9a\x99\xb8.\xf0\x90\xad\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--2of22352n.xn--q09c"); } // [B1, V6, V7] +test { try toAsciiFail("xn--2of22352n.xn--q09c", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--2of22352n.xn--q09c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x92\x89\xf3\xa0\x8a\x93\xe2\x89\xa0\xef\xbd\xa1\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8"); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93\xe2\x89\xa0\xef\xbd\xa1\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", false); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93\xe2\x89\xa0\xef\xbd\xa1\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", true); } // [V7] test { try toUnicodeFail("\xe2\x92\x89\xf3\xa0\x8a\x93=\xcc\xb8\xef\xbd\xa1\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8"); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93=\xcc\xb8\xef\xbd\xa1\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", false); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93=\xcc\xb8\xef\xbd\xa1\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", true); } // [V7] test { try toUnicodeFail("2.\xf3\xa0\x8a\x93\xe2\x89\xa0\xe3\x80\x82\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8"); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93\xe2\x89\xa0\xe3\x80\x82\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", false); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93\xe2\x89\xa0\xe3\x80\x82\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", true); } // [V7] test { try toUnicodeFail("2.\xf3\xa0\x8a\x93=\xcc\xb8\xe3\x80\x82\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8"); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93=\xcc\xb8\xe3\x80\x82\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", false); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93=\xcc\xb8\xe3\x80\x82\xe1\x82\xbf\xe2\xac\xa3\xe1\x82\xa8", true); } // [V7] test { try toUnicodeFail("2.\xf3\xa0\x8a\x93=\xcc\xb8\xe3\x80\x82\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88"); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93=\xcc\xb8\xe3\x80\x82\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", false); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93=\xcc\xb8\xe3\x80\x82\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", true); } // [V7] test { try toUnicodeFail("2.\xf3\xa0\x8a\x93\xe2\x89\xa0\xe3\x80\x82\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88"); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93\xe2\x89\xa0\xe3\x80\x82\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", false); } // [V7] +test { try toAsciiFail("2.\xf3\xa0\x8a\x93\xe2\x89\xa0\xe3\x80\x82\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", true); } // [V7] test { try toUnicodeFail("2.xn--1chz4101l.xn--45iz7d6b"); } // [V7] +test { try toAsciiFail("2.xn--1chz4101l.xn--45iz7d6b", false); } // [V7] +test { try toAsciiFail("2.xn--1chz4101l.xn--45iz7d6b", true); } // [V7] test { try toUnicodeFail("\xe2\x92\x89\xf3\xa0\x8a\x93=\xcc\xb8\xef\xbd\xa1\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88"); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93=\xcc\xb8\xef\xbd\xa1\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", false); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93=\xcc\xb8\xef\xbd\xa1\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", true); } // [V7] test { try toUnicodeFail("\xe2\x92\x89\xf3\xa0\x8a\x93\xe2\x89\xa0\xef\xbd\xa1\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88"); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93\xe2\x89\xa0\xef\xbd\xa1\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", false); } // [V7] +test { try toAsciiFail("\xe2\x92\x89\xf3\xa0\x8a\x93\xe2\x89\xa0\xef\xbd\xa1\xe2\xb4\x9f\xe2\xac\xa3\xe2\xb4\x88", true); } // [V7] test { try toUnicodeFail("xn--1ch07f91401d.xn--45iz7d6b"); } // [V7] +test { try toAsciiFail("xn--1ch07f91401d.xn--45iz7d6b", false); } // [V7] +test { try toAsciiFail("xn--1ch07f91401d.xn--45iz7d6b", true); } // [V7] test { try toUnicodeFail("2.xn--1chz4101l.xn--gnd9b297j"); } // [V7] +test { try toAsciiFail("2.xn--1chz4101l.xn--gnd9b297j", false); } // [V7] +test { try toAsciiFail("2.xn--1chz4101l.xn--gnd9b297j", true); } // [V7] test { try toUnicodeFail("xn--1ch07f91401d.xn--gnd9b297j"); } // [V7] +test { try toAsciiFail("xn--1ch07f91401d.xn--gnd9b297j", false); } // [V7] +test { try toAsciiFail("xn--1ch07f91401d.xn--gnd9b297j", true); } // [V7] test { try toUnicodeFail("-\xf3\xa0\x89\xb1\xe0\xbe\xb8\xe1\x83\x85\xe3\x80\x82-\xf0\x90\xb9\xbd\xdd\xb4\xf0\x9e\xa3\x91"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf3\xa0\x89\xb1\xe0\xbe\xb8\xe1\x83\x85\xe3\x80\x82-\xf0\x90\xb9\xbd\xdd\xb4\xf0\x9e\xa3\x91", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf3\xa0\x89\xb1\xe0\xbe\xb8\xe1\x83\x85\xe3\x80\x82-\xf0\x90\xb9\xbd\xdd\xb4\xf0\x9e\xa3\x91", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf3\xa0\x89\xb1\xe0\xbe\xb8\xe2\xb4\xa5\xe3\x80\x82-\xf0\x90\xb9\xbd\xdd\xb4\xf0\x9e\xa3\x91"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf3\xa0\x89\xb1\xe0\xbe\xb8\xe2\xb4\xa5\xe3\x80\x82-\xf0\x90\xb9\xbd\xdd\xb4\xf0\x9e\xa3\x91", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf3\xa0\x89\xb1\xe0\xbe\xb8\xe2\xb4\xa5\xe3\x80\x82-\xf0\x90\xb9\xbd\xdd\xb4\xf0\x9e\xa3\x91", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----xmg317tgv352a.xn----05c4213ryr0g"); } // [B1, V3, V7] +test { try toAsciiFail("xn----xmg317tgv352a.xn----05c4213ryr0g", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----xmg317tgv352a.xn----05c4213ryr0g", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----xmg12fm2555h.xn----05c4213ryr0g"); } // [B1, V3, V7] +test { try toAsciiFail("xn----xmg12fm2555h.xn----05c4213ryr0g", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----xmg12fm2555h.xn----05c4213ryr0g", true); } // [B1, V3, V7] test { try toUnicodeFail("\xd9\x99\xe3\x80\x82\xf0\x91\x84\xb4\xef\xb8\x92\xd8\xa7\xdf\x9d"); } // [B1, V6, V7] +test { try toAsciiFail("\xd9\x99\xe3\x80\x82\xf0\x91\x84\xb4\xef\xb8\x92\xd8\xa7\xdf\x9d", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd9\x99\xe3\x80\x82\xf0\x91\x84\xb4\xef\xb8\x92\xd8\xa7\xdf\x9d", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd9\x99\xe3\x80\x82\xf0\x91\x84\xb4\xe3\x80\x82\xd8\xa7\xdf\x9d"); } // [B1, V6] +test { try toAsciiFail("\xd9\x99\xe3\x80\x82\xf0\x91\x84\xb4\xe3\x80\x82\xd8\xa7\xdf\x9d", false); } // [B1, V6] +test { try toAsciiFail("\xd9\x99\xe3\x80\x82\xf0\x91\x84\xb4\xe3\x80\x82\xd8\xa7\xdf\x9d", true); } // [B1, V6] test { try toUnicodeFail("xn--1hb.xn--w80d.xn--mgb09f"); } // [B1, V6] +test { try toAsciiFail("xn--1hb.xn--w80d.xn--mgb09f", false); } // [B1, V6] +test { try toAsciiFail("xn--1hb.xn--w80d.xn--mgb09f", true); } // [B1, V6] test { try toUnicodeFail("xn--1hb.xn--mgb09fp820c08pa"); } // [B1, V6, V7] +test { try toAsciiFail("xn--1hb.xn--mgb09fp820c08pa", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--1hb.xn--mgb09fp820c08pa", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x82\xb9\xd8\xb8.\xf3\xa0\x86\x93\xe2\x80\x8d"); } // [B1, B5, B6, C2] +test { try toAsciiFail("\xe1\x82\xb9\xd8\xb8.\xf3\xa0\x86\x93\xe2\x80\x8d", false); } // [B1, B5, B6, C2] +test { try toAsciiFail("\xe1\x82\xb9\xd8\xb8.\xf3\xa0\x86\x93\xe2\x80\x8d", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\xb4\x99\xd8\xb8.\xf3\xa0\x86\x93\xe2\x80\x8d"); } // [B1, B5, B6, C2] +test { try toAsciiFail("\xe2\xb4\x99\xd8\xb8.\xf3\xa0\x86\x93\xe2\x80\x8d", false); } // [B1, B5, B6, C2] +test { try toAsciiFail("\xe2\xb4\x99\xd8\xb8.\xf3\xa0\x86\x93\xe2\x80\x8d", true); } // [B5, B6, A4_2] test { try toUnicodeFail("xn--3gb910r."); } // [B5, B6] +test { try toAsciiFail("xn--3gb910r.", false); } // [B5, B6, A4_2] +test { try toAsciiFail("xn--3gb910r.", true); } // [B5, B6, A4_2] test { try toUnicodeFail("xn--3gb910r.xn--1ug"); } // [B1, B5, B6, C2] +test { try toAsciiFail("xn--3gb910r.xn--1ug", false); } // [B1, B5, B6, C2] +test { try toAsciiFail("xn--3gb910r.xn--1ug", true); } // [B1, B5, B6, C2] test { try toUnicodeFail("xn--3gb194c."); } // [B5, B6, V7] +test { try toAsciiFail("xn--3gb194c.", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail("xn--3gb194c.", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--3gb194c.xn--1ug"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--3gb194c.xn--1ug", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--3gb194c.xn--1ug", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail("\xf3\xa0\x86\xb8\xef\xbd\xa1\xe2\x82\x86\xef\xbc\x90\xf0\x90\xba\xa7\xdd\x96"); } // [B1, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xb8\xef\xbd\xa1\xe2\x82\x86\xef\xbc\x90\xf0\x90\xba\xa7\xdd\x96", false); } // [B1, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xb8\xef\xbd\xa1\xe2\x82\x86\xef\xbc\x90\xf0\x90\xba\xa7\xdd\x96", true); } // [B1, A4_2] test { try toUnicodeFail("\xf3\xa0\x86\xb8\xe3\x80\x8260\xf0\x90\xba\xa7\xdd\x96"); } // [B1, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xb8\xe3\x80\x8260\xf0\x90\xba\xa7\xdd\x96", false); } // [B1, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xb8\xe3\x80\x8260\xf0\x90\xba\xa7\xdd\x96", true); } // [B1, A4_2] test { try toUnicodeFail(".xn--60-cke9470y"); } // [B1, X4_2] +test { try toAsciiFail(".xn--60-cke9470y", false); } // [B1, A4_2] +test { try toAsciiFail(".xn--60-cke9470y", true); } // [B1, A4_2] test { try toUnicodeFail("6\xe0\xa1\x8f\xef\xbd\xa1-\xf0\x91\x88\xb4"); } // [B1, V3] +test { try toAsciiFail("6\xe0\xa1\x8f\xef\xbd\xa1-\xf0\x91\x88\xb4", false); } // [B1, V3] +test { try toAsciiFail("6\xe0\xa1\x8f\xef\xbd\xa1-\xf0\x91\x88\xb4", true); } // [B1, V3] test { try toUnicodeFail("6\xe0\xa1\x8f\xe3\x80\x82-\xf0\x91\x88\xb4"); } // [B1, V3] +test { try toAsciiFail("6\xe0\xa1\x8f\xe3\x80\x82-\xf0\x91\x88\xb4", false); } // [B1, V3] +test { try toAsciiFail("6\xe0\xa1\x8f\xe3\x80\x82-\xf0\x91\x88\xb4", true); } // [B1, V3] test { try toUnicodeFail("xn--6-jjd.xn----6n8i"); } // [B1, V3] +test { try toAsciiFail("xn--6-jjd.xn----6n8i", false); } // [B1, V3] +test { try toAsciiFail("xn--6-jjd.xn----6n8i", true); } // [B1, V3] test { try toUnicodeFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xcf\x82\xf0\x9e\xb0\x8e\xe0\xa3\x96"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xcf\x82\xf0\x9e\xb0\x8e\xe0\xa3\x96", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xcf\x82\xf0\x9e\xb0\x8e\xe0\xa3\x96", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xcf\x82\xf0\x9e\xb0\x8e\xe0\xa3\x96"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xcf\x82\xf0\x9e\xb0\x8e\xe0\xa3\x96", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xcf\x82\xf0\x9e\xb0\x8e\xe0\xa3\x96", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xce\xa3\xf0\x9e\xb0\x8e\xe0\xa3\x96"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xce\xa3\xf0\x9e\xb0\x8e\xe0\xa3\x96", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xce\xa3\xf0\x9e\xb0\x8e\xe0\xa3\x96", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xcf\x83\xf0\x9e\xb0\x8e\xe0\xa3\x96"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xcf\x83\xf0\x9e\xb0\x8e\xe0\xa3\x96", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xe3\x80\x82\xe0\xab\x8d\xcf\x83\xf0\x9e\xb0\x8e\xe0\xa3\x96", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--oo0d1330n.xn--4xa21xcwbfz15g"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--oo0d1330n.xn--4xa21xcwbfz15g", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--oo0d1330n.xn--4xa21xcwbfz15g", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--1ugx105gq26y.xn--4xa21xcwbfz15g"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--1ugx105gq26y.xn--4xa21xcwbfz15g", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--1ugx105gq26y.xn--4xa21xcwbfz15g", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("xn--1ugx105gq26y.xn--3xa41xcwbfz15g"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--1ugx105gq26y.xn--3xa41xcwbfz15g", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--1ugx105gq26y.xn--3xa41xcwbfz15g", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xce\xa3\xf0\x9e\xb0\x8e\xe0\xa3\x96"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xce\xa3\xf0\x9e\xb0\x8e\xe0\xa3\x96", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xce\xa3\xf0\x9e\xb0\x8e\xe0\xa3\x96", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xcf\x83\xf0\x9e\xb0\x8e\xe0\xa3\x96"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xcf\x83\xf0\x9e\xb0\x8e\xe0\xa3\x96", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\x8b\x8c\xbf\xf0\x90\xb9\xb0\xef\xbd\xa1\xe0\xab\x8d\xcf\x83\xf0\x9e\xb0\x8e\xe0\xa3\x96", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x92\x88\xf1\x9f\x84\x9c\xe1\x82\xb3\xe2\x92\xaa\xef\xbc\x8e\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xe2\x92\x88\xf1\x9f\x84\x9c\xe1\x82\xb3\xe2\x92\xaa\xef\xbc\x8e\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xe2\x92\x88\xf1\x9f\x84\x9c\xe1\x82\xb3\xe2\x92\xaa\xef\xbc\x8e\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("1.\xf1\x9f\x84\x9c\xe1\x82\xb3(o).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2"); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.\xf1\x9f\x84\x9c\xe1\x82\xb3(o).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", false); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.\xf1\x9f\x84\x9c\xe1\x82\xb3(o).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", true); } // [B1, B6, V6, V7, U1] test { try toUnicodeFail("1.\xf1\x9f\x84\x9c\xe2\xb4\x93(o).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2"); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.\xf1\x9f\x84\x9c\xe2\xb4\x93(o).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", false); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.\xf1\x9f\x84\x9c\xe2\xb4\x93(o).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", true); } // [B1, B6, V6, V7, U1] test { try toUnicodeFail("1.\xf1\x9f\x84\x9c\xe1\x82\xb3(O).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2"); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.\xf1\x9f\x84\x9c\xe1\x82\xb3(O).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", false); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.\xf1\x9f\x84\x9c\xe1\x82\xb3(O).\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", true); } // [B1, B6, V6, V7, U1] test { try toUnicodeFail("1.xn--(o)-ej1bu5389e.xn--3xb99xpx1yoes3e"); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.xn--(o)-ej1bu5389e.xn--3xb99xpx1yoes3e", false); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.xn--(o)-ej1bu5389e.xn--3xb99xpx1yoes3e", true); } // [B1, B6, V6, V7, U1] test { try toUnicodeFail("\xe2\x92\x88\xf1\x9f\x84\x9c\xe2\xb4\x93\xe2\x92\xaa\xef\xbc\x8e\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xe2\x92\x88\xf1\x9f\x84\x9c\xe2\xb4\x93\xe2\x92\xaa\xef\xbc\x8e\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xe2\x92\x88\xf1\x9f\x84\x9c\xe2\xb4\x93\xe2\x92\xaa\xef\xbc\x8e\xe0\xb7\x8a\xf2\x98\x98\xb6\xe0\xa2\x8b\xf0\x90\xb9\xa2", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("xn--(o)-ge4ax01c3t74t.xn--3xb99xpx1yoes3e"); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--(o)-ge4ax01c3t74t.xn--3xb99xpx1yoes3e", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--(o)-ge4ax01c3t74t.xn--3xb99xpx1yoes3e", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("1.xn--(o)-7sn88849j.xn--3xb99xpx1yoes3e"); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.xn--(o)-7sn88849j.xn--3xb99xpx1yoes3e", false); } // [B1, B6, V6, V7, U1] +test { try toAsciiFail("1.xn--(o)-7sn88849j.xn--3xb99xpx1yoes3e", true); } // [B1, B6, V6, V7, U1] test { try toUnicodeFail("xn--tsh0ds63atl31n.xn--3xb99xpx1yoes3e"); } // [B1, V6, V7] +test { try toAsciiFail("xn--tsh0ds63atl31n.xn--3xb99xpx1yoes3e", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--tsh0ds63atl31n.xn--3xb99xpx1yoes3e", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--rnd762h7cx3027d.xn--3xb99xpx1yoes3e"); } // [B1, V6, V7] +test { try toAsciiFail("xn--rnd762h7cx3027d.xn--3xb99xpx1yoes3e", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--rnd762h7cx3027d.xn--3xb99xpx1yoes3e", true); } // [B1, V6, V7] test { try toUnicodePass("\xf0\x9e\xa4\xb7.\xf0\x90\xae\x90\xf0\x9e\xa2\x81\xf0\x90\xb9\xa0\xd8\xa4", "\xf0\x9e\xa4\xb7.\xf0\x90\xae\x90\xf0\x9e\xa2\x81\xf0\x90\xb9\xa0\xd8\xa4"); } test { try toAsciiPass("\xf0\x9e\xa4\xb7.\xf0\x90\xae\x90\xf0\x9e\xa2\x81\xf0\x90\xb9\xa0\xd8\xa4", "xn--ve6h.xn--jgb1694kz0b2176a", false); } test { try toAsciiPass("\xf0\x9e\xa4\xb7.\xf0\x90\xae\x90\xf0\x9e\xa2\x81\xf0\x90\xb9\xa0\xd8\xa4", "xn--ve6h.xn--jgb1694kz0b2176a", true); } @@ -1295,32 +2397,86 @@ test { try toUnicodePass("xn--ve6h.xn--jgb1694kz0b2176a", "\xf0\x9e\xa4\xb7.\xf0 test { try toAsciiPass("xn--ve6h.xn--jgb1694kz0b2176a", "xn--ve6h.xn--jgb1694kz0b2176a", false); } test { try toAsciiPass("xn--ve6h.xn--jgb1694kz0b2176a", "xn--ve6h.xn--jgb1694kz0b2176a", true); } test { try toUnicodeFail("\xf0\x90\xb2\x88-\xef\xbd\xa1\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb2\x88-\xef\xbd\xa1\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb2\x88-\xef\xbd\xa1\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("\xf0\x90\xb2\x88-\xe3\x80\x82\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb2\x88-\xe3\x80\x82\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb2\x88-\xe3\x80\x82\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("\xf0\x90\xb3\x88-\xe3\x80\x82\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb3\x88-\xe3\x80\x82\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb3\x88-\xe3\x80\x82\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("xn----ue6i.xn--v80d6662t"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("xn----ue6i.xn--v80d6662t", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("xn----ue6i.xn--v80d6662t", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("\xf0\x90\xb3\x88-\xef\xbd\xa1\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb3\x88-\xef\xbd\xa1\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x90\xb3\x88-\xef\xbd\xa1\xf0\x91\x84\xb3\xf1\xa2\x8c\xbb", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("-\xf3\xa0\x89\x96\xea\xa1\xa7\xef\xbc\x8e\xf3\xa0\x8a\x82\xf1\x87\x86\x83\xf0\x9f\x84\x89"); } // [V3, V7, U1] +test { try toAsciiFail("-\xf3\xa0\x89\x96\xea\xa1\xa7\xef\xbc\x8e\xf3\xa0\x8a\x82\xf1\x87\x86\x83\xf0\x9f\x84\x89", false); } // [V3, V7, U1] +test { try toAsciiFail("-\xf3\xa0\x89\x96\xea\xa1\xa7\xef\xbc\x8e\xf3\xa0\x8a\x82\xf1\x87\x86\x83\xf0\x9f\x84\x89", true); } // [V3, V7, U1] test { try toUnicodeFail("-\xf3\xa0\x89\x96\xea\xa1\xa7.\xf3\xa0\x8a\x82\xf1\x87\x86\x838,"); } // [V3, V7, U1] +test { try toAsciiFail("-\xf3\xa0\x89\x96\xea\xa1\xa7.\xf3\xa0\x8a\x82\xf1\x87\x86\x838,", false); } // [V3, V7, U1] +test { try toAsciiFail("-\xf3\xa0\x89\x96\xea\xa1\xa7.\xf3\xa0\x8a\x82\xf1\x87\x86\x838,", true); } // [V3, V7, U1] test { try toUnicodeFail("xn----hg4ei0361g.xn--8,-k362evu488a"); } // [V3, V7, U1] +test { try toAsciiFail("xn----hg4ei0361g.xn--8,-k362evu488a", false); } // [V3, V7, U1] +test { try toAsciiFail("xn----hg4ei0361g.xn--8,-k362evu488a", true); } // [V3, V7, U1] test { try toUnicodeFail("xn----hg4ei0361g.xn--207ht163h7m94c"); } // [V3, V7] +test { try toAsciiFail("xn----hg4ei0361g.xn--207ht163h7m94c", false); } // [V3, V7] +test { try toAsciiFail("xn----hg4ei0361g.xn--207ht163h7m94c", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\xbe\x9b\xf3\xa0\x88\xb4\xe8\x87\xaf\xf0\xa7\x94\xa4.\xdd\xa8\xf0\x9d\x9f\x9d"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xbe\x9b\xf3\xa0\x88\xb4\xe8\x87\xaf\xf0\xa7\x94\xa4.\xdd\xa8\xf0\x9d\x9f\x9d", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xbe\x9b\xf3\xa0\x88\xb4\xe8\x87\xaf\xf0\xa7\x94\xa4.\xdd\xa8\xf0\x9d\x9f\x9d", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xbe\x9b\xf3\xa0\x88\xb4\xe8\x87\xaf\xf0\xa7\x94\xa4.\xdd\xa85"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xbe\x9b\xf3\xa0\x88\xb4\xe8\x87\xaf\xf0\xa7\x94\xa4.\xdd\xa85", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xbe\x9b\xf3\xa0\x88\xb4\xe8\x87\xaf\xf0\xa7\x94\xa4.\xdd\xa85", true); } // [B1, V7] test { try toUnicodeFail("xn--zb1at733hm579ddhla.xn--5-b5c"); } // [B1, V7] +test { try toAsciiFail("xn--zb1at733hm579ddhla.xn--5-b5c", false); } // [B1, V7] +test { try toAsciiFail("xn--zb1at733hm579ddhla.xn--5-b5c", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xae\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x9d\xa8\xbf"); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x9d\xa8\xbf", false); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x9d\xa8\xbf", true); } // [B1, V6] test { try toUnicodeFail("<\xcc\xb8\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x9d\xa8\xbf"); } // [B1, V6] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x9d\xa8\xbf", false); } // [B1, V6] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x9d\xa8\xbf", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xae\xf0\x90\xb9\xa3.\xf0\x9d\xa8\xbf"); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xa3.\xf0\x9d\xa8\xbf", false); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xa3.\xf0\x9d\xa8\xbf", true); } // [B1, V6] test { try toUnicodeFail("<\xcc\xb8\xf0\x90\xb9\xa3.\xf0\x9d\xa8\xbf"); } // [B1, V6] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xa3.\xf0\x9d\xa8\xbf", false); } // [B1, V6] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xa3.\xf0\x9d\xa8\xbf", true); } // [B1, V6] test { try toUnicodeFail("xn--gdh1504g.xn--e92h"); } // [B1, V6] +test { try toAsciiFail("xn--gdh1504g.xn--e92h", false); } // [B1, V6] +test { try toAsciiFail("xn--gdh1504g.xn--e92h", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x90\xb9\xaf\xe1\xaf\x9b\xe0\xa9\x8d\xef\xbd\xa1\xe8\x84\xa5"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xaf\xe1\xaf\x9b\xe0\xa9\x8d\xef\xbd\xa1\xe8\x84\xa5", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xaf\xe1\xaf\x9b\xe0\xa9\x8d\xef\xbd\xa1\xe8\x84\xa5", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xaf\xe1\xaf\x9b\xe0\xa9\x8d\xe3\x80\x82\xe8\x84\xa5"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xaf\xe1\xaf\x9b\xe0\xa9\x8d\xe3\x80\x82\xe8\x84\xa5", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xaf\xe1\xaf\x9b\xe0\xa9\x8d\xe3\x80\x82\xe8\x84\xa5", true); } // [B1] test { try toUnicodeFail("xn--ybc101g3m1p.xn--740a"); } // [B1] +test { try toAsciiFail("xn--ybc101g3m1p.xn--740a", false); } // [B1] +test { try toAsciiFail("xn--ybc101g3m1p.xn--740a", true); } // [B1] test { try toUnicodeFail("\xe1\xad\x84\xe1\x85\x9f\xf0\x9e\xb7\xbf\xf2\x83\x80\x8d.-"); } // [B1, B5, V3, V6, V7] +test { try toAsciiFail("\xe1\xad\x84\xe1\x85\x9f\xf0\x9e\xb7\xbf\xf2\x83\x80\x8d.-", false); } // [B1, B5, V3, V6, V7] +test { try toAsciiFail("\xe1\xad\x84\xe1\x85\x9f\xf0\x9e\xb7\xbf\xf2\x83\x80\x8d.-", true); } // [B1, B5, V3, V6, V7] test { try toUnicodeFail("xn--1uf9538sxny9a.-"); } // [B1, B5, V3, V6, V7] +test { try toAsciiFail("xn--1uf9538sxny9a.-", false); } // [B1, B5, V3, V6, V7] +test { try toAsciiFail("xn--1uf9538sxny9a.-", true); } // [B1, B5, V3, V6, V7] test { try toUnicodeFail("xn--osd971cpx70btgt8b.-"); } // [B1, B5, V3, V6, V7] +test { try toAsciiFail("xn--osd971cpx70btgt8b.-", false); } // [B1, B5, V3, V6, V7] +test { try toAsciiFail("xn--osd971cpx70btgt8b.-", true); } // [B1, B5, V3, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbd\xa1\xcd\x94"); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xcd\x94", false); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xcd\x94", true); } // [V6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82\xcd\x94"); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xcd\x94", false); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xcd\x94", true); } // [V6, A4_2] test { try toUnicodeFail(".xn--yua"); } // [V6, X4_2] +test { try toAsciiFail(".xn--yua", false); } // [V6, A4_2] +test { try toAsciiFail(".xn--yua", true); } // [V6, A4_2] test { try toUnicodeFail("xn--0ug.xn--yua"); } // [C1, V6] +test { try toAsciiFail("xn--0ug.xn--yua", false); } // [C1, V6] +test { try toAsciiFail("xn--0ug.xn--yua", true); } // [C1, V6] test { try toUnicodePass("\xf0\x9e\xa4\xa5\xf3\xa0\x85\xae\xef\xbc\x8e\xe1\xa1\x84\xe1\x82\xae", "\xf0\x9e\xa4\xa5.\xe1\xa1\x84\xe2\xb4\x8e"); } test { try toAsciiPass("\xf0\x9e\xa4\xa5\xf3\xa0\x85\xae\xef\xbc\x8e\xe1\xa1\x84\xe1\x82\xae", "xn--de6h.xn--37e857h", false); } test { try toAsciiPass("\xf0\x9e\xa4\xa5\xf3\xa0\x85\xae\xef\xbc\x8e\xe1\xa1\x84\xe1\x82\xae", "xn--de6h.xn--37e857h", true); } @@ -1358,290 +2514,842 @@ test { try toUnicodePass("\xf0\x9e\xa4\x83\xf3\xa0\x85\xae\xef\xbc\x8e\xe1\xa1\x test { try toAsciiPass("\xf0\x9e\xa4\x83\xf3\xa0\x85\xae\xef\xbc\x8e\xe1\xa1\x84\xe2\xb4\x8e", "xn--de6h.xn--37e857h", false); } test { try toAsciiPass("\xf0\x9e\xa4\x83\xf3\xa0\x85\xae\xef\xbc\x8e\xe1\xa1\x84\xe2\xb4\x8e", "xn--de6h.xn--37e857h", true); } test { try toUnicodeFail("xn--de6h.xn--mnd799a"); } // [V7] +test { try toAsciiFail("xn--de6h.xn--mnd799a", false); } // [V7] +test { try toAsciiFail("xn--de6h.xn--mnd799a", true); } // [V7] test { try toUnicodePass("\xf0\x9e\xa4\xa5.\xe1\xa1\x84\xe1\x82\xae", "\xf0\x9e\xa4\xa5.\xe1\xa1\x84\xe2\xb4\x8e"); } test { try toAsciiPass("\xf0\x9e\xa4\xa5.\xe1\xa1\x84\xe1\x82\xae", "xn--de6h.xn--37e857h", false); } test { try toAsciiPass("\xf0\x9e\xa4\xa5.\xe1\xa1\x84\xe1\x82\xae", "xn--de6h.xn--37e857h", true); } test { try toUnicodeFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\x9e\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\x9e\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\x9e\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\x9e.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\x9e.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\x9e.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\xbe.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\xbe.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\xbe.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\x9e.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\x9e.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\x9e.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\xbe.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\xbe.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\xbe.\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("xn--zxa5691vboja.xn--bfi293ci119b"); } // [B2, B3, B6] +test { try toAsciiFail("xn--zxa5691vboja.xn--bfi293ci119b", false); } // [B2, B3, B6] +test { try toAsciiFail("xn--zxa5691vboja.xn--bfi293ci119b", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\xbe\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\xbe\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\xa7\xf0\x9d\xa8\xa8\xce\xbe\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\x9e\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\x9e\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\x9e\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\xbe\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8"); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\xbe\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", false); } // [B2, B3, B6] +test { try toAsciiFail("\xf0\x9e\xa4\x85\xf0\x9d\xa8\xa8\xce\xbe\xef\xbc\x8e\xf0\xaa\xba\x8f\xe3\x9b\xa8\xe2\x9d\xb8", true); } // [B2, B3, B6] test { try toUnicodeFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xef\xbd\xa1\xe1\x82\xbb\xf0\x90\xa6\x85\xef\xb8\x92"); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xef\xbd\xa1\xe1\x82\xbb\xf0\x90\xa6\x85\xef\xb8\x92", false); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xef\xbd\xa1\xe1\x82\xbb\xf0\x90\xa6\x85\xef\xb8\x92", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xef\xbd\xa1\xe1\x82\xbb\xf0\x90\xa6\x85\xef\xb8\x92"); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xef\xbd\xa1\xe1\x82\xbb\xf0\x90\xa6\x85\xef\xb8\x92", false); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xef\xbd\xa1\xe1\x82\xbb\xf0\x90\xa6\x85\xef\xb8\x92", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xe3\x80\x82\xe1\x82\xbb\xf0\x90\xa6\x85\xe3\x80\x82"); } // [B1, B5, B6, C1, V3] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xe3\x80\x82\xe1\x82\xbb\xf0\x90\xa6\x85\xe3\x80\x82", false); } // [B1, B5, B6, C1, V3, A4_2] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xe3\x80\x82\xe1\x82\xbb\xf0\x90\xa6\x85\xe3\x80\x82", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xe3\x80\x82\xe1\x82\xbb\xf0\x90\xa6\x85\xe3\x80\x82"); } // [B1, B5, B6, C1, V3] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xe3\x80\x82\xe1\x82\xbb\xf0\x90\xa6\x85\xe3\x80\x82", false); } // [B1, B5, B6, C1, V3, A4_2] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xe3\x80\x82\xe1\x82\xbb\xf0\x90\xa6\x85\xe3\x80\x82", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xe3\x80\x82\xe2\xb4\x9b\xf0\x90\xa6\x85\xe3\x80\x82"); } // [B1, B5, B6, C1, V3] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xe3\x80\x82\xe2\xb4\x9b\xf0\x90\xa6\x85\xe3\x80\x82", false); } // [B1, B5, B6, C1, V3, A4_2] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xe3\x80\x82\xe2\xb4\x9b\xf0\x90\xa6\x85\xe3\x80\x82", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xe3\x80\x82\xe2\xb4\x9b\xf0\x90\xa6\x85\xe3\x80\x82"); } // [B1, B5, B6, C1, V3] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xe3\x80\x82\xe2\xb4\x9b\xf0\x90\xa6\x85\xe3\x80\x82", false); } // [B1, B5, B6, C1, V3, A4_2] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xe3\x80\x82\xe2\xb4\x9b\xf0\x90\xa6\x85\xe3\x80\x82", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("xn----e3j6620g.xn--jlju661e."); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn----e3j6620g.xn--jlju661e.", false); } // [B1, B5, B6, V3, A4_2] +test { try toAsciiFail("xn----e3j6620g.xn--jlju661e.", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("xn----e3j425bsk1o.xn--jlju661e."); } // [B1, B5, B6, C1, V3] +test { try toAsciiFail("xn----e3j425bsk1o.xn--jlju661e.", false); } // [B1, B5, B6, C1, V3, A4_2] +test { try toAsciiFail("xn----e3j425bsk1o.xn--jlju661e.", true); } // [B1, B5, B6, C1, V3, A4_2] test { try toUnicodeFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xef\xbd\xa1\xe2\xb4\x9b\xf0\x90\xa6\x85\xef\xb8\x92"); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xef\xbd\xa1\xe2\xb4\x9b\xf0\x90\xa6\x85\xef\xb8\x92", false); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xbd\xe2\x80\x8c-\xef\xbd\xa1\xe2\xb4\x9b\xf0\x90\xa6\x85\xef\xb8\x92", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xef\xbd\xa1\xe2\xb4\x9b\xf0\x90\xa6\x85\xef\xb8\x92"); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xef\xbd\xa1\xe2\xb4\x9b\xf0\x90\xa6\x85\xef\xb8\x92", false); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("\xe1\xa0\x86\xeb\xaa\x86\xe2\x80\x8c-\xef\xbd\xa1\xe2\xb4\x9b\xf0\x90\xa6\x85\xef\xb8\x92", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----e3j6620g.xn--jlj4997dhgh"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----e3j6620g.xn--jlj4997dhgh", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----e3j6620g.xn--jlj4997dhgh", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----e3j425bsk1o.xn--jlj4997dhgh"); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("xn----e3j425bsk1o.xn--jlj4997dhgh", false); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("xn----e3j425bsk1o.xn--jlj4997dhgh", true); } // [B1, B5, B6, C1, V3, V7] test { try toUnicodeFail("xn----e3j6620g.xn--znd4948j."); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----e3j6620g.xn--znd4948j.", false); } // [B1, B5, B6, V3, V7, A4_2] +test { try toAsciiFail("xn----e3j6620g.xn--znd4948j.", true); } // [B1, B5, B6, V3, V7, A4_2] test { try toUnicodeFail("xn----e3j425bsk1o.xn--znd4948j."); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("xn----e3j425bsk1o.xn--znd4948j.", false); } // [B1, B5, B6, C1, V3, V7, A4_2] +test { try toAsciiFail("xn----e3j425bsk1o.xn--znd4948j.", true); } // [B1, B5, B6, C1, V3, V7, A4_2] test { try toUnicodeFail("xn----e3j6620g.xn--znd2362jhgh"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----e3j6620g.xn--znd2362jhgh", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----e3j6620g.xn--znd2362jhgh", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----e3j425bsk1o.xn--znd2362jhgh"); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("xn----e3j425bsk1o.xn--znd2362jhgh", false); } // [B1, B5, B6, C1, V3, V7] +test { try toAsciiFail("xn----e3j425bsk1o.xn--znd2362jhgh", true); } // [B1, B5, B6, C1, V3, V7] test { try toUnicodeFail("\xf3\xa0\xbe\xb3.\xef\xb8\x92\xe2\xa5\xb1\xe2\x80\x8c\xf0\x90\xb9\xac"); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\xbe\xb3.\xef\xb8\x92\xe2\xa5\xb1\xe2\x80\x8c\xf0\x90\xb9\xac", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\xbe\xb3.\xef\xb8\x92\xe2\xa5\xb1\xe2\x80\x8c\xf0\x90\xb9\xac", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xbe\xb3.\xe3\x80\x82\xe2\xa5\xb1\xe2\x80\x8c\xf0\x90\xb9\xac"); } // [B1, C1, V7, X4_2] +test { try toAsciiFail("\xf3\xa0\xbe\xb3.\xe3\x80\x82\xe2\xa5\xb1\xe2\x80\x8c\xf0\x90\xb9\xac", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("\xf3\xa0\xbe\xb3.\xe3\x80\x82\xe2\xa5\xb1\xe2\x80\x8c\xf0\x90\xb9\xac", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--uf66e..xn--qti2829e"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--uf66e..xn--qti2829e", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--uf66e..xn--qti2829e", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--uf66e..xn--0ugz28as66q"); } // [B1, C1, V7, X4_2] +test { try toAsciiFail("xn--uf66e..xn--0ugz28as66q", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("xn--uf66e..xn--0ugz28as66q", true); } // [B1, C1, V7, A4_2] test { try toUnicodeFail("xn--uf66e.xn--qtiz073e3ik"); } // [B1, V7] +test { try toAsciiFail("xn--uf66e.xn--qtiz073e3ik", false); } // [B1, V7] +test { try toAsciiFail("xn--uf66e.xn--qtiz073e3ik", true); } // [B1, V7] test { try toUnicodeFail("xn--uf66e.xn--0ugz28axl3pqxna"); } // [B1, C1, V7] +test { try toAsciiFail("xn--uf66e.xn--0ugz28axl3pqxna", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--uf66e.xn--0ugz28axl3pqxna", true); } // [B1, C1, V7] test { try toUnicodeFail("\xf0\x90\xaf\x96.\xf0\x90\xb9\xa0\xe1\x82\xb1\xf1\x9a\x87\x9c\xf0\x90\xab\x8a"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xaf\x96.\xf0\x90\xb9\xa0\xe1\x82\xb1\xf1\x9a\x87\x9c\xf0\x90\xab\x8a", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xaf\x96.\xf0\x90\xb9\xa0\xe1\x82\xb1\xf1\x9a\x87\x9c\xf0\x90\xab\x8a", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xaf\x96.\xf0\x90\xb9\xa0\xe2\xb4\x91\xf1\x9a\x87\x9c\xf0\x90\xab\x8a"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xaf\x96.\xf0\x90\xb9\xa0\xe2\xb4\x91\xf1\x9a\x87\x9c\xf0\x90\xab\x8a", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xaf\x96.\xf0\x90\xb9\xa0\xe2\xb4\x91\xf1\x9a\x87\x9c\xf0\x90\xab\x8a", true); } // [B1, V7] test { try toUnicodeFail("xn--n49c.xn--8kj8702ewicl862o"); } // [B1, V7] +test { try toAsciiFail("xn--n49c.xn--8kj8702ewicl862o", false); } // [B1, V7] +test { try toAsciiFail("xn--n49c.xn--8kj8702ewicl862o", true); } // [B1, V7] test { try toUnicodeFail("xn--n49c.xn--pnd4619jwicl862o"); } // [B1, V7] +test { try toAsciiFail("xn--n49c.xn--pnd4619jwicl862o", false); } // [B1, V7] +test { try toAsciiFail("xn--n49c.xn--pnd4619jwicl862o", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf\xef\xbc\x8e\xf0\x9d\x9f\xad\xe1\x82\xbb"); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf\xef\xbc\x8e\xf0\x9d\x9f\xad\xe1\x82\xbb", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf\xef\xbc\x8e\xf0\x9d\x9f\xad\xe1\x82\xbb", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf.1\xe1\x82\xbb"); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf.1\xe1\x82\xbb", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf.1\xe1\x82\xbb", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf.1\xe2\xb4\x9b"); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf.1\xe2\xb4\x9b", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf.1\xe2\xb4\x9b", true); } // [V6, V7] test { try toUnicodeFail("xn--0fd40533g.xn--1-tws"); } // [V6, V7] +test { try toAsciiFail("xn--0fd40533g.xn--1-tws", false); } // [V6, V7] +test { try toAsciiFail("xn--0fd40533g.xn--1-tws", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf\xef\xbc\x8e\xf0\x9d\x9f\xad\xe2\xb4\x9b"); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf\xef\xbc\x8e\xf0\x9d\x9f\xad\xe2\xb4\x9b", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xbe\xa4\xf1\xb1\xa4\xaf\xef\xbc\x8e\xf0\x9d\x9f\xad\xe2\xb4\x9b", true); } // [V6, V7] test { try toUnicodeFail("xn--0fd40533g.xn--1-q1g"); } // [V6, V7] +test { try toAsciiFail("xn--0fd40533g.xn--1-q1g", false); } // [V6, V7] +test { try toAsciiFail("xn--0fd40533g.xn--1-q1g", true); } // [V6, V7] test { try toUnicodeFail("-\xe0\xa0\xa6\xe9\xbd\x80\xe3\x80\x82\xeb\xa6\xbf\xf0\x90\xb8\x8b"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-\xe0\xa0\xa6\xe9\xbd\x80\xe3\x80\x82\xeb\xa6\xbf\xf0\x90\xb8\x8b", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-\xe0\xa0\xa6\xe9\xbd\x80\xe3\x80\x82\xeb\xa6\xbf\xf0\x90\xb8\x8b", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("-\xe0\xa0\xa6\xe9\xbd\x80\xe3\x80\x82\xe1\x84\x85\xe1\x85\xb5\xe1\x86\xba\xf0\x90\xb8\x8b"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-\xe0\xa0\xa6\xe9\xbd\x80\xe3\x80\x82\xe1\x84\x85\xe1\x85\xb5\xe1\x86\xba\xf0\x90\xb8\x8b", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-\xe0\xa0\xa6\xe9\xbd\x80\xe3\x80\x82\xe1\x84\x85\xe1\x85\xb5\xe1\x86\xba\xf0\x90\xb8\x8b", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----6gd0617i.xn--7y2bm55m"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----6gd0617i.xn--7y2bm55m", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----6gd0617i.xn--7y2bm55m", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xf3\xa0\x94\x8a\xdc\x9c\xe9\xb9\x9d\xea\xbe\x97\xe3\x80\x82\xf1\xbe\xb5\x90\xe2\x80\x8d\xe2\x80\x8d\xe2\x8f\x83"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa0\x94\x8a\xdc\x9c\xe9\xb9\x9d\xea\xbe\x97\xe3\x80\x82\xf1\xbe\xb5\x90\xe2\x80\x8d\xe2\x80\x8d\xe2\x8f\x83", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa0\x94\x8a\xdc\x9c\xe9\xb9\x9d\xea\xbe\x97\xe3\x80\x82\xf1\xbe\xb5\x90\xe2\x80\x8d\xe2\x80\x8d\xe2\x8f\x83", true); } // [B1, B6, V7] test { try toUnicodeFail("\xf3\xa0\x94\x8a\xdc\x9c\xe9\xb9\x9d\xe1\x84\x81\xe1\x85\xac\xe1\x86\xbe\xe3\x80\x82\xf1\xbe\xb5\x90\xe2\x80\x8d\xe2\x80\x8d\xe2\x8f\x83"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa0\x94\x8a\xdc\x9c\xe9\xb9\x9d\xe1\x84\x81\xe1\x85\xac\xe1\x86\xbe\xe3\x80\x82\xf1\xbe\xb5\x90\xe2\x80\x8d\xe2\x80\x8d\xe2\x8f\x83", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa0\x94\x8a\xdc\x9c\xe9\xb9\x9d\xe1\x84\x81\xe1\x85\xac\xe1\x86\xbe\xe3\x80\x82\xf1\xbe\xb5\x90\xe2\x80\x8d\xe2\x80\x8d\xe2\x8f\x83", true); } // [B1, B6, V7] test { try toUnicodeFail("xn--mnb6558e91kyq533a.xn--6mh27269e"); } // [B1, B6, V7] +test { try toAsciiFail("xn--mnb6558e91kyq533a.xn--6mh27269e", false); } // [B1, B6, V7] +test { try toAsciiFail("xn--mnb6558e91kyq533a.xn--6mh27269e", true); } // [B1, B6, V7] test { try toUnicodeFail("xn--mnb6558e91kyq533a.xn--1uga46zs309y"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--mnb6558e91kyq533a.xn--1uga46zs309y", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--mnb6558e91kyq533a.xn--1uga46zs309y", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("\xe2\x89\xae\xef\xbc\x8e-\xdc\x88--"); } // [B1, V2, V3] +test { try toAsciiFail("\xe2\x89\xae\xef\xbc\x8e-\xdc\x88--", false); } // [B1, V2, V3] +test { try toAsciiFail("\xe2\x89\xae\xef\xbc\x8e-\xdc\x88--", true); } // [B1, V2, V3] test { try toUnicodeFail("<\xcc\xb8\xef\xbc\x8e-\xdc\x88--"); } // [B1, V2, V3] +test { try toAsciiFail("<\xcc\xb8\xef\xbc\x8e-\xdc\x88--", false); } // [B1, V2, V3] +test { try toAsciiFail("<\xcc\xb8\xef\xbc\x8e-\xdc\x88--", true); } // [B1, V2, V3] test { try toUnicodeFail("\xe2\x89\xae.-\xdc\x88--"); } // [B1, V2, V3] +test { try toAsciiFail("\xe2\x89\xae.-\xdc\x88--", false); } // [B1, V2, V3] +test { try toAsciiFail("\xe2\x89\xae.-\xdc\x88--", true); } // [B1, V2, V3] test { try toUnicodeFail("<\xcc\xb8.-\xdc\x88--"); } // [B1, V2, V3] +test { try toAsciiFail("<\xcc\xb8.-\xdc\x88--", false); } // [B1, V2, V3] +test { try toAsciiFail("<\xcc\xb8.-\xdc\x88--", true); } // [B1, V2, V3] test { try toUnicodeFail("xn--gdh.xn------eqf"); } // [B1, V2, V3] +test { try toAsciiFail("xn--gdh.xn------eqf", false); } // [B1, V2, V3] +test { try toAsciiFail("xn--gdh.xn------eqf", true); } // [B1, V2, V3] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x82\xf0\x9d\x9f\xa9"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x82\xf0\x9d\x9f\xa9", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x82\xf0\x9d\x9f\xa9", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x827"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x827", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x827", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xce\xa37"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xce\xa37", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xce\xa37", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x837"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x837", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x837", true); } // [B1, V7] test { try toUnicodeFail("xn--wo0di5177c.xn--7-zmb"); } // [B1, V7] +test { try toAsciiFail("xn--wo0di5177c.xn--7-zmb", false); } // [B1, V7] +test { try toAsciiFail("xn--wo0di5177c.xn--7-zmb", true); } // [B1, V7] test { try toUnicodeFail("xn--wo0di5177c.xn--7-zmb938s"); } // [B1, C2, V7] +test { try toAsciiFail("xn--wo0di5177c.xn--7-zmb938s", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--wo0di5177c.xn--7-zmb938s", true); } // [B1, C2, V7] test { try toUnicodeFail("xn--wo0di5177c.xn--7-xmb248s"); } // [B1, C2, V7] +test { try toAsciiFail("xn--wo0di5177c.xn--7-xmb248s", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--wo0di5177c.xn--7-xmb248s", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xce\xa3\xf0\x9d\x9f\xa9"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xce\xa3\xf0\x9d\x9f\xa9", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xce\xa3\xf0\x9d\x9f\xa9", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x83\xf0\x9d\x9f\xa9"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x83\xf0\x9d\x9f\xa9", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xf3\xa0\x8b\xb3\xe3\x80\x82\xe2\x80\x8d\xcf\x83\xf0\x9d\x9f\xa9", true); } // [B1, V7] test { try toUnicodeFail("\xcf\x82\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4"); } // [V7] +test { try toAsciiFail("\xcf\x82\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4", false); } // [V7] +test { try toAsciiFail("\xcf\x82\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4", true); } // [V7] test { try toUnicodeFail("\xcf\x82\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4"); } // [V7] +test { try toAsciiFail("\xcf\x82\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4", false); } // [V7] +test { try toAsciiFail("\xcf\x82\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4", true); } // [V7] test { try toUnicodeFail("\xce\xa3\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4"); } // [V7] +test { try toAsciiFail("\xce\xa3\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4", false); } // [V7] +test { try toAsciiFail("\xce\xa3\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4", true); } // [V7] test { try toUnicodeFail("\xcf\x83\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4"); } // [V7] +test { try toAsciiFail("\xcf\x83\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4", false); } // [V7] +test { try toAsciiFail("\xcf\x83\xf2\x85\x9c\x8c8.\xf0\x9e\xad\xa4", true); } // [V7] test { try toUnicodeFail("xn--8-zmb14974n.xn--su6h"); } // [V7] +test { try toAsciiFail("xn--8-zmb14974n.xn--su6h", false); } // [V7] +test { try toAsciiFail("xn--8-zmb14974n.xn--su6h", true); } // [V7] test { try toUnicodeFail("xn--8-xmb44974n.xn--su6h"); } // [V7] +test { try toAsciiFail("xn--8-xmb44974n.xn--su6h", false); } // [V7] +test { try toAsciiFail("xn--8-xmb44974n.xn--su6h", true); } // [V7] test { try toUnicodeFail("\xce\xa3\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4"); } // [V7] +test { try toAsciiFail("\xce\xa3\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4", false); } // [V7] +test { try toAsciiFail("\xce\xa3\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4", true); } // [V7] test { try toUnicodeFail("\xcf\x83\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4"); } // [V7] +test { try toAsciiFail("\xcf\x83\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4", false); } // [V7] +test { try toAsciiFail("\xcf\x83\xf2\x85\x9c\x8c\xef\xbc\x98.\xf0\x9e\xad\xa4", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xe1\xa1\x91\xf0\x9f\x84\x80\xda\x84\xef\xbc\x8e-\xf0\x90\xab\x84\xf0\x91\xb2\xa4"); } // [B1, C1, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe1\xa1\x91\xf0\x9f\x84\x80\xda\x84\xef\xbc\x8e-\xf0\x90\xab\x84\xf0\x91\xb2\xa4", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe1\xa1\x91\xf0\x9f\x84\x80\xda\x84\xef\xbc\x8e-\xf0\x90\xab\x84\xf0\x91\xb2\xa4", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe1\xa1\x910.\xda\x84.-\xf0\x90\xab\x84\xf0\x91\xb2\xa4"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\xa1\x910.\xda\x84.-\xf0\x90\xab\x84\xf0\x91\xb2\xa4", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\xa1\x910.\xda\x84.-\xf0\x90\xab\x84\xf0\x91\xb2\xa4", true); } // [B1, V3] test { try toUnicodeFail("xn--0-o7j.xn--9ib.xn----ek5i065b"); } // [B1, V3] +test { try toAsciiFail("xn--0-o7j.xn--9ib.xn----ek5i065b", false); } // [B1, V3] +test { try toAsciiFail("xn--0-o7j.xn--9ib.xn----ek5i065b", true); } // [B1, V3] test { try toUnicodeFail("xn--0-o7j263b.xn--9ib.xn----ek5i065b"); } // [B1, C1, V3] +test { try toAsciiFail("xn--0-o7j263b.xn--9ib.xn----ek5i065b", false); } // [B1, C1, V3] +test { try toAsciiFail("xn--0-o7j263b.xn--9ib.xn----ek5i065b", true); } // [B1, C1, V3] test { try toUnicodeFail("xn--9ib722gbw95a.xn----ek5i065b"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn--9ib722gbw95a.xn----ek5i065b", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn--9ib722gbw95a.xn----ek5i065b", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn--9ib722gvtfi563c.xn----ek5i065b"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--9ib722gvtfi563c.xn----ek5i065b", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--9ib722gvtfi563c.xn----ek5i065b", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("\xf0\x96\xa0\x8d\xe3\x80\x82\xf0\x90\xaa\xbf\xeb\x84\xaf\xf2\x9e\xb5\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x96\xa0\x8d\xe3\x80\x82\xf0\x90\xaa\xbf\xeb\x84\xaf\xf2\x9e\xb5\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x96\xa0\x8d\xe3\x80\x82\xf0\x90\xaa\xbf\xeb\x84\xaf\xf2\x9e\xb5\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x96\xa0\x8d\xe3\x80\x82\xf0\x90\xaa\xbf\xe1\x84\x82\xe1\x85\xa6\xe1\x86\xb2\xf2\x9e\xb5\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x96\xa0\x8d\xe3\x80\x82\xf0\x90\xaa\xbf\xe1\x84\x82\xe1\x85\xa6\xe1\x86\xb2\xf2\x9e\xb5\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x96\xa0\x8d\xe3\x80\x82\xf0\x90\xaa\xbf\xe1\x84\x82\xe1\x85\xa6\xe1\x86\xb2\xf2\x9e\xb5\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--4e9e.xn--l60bj21opd57g"); } // [B2, B3, V7] +test { try toAsciiFail("xn--4e9e.xn--l60bj21opd57g", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--4e9e.xn--l60bj21opd57g", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\xa0\x87\xe1\x82\xb8\xe3\x80\x82\xd8\x83\xe1\x82\xa8\xf0\x9d\x86\x8a"); } // [B1, V7] +test { try toAsciiFail("\xe1\xa0\x87\xe1\x82\xb8\xe3\x80\x82\xd8\x83\xe1\x82\xa8\xf0\x9d\x86\x8a", false); } // [B1, V7] +test { try toAsciiFail("\xe1\xa0\x87\xe1\x82\xb8\xe3\x80\x82\xd8\x83\xe1\x82\xa8\xf0\x9d\x86\x8a", true); } // [B1, V7] test { try toUnicodeFail("\xe1\xa0\x87\xe2\xb4\x98\xe3\x80\x82\xd8\x83\xe2\xb4\x88\xf0\x9d\x86\x8a"); } // [B1, V7] +test { try toAsciiFail("\xe1\xa0\x87\xe2\xb4\x98\xe3\x80\x82\xd8\x83\xe2\xb4\x88\xf0\x9d\x86\x8a", false); } // [B1, V7] +test { try toAsciiFail("\xe1\xa0\x87\xe2\xb4\x98\xe3\x80\x82\xd8\x83\xe2\xb4\x88\xf0\x9d\x86\x8a", true); } // [B1, V7] test { try toUnicodeFail("xn--d6e009h.xn--lfb290rfu3z"); } // [B1, V7] +test { try toAsciiFail("xn--d6e009h.xn--lfb290rfu3z", false); } // [B1, V7] +test { try toAsciiFail("xn--d6e009h.xn--lfb290rfu3z", true); } // [B1, V7] test { try toUnicodeFail("xn--wnd558a.xn--lfb465c1v87a"); } // [B1, V7] +test { try toAsciiFail("xn--wnd558a.xn--lfb465c1v87a", false); } // [B1, V7] +test { try toAsciiFail("xn--wnd558a.xn--lfb465c1v87a", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("19.\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("19.xn--oe6h75760c.xn--gib285gtxo2l9d"); } // [B1, B5, V7] +test { try toAsciiFail("19.xn--oe6h75760c.xn--gib285gtxo2l9d", false); } // [B1, B5, V7] +test { try toAsciiFail("19.xn--oe6h75760c.xn--gib285gtxo2l9d", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\xb0\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe1\x82\xbc\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5"); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe2\x92\x9a\xf3\xa0\x8b\x91\xf0\x9e\xa4\x8e\xe3\x80\x82\xe7\x89\xa3\xd9\xa7\xe2\xb4\x9c\xe1\xa3\xa5", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--cthy466n29j3e.xn--gib285gtxo2l9d"); } // [B1, B5, V7] +test { try toAsciiFail("xn--cthy466n29j3e.xn--gib285gtxo2l9d", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--cthy466n29j3e.xn--gib285gtxo2l9d", true); } // [B1, B5, V7] test { try toUnicodeFail("19.xn--oe6h75760c.xn--gib404ccxgh00h"); } // [B1, B5, V7] +test { try toAsciiFail("19.xn--oe6h75760c.xn--gib404ccxgh00h", false); } // [B1, B5, V7] +test { try toAsciiFail("19.xn--oe6h75760c.xn--gib404ccxgh00h", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--cthy466n29j3e.xn--gib404ccxgh00h"); } // [B1, B5, V7] +test { try toAsciiFail("xn--cthy466n29j3e.xn--gib404ccxgh00h", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--cthy466n29j3e.xn--gib404ccxgh00h", true); } // [B1, B5, V7] test { try toUnicodeFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd\xe2\x92\x88.\xe1\x82\xb3"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd\xe2\x92\x88.\xe1\x82\xb3", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd\xe2\x92\x88.\xe1\x82\xb3", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd1..\xe1\x82\xb3"); } // [B1, V3, X4_2] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd1..\xe1\x82\xb3", false); } // [B1, V3, A4_2] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd1..\xe1\x82\xb3", true); } // [B1, V3, A4_2] test { try toUnicodeFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd1..\xe2\xb4\x93"); } // [B1, V3, X4_2] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd1..\xe2\xb4\x93", false); } // [B1, V3, A4_2] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd1..\xe2\xb4\x93", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn---1-895nq11a..xn--blj"); } // [B1, V3, X4_2] +test { try toAsciiFail("xn---1-895nq11a..xn--blj", false); } // [B1, V3, A4_2] +test { try toAsciiFail("xn---1-895nq11a..xn--blj", true); } // [B1, V3, A4_2] test { try toUnicodeFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd\xe2\x92\x88.\xe2\xb4\x93"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd\xe2\x92\x88.\xe2\xb4\x93", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x90\x8b\xb1\xf0\x90\xb0\xbd\xe2\x92\x88.\xe2\xb4\x93", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ecp0206g90h.xn--blj"); } // [B1, V3, V7] +test { try toAsciiFail("xn----ecp0206g90h.xn--blj", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----ecp0206g90h.xn--blj", true); } // [B1, V3, V7] test { try toUnicodeFail("xn---1-895nq11a..xn--rnd"); } // [B1, V3, V7, X4_2] +test { try toAsciiFail("xn---1-895nq11a..xn--rnd", false); } // [B1, V3, V7, A4_2] +test { try toAsciiFail("xn---1-895nq11a..xn--rnd", true); } // [B1, V3, V7, A4_2] test { try toUnicodeFail("xn----ecp0206g90h.xn--rnd"); } // [B1, V3, V7] +test { try toAsciiFail("xn----ecp0206g90h.xn--rnd", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----ecp0206g90h.xn--rnd", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xea\xb8\x83.\xe6\xa6\xb6-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xea\xb8\x83.\xe6\xa6\xb6-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xea\xb8\x83.\xe6\xa6\xb6-", true); } // [V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x84\x80\xe1\x85\xb3\xe1\x86\xb2.\xe6\xa6\xb6-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x84\x80\xe1\x85\xb3\xe1\x86\xb2.\xe6\xa6\xb6-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x84\x80\xe1\x85\xb3\xe1\x86\xb2.\xe6\xa6\xb6-", true); } // [V3] test { try toUnicodeFail("xn--ej0b.xn----d87b"); } // [V3] +test { try toAsciiFail("xn--ej0b.xn----d87b", false); } // [V3] +test { try toAsciiFail("xn--ej0b.xn----d87b", true); } // [V3] test { try toUnicodeFail("xn--0ug3307c.xn----d87b"); } // [C1, V3] +test { try toAsciiFail("xn--0ug3307c.xn----d87b", false); } // [C1, V3] +test { try toAsciiFail("xn--0ug3307c.xn----d87b", true); } // [C1, V3] test { try toUnicodeFail("\xeb\x89\x93\xe6\xb3\x93\xf0\x9c\xb5\xbd.\xe0\xa7\x8d\xe2\x80\x8d"); } // [V6] +test { try toAsciiFail("\xeb\x89\x93\xe6\xb3\x93\xf0\x9c\xb5\xbd.\xe0\xa7\x8d\xe2\x80\x8d", false); } // [V6] +test { try toAsciiFail("\xeb\x89\x93\xe6\xb3\x93\xf0\x9c\xb5\xbd.\xe0\xa7\x8d\xe2\x80\x8d", true); } // [V6] test { try toUnicodeFail("\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbe\xe6\xb3\x93\xf0\x9c\xb5\xbd.\xe0\xa7\x8d\xe2\x80\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbe\xe6\xb3\x93\xf0\x9c\xb5\xbd.\xe0\xa7\x8d\xe2\x80\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbe\xe6\xb3\x93\xf0\x9c\xb5\xbd.\xe0\xa7\x8d\xe2\x80\x8d", true); } // [V6] test { try toUnicodeFail("xn--lwwp69lqs7m.xn--b7b"); } // [V6] +test { try toAsciiFail("xn--lwwp69lqs7m.xn--b7b", false); } // [V6] +test { try toAsciiFail("xn--lwwp69lqs7m.xn--b7b", true); } // [V6] test { try toUnicodeFail("xn--lwwp69lqs7m.xn--b7b605i"); } // [V6] +test { try toAsciiFail("xn--lwwp69lqs7m.xn--b7b605i", false); } // [V6] +test { try toAsciiFail("xn--lwwp69lqs7m.xn--b7b605i", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4\xc3\x9f\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4\xc3\x9f\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4\xc3\x9f\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4\xc3\x9f\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4\xc3\x9f\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4\xc3\x9f\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4SS\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4SS\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4SS\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4ss\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4ss\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4ss\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4Ss\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4Ss\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4Ss\xe3\x80\x82\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--ss-ti3o.xn--57c638l8774i"); } // [B1, V6, V7] +test { try toAsciiFail("xn--ss-ti3o.xn--57c638l8774i", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--ss-ti3o.xn--57c638l8774i", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--ss-l1t5169j.xn--57c638l8774i"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--ss-l1t5169j.xn--57c638l8774i", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--ss-l1t5169j.xn--57c638l8774i", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("xn--zca770nip7n.xn--57c638l8774i"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--zca770nip7n.xn--57c638l8774i", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--zca770nip7n.xn--57c638l8774i", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4SS\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4SS\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4SS\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4ss\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4ss\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4ss\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb4Ss\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4Ss\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb4Ss\xef\xbd\xa1\xe0\xba\xb4\xe2\xad\xb5\xf1\xaa\x85\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xad\x84\xef\xbc\x8e\xe1\xae\xaa-\xe2\x89\xae\xe2\x89\xa0"); } // [V6] +test { try toAsciiFail("\xe1\xad\x84\xef\xbc\x8e\xe1\xae\xaa-\xe2\x89\xae\xe2\x89\xa0", false); } // [V6] +test { try toAsciiFail("\xe1\xad\x84\xef\xbc\x8e\xe1\xae\xaa-\xe2\x89\xae\xe2\x89\xa0", true); } // [V6] test { try toUnicodeFail("\xe1\xad\x84\xef\xbc\x8e\xe1\xae\xaa-<\xcc\xb8=\xcc\xb8"); } // [V6] +test { try toAsciiFail("\xe1\xad\x84\xef\xbc\x8e\xe1\xae\xaa-<\xcc\xb8=\xcc\xb8", false); } // [V6] +test { try toAsciiFail("\xe1\xad\x84\xef\xbc\x8e\xe1\xae\xaa-<\xcc\xb8=\xcc\xb8", true); } // [V6] test { try toUnicodeFail("\xe1\xad\x84.\xe1\xae\xaa-\xe2\x89\xae\xe2\x89\xa0"); } // [V6] +test { try toAsciiFail("\xe1\xad\x84.\xe1\xae\xaa-\xe2\x89\xae\xe2\x89\xa0", false); } // [V6] +test { try toAsciiFail("\xe1\xad\x84.\xe1\xae\xaa-\xe2\x89\xae\xe2\x89\xa0", true); } // [V6] test { try toUnicodeFail("\xe1\xad\x84.\xe1\xae\xaa-<\xcc\xb8=\xcc\xb8"); } // [V6] +test { try toAsciiFail("\xe1\xad\x84.\xe1\xae\xaa-<\xcc\xb8=\xcc\xb8", false); } // [V6] +test { try toAsciiFail("\xe1\xad\x84.\xe1\xae\xaa-<\xcc\xb8=\xcc\xb8", true); } // [V6] test { try toUnicodeFail("xn--1uf.xn----nmlz65aub"); } // [V6] +test { try toAsciiFail("xn--1uf.xn----nmlz65aub", false); } // [V6] +test { try toAsciiFail("xn--1uf.xn----nmlz65aub", true); } // [V6] test { try toUnicodeFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x84\xb2"); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x84\xb2", false); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x84\xb2", true); } // [V6] test { try toUnicodeFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x84\xb2"); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x84\xb2", false); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x84\xb2", true); } // [V6] test { try toUnicodeFail("\xe1\xaf\xb3\xe2\xb4\x91\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x85\x8e"); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe2\xb4\x91\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x85\x8e", false); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe2\xb4\x91\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x85\x8e", true); } // [V6] test { try toUnicodeFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x85\x8e"); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x85\x8e", false); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f.\xf0\x91\x84\xb4\xe2\x85\x8e", true); } // [V6] test { try toUnicodeFail("xn--1zf224e.xn--73g3065g"); } // [V6] +test { try toAsciiFail("xn--1zf224e.xn--73g3065g", false); } // [V6] +test { try toAsciiFail("xn--1zf224e.xn--73g3065g", true); } // [V6] test { try toUnicodeFail("\xe1\xaf\xb3\xe2\xb4\x91\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x85\x8e"); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe2\xb4\x91\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x85\x8e", false); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe2\xb4\x91\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x85\x8e", true); } // [V6] test { try toUnicodeFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x85\x8e"); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x85\x8e", false); } // [V6] +test { try toAsciiFail("\xe1\xaf\xb3\xe1\x82\xb1\xe1\x85\x9f\xef\xbc\x8e\xf0\x91\x84\xb4\xe2\x85\x8e", true); } // [V6] test { try toUnicodeFail("xn--pnd26a55x.xn--73g3065g"); } // [V6, V7] +test { try toAsciiFail("xn--pnd26a55x.xn--73g3065g", false); } // [V6, V7] +test { try toAsciiFail("xn--pnd26a55x.xn--73g3065g", true); } // [V6, V7] test { try toUnicodeFail("xn--osd925cvyn.xn--73g3065g"); } // [V6, V7] +test { try toAsciiFail("xn--osd925cvyn.xn--73g3065g", false); } // [V6, V7] +test { try toAsciiFail("xn--osd925cvyn.xn--73g3065g", true); } // [V6, V7] test { try toUnicodeFail("xn--pnd26a55x.xn--f3g7465g"); } // [V6, V7] +test { try toAsciiFail("xn--pnd26a55x.xn--f3g7465g", false); } // [V6, V7] +test { try toAsciiFail("xn--pnd26a55x.xn--f3g7465g", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe1\x82\xa3\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xeb\x98\xaf"); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe1\x82\xa3\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xeb\x98\xaf", false); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe1\x82\xa3\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xeb\x98\xaf", true); } // [B5, V7] test { try toUnicodeFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe1\x82\xa3\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xe1\x84\x84\xe1\x85\xaa\xe1\x86\xaa"); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe1\x82\xa3\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xe1\x84\x84\xe1\x85\xaa\xe1\x86\xaa", false); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe1\x82\xa3\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xe1\x84\x84\xe1\x85\xaa\xe1\x86\xaa", true); } // [B5, V7] test { try toUnicodeFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe2\xb4\x83\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xe1\x84\x84\xe1\x85\xaa\xe1\x86\xaa"); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe2\xb4\x83\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xe1\x84\x84\xe1\x85\xaa\xe1\x86\xaa", false); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe2\xb4\x83\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xe1\x84\x84\xe1\x85\xaa\xe1\x86\xaa", true); } // [B5, V7] test { try toUnicodeFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe2\xb4\x83\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xeb\x98\xaf"); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe2\xb4\x83\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xeb\x98\xaf", false); } // [B5, V7] +test { try toAsciiFail("\xf0\x9c\x89\x86\xe3\x80\x82\xe2\xb4\x83\xf0\x90\xb4\xa3\xf0\x90\xb9\xb9\xeb\x98\xaf", true); } // [B5, V7] test { try toUnicodeFail("xn--187g.xn--ukjy205b8rscdeb"); } // [B5, V7] +test { try toAsciiFail("xn--187g.xn--ukjy205b8rscdeb", false); } // [B5, V7] +test { try toAsciiFail("xn--187g.xn--ukjy205b8rscdeb", true); } // [B5, V7] test { try toUnicodeFail("xn--187g.xn--bnd4785f8r8bdeb"); } // [B5, V7] +test { try toAsciiFail("xn--187g.xn--bnd4785f8r8bdeb", false); } // [B5, V7] +test { try toAsciiFail("xn--187g.xn--bnd4785f8r8bdeb", true); } // [B5, V7] test { try toUnicodeFail("\xf0\x90\xab\x80\xef\xbd\xa1\xe2\xb3\xbb\xf3\xa0\x99\xbe\xf3\xa0\x84\xb7\xe3\x85\xa4"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xab\x80\xef\xbd\xa1\xe2\xb3\xbb\xf3\xa0\x99\xbe\xf3\xa0\x84\xb7\xe3\x85\xa4", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xab\x80\xef\xbd\xa1\xe2\xb3\xbb\xf3\xa0\x99\xbe\xf3\xa0\x84\xb7\xe3\x85\xa4", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xab\x80\xe3\x80\x82\xe2\xb3\xbb\xf3\xa0\x99\xbe\xf3\xa0\x84\xb7\xe1\x85\xa0"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xab\x80\xe3\x80\x82\xe2\xb3\xbb\xf3\xa0\x99\xbe\xf3\xa0\x84\xb7\xe1\x85\xa0", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xab\x80\xe3\x80\x82\xe2\xb3\xbb\xf3\xa0\x99\xbe\xf3\xa0\x84\xb7\xe1\x85\xa0", true); } // [B1, V7] test { try toUnicodeFail("xn--pw9c.xn--mkjw9654i"); } // [B1, V7] +test { try toAsciiFail("xn--pw9c.xn--mkjw9654i", false); } // [B1, V7] +test { try toAsciiFail("xn--pw9c.xn--mkjw9654i", true); } // [B1, V7] test { try toUnicodeFail("xn--pw9c.xn--psd742lxt32w"); } // [B1, V7] +test { try toAsciiFail("xn--pw9c.xn--psd742lxt32w", false); } // [B1, V7] +test { try toAsciiFail("xn--pw9c.xn--psd742lxt32w", true); } // [B1, V7] test { try toUnicodeFail("xn--pw9c.xn--mkj83l4v899a"); } // [B1, V7] +test { try toAsciiFail("xn--pw9c.xn--mkj83l4v899a", false); } // [B1, V7] +test { try toAsciiFail("xn--pw9c.xn--mkj83l4v899a", true); } // [B1, V7] test { try toUnicodeFail("\xde\x9a\xe2\xbe\x87\xef\xbc\x8e\xdc\x9e-\xf0\x90\x8b\xb0"); } // [B2, B3] +test { try toAsciiFail("\xde\x9a\xe2\xbe\x87\xef\xbc\x8e\xdc\x9e-\xf0\x90\x8b\xb0", false); } // [B2, B3] +test { try toAsciiFail("\xde\x9a\xe2\xbe\x87\xef\xbc\x8e\xdc\x9e-\xf0\x90\x8b\xb0", true); } // [B2, B3] test { try toUnicodeFail("\xde\x9a\xe8\x88\x9b.\xdc\x9e-\xf0\x90\x8b\xb0"); } // [B2, B3] +test { try toAsciiFail("\xde\x9a\xe8\x88\x9b.\xdc\x9e-\xf0\x90\x8b\xb0", false); } // [B2, B3] +test { try toAsciiFail("\xde\x9a\xe8\x88\x9b.\xdc\x9e-\xf0\x90\x8b\xb0", true); } // [B2, B3] test { try toUnicodeFail("xn--7qb6383d.xn----20c3154q"); } // [B2, B3] +test { try toAsciiFail("xn--7qb6383d.xn----20c3154q", false); } // [B2, B3] +test { try toAsciiFail("xn--7qb6383d.xn----20c3154q", true); } // [B2, B3] test { try toUnicodeFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae\xef\xbc\x8e\xef\xb8\x92"); } // [V7] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae\xef\xbc\x8e\xef\xb8\x92", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae\xef\xbc\x8e\xef\xb8\x92", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8\xef\xbc\x8e\xef\xb8\x92"); } // [V7] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8\xef\xbc\x8e\xef\xb8\x92", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8\xef\xbc\x8e\xef\xb8\x92", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae.\xe3\x80\x82"); } // [V7, X4_2] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae.\xe3\x80\x82", false); } // [V7, A4_2] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae.\xe3\x80\x82", true); } // [V7, A4_2] test { try toUnicodeFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8.\xe3\x80\x82"); } // [V7, X4_2] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8.\xe3\x80\x82", false); } // [V7, A4_2] +test { try toAsciiFail("\xe1\x82\xa9\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8.\xe3\x80\x82", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8.\xe3\x80\x82"); } // [V7, X4_2] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8.\xe3\x80\x82", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8.\xe3\x80\x82", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae.\xe3\x80\x82"); } // [V7, X4_2] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae.\xe3\x80\x82", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae.\xe3\x80\x82", true); } // [V7, A4_2] test { try toUnicodeFail("xn--gdh892bbz0d5438s.."); } // [V7, X4_2] +test { try toAsciiFail("xn--gdh892bbz0d5438s..", false); } // [V7, A4_2] +test { try toAsciiFail("xn--gdh892bbz0d5438s..", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8\xef\xbc\x8e\xef\xb8\x92"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8\xef\xbc\x8e\xef\xb8\x92", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab<\xcc\xb8\xef\xbc\x8e\xef\xb8\x92", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae\xef\xbc\x8e\xef\xb8\x92"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae\xef\xbc\x8e\xef\xb8\x92", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x89\xe7\x8c\x95\xf3\xb9\x9b\xab\xe2\x89\xae\xef\xbc\x8e\xef\xb8\x92", true); } // [V7] test { try toUnicodeFail("xn--gdh892bbz0d5438s.xn--y86c"); } // [V7] +test { try toAsciiFail("xn--gdh892bbz0d5438s.xn--y86c", false); } // [V7] +test { try toAsciiFail("xn--gdh892bbz0d5438s.xn--y86c", true); } // [V7] test { try toUnicodeFail("xn--hnd212gz32d54x5r.."); } // [V7, X4_2] +test { try toAsciiFail("xn--hnd212gz32d54x5r..", false); } // [V7, A4_2] +test { try toAsciiFail("xn--hnd212gz32d54x5r..", true); } // [V7, A4_2] test { try toUnicodeFail("xn--hnd212gz32d54x5r.xn--y86c"); } // [V7] +test { try toAsciiFail("xn--hnd212gz32d54x5r.xn--y86c", false); } // [V7] +test { try toAsciiFail("xn--hnd212gz32d54x5r.xn--y86c", true); } // [V7] test { try toUnicodeFail("\xf0\x9f\x8f\xae\xef\xbd\xa1\xd8\xab\xe9\xb3\xb3\xdf\xa2\xf3\xa0\x85\x89"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9f\x8f\xae\xef\xbd\xa1\xd8\xab\xe9\xb3\xb3\xdf\xa2\xf3\xa0\x85\x89", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9f\x8f\xae\xef\xbd\xa1\xd8\xab\xe9\xb3\xb3\xdf\xa2\xf3\xa0\x85\x89", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9f\x8f\xae\xe3\x80\x82\xd8\xab\xe9\xb3\xb3\xdf\xa2\xf3\xa0\x85\x89"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9f\x8f\xae\xe3\x80\x82\xd8\xab\xe9\xb3\xb3\xdf\xa2\xf3\xa0\x85\x89", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9f\x8f\xae\xe3\x80\x82\xd8\xab\xe9\xb3\xb3\xdf\xa2\xf3\xa0\x85\x89", true); } // [B1, B2] test { try toUnicodeFail("xn--8m8h.xn--qgb29f6z90a"); } // [B1, B2] +test { try toAsciiFail("xn--8m8h.xn--qgb29f6z90a", false); } // [B1, B2] +test { try toAsciiFail("xn--8m8h.xn--qgb29f6z90a", true); } // [B1, B2] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82\xc3\x9f"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82\xc3\x9f", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82\xc3\x9f", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82SS"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82SS", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82SS", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82ss"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82ss", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82ss", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82Ss"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82Ss", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xb6\xe3\x80\x82Ss", true); } // [B1] test { try toUnicodeFail("xn--uo0d.ss"); } // [B1] +test { try toAsciiFail("xn--uo0d.ss", false); } // [B1] +test { try toAsciiFail("xn--uo0d.ss", true); } // [B1] test { try toUnicodeFail("xn--1ug9105g.ss"); } // [B1, C2] +test { try toAsciiFail("xn--1ug9105g.ss", false); } // [B1, C2] +test { try toAsciiFail("xn--1ug9105g.ss", true); } // [B1, C2] test { try toUnicodeFail("xn--1ug9105g.xn--zca"); } // [B1, C2] +test { try toAsciiFail("xn--1ug9105g.xn--zca", false); } // [B1, C2] +test { try toAsciiFail("xn--1ug9105g.xn--zca", true); } // [B1, C2] test { try toUnicodeFail("\xc3\x85\xeb\x91\x84-\xef\xbc\x8e\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("\xc3\x85\xeb\x91\x84-\xef\xbc\x8e\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("\xc3\x85\xeb\x91\x84-\xef\xbc\x8e\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("A\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-\xef\xbc\x8e\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("A\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-\xef\xbc\x8e\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("A\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-\xef\xbc\x8e\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("\xc3\x85\xeb\x91\x84-.\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("\xc3\x85\xeb\x91\x84-.\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("\xc3\x85\xeb\x91\x84-.\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("A\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-.\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("A\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-.\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("A\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-.\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("a\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-.\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("a\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-.\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("a\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-.\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("\xc3\xa5\xeb\x91\x84-.\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("\xc3\xa5\xeb\x91\x84-.\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("\xc3\xa5\xeb\x91\x84-.\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("xn----1fa1788k."); } // [V3] +test { try toAsciiFail("xn----1fa1788k.", false); } // [V3, A4_2] +test { try toAsciiFail("xn----1fa1788k.", true); } // [V3, A4_2] test { try toUnicodeFail("xn----1fa1788k.xn--0ug"); } // [C1, V3] +test { try toAsciiFail("xn----1fa1788k.xn--0ug", false); } // [C1, V3] +test { try toAsciiFail("xn----1fa1788k.xn--0ug", true); } // [C1, V3] test { try toUnicodeFail("a\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-\xef\xbc\x8e\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("a\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-\xef\xbc\x8e\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("a\xcc\x8a\xe1\x84\x83\xe1\x85\xad\xe1\x86\xb7-\xef\xbc\x8e\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("\xc3\xa5\xeb\x91\x84-\xef\xbc\x8e\xe2\x80\x8c"); } // [C1, V3] +test { try toAsciiFail("\xc3\xa5\xeb\x91\x84-\xef\xbc\x8e\xe2\x80\x8c", false); } // [C1, V3] +test { try toAsciiFail("\xc3\xa5\xeb\x91\x84-\xef\xbc\x8e\xe2\x80\x8c", true); } // [V3, A4_2] test { try toUnicodeFail("\xe3\x82\x99\xf2\xac\x8e\x91\xe1\xb7\x97\xf0\x9e\xa4\x80.\xf2\xb1\xb2\xa2-\xe0\xa5\x93"); } // [B1, B6, V6, V7] +test { try toAsciiFail("\xe3\x82\x99\xf2\xac\x8e\x91\xe1\xb7\x97\xf0\x9e\xa4\x80.\xf2\xb1\xb2\xa2-\xe0\xa5\x93", false); } // [B1, B6, V6, V7] +test { try toAsciiFail("\xe3\x82\x99\xf2\xac\x8e\x91\xe1\xb7\x97\xf0\x9e\xa4\x80.\xf2\xb1\xb2\xa2-\xe0\xa5\x93", true); } // [B1, B6, V6, V7] test { try toUnicodeFail("\xe3\x82\x99\xf2\xac\x8e\x91\xe1\xb7\x97\xf0\x9e\xa4\xa2.\xf2\xb1\xb2\xa2-\xe0\xa5\x93"); } // [B1, B6, V6, V7] +test { try toAsciiFail("\xe3\x82\x99\xf2\xac\x8e\x91\xe1\xb7\x97\xf0\x9e\xa4\xa2.\xf2\xb1\xb2\xa2-\xe0\xa5\x93", false); } // [B1, B6, V6, V7] +test { try toAsciiFail("\xe3\x82\x99\xf2\xac\x8e\x91\xe1\xb7\x97\xf0\x9e\xa4\xa2.\xf2\xb1\xb2\xa2-\xe0\xa5\x93", true); } // [B1, B6, V6, V7] test { try toUnicodeFail("xn--veg121fwg63altj9d.xn----eyd92688s"); } // [B1, B6, V6, V7] +test { try toAsciiFail("xn--veg121fwg63altj9d.xn----eyd92688s", false); } // [B1, B6, V6, V7] +test { try toAsciiFail("xn--veg121fwg63altj9d.xn----eyd92688s", true); } // [B1, B6, V6, V7] test { try toUnicodeFail("\xcf\x82.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x82.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x82.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", true); } // [B5, B6, V7] test { try toUnicodeFail("\xce\xa3.SS\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf"); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3.SS\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3.SS\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", true); } // [B5, B6, V7] test { try toUnicodeFail("\xcf\x83.ss\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83.ss\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83.ss\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", true); } // [B5, B6, V7] test { try toUnicodeFail("\xce\xa3.ss\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf"); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3.ss\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3.ss\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--4xa.xn--ss-y8d4760biv60n"); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa.xn--ss-y8d4760biv60n", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa.xn--ss-y8d4760biv60n", true); } // [B5, B6, V7] test { try toUnicodeFail("\xce\xa3.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf"); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", true); } // [B5, B6, V7] test { try toUnicodeFail("\xcf\x83.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83.\xc3\x9f\xf1\xb4\xb1\x84\xdb\x9d\xe2\xb5\xbf", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--4xa.xn--zca281az71b8x73m"); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa.xn--zca281az71b8x73m", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa.xn--zca281az71b8x73m", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3xa.xn--zca281az71b8x73m"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa.xn--zca281az71b8x73m", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa.xn--zca281az71b8x73m", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xa1\x80\xf0\x9e\x80\x9f\xef\xbd\xa1\xd9\xab\xd6\x99"); } // [B1] +test { try toAsciiFail("\xea\xa1\x80\xf0\x9e\x80\x9f\xef\xbd\xa1\xd9\xab\xd6\x99", false); } // [B1] +test { try toAsciiFail("\xea\xa1\x80\xf0\x9e\x80\x9f\xef\xbd\xa1\xd9\xab\xd6\x99", true); } // [B1] test { try toUnicodeFail("\xea\xa1\x80\xf0\x9e\x80\x9f\xe3\x80\x82\xd9\xab\xd6\x99"); } // [B1] +test { try toAsciiFail("\xea\xa1\x80\xf0\x9e\x80\x9f\xe3\x80\x82\xd9\xab\xd6\x99", false); } // [B1] +test { try toAsciiFail("\xea\xa1\x80\xf0\x9e\x80\x9f\xe3\x80\x82\xd9\xab\xd6\x99", true); } // [B1] test { try toUnicodeFail("xn--8b9a1720d.xn--kcb33b"); } // [B1] +test { try toAsciiFail("xn--8b9a1720d.xn--kcb33b", false); } // [B1] +test { try toAsciiFail("xn--8b9a1720d.xn--kcb33b", true); } // [B1] test { try toUnicodeFail("\xf2\x88\x9b\x89\xe2\x80\x8c\xe0\xa2\xa9\xef\xbd\xa1\xe2\xa7\x85\xf1\x98\x98\xa1-\xf0\x90\xad\xa1"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x88\x9b\x89\xe2\x80\x8c\xe0\xa2\xa9\xef\xbd\xa1\xe2\xa7\x85\xf1\x98\x98\xa1-\xf0\x90\xad\xa1", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x88\x9b\x89\xe2\x80\x8c\xe0\xa2\xa9\xef\xbd\xa1\xe2\xa7\x85\xf1\x98\x98\xa1-\xf0\x90\xad\xa1", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf2\x88\x9b\x89\xe2\x80\x8c\xe0\xa2\xa9\xe3\x80\x82\xe2\xa7\x85\xf1\x98\x98\xa1-\xf0\x90\xad\xa1"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x88\x9b\x89\xe2\x80\x8c\xe0\xa2\xa9\xe3\x80\x82\xe2\xa7\x85\xf1\x98\x98\xa1-\xf0\x90\xad\xa1", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x88\x9b\x89\xe2\x80\x8c\xe0\xa2\xa9\xe3\x80\x82\xe2\xa7\x85\xf1\x98\x98\xa1-\xf0\x90\xad\xa1", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--yyb56242i.xn----zir1232guu71b"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--yyb56242i.xn----zir1232guu71b", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--yyb56242i.xn----zir1232guu71b", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--yyb780jll63m.xn----zir1232guu71b"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--yyb780jll63m.xn----zir1232guu71b", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--yyb780jll63m.xn----zir1232guu71b", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xeb\xa3\xb1\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xef\xb8\x92"); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xeb\xa3\xb1\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xef\xb8\x92", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xeb\xa3\xb1\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xef\xb8\x92", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x84\x85\xe1\x85\xae\xe1\x86\xb0\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xef\xb8\x92"); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe1\x84\x85\xe1\x85\xae\xe1\x86\xb0\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xef\xb8\x92", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe1\x84\x85\xe1\x85\xae\xe1\x86\xb0\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xef\xb8\x92", true); } // [V6, V7] test { try toUnicodeFail("\xeb\xa3\xb1\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xe3\x80\x82"); } // [C1, C2, V6] +test { try toAsciiFail("\xeb\xa3\xb1\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xe3\x80\x82", false); } // [C1, C2, V6, A4_2] +test { try toAsciiFail("\xeb\xa3\xb1\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xe3\x80\x82", true); } // [V6, A4_2] test { try toUnicodeFail("\xe1\x84\x85\xe1\x85\xae\xe1\x86\xb0\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xe3\x80\x82"); } // [C1, C2, V6] +test { try toAsciiFail("\xe1\x84\x85\xe1\x85\xae\xe1\x86\xb0\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xe3\x80\x82", false); } // [C1, C2, V6, A4_2] +test { try toAsciiFail("\xe1\x84\x85\xe1\x85\xae\xe1\x86\xb0\xe2\x80\x8d\xf0\xb0\x8d\xa8\xe2\x80\x8c\xe3\x80\x82\xf0\x9d\xa8\x96\xe3\x80\x82", true); } // [V6, A4_2] test { try toUnicodeFail("xn--ct2b0738h.xn--772h."); } // [V6] +test { try toAsciiFail("xn--ct2b0738h.xn--772h.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--ct2b0738h.xn--772h.", true); } // [V6, A4_2] test { try toUnicodeFail("xn--0ugb3358ili2v.xn--772h."); } // [C1, C2, V6] +test { try toAsciiFail("xn--0ugb3358ili2v.xn--772h.", false); } // [C1, C2, V6, A4_2] +test { try toAsciiFail("xn--0ugb3358ili2v.xn--772h.", true); } // [C1, C2, V6, A4_2] test { try toUnicodeFail("xn--ct2b0738h.xn--y86cl899a"); } // [V6, V7] +test { try toAsciiFail("xn--ct2b0738h.xn--y86cl899a", false); } // [V6, V7] +test { try toAsciiFail("xn--ct2b0738h.xn--y86cl899a", true); } // [V6, V7] test { try toUnicodeFail("xn--0ugb3358ili2v.xn--y86cl899a"); } // [C1, C2, V6, V7] +test { try toAsciiFail("xn--0ugb3358ili2v.xn--y86cl899a", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("xn--0ugb3358ili2v.xn--y86cl899a", true); } // [C1, C2, V6, V7] test { try toUnicodeFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88\xc3\x9f"); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88\xc3\x9f", false); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88\xc3\x9f", true); } // [V6, V7, U1] test { try toUnicodeFail("3,.\xe1\xb3\x9c1.\xc3\x9f"); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.\xc3\x9f", false); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.\xc3\x9f", true); } // [V6, U1] test { try toUnicodeFail("3,.\xe1\xb3\x9c1.SS"); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.SS", false); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.SS", true); } // [V6, U1] test { try toUnicodeFail("3,.\xe1\xb3\x9c1.ss"); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.ss", false); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.ss", true); } // [V6, U1] test { try toUnicodeFail("3,.\xe1\xb3\x9c1.Ss"); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.Ss", false); } // [V6, U1] +test { try toAsciiFail("3,.\xe1\xb3\x9c1.Ss", true); } // [V6, U1] test { try toUnicodeFail("3,.xn--1-43l.ss"); } // [V6, U1] +test { try toAsciiFail("3,.xn--1-43l.ss", false); } // [V6, U1] +test { try toAsciiFail("3,.xn--1-43l.ss", true); } // [V6, U1] test { try toUnicodeFail("3,.xn--1-43l.xn--zca"); } // [V6, U1] +test { try toAsciiFail("3,.xn--1-43l.xn--zca", false); } // [V6, U1] +test { try toAsciiFail("3,.xn--1-43l.xn--zca", true); } // [V6, U1] test { try toUnicodeFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88SS"); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88SS", false); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88SS", true); } // [V6, V7, U1] test { try toUnicodeFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88ss"); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88ss", false); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88ss", true); } // [V6, V7, U1] test { try toUnicodeFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88Ss"); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88Ss", false); } // [V6, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x84\xef\xbc\x8e\xe1\xb3\x9c\xe2\x92\x88Ss", true); } // [V6, V7, U1] test { try toUnicodeFail("3,.xn--ss-k1r094b"); } // [V6, V7, U1] +test { try toAsciiFail("3,.xn--ss-k1r094b", false); } // [V6, V7, U1] +test { try toAsciiFail("3,.xn--ss-k1r094b", true); } // [V6, V7, U1] test { try toUnicodeFail("3,.xn--zca344lmif"); } // [V6, V7, U1] +test { try toAsciiFail("3,.xn--zca344lmif", false); } // [V6, V7, U1] +test { try toAsciiFail("3,.xn--zca344lmif", true); } // [V6, V7, U1] test { try toUnicodeFail("xn--x07h.xn--ss-k1r094b"); } // [V6, V7] +test { try toAsciiFail("xn--x07h.xn--ss-k1r094b", false); } // [V6, V7] +test { try toAsciiFail("xn--x07h.xn--ss-k1r094b", true); } // [V6, V7] test { try toUnicodeFail("xn--x07h.xn--zca344lmif"); } // [V6, V7] +test { try toAsciiFail("xn--x07h.xn--zca344lmif", false); } // [V6, V7] +test { try toAsciiFail("xn--x07h.xn--zca344lmif", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x87\x8c\x8d\xe2\xb5\xbf\xef\xbd\xa1\xf0\x9e\xbc\x93\xf2\xa1\x84\xa8\xf0\x91\x90\xba"); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x87\x8c\x8d\xe2\xb5\xbf\xef\xbd\xa1\xf0\x9e\xbc\x93\xf2\xa1\x84\xa8\xf0\x91\x90\xba", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x87\x8c\x8d\xe2\xb5\xbf\xef\xbd\xa1\xf0\x9e\xbc\x93\xf2\xa1\x84\xa8\xf0\x91\x90\xba", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf1\x87\x8c\x8d\xe2\xb5\xbf\xe3\x80\x82\xf0\x9e\xbc\x93\xf2\xa1\x84\xa8\xf0\x91\x90\xba"); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x87\x8c\x8d\xe2\xb5\xbf\xe3\x80\x82\xf0\x9e\xbc\x93\xf2\xa1\x84\xa8\xf0\x91\x90\xba", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x87\x8c\x8d\xe2\xb5\xbf\xe3\x80\x82\xf0\x9e\xbc\x93\xf2\xa1\x84\xa8\xf0\x91\x90\xba", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--eoj16016a.xn--0v1d3848a3lr0d"); } // [B2, B3, V7] +test { try toAsciiFail("xn--eoj16016a.xn--0v1d3848a3lr0d", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--eoj16016a.xn--0v1d3848a3lr0d", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\xb7\xbd\xe1\x80\xba\xe0\xa5\x8d\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b"); } // [C2, V6] +test { try toAsciiFail("\xe1\xb7\xbd\xe1\x80\xba\xe0\xa5\x8d\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b", false); } // [C2, V6] +test { try toAsciiFail("\xe1\xb7\xbd\xe1\x80\xba\xe0\xa5\x8d\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b", true); } // [V6] test { try toUnicodeFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b"); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b", false); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b", true); } // [V6] test { try toUnicodeFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd\xef\xbc\x8e=\xcc\xb8\xe2\x80\x8d\xe3\x87\x9b"); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd\xef\xbc\x8e=\xcc\xb8\xe2\x80\x8d\xe3\x87\x9b", false); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd\xef\xbc\x8e=\xcc\xb8\xe2\x80\x8d\xe3\x87\x9b", true); } // [V6] test { try toUnicodeFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd.\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b"); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd.\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b", false); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd.\xe2\x89\xa0\xe2\x80\x8d\xe3\x87\x9b", true); } // [V6] test { try toUnicodeFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd.=\xcc\xb8\xe2\x80\x8d\xe3\x87\x9b"); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd.=\xcc\xb8\xe2\x80\x8d\xe3\x87\x9b", false); } // [C2, V6] +test { try toAsciiFail("\xe1\x80\xba\xe0\xa5\x8d\xe1\xb7\xbd.=\xcc\xb8\xe2\x80\x8d\xe3\x87\x9b", true); } // [V6] test { try toUnicodeFail("xn--n3b956a9zm.xn--1ch912d"); } // [V6] +test { try toAsciiFail("xn--n3b956a9zm.xn--1ch912d", false); } // [V6] +test { try toAsciiFail("xn--n3b956a9zm.xn--1ch912d", true); } // [V6] test { try toUnicodeFail("xn--n3b956a9zm.xn--1ug63gz5w"); } // [C2, V6] +test { try toAsciiFail("xn--n3b956a9zm.xn--1ug63gz5w", false); } // [C2, V6] +test { try toAsciiFail("xn--n3b956a9zm.xn--1ug63gz5w", true); } // [C2, V6] test { try toUnicodeFail("\xe1\x82\xa1\xf0\x90\x8b\xa8\xe5\xa8\xa4.\xe2\x80\x8d\xcc\xbc\xd9\xa2\xf0\x91\x96\xbf"); } // [B1, C2] +test { try toAsciiFail("\xe1\x82\xa1\xf0\x90\x8b\xa8\xe5\xa8\xa4.\xe2\x80\x8d\xcc\xbc\xd9\xa2\xf0\x91\x96\xbf", false); } // [B1, C2] +test { try toAsciiFail("\xe1\x82\xa1\xf0\x90\x8b\xa8\xe5\xa8\xa4.\xe2\x80\x8d\xcc\xbc\xd9\xa2\xf0\x91\x96\xbf", true); } // [B1, V6] test { try toUnicodeFail("\xe2\xb4\x81\xf0\x90\x8b\xa8\xe5\xa8\xa4.\xe2\x80\x8d\xcc\xbc\xd9\xa2\xf0\x91\x96\xbf"); } // [B1, C2] +test { try toAsciiFail("\xe2\xb4\x81\xf0\x90\x8b\xa8\xe5\xa8\xa4.\xe2\x80\x8d\xcc\xbc\xd9\xa2\xf0\x91\x96\xbf", false); } // [B1, C2] +test { try toAsciiFail("\xe2\xb4\x81\xf0\x90\x8b\xa8\xe5\xa8\xa4.\xe2\x80\x8d\xcc\xbc\xd9\xa2\xf0\x91\x96\xbf", true); } // [B1, V6] test { try toUnicodeFail("xn--skjw75lg29h.xn--9ta62nrv36a"); } // [B1, V6] +test { try toAsciiFail("xn--skjw75lg29h.xn--9ta62nrv36a", false); } // [B1, V6] +test { try toAsciiFail("xn--skjw75lg29h.xn--9ta62nrv36a", true); } // [B1, V6] test { try toUnicodeFail("xn--skjw75lg29h.xn--9ta62ngt6aou8t"); } // [B1, C2] +test { try toAsciiFail("xn--skjw75lg29h.xn--9ta62ngt6aou8t", false); } // [B1, C2] +test { try toAsciiFail("xn--skjw75lg29h.xn--9ta62ngt6aou8t", true); } // [B1, C2] test { try toUnicodeFail("xn--8md2578ag21g.xn--9ta62nrv36a"); } // [B1, V6, V7] +test { try toAsciiFail("xn--8md2578ag21g.xn--9ta62nrv36a", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--8md2578ag21g.xn--9ta62nrv36a", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--8md2578ag21g.xn--9ta62ngt6aou8t"); } // [B1, C2, V7] +test { try toAsciiFail("xn--8md2578ag21g.xn--9ta62ngt6aou8t", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--8md2578ag21g.xn--9ta62ngt6aou8t", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6\xc3\x9f"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6\xc3\x9f", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6\xc3\x9f", true); } // [B1, V7] test { try toUnicodeFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6\xc3\x9f"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6\xc3\x9f", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6\xc3\x9f", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("0.\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6\xc3\x9f"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6\xc3\x9f", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6\xc3\x9f", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6SS"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6SS", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6SS", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("0.\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6ss"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6ss", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6ss", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6Ss"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6Ss", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x821.\xe0\xbe\xb6Ss", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("0.xn--iib29fp25e.1.xn--ss-1sj"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.xn--iib29fp25e.1.xn--ss-1sj", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.xn--iib29fp25e.1.xn--ss-1sj", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("0.xn--iib29fp25e.1.xn--zca117e"); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.xn--iib29fp25e.1.xn--zca117e", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("0.xn--iib29fp25e.1.xn--zca117e", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf0\x9f\x84\x80\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6\xc3\x9f"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6\xc3\x9f", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6\xc3\x9f", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6SS"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6SS", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6SS", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x84\x80\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6ss"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6ss", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe2\xb4\x84\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6ss", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6Ss"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6Ss", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9f\x84\x80\xe1\x82\xa4\xd9\xa9\xe0\xa0\xa0\xe3\x80\x82\xe2\x92\x88\xe0\xbe\xb6Ss", true); } // [B1, V7] test { try toUnicodeFail("xn--iib29fp25e0219a.xn--ss-1sj588o"); } // [B1, V7] +test { try toAsciiFail("xn--iib29fp25e0219a.xn--ss-1sj588o", false); } // [B1, V7] +test { try toAsciiFail("xn--iib29fp25e0219a.xn--ss-1sj588o", true); } // [B1, V7] test { try toUnicodeFail("xn--iib29fp25e0219a.xn--zca117e3vp"); } // [B1, V7] +test { try toAsciiFail("xn--iib29fp25e0219a.xn--zca117e3vp", false); } // [B1, V7] +test { try toAsciiFail("xn--iib29fp25e0219a.xn--zca117e3vp", true); } // [B1, V7] test { try toUnicodeFail("0.xn--iib29f26o.1.xn--ss-1sj"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("0.xn--iib29f26o.1.xn--ss-1sj", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("0.xn--iib29f26o.1.xn--ss-1sj", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("0.xn--iib29f26o.1.xn--zca117e"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("0.xn--iib29f26o.1.xn--zca117e", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("0.xn--iib29f26o.1.xn--zca117e", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--iib29f26o6n43c.xn--ss-1sj588o"); } // [B1, V7] +test { try toAsciiFail("xn--iib29f26o6n43c.xn--ss-1sj588o", false); } // [B1, V7] +test { try toAsciiFail("xn--iib29f26o6n43c.xn--ss-1sj588o", true); } // [B1, V7] test { try toUnicodeFail("xn--iib29f26o6n43c.xn--zca117e3vp"); } // [B1, V7] +test { try toAsciiFail("xn--iib29f26o6n43c.xn--zca117e3vp", false); } // [B1, V7] +test { try toAsciiFail("xn--iib29f26o6n43c.xn--zca117e3vp", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xa0.\xe2\x80\x8c-\xd9\xab"); } // [B1, C1] +test { try toAsciiFail("\xe2\x89\xa0.\xe2\x80\x8c-\xd9\xab", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x89\xa0.\xe2\x80\x8c-\xd9\xab", true); } // [B1, V3] test { try toUnicodeFail("=\xcc\xb8.\xe2\x80\x8c-\xd9\xab"); } // [B1, C1] +test { try toAsciiFail("=\xcc\xb8.\xe2\x80\x8c-\xd9\xab", false); } // [B1, C1] +test { try toAsciiFail("=\xcc\xb8.\xe2\x80\x8c-\xd9\xab", true); } // [B1, V3] test { try toUnicodeFail("xn--1ch.xn----vqc"); } // [B1, V3] +test { try toAsciiFail("xn--1ch.xn----vqc", false); } // [B1, V3] +test { try toAsciiFail("xn--1ch.xn----vqc", true); } // [B1, V3] test { try toUnicodeFail("xn--1ch.xn----vqc597q"); } // [B1, C1] +test { try toAsciiFail("xn--1ch.xn----vqc597q", false); } // [B1, C1] +test { try toAsciiFail("xn--1ch.xn----vqc597q", true); } // [B1, C1] test { try toUnicodeFail("\xd9\xa0\xdb\xb1\xef\xbd\xa1\xf3\xa0\xb3\xb6\xf0\x9e\xa0\x81\xd9\xa5"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa0\xdb\xb1\xef\xbd\xa1\xf3\xa0\xb3\xb6\xf0\x9e\xa0\x81\xd9\xa5", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa0\xdb\xb1\xef\xbd\xa1\xf3\xa0\xb3\xb6\xf0\x9e\xa0\x81\xd9\xa5", true); } // [B1, V7] test { try toUnicodeFail("\xd9\xa0\xdb\xb1\xe3\x80\x82\xf3\xa0\xb3\xb6\xf0\x9e\xa0\x81\xd9\xa5"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa0\xdb\xb1\xe3\x80\x82\xf3\xa0\xb3\xb6\xf0\x9e\xa0\x81\xd9\xa5", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa0\xdb\xb1\xe3\x80\x82\xf3\xa0\xb3\xb6\xf0\x9e\xa0\x81\xd9\xa5", true); } // [B1, V7] test { try toUnicodeFail("xn--8hb40a.xn--eib7967vner3e"); } // [B1, V7] +test { try toAsciiFail("xn--8hb40a.xn--eib7967vner3e", false); } // [B1, V7] +test { try toAsciiFail("xn--8hb40a.xn--eib7967vner3e", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xd9\xa3\xe2\x92\x96\xe3\x80\x82\xf3\xb1\x85\x89\xf0\xbd\xb7\x9b\xe1\xaf\xb3"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xd9\xa3\xe2\x92\x96\xe3\x80\x82\xf3\xb1\x85\x89\xf0\xbd\xb7\x9b\xe1\xaf\xb3", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xd9\xa3\xe2\x92\x96\xe3\x80\x82\xf3\xb1\x85\x89\xf0\xbd\xb7\x9b\xe1\xaf\xb3", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xd9\xa315.\xe3\x80\x82\xf3\xb1\x85\x89\xf0\xbd\xb7\x9b\xe1\xaf\xb3"); } // [B1, C1, V7, X4_2] +test { try toAsciiFail("\xe2\x80\x8c\xd9\xa315.\xe3\x80\x82\xf3\xb1\x85\x89\xf0\xbd\xb7\x9b\xe1\xaf\xb3", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("\xe2\x80\x8c\xd9\xa315.\xe3\x80\x82\xf3\xb1\x85\x89\xf0\xbd\xb7\x9b\xe1\xaf\xb3", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--15-gyd..xn--1zf13512buy41d"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--15-gyd..xn--1zf13512buy41d", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--15-gyd..xn--1zf13512buy41d", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--15-gyd983x..xn--1zf13512buy41d"); } // [B1, C1, V7, X4_2] +test { try toAsciiFail("xn--15-gyd983x..xn--1zf13512buy41d", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("xn--15-gyd983x..xn--1zf13512buy41d", true); } // [B1, C1, V7, A4_2] test { try toUnicodeFail("xn--cib675m.xn--1zf13512buy41d"); } // [B1, V7] +test { try toAsciiFail("xn--cib675m.xn--1zf13512buy41d", false); } // [B1, V7] +test { try toAsciiFail("xn--cib675m.xn--1zf13512buy41d", true); } // [B1, V7] test { try toUnicodeFail("xn--cib152kwgd.xn--1zf13512buy41d"); } // [B1, C1, V7] +test { try toAsciiFail("xn--cib152kwgd.xn--1zf13512buy41d", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--cib152kwgd.xn--1zf13512buy41d", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe1\xaf\xb3.-\xe9\x80\x8b\xf1\xb3\xa6\xad\xf3\x99\x99\xae"); } // [V3, V6, V7] +test { try toAsciiFail("\xe1\xaf\xb3.-\xe9\x80\x8b\xf1\xb3\xa6\xad\xf3\x99\x99\xae", false); } // [V3, V6, V7] +test { try toAsciiFail("\xe1\xaf\xb3.-\xe9\x80\x8b\xf1\xb3\xa6\xad\xf3\x99\x99\xae", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--1zf.xn----483d46987byr50b"); } // [V3, V6, V7] +test { try toAsciiFail("xn--1zf.xn----483d46987byr50b", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--1zf.xn----483d46987byr50b", true); } // [V3, V6, V7] test { try toAsciiPass("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xcf\x82", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xcf\x82"); } // [B1, C2] +test { try toAsciiFail("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xcf\x82", false); } // [B1, C2] test { try toAsciiPass("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xcf\x82", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xcf\x82"); } // [B1, C2] +test { try toAsciiFail("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xcf\x82", false); } // [B1, C2] test { try toAsciiPass("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xce\xa3", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xce\xa3"); } // [B1, C2] +test { try toAsciiFail("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xce\xa3", false); } // [B1, C2] test { try toAsciiPass("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xcf\x83", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xcf\x83"); } // [B1, C2] +test { try toAsciiFail("\xdd\x96\xe3\x80\x82\xe1\x85\xa0\xe2\x80\x8d\xcf\x83", false); } // [B1, C2] test { try toUnicodePass("xn--9ob.xn--4xa", "\xdd\x96.\xcf\x83"); } test { try toAsciiPass("xn--9ob.xn--4xa", "xn--9ob.xn--4xa", false); } test { try toAsciiPass("xn--9ob.xn--4xa", "xn--9ob.xn--4xa", true); } @@ -1652,102 +3360,290 @@ test { try toUnicodePass("\xdd\x96.\xce\xa3", "\xdd\x96.\xcf\x83"); } test { try toAsciiPass("\xdd\x96.\xce\xa3", "xn--9ob.xn--4xa", false); } test { try toAsciiPass("\xdd\x96.\xce\xa3", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("xn--9ob.xn--4xa795l"); } // [B1, C2] +test { try toAsciiFail("xn--9ob.xn--4xa795l", false); } // [B1, C2] +test { try toAsciiFail("xn--9ob.xn--4xa795l", true); } // [B1, C2] test { try toUnicodeFail("xn--9ob.xn--3xa995l"); } // [B1, C2] +test { try toAsciiFail("xn--9ob.xn--3xa995l", false); } // [B1, C2] +test { try toAsciiFail("xn--9ob.xn--3xa995l", true); } // [B1, C2] test { try toAsciiPass("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xce\xa3", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xce\xa3"); } // [B1, C2] +test { try toAsciiFail("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xce\xa3", false); } // [B1, C2] test { try toAsciiPass("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xcf\x83", "xn--9ob.xn--4xa", true); } test { try toUnicodeFail("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xcf\x83"); } // [B1, C2] +test { try toAsciiFail("\xdd\x96\xe3\x80\x82\xe3\x85\xa4\xe2\x80\x8d\xcf\x83", false); } // [B1, C2] test { try toUnicodeFail("xn--9ob.xn--4xa380e"); } // [V7] +test { try toAsciiFail("xn--9ob.xn--4xa380e", false); } // [V7] +test { try toAsciiFail("xn--9ob.xn--4xa380e", true); } // [V7] test { try toUnicodeFail("xn--9ob.xn--4xa380ebol"); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--4xa380ebol", false); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--4xa380ebol", true); } // [C2, V7] test { try toUnicodeFail("xn--9ob.xn--3xa580ebol"); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--3xa580ebol", false); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--3xa580ebol", true); } // [C2, V7] test { try toUnicodeFail("xn--9ob.xn--4xa574u"); } // [V7] +test { try toAsciiFail("xn--9ob.xn--4xa574u", false); } // [V7] +test { try toAsciiFail("xn--9ob.xn--4xa574u", true); } // [V7] test { try toUnicodeFail("xn--9ob.xn--4xa795lq2l"); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--4xa795lq2l", false); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--4xa795lq2l", true); } // [C2, V7] test { try toUnicodeFail("xn--9ob.xn--3xa995lq2l"); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--3xa995lq2l", false); } // [C2, V7] +test { try toAsciiFail("xn--9ob.xn--3xa995lq2l", true); } // [C2, V7] test { try toUnicodeFail("\xe1\xa1\x86\xe1\x82\xa3\xef\xbd\xa1\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe1\x82\xa3\xef\xbd\xa1\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe1\x82\xa3\xef\xbd\xa1\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x86\xe1\x82\xa3\xe3\x80\x82\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe1\x82\xa3\xe3\x80\x82\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe1\x82\xa3\xe3\x80\x82\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x86\xe2\xb4\x83\xe3\x80\x82\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe2\xb4\x83\xe3\x80\x82\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe2\xb4\x83\xe3\x80\x82\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("xn--57e237h.xn--5sa98523p"); } // [V7] +test { try toAsciiFail("xn--57e237h.xn--5sa98523p", false); } // [V7] +test { try toAsciiFail("xn--57e237h.xn--5sa98523p", true); } // [V7] test { try toUnicodeFail("xn--57e237h.xn--5sa649la993427a"); } // [C2, V7] +test { try toAsciiFail("xn--57e237h.xn--5sa649la993427a", false); } // [C2, V7] +test { try toAsciiFail("xn--57e237h.xn--5sa649la993427a", true); } // [C2, V7] test { try toUnicodeFail("\xe1\xa1\x86\xe2\xb4\x83\xef\xbd\xa1\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe2\xb4\x83\xef\xbd\xa1\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe1\xa1\x86\xe2\xb4\x83\xef\xbd\xa1\xf3\x9e\xa2\xa7\xcc\x95\xe2\x80\x8d\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("xn--bnd320b.xn--5sa98523p"); } // [V7] +test { try toAsciiFail("xn--bnd320b.xn--5sa98523p", false); } // [V7] +test { try toAsciiFail("xn--bnd320b.xn--5sa98523p", true); } // [V7] test { try toUnicodeFail("xn--bnd320b.xn--5sa649la993427a"); } // [C2, V7] +test { try toAsciiFail("xn--bnd320b.xn--5sa649la993427a", false); } // [C2, V7] +test { try toAsciiFail("xn--bnd320b.xn--5sa649la993427a", true); } // [C2, V7] test { try toUnicodeFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xcf\x82\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xcf\x82\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xcf\x82\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xcf\x82\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xcf\x82\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xcf\x82\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xce\xa3\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xce\xa3\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xce\xa3\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xcf\x83\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xcf\x83\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5.\xcf\x83\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("xn--ewb302xhu1l.xn--4xa0426k"); } // [B5, B6] +test { try toAsciiFail("xn--ewb302xhu1l.xn--4xa0426k", false); } // [B5, B6] +test { try toAsciiFail("xn--ewb302xhu1l.xn--4xa0426k", true); } // [B5, B6] test { try toUnicodeFail("xn--ewb962jfitku4r.xn--4xa695lda6932v"); } // [B5, B6, C1, C2] +test { try toAsciiFail("xn--ewb962jfitku4r.xn--4xa695lda6932v", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("xn--ewb962jfitku4r.xn--4xa695lda6932v", true); } // [B5, B6, C1, C2] test { try toUnicodeFail("xn--ewb962jfitku4r.xn--3xa895lda6932v"); } // [B5, B6, C1, C2] +test { try toAsciiFail("xn--ewb962jfitku4r.xn--3xa895lda6932v", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("xn--ewb962jfitku4r.xn--3xa895lda6932v", true); } // [B5, B6, C1, C2] test { try toUnicodeFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xce\xa3\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xce\xa3\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xce\xa3\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xcf\x83\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xcf\x83\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe3\xad\x84\xe2\x80\x8d\xe0\xa1\x8f\xf0\x91\x9a\xb5\xef\xbc\x8e\xcf\x83\xf0\x90\xae\xae\xe2\x80\x8c\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x9e\xb5\xe3\x80\x82\xf0\x9e\xaf\xb8\xea\xa1\x80\xf0\x9f\x84\x8b"); } // [B2, B3, V7, X4_2] +test { try toAsciiFail("\xe1\x9e\xb5\xe3\x80\x82\xf0\x9e\xaf\xb8\xea\xa1\x80\xf0\x9f\x84\x8b", false); } // [B2, B3, V7, A4_2] +test { try toAsciiFail("\xe1\x9e\xb5\xe3\x80\x82\xf0\x9e\xaf\xb8\xea\xa1\x80\xf0\x9f\x84\x8b", true); } // [B2, B3, V7, A4_2] test { try toUnicodeFail(".xn--8b9ar252dngd"); } // [B2, B3, V7, X4_2] +test { try toAsciiFail(".xn--8b9ar252dngd", false); } // [B2, B3, V7, A4_2] +test { try toAsciiFail(".xn--8b9ar252dngd", true); } // [B2, B3, V7, A4_2] test { try toUnicodeFail("xn--03e.xn--8b9ar252dngd"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--03e.xn--8b9ar252dngd", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--03e.xn--8b9ar252dngd", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf3\x90\xaa\xba\xe6\x9a\x91\xef\xbc\x8e\xe2\xbe\x91\xd9\xa8"); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\x90\xaa\xba\xe6\x9a\x91\xef\xbc\x8e\xe2\xbe\x91\xd9\xa8", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\x90\xaa\xba\xe6\x9a\x91\xef\xbc\x8e\xe2\xbe\x91\xd9\xa8", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf3\x90\xaa\xba\xe6\x9a\x91.\xe8\xa5\xbe\xd9\xa8"); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\x90\xaa\xba\xe6\x9a\x91.\xe8\xa5\xbe\xd9\xa8", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\x90\xaa\xba\xe6\x9a\x91.\xe8\xa5\xbe\xd9\xa8", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tlvq3513e.xn--hib9228d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--tlvq3513e.xn--hib9228d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--tlvq3513e.xn--hib9228d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\x84\x9a\xe2\x89\xaf\xea\xa1\xa2\xe3\x80\x82\xe0\xa2\x91\xe1\xb7\xbf"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x84\x9a\xe2\x89\xaf\xea\xa1\xa2\xe3\x80\x82\xe0\xa2\x91\xe1\xb7\xbf", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x84\x9a\xe2\x89\xaf\xea\xa1\xa2\xe3\x80\x82\xe0\xa2\x91\xe1\xb7\xbf", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x84\x9a>\xcc\xb8\xea\xa1\xa2\xe3\x80\x82\xe0\xa2\x91\xe1\xb7\xbf"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x84\x9a>\xcc\xb8\xea\xa1\xa2\xe3\x80\x82\xe0\xa2\x91\xe1\xb7\xbf", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x84\x9a>\xcc\xb8\xea\xa1\xa2\xe3\x80\x82\xe0\xa2\x91\xe1\xb7\xbf", true); } // [B1, V7] test { try toUnicodeFail("xn--hdh7783c.xn--9xb680i"); } // [B1, V7] +test { try toAsciiFail("xn--hdh7783c.xn--9xb680i", false); } // [B1, V7] +test { try toAsciiFail("xn--hdh7783c.xn--9xb680i", true); } // [B1, V7] test { try toUnicodeFail("\xef\xb7\x83\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe1\x82\xb7"); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb7\x83\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe1\x82\xb7", false); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb7\x83\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe1\x82\xb7", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd9\x83\xd9\x85\xd9\x85\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe1\x82\xb7"); } // [B2, B3, V7] +test { try toAsciiFail("\xd9\x83\xd9\x85\xd9\x85\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe1\x82\xb7", false); } // [B2, B3, V7] +test { try toAsciiFail("\xd9\x83\xd9\x85\xd9\x85\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe1\x82\xb7", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd9\x83\xd9\x85\xd9\x85\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe2\xb4\x97"); } // [B2, B3, V7] +test { try toAsciiFail("\xd9\x83\xd9\x85\xd9\x85\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe2\xb4\x97", false); } // [B2, B3, V7] +test { try toAsciiFail("\xd9\x83\xd9\x85\xd9\x85\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe2\xb4\x97", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--fhbea662czx68a2tju.xn--fljz2846h"); } // [B2, B3, V7] +test { try toAsciiFail("xn--fhbea662czx68a2tju.xn--fljz2846h", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--fhbea662czx68a2tju.xn--fljz2846h", true); } // [B2, B3, V7] test { try toUnicodeFail("\xef\xb7\x83\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe2\xb4\x97"); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb7\x83\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe2\xb4\x97", false); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb7\x83\xf0\xae\x81\xb1\xe0\xad\x8d\xf0\x90\xa8\xbf.\xf3\x90\xa7\xa4\xe2\xb4\x97", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--fhbea662czx68a2tju.xn--vnd55511o"); } // [B2, B3, V7] +test { try toAsciiFail("xn--fhbea662czx68a2tju.xn--vnd55511o", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--fhbea662czx68a2tju.xn--vnd55511o", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\x80\xa8\xef\xbd\xa1\xe1\xad\x84\xf2\xa1\x9b\xa8\xf0\x9e\x8e\x87"); } // [V6, V7] +test { try toAsciiFail("\xf0\x9e\x80\xa8\xef\xbd\xa1\xe1\xad\x84\xf2\xa1\x9b\xa8\xf0\x9e\x8e\x87", false); } // [V6, V7] +test { try toAsciiFail("\xf0\x9e\x80\xa8\xef\xbd\xa1\xe1\xad\x84\xf2\xa1\x9b\xa8\xf0\x9e\x8e\x87", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x9e\x80\xa8\xe3\x80\x82\xe1\xad\x84\xf2\xa1\x9b\xa8\xf0\x9e\x8e\x87"); } // [V6, V7] +test { try toAsciiFail("\xf0\x9e\x80\xa8\xe3\x80\x82\xe1\xad\x84\xf2\xa1\x9b\xa8\xf0\x9e\x8e\x87", false); } // [V6, V7] +test { try toAsciiFail("\xf0\x9e\x80\xa8\xe3\x80\x82\xe1\xad\x84\xf2\xa1\x9b\xa8\xf0\x9e\x8e\x87", true); } // [V6, V7] test { try toUnicodeFail("xn--mi4h.xn--1uf6843smg20c"); } // [V6, V7] +test { try toAsciiFail("xn--mi4h.xn--1uf6843smg20c", false); } // [V6, V7] +test { try toAsciiFail("xn--mi4h.xn--1uf6843smg20c", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\xa3\xbc\xe2\x80\x8c\xef\xbc\x8e\xf0\x90\xba\xb0\xe2\x80\x8c\xe1\xa1\x9f"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\xbc\xe2\x80\x8c\xef\xbc\x8e\xf0\x90\xba\xb0\xe2\x80\x8c\xe1\xa1\x9f", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\xbc\xe2\x80\x8c\xef\xbc\x8e\xf0\x90\xba\xb0\xe2\x80\x8c\xe1\xa1\x9f", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf3\xa0\xa3\xbc\xe2\x80\x8c.\xf0\x90\xba\xb0\xe2\x80\x8c\xe1\xa1\x9f"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\xbc\xe2\x80\x8c.\xf0\x90\xba\xb0\xe2\x80\x8c\xe1\xa1\x9f", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\xbc\xe2\x80\x8c.\xf0\x90\xba\xb0\xe2\x80\x8c\xe1\xa1\x9f", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--q046e.xn--v8e7227j"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--q046e.xn--v8e7227j", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--q046e.xn--v8e7227j", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--0ug18531l.xn--v8e340bp21t"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug18531l.xn--v8e340bp21t", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug18531l.xn--v8e340bp21t", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("\xe1\xa2\x9b\xf3\xa8\x85\x9f\xc3\x9f.\xe1\x8c\xa7"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9f\xc3\x9f.\xe1\x8c\xa7", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9f\xc3\x9f.\xe1\x8c\xa7", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fSS.\xe1\x8c\xa7"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fSS.\xe1\x8c\xa7", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fSS.\xe1\x8c\xa7", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fss.\xe1\x8c\xa7"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fss.\xe1\x8c\xa7", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fss.\xe1\x8c\xa7", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fSs.\xe1\x8c\xa7"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fSs.\xe1\x8c\xa7", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x9b\xf3\xa8\x85\x9fSs.\xe1\x8c\xa7", true); } // [V7] test { try toUnicodeFail("xn--ss-7dp66033t.xn--p5d"); } // [V7] +test { try toAsciiFail("xn--ss-7dp66033t.xn--p5d", false); } // [V7] +test { try toAsciiFail("xn--ss-7dp66033t.xn--p5d", true); } // [V7] test { try toUnicodeFail("xn--zca562jc642x.xn--p5d"); } // [V7] +test { try toAsciiFail("xn--zca562jc642x.xn--p5d", false); } // [V7] +test { try toAsciiFail("xn--zca562jc642x.xn--p5d", true); } // [V7] test { try toUnicodeFail("\xe2\xae\x92\xe2\x80\x8c.\xf1\x92\x9a\x97\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe2\xae\x92\xe2\x80\x8c.\xf1\x92\x9a\x97\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe2\xae\x92\xe2\x80\x8c.\xf1\x92\x9a\x97\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--b9i.xn--5p9y"); } // [V7] +test { try toAsciiFail("xn--b9i.xn--5p9y", false); } // [V7] +test { try toAsciiFail("xn--b9i.xn--5p9y", true); } // [V7] test { try toUnicodeFail("xn--0ugx66b.xn--0ugz2871c"); } // [C1, V7] +test { try toAsciiFail("xn--0ugx66b.xn--0ugz2871c", false); } // [C1, V7] +test { try toAsciiFail("xn--0ugx66b.xn--0ugz2871c", true); } // [C1, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x82\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe1\x82\xbc"); } // [B2, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x82\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe1\x82\xbc", false); } // [B2, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x82\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe1\x82\xbc", true); } // [B2, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xa4\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xb4\x9c"); } // [B2, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xa4\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xb4\x9c", false); } // [B2, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xa4\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xb4\x9c", true); } // [B2, V7] test { try toUnicodeFail("xn--no0dr648a51o3b.xn--klj"); } // [B2, V7] +test { try toAsciiFail("xn--no0dr648a51o3b.xn--klj", false); } // [B2, V7] +test { try toAsciiFail("xn--no0dr648a51o3b.xn--klj", true); } // [B2, V7] test { try toUnicodeFail("xn--no0dr648a51o3b.xn--0nd"); } // [B2, V7] +test { try toAsciiFail("xn--no0dr648a51o3b.xn--0nd", false); } // [B2, V7] +test { try toAsciiFail("xn--no0dr648a51o3b.xn--0nd", true); } // [B2, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x82\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xb4\x9c"); } // [B2, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x82\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xb4\x9c", false); } // [B2, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x82\xf1\xb9\x9e\x81\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xb4\x9c", true); } // [B2, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb5\xe2\xae\xa3\xe2\x80\x8c\xf0\x91\x84\xb0\xef\xbd\xa1\xf1\xb7\xb4\xbf\xef\xb2\xb7"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb5\xe2\xae\xa3\xe2\x80\x8c\xf0\x91\x84\xb0\xef\xbd\xa1\xf1\xb7\xb4\xbf\xef\xb2\xb7", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb5\xe2\xae\xa3\xe2\x80\x8c\xf0\x91\x84\xb0\xef\xbd\xa1\xf1\xb7\xb4\xbf\xef\xb2\xb7", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb5\xe2\xae\xa3\xe2\x80\x8c\xf0\x91\x84\xb0\xe3\x80\x82\xf1\xb7\xb4\xbf\xd8\xb6\xd9\x85"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb5\xe2\xae\xa3\xe2\x80\x8c\xf0\x91\x84\xb0\xe3\x80\x82\xf1\xb7\xb4\xbf\xd8\xb6\xd9\x85", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb5\xe2\xae\xa3\xe2\x80\x8c\xf0\x91\x84\xb0\xe3\x80\x82\xf1\xb7\xb4\xbf\xd8\xb6\xd9\x85", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--s9i5458e7yb.xn--1gb4a66004i"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--s9i5458e7yb.xn--1gb4a66004i", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--s9i5458e7yb.xn--1gb4a66004i", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--0ug586bcj8p7jc.xn--1gb4a66004i"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug586bcj8p7jc.xn--1gb4a66004i", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug586bcj8p7jc.xn--1gb4a66004i", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x87\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x87\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x87\xc3\x9f\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87SS\xf0\x9e\xa4\x93\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87SS\xf0\x9e\xa4\x93\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87SS\xf0\x9e\xa4\x93\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99SS\xf0\x9e\xa4\x93\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99SS\xf0\x9e\xa4\x93\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99SS\xf0\x9e\xa4\x93\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x87ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x87ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\x92\xe3\x80\x82\xe3\x83\x87ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87Ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87Ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87Ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99Ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99Ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99Ss\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("xn--9kj.xn--ss-9nh3648ahh20b"); } // [B5, B6] +test { try toAsciiFail("xn--9kj.xn--ss-9nh3648ahh20b", false); } // [B5, B6] +test { try toAsciiFail("xn--9kj.xn--ss-9nh3648ahh20b", true); } // [B5, B6] test { try toUnicodeFail("xn--9kj.xn--zca669cmr3a0f28a"); } // [B5, B6] +test { try toAsciiFail("xn--9kj.xn--zca669cmr3a0f28a", false); } // [B5, B6] +test { try toAsciiFail("xn--9kj.xn--zca669cmr3a0f28a", true); } // [B5, B6] test { try toUnicodeFail("xn--qnd.xn--ss-9nh3648ahh20b"); } // [B5, B6, V7] +test { try toAsciiFail("xn--qnd.xn--ss-9nh3648ahh20b", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--qnd.xn--ss-9nh3648ahh20b", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--qnd.xn--zca669cmr3a0f28a"); } // [B5, B6, V7] +test { try toAsciiFail("xn--qnd.xn--zca669cmr3a0f28a", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--qnd.xn--zca669cmr3a0f28a", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87SS\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87SS\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x87SS\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99SS\xf0\x9e\xa4\xb5\xe0\xb1\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99SS\xf0\x9e\xa4\xb5\xe0\xb1\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x82\xb2\xe3\x80\x82\xe3\x83\x86\xe3\x82\x99SS\xf0\x9e\xa4\xb5\xe0\xb1\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xf0\x91\x81\xbf\xe0\xb5\x8d\xef\xbc\x8e\xef\xbc\x97-\xdf\x92"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x81\xbf\xe0\xb5\x8d\xef\xbc\x8e\xef\xbc\x97-\xdf\x92", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x81\xbf\xe0\xb5\x8d\xef\xbc\x8e\xef\xbc\x97-\xdf\x92", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\x81\xbf\xe0\xb5\x8d.7-\xdf\x92"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x81\xbf\xe0\xb5\x8d.7-\xdf\x92", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x81\xbf\xe0\xb5\x8d.7-\xdf\x92", true); } // [B1, V6] test { try toUnicodeFail("xn--wxc1283k.xn--7--yue"); } // [B1, V6] +test { try toAsciiFail("xn--wxc1283k.xn--7--yue", false); } // [B1, V6] +test { try toAsciiFail("xn--wxc1283k.xn--7--yue", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xaf\xf0\x91\x9c\xab\xf3\xa0\xad\x87.\xe1\x9c\xb4\xf1\x92\x9e\xa4\xf0\x91\x8d\xac\xe1\xa2\xa7"); } // [V6, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x91\x9c\xab\xf3\xa0\xad\x87.\xe1\x9c\xb4\xf1\x92\x9e\xa4\xf0\x91\x8d\xac\xe1\xa2\xa7", false); } // [V6, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x91\x9c\xab\xf3\xa0\xad\x87.\xe1\x9c\xb4\xf1\x92\x9e\xa4\xf0\x91\x8d\xac\xe1\xa2\xa7", true); } // [V6, V7] test { try toUnicodeFail(">\xcc\xb8\xf0\x91\x9c\xab\xf3\xa0\xad\x87.\xe1\x9c\xb4\xf1\x92\x9e\xa4\xf0\x91\x8d\xac\xe1\xa2\xa7"); } // [V6, V7] +test { try toAsciiFail(">\xcc\xb8\xf0\x91\x9c\xab\xf3\xa0\xad\x87.\xe1\x9c\xb4\xf1\x92\x9e\xa4\xf0\x91\x8d\xac\xe1\xa2\xa7", false); } // [V6, V7] +test { try toAsciiFail(">\xcc\xb8\xf0\x91\x9c\xab\xf3\xa0\xad\x87.\xe1\x9c\xb4\xf1\x92\x9e\xa4\xf0\x91\x8d\xac\xe1\xa2\xa7", true); } // [V6, V7] test { try toUnicodeFail("xn--hdhx157g68o0g.xn--c0e65eu616c34o7a"); } // [V6, V7] +test { try toAsciiFail("xn--hdhx157g68o0g.xn--c0e65eu616c34o7a", false); } // [V6, V7] +test { try toAsciiFail("xn--hdhx157g68o0g.xn--c0e65eu616c34o7a", true); } // [V6, V7] test { try toUnicodeFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe1\x82\xb7\xec\x8f\x94\xe3\x80\x82\xde\x81"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe1\x82\xb7\xec\x8f\x94\xe3\x80\x82\xde\x81", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe1\x82\xb7\xec\x8f\x94\xe3\x80\x82\xde\x81", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe1\x82\xb7\xe1\x84\x8a\xe1\x85\xa8\xe1\x86\xbf\xe3\x80\x82\xde\x81"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe1\x82\xb7\xe1\x84\x8a\xe1\x85\xa8\xe1\x86\xbf\xe3\x80\x82\xde\x81", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe1\x82\xb7\xe1\x84\x8a\xe1\x85\xa8\xe1\x86\xbf\xe3\x80\x82\xde\x81", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe2\xb4\x97\xe1\x84\x8a\xe1\x85\xa8\xe1\x86\xbf\xe3\x80\x82\xde\x81"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe2\xb4\x97\xe1\x84\x8a\xe1\x85\xa8\xe1\x86\xbf\xe3\x80\x82\xde\x81", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe2\xb4\x97\xe1\x84\x8a\xe1\x85\xa8\xe1\x86\xbf\xe3\x80\x82\xde\x81", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe2\xb4\x97\xec\x8f\x94\xe3\x80\x82\xde\x81"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe2\xb4\x97\xec\x8f\x94\xe3\x80\x82\xde\x81", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xb7\x9b\xf2\x8e\x90\x99\xe2\xb4\x97\xec\x8f\x94\xe3\x80\x82\xde\x81", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--zegy26dw47iy6w2f.xn--iqb"); } // [B1, V6, V7] +test { try toAsciiFail("xn--zegy26dw47iy6w2f.xn--iqb", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--zegy26dw47iy6w2f.xn--iqb", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--vnd148d733ky6n9e.xn--iqb"); } // [B1, V6, V7] +test { try toAsciiFail("xn--vnd148d733ky6n9e.xn--iqb", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--vnd148d733ky6n9e.xn--iqb", true); } // [B1, V6, V7] test { try toUnicodePass("\xc3\x9f\xef\xbd\xa1\xf0\x90\x8b\xb3\xe1\x82\xac\xe0\xbe\xb8", "\xc3\x9f.\xf0\x90\x8b\xb3\xe2\xb4\x8c\xe0\xbe\xb8"); } test { try toAsciiPass("\xc3\x9f\xef\xbd\xa1\xf0\x90\x8b\xb3\xe1\x82\xac\xe0\xbe\xb8", "xn--zca.xn--lgd921mvv0m", false); } test { try toAsciiPass("\xc3\x9f\xef\xbd\xa1\xf0\x90\x8b\xb3\xe1\x82\xac\xe0\xbe\xb8", "ss.xn--lgd921mvv0m", true); } @@ -1797,244 +3693,722 @@ test { try toUnicodePass("Ss\xef\xbd\xa1\xf0\x90\x8b\xb3\xe1\x82\xac\xe0\xbe\xb8 test { try toAsciiPass("Ss\xef\xbd\xa1\xf0\x90\x8b\xb3\xe1\x82\xac\xe0\xbe\xb8", "ss.xn--lgd921mvv0m", false); } test { try toAsciiPass("Ss\xef\xbd\xa1\xf0\x90\x8b\xb3\xe1\x82\xac\xe0\xbe\xb8", "ss.xn--lgd921mvv0m", true); } test { try toUnicodeFail("ss.xn--lgd10cu829c"); } // [V7] +test { try toAsciiFail("ss.xn--lgd10cu829c", false); } // [V7] +test { try toAsciiFail("ss.xn--lgd10cu829c", true); } // [V7] test { try toUnicodeFail("xn--zca.xn--lgd10cu829c"); } // [V7] +test { try toAsciiFail("xn--zca.xn--lgd10cu829c", false); } // [V7] +test { try toAsciiFail("xn--zca.xn--lgd10cu829c", true); } // [V7] test { try toUnicodeFail("-\xda\x9e\xf0\x90\xb6\xa1.\xe2\x80\x8c\xe2\xbe\x9d\xe0\xa7\x8d"); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xda\x9e\xf0\x90\xb6\xa1.\xe2\x80\x8c\xe2\xbe\x9d\xe0\xa7\x8d", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xda\x9e\xf0\x90\xb6\xa1.\xe2\x80\x8c\xe2\xbe\x9d\xe0\xa7\x8d", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xda\x9e\xf0\x90\xb6\xa1.\xe2\x80\x8c\xe8\xba\xab\xe0\xa7\x8d"); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xda\x9e\xf0\x90\xb6\xa1.\xe2\x80\x8c\xe8\xba\xab\xe0\xa7\x8d", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xda\x9e\xf0\x90\xb6\xa1.\xe2\x80\x8c\xe8\xba\xab\xe0\xa7\x8d", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----stc7013r.xn--b7b1419d"); } // [B1, V3, V7] +test { try toAsciiFail("xn----stc7013r.xn--b7b1419d", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----stc7013r.xn--b7b1419d", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----stc7013r.xn--b7b305imj2f"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----stc7013r.xn--b7b305imj2f", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----stc7013r.xn--b7b305imj2f", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("\xf0\x9f\x98\xae\xdd\xa4\xf0\x9e\x80\x96\xf0\x91\x88\xb5.\xf0\x9f\x92\x85\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xf0\x9f\x98\xae\xdd\xa4\xf0\x9e\x80\x96\xf0\x91\x88\xb5.\xf0\x9f\x92\x85\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x9f\x98\xae\xdd\xa4\xf0\x9e\x80\x96\xf0\x91\x88\xb5.\xf0\x9f\x92\x85\xe2\x80\x8d", true); } // [B1] test { try toUnicodeFail("\xf0\x9f\x98\xae\xdd\xa4\xf0\x91\x88\xb5\xf0\x9e\x80\x96.\xf0\x9f\x92\x85\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xf0\x9f\x98\xae\xdd\xa4\xf0\x91\x88\xb5\xf0\x9e\x80\x96.\xf0\x9f\x92\x85\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x9f\x98\xae\xdd\xa4\xf0\x91\x88\xb5\xf0\x9e\x80\x96.\xf0\x9f\x92\x85\xe2\x80\x8d", true); } // [B1] test { try toUnicodeFail("xn--opb4277kuc7elqsa.xn--kr8h"); } // [B1] +test { try toAsciiFail("xn--opb4277kuc7elqsa.xn--kr8h", false); } // [B1] +test { try toAsciiFail("xn--opb4277kuc7elqsa.xn--kr8h", true); } // [B1] test { try toUnicodeFail("xn--opb4277kuc7elqsa.xn--1ug5265p"); } // [B1, C2] +test { try toAsciiFail("xn--opb4277kuc7elqsa.xn--1ug5265p", false); } // [B1, C2] +test { try toAsciiFail("xn--opb4277kuc7elqsa.xn--1ug5265p", true); } // [B1, C2] test { try toUnicodeFail("\xe0\xa3\xb2\xe2\x80\x8d\xea\x99\xb3\xdc\x92.\xe1\xa2\x8f\xe2\x80\x8c\xf3\xa0\x8d\x84"); } // [B1, B6, C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xa3\xb2\xe2\x80\x8d\xea\x99\xb3\xdc\x92.\xe1\xa2\x8f\xe2\x80\x8c\xf3\xa0\x8d\x84", false); } // [B1, B6, C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xa3\xb2\xe2\x80\x8d\xea\x99\xb3\xdc\x92.\xe1\xa2\x8f\xe2\x80\x8c\xf3\xa0\x8d\x84", true); } // [B1, B6, V6, V7] test { try toUnicodeFail("xn--cnb37gdy00a.xn--89e02253p"); } // [B1, B6, V6, V7] +test { try toAsciiFail("xn--cnb37gdy00a.xn--89e02253p", false); } // [B1, B6, V6, V7] +test { try toAsciiFail("xn--cnb37gdy00a.xn--89e02253p", true); } // [B1, B6, V6, V7] test { try toUnicodeFail("xn--cnb37g904be26j.xn--89e849ax9363a"); } // [B1, B6, C1, C2, V6, V7] +test { try toAsciiFail("xn--cnb37g904be26j.xn--89e849ax9363a", false); } // [B1, B6, C1, C2, V6, V7] +test { try toAsciiFail("xn--cnb37g904be26j.xn--89e849ax9363a", true); } // [B1, B6, C1, C2, V6, V7] test { try toUnicodeFail("\xe1\x82\xb1\xef\xbc\x8e\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xe1\x82\xb1\xef\xbc\x8e\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xe1\x82\xb1\xef\xbc\x8e\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\x82\xb1.\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xe1\x82\xb1.\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xe1\x82\xb1.\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\xb4\x91.\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xe2\xb4\x91.\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xe2\xb4\x91.\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--8kj.xn--ykb840gd555a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--8kj.xn--ykb840gd555a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--8kj.xn--ykb840gd555a", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\xb4\x91\xef\xbc\x8e\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2"); } // [B2, B3, V7] +test { try toAsciiFail("\xe2\xb4\x91\xef\xbc\x8e\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", false); } // [B2, B3, V7] +test { try toAsciiFail("\xe2\xb4\x91\xef\xbc\x8e\xda\xbf\xf0\x9e\xaf\x93\xe1\xa0\xb2", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--pnd.xn--ykb840gd555a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--pnd.xn--ykb840gd555a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--pnd.xn--ykb840gd555a", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\xa9\x9a\xf0\x9b\xa6\x9d\xe0\xb1\x8d\xe3\x80\x82\xf0\x9a\x9d\xac\xf0\x9d\x9f\xb5"); } // [V6, V7] +test { try toAsciiFail("\xe1\xa9\x9a\xf0\x9b\xa6\x9d\xe0\xb1\x8d\xe3\x80\x82\xf0\x9a\x9d\xac\xf0\x9d\x9f\xb5", false); } // [V6, V7] +test { try toAsciiFail("\xe1\xa9\x9a\xf0\x9b\xa6\x9d\xe0\xb1\x8d\xe3\x80\x82\xf0\x9a\x9d\xac\xf0\x9d\x9f\xb5", true); } // [V6, V7] test { try toUnicodeFail("\xe1\xa9\x9a\xf0\x9b\xa6\x9d\xe0\xb1\x8d\xe3\x80\x82\xf0\x9a\x9d\xac9"); } // [V6, V7] +test { try toAsciiFail("\xe1\xa9\x9a\xf0\x9b\xa6\x9d\xe0\xb1\x8d\xe3\x80\x82\xf0\x9a\x9d\xac9", false); } // [V6, V7] +test { try toAsciiFail("\xe1\xa9\x9a\xf0\x9b\xa6\x9d\xe0\xb1\x8d\xe3\x80\x82\xf0\x9a\x9d\xac9", true); } // [V6, V7] test { try toUnicodeFail("xn--lqc703ebm93a.xn--9-000p"); } // [V6, V7] +test { try toAsciiFail("xn--lqc703ebm93a.xn--9-000p", false); } // [V6, V7] +test { try toAsciiFail("xn--lqc703ebm93a.xn--9-000p", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x86\xf0\x9d\x9f\x97\xef\xbd\xa1\xe1\x83\x83\xea\x92\x98\xef\xb3\x90\xf1\x90\x98\x96"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x86\xf0\x9d\x9f\x97\xef\xbd\xa1\xe1\x83\x83\xea\x92\x98\xef\xb3\x90\xf1\x90\x98\x96", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x86\xf0\x9d\x9f\x97\xef\xbd\xa1\xe1\x83\x83\xea\x92\x98\xef\xb3\x90\xf1\x90\x98\x96", true); } // [B2, B5, V7] test { try toUnicodeFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x869\xe3\x80\x82\xe1\x83\x83\xea\x92\x98\xd9\x85\xd8\xae\xf1\x90\x98\x96"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x869\xe3\x80\x82\xe1\x83\x83\xea\x92\x98\xd9\x85\xd8\xae\xf1\x90\x98\x96", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x869\xe3\x80\x82\xe1\x83\x83\xea\x92\x98\xd9\x85\xd8\xae\xf1\x90\x98\x96", true); } // [B2, B5, V7] test { try toUnicodeFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x869\xe3\x80\x82\xe2\xb4\xa3\xea\x92\x98\xd9\x85\xd8\xae\xf1\x90\x98\x96"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x869\xe3\x80\x82\xe2\xb4\xa3\xea\x92\x98\xd9\x85\xd8\xae\xf1\x90\x98\x96", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x869\xe3\x80\x82\xe2\xb4\xa3\xea\x92\x98\xd9\x85\xd8\xae\xf1\x90\x98\x96", true); } // [B2, B5, V7] test { try toUnicodeFail("xn--9-vtc42319e.xn--tgb9bz87p833hw316c"); } // [B2, B5, V7] +test { try toAsciiFail("xn--9-vtc42319e.xn--tgb9bz87p833hw316c", false); } // [B2, B5, V7] +test { try toAsciiFail("xn--9-vtc42319e.xn--tgb9bz87p833hw316c", true); } // [B2, B5, V7] test { try toUnicodeFail("xn--9-vtc736qts91g.xn--tgb9bz87p833hw316c"); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--9-vtc736qts91g.xn--tgb9bz87p833hw316c", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--9-vtc736qts91g.xn--tgb9bz87p833hw316c", true); } // [B1, B5, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x86\xf0\x9d\x9f\x97\xef\xbd\xa1\xe2\xb4\xa3\xea\x92\x98\xef\xb3\x90\xf1\x90\x98\x96"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x86\xf0\x9d\x9f\x97\xef\xbd\xa1\xe2\xb4\xa3\xea\x92\x98\xef\xb3\x90\xf1\x90\x98\x96", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xda\xa0\xf0\xbf\xba\x86\xf0\x9d\x9f\x97\xef\xbd\xa1\xe2\xb4\xa3\xea\x92\x98\xef\xb3\x90\xf1\x90\x98\x96", true); } // [B2, B5, V7] test { try toUnicodeFail("xn--9-vtc42319e.xn--tgb9bz61cfn8mw3t2c"); } // [B2, B5, V7] +test { try toAsciiFail("xn--9-vtc42319e.xn--tgb9bz61cfn8mw3t2c", false); } // [B2, B5, V7] +test { try toAsciiFail("xn--9-vtc42319e.xn--tgb9bz61cfn8mw3t2c", true); } // [B2, B5, V7] test { try toUnicodeFail("xn--9-vtc736qts91g.xn--tgb9bz61cfn8mw3t2c"); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--9-vtc736qts91g.xn--tgb9bz61cfn8mw3t2c", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--9-vtc736qts91g.xn--tgb9bz61cfn8mw3t2c", true); } // [B1, B5, C1, V7] test { try toUnicodeFail("\xe1\xa1\x96\xef\xbd\xa1\xcc\x9f\xf1\x97\x9b\xa8\xe0\xae\x82-"); } // [V3, V6, V7] +test { try toAsciiFail("\xe1\xa1\x96\xef\xbd\xa1\xcc\x9f\xf1\x97\x9b\xa8\xe0\xae\x82-", false); } // [V3, V6, V7] +test { try toAsciiFail("\xe1\xa1\x96\xef\xbd\xa1\xcc\x9f\xf1\x97\x9b\xa8\xe0\xae\x82-", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe1\xa1\x96\xe3\x80\x82\xcc\x9f\xf1\x97\x9b\xa8\xe0\xae\x82-"); } // [V3, V6, V7] +test { try toAsciiFail("\xe1\xa1\x96\xe3\x80\x82\xcc\x9f\xf1\x97\x9b\xa8\xe0\xae\x82-", false); } // [V3, V6, V7] +test { try toAsciiFail("\xe1\xa1\x96\xe3\x80\x82\xcc\x9f\xf1\x97\x9b\xa8\xe0\xae\x82-", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--m8e.xn----mdb555dkk71m"); } // [V3, V6, V7] +test { try toAsciiFail("xn--m8e.xn----mdb555dkk71m", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--m8e.xn----mdb555dkk71m", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\xa0\xe6\xb5\x98\xe3\x80\x82\xe7\xb5\xa7\xf0\x9e\x80\x80"); } // [B2, B3] +test { try toAsciiFail("\xf0\x9e\xa0\xa0\xe6\xb5\x98\xe3\x80\x82\xe7\xb5\xa7\xf0\x9e\x80\x80", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x9e\xa0\xa0\xe6\xb5\x98\xe3\x80\x82\xe7\xb5\xa7\xf0\x9e\x80\x80", true); } // [B2, B3] test { try toUnicodeFail("xn--e0wp491f.xn--ud0a3573e"); } // [B2, B3] +test { try toAsciiFail("xn--e0wp491f.xn--ud0a3573e", false); } // [B2, B3] +test { try toAsciiFail("xn--e0wp491f.xn--ud0a3573e", true); } // [B2, B3] test { try toUnicodeFail("\xd6\x96\xe1\x82\xab\xef\xbc\x8e\xf0\x9d\x9f\xb3\xe2\x89\xaf\xef\xb8\x92\xef\xb8\x8a"); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab\xef\xbc\x8e\xf0\x9d\x9f\xb3\xe2\x89\xaf\xef\xb8\x92\xef\xb8\x8a", false); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab\xef\xbc\x8e\xf0\x9d\x9f\xb3\xe2\x89\xaf\xef\xb8\x92\xef\xb8\x8a", true); } // [V6, V7] test { try toUnicodeFail("\xd6\x96\xe1\x82\xab\xef\xbc\x8e\xf0\x9d\x9f\xb3>\xcc\xb8\xef\xb8\x92\xef\xb8\x8a"); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab\xef\xbc\x8e\xf0\x9d\x9f\xb3>\xcc\xb8\xef\xb8\x92\xef\xb8\x8a", false); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab\xef\xbc\x8e\xf0\x9d\x9f\xb3>\xcc\xb8\xef\xb8\x92\xef\xb8\x8a", true); } // [V6, V7] test { try toUnicodeFail("\xd6\x96\xe1\x82\xab.7\xe2\x89\xaf\xe3\x80\x82\xef\xb8\x8a"); } // [V6] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab.7\xe2\x89\xaf\xe3\x80\x82\xef\xb8\x8a", false); } // [V6, A4_2] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab.7\xe2\x89\xaf\xe3\x80\x82\xef\xb8\x8a", true); } // [V6, A4_2] test { try toUnicodeFail("\xd6\x96\xe1\x82\xab.7>\xcc\xb8\xe3\x80\x82\xef\xb8\x8a"); } // [V6] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab.7>\xcc\xb8\xe3\x80\x82\xef\xb8\x8a", false); } // [V6, A4_2] +test { try toAsciiFail("\xd6\x96\xe1\x82\xab.7>\xcc\xb8\xe3\x80\x82\xef\xb8\x8a", true); } // [V6, A4_2] test { try toUnicodeFail("\xd6\x96\xe2\xb4\x8b.7>\xcc\xb8\xe3\x80\x82\xef\xb8\x8a"); } // [V6] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b.7>\xcc\xb8\xe3\x80\x82\xef\xb8\x8a", false); } // [V6, A4_2] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b.7>\xcc\xb8\xe3\x80\x82\xef\xb8\x8a", true); } // [V6, A4_2] test { try toUnicodeFail("\xd6\x96\xe2\xb4\x8b.7\xe2\x89\xaf\xe3\x80\x82\xef\xb8\x8a"); } // [V6] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b.7\xe2\x89\xaf\xe3\x80\x82\xef\xb8\x8a", false); } // [V6, A4_2] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b.7\xe2\x89\xaf\xe3\x80\x82\xef\xb8\x8a", true); } // [V6, A4_2] test { try toUnicodeFail("xn--hcb613r.xn--7-pgo."); } // [V6] +test { try toAsciiFail("xn--hcb613r.xn--7-pgo.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--hcb613r.xn--7-pgo.", true); } // [V6, A4_2] test { try toUnicodeFail("\xd6\x96\xe2\xb4\x8b\xef\xbc\x8e\xf0\x9d\x9f\xb3>\xcc\xb8\xef\xb8\x92\xef\xb8\x8a"); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b\xef\xbc\x8e\xf0\x9d\x9f\xb3>\xcc\xb8\xef\xb8\x92\xef\xb8\x8a", false); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b\xef\xbc\x8e\xf0\x9d\x9f\xb3>\xcc\xb8\xef\xb8\x92\xef\xb8\x8a", true); } // [V6, V7] test { try toUnicodeFail("\xd6\x96\xe2\xb4\x8b\xef\xbc\x8e\xf0\x9d\x9f\xb3\xe2\x89\xaf\xef\xb8\x92\xef\xb8\x8a"); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b\xef\xbc\x8e\xf0\x9d\x9f\xb3\xe2\x89\xaf\xef\xb8\x92\xef\xb8\x8a", false); } // [V6, V7] +test { try toAsciiFail("\xd6\x96\xe2\xb4\x8b\xef\xbc\x8e\xf0\x9d\x9f\xb3\xe2\x89\xaf\xef\xb8\x92\xef\xb8\x8a", true); } // [V6, V7] test { try toUnicodeFail("xn--hcb613r.xn--7-pgoy530h"); } // [V6, V7] +test { try toAsciiFail("xn--hcb613r.xn--7-pgoy530h", false); } // [V6, V7] +test { try toAsciiFail("xn--hcb613r.xn--7-pgoy530h", true); } // [V6, V7] test { try toUnicodeFail("xn--hcb887c.xn--7-pgo."); } // [V6, V7] +test { try toAsciiFail("xn--hcb887c.xn--7-pgo.", false); } // [V6, V7, A4_2] +test { try toAsciiFail("xn--hcb887c.xn--7-pgo.", true); } // [V6, V7, A4_2] test { try toUnicodeFail("xn--hcb887c.xn--7-pgoy530h"); } // [V6, V7] +test { try toAsciiFail("xn--hcb887c.xn--7-pgoy530h", false); } // [V6, V7] +test { try toAsciiFail("xn--hcb887c.xn--7-pgoy530h", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8dF\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xef\xb8\x92\xdd\xbe\xf0\x90\xb9\xa2"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8dF\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xef\xb8\x92\xdd\xbe\xf0\x90\xb9\xa2", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8dF\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xef\xb8\x92\xdd\xbe\xf0\x90\xb9\xa2", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8dF\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xe3\x80\x82\xdd\xbe\xf0\x90\xb9\xa2"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8dF\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xe3\x80\x82\xdd\xbe\xf0\x90\xb9\xa2", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8dF\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xe3\x80\x82\xdd\xbe\xf0\x90\xb9\xa2", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8df\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xe3\x80\x82\xdd\xbe\xf0\x90\xb9\xa2"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8df\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xe3\x80\x82\xdd\xbe\xf0\x90\xb9\xa2", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8df\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xe3\x80\x82\xdd\xbe\xf0\x90\xb9\xa2", true); } // [B1, V7] test { try toUnicodeFail("xn--f-kq9i.xn--7656e.xn--fqb4175k"); } // [B1, V7] +test { try toAsciiFail("xn--f-kq9i.xn--7656e.xn--fqb4175k", false); } // [B1, V7] +test { try toAsciiFail("xn--f-kq9i.xn--7656e.xn--fqb4175k", true); } // [B1, V7] test { try toUnicodeFail("xn--f-tgn9761i.xn--7656e.xn--fqb4175k"); } // [B1, C2, V7] +test { try toAsciiFail("xn--f-tgn9761i.xn--7656e.xn--fqb4175k", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--f-tgn9761i.xn--7656e.xn--fqb4175k", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe2\x80\x8df\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xef\xb8\x92\xdd\xbe\xf0\x90\xb9\xa2"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8df\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xef\xb8\x92\xdd\xbe\xf0\x90\xb9\xa2", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8df\xf0\x91\x93\x82\xe3\x80\x82\xf3\xa0\xba\xa8\xef\xb8\x92\xdd\xbe\xf0\x90\xb9\xa2", true); } // [B1, V7] test { try toUnicodeFail("xn--f-kq9i.xn--fqb1637j8hky9452a"); } // [B1, V7] +test { try toAsciiFail("xn--f-kq9i.xn--fqb1637j8hky9452a", false); } // [B1, V7] +test { try toAsciiFail("xn--f-kq9i.xn--fqb1637j8hky9452a", true); } // [B1, V7] test { try toUnicodeFail("xn--f-tgn9761i.xn--fqb1637j8hky9452a"); } // [B1, C2, V7] +test { try toAsciiFail("xn--f-tgn9761i.xn--fqb1637j8hky9452a", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--f-tgn9761i.xn--fqb1637j8hky9452a", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe0\xa1\x85\xf0\x9f\x84\x87\xf0\x90\xbc\x97\xef\xb8\x92\xef\xbd\xa1\xf0\x90\xb9\xbb\xf0\x91\x9c\xab"); } // [B1, B3, V7, U1] +test { try toAsciiFail("\xe0\xa1\x85\xf0\x9f\x84\x87\xf0\x90\xbc\x97\xef\xb8\x92\xef\xbd\xa1\xf0\x90\xb9\xbb\xf0\x91\x9c\xab", false); } // [B1, B3, V7, U1] +test { try toAsciiFail("\xe0\xa1\x85\xf0\x9f\x84\x87\xf0\x90\xbc\x97\xef\xb8\x92\xef\xbd\xa1\xf0\x90\xb9\xbb\xf0\x91\x9c\xab", true); } // [B1, B3, V7, U1] test { try toUnicodeFail("\xe0\xa1\x856,\xf0\x90\xbc\x97\xe3\x80\x82\xe3\x80\x82\xf0\x90\xb9\xbb\xf0\x91\x9c\xab"); } // [B1, U1, X4_2] +test { try toAsciiFail("\xe0\xa1\x856,\xf0\x90\xbc\x97\xe3\x80\x82\xe3\x80\x82\xf0\x90\xb9\xbb\xf0\x91\x9c\xab", false); } // [B1, U1, A4_2] +test { try toAsciiFail("\xe0\xa1\x856,\xf0\x90\xbc\x97\xe3\x80\x82\xe3\x80\x82\xf0\x90\xb9\xbb\xf0\x91\x9c\xab", true); } // [B1, U1, A4_2] test { try toUnicodeFail("xn--6,-r4e4420y..xn--zo0di2m"); } // [B1, U1, X4_2] +test { try toAsciiFail("xn--6,-r4e4420y..xn--zo0di2m", false); } // [B1, U1, A4_2] +test { try toAsciiFail("xn--6,-r4e4420y..xn--zo0di2m", true); } // [B1, U1, A4_2] test { try toUnicodeFail("xn--6,-r4e6182wo1ra.xn--zo0di2m"); } // [B1, B3, V7, U1] +test { try toAsciiFail("xn--6,-r4e6182wo1ra.xn--zo0di2m", false); } // [B1, B3, V7, U1] +test { try toAsciiFail("xn--6,-r4e6182wo1ra.xn--zo0di2m", true); } // [B1, B3, V7, U1] test { try toUnicodeFail("xn--3vb4696jpxkjh7s.xn--zo0di2m"); } // [B1, B3, V7] +test { try toAsciiFail("xn--3vb4696jpxkjh7s.xn--zo0di2m", false); } // [B1, B3, V7] +test { try toAsciiFail("xn--3vb4696jpxkjh7s.xn--zo0di2m", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb9\x88.\xe1\xb7\x80\xf0\x91\x88\xb1\xf0\x90\xa6\xad"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\x88.\xe1\xb7\x80\xf0\x91\x88\xb1\xf0\x90\xa6\xad", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\x88.\xe1\xb7\x80\xf0\x91\x88\xb1\xf0\x90\xa6\xad", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--jn0d.xn--7dg0871h3lf"); } // [B1, V6, V7] +test { try toAsciiFail("xn--jn0d.xn--7dg0871h3lf", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--jn0d.xn--7dg0871h3lf", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x82\xa2\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\x83\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93"); } // [B2, V7] +test { try toAsciiFail("\xe1\x82\xa2\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\x83\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93", false); } // [B2, V7] +test { try toAsciiFail("\xe1\x82\xa2\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\x83\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93", true); } // [B2, V7] test { try toUnicodeFail("\xe2\xb4\x82\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\xa5\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93"); } // [B2, V7] +test { try toAsciiFail("\xe2\xb4\x82\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\xa5\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93", false); } // [B2, V7] +test { try toAsciiFail("\xe2\xb4\x82\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\xa5\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93", true); } // [B2, V7] test { try toUnicodeFail("xn--tkj638f.xn--pjb9818vg4xno967d"); } // [B2, V7] +test { try toAsciiFail("xn--tkj638f.xn--pjb9818vg4xno967d", false); } // [B2, V7] +test { try toAsciiFail("xn--tkj638f.xn--pjb9818vg4xno967d", true); } // [B2, V7] test { try toUnicodeFail("xn--9md875z.xn--pjb9818vg4xno967d"); } // [B2, V7] +test { try toAsciiFail("xn--9md875z.xn--pjb9818vg4xno967d", false); } // [B2, V7] +test { try toAsciiFail("xn--9md875z.xn--pjb9818vg4xno967d", true); } // [B2, V7] test { try toUnicodeFail("\xe2\xb4\x82\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\x83\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93"); } // [B2, V7] +test { try toAsciiFail("\xe2\xb4\x82\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\x83\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93", false); } // [B2, V7] +test { try toAsciiFail("\xe2\xb4\x82\xe4\xa0\xba\xe3\x80\x82\xf0\x9e\xa4\x83\xf1\x85\x8f\x8e\xf3\x99\xae\xa6\xda\x93", true); } // [B2, V7] test { try toUnicodeFail("\xf0\x9f\x84\x87\xe4\xbc\x90\xef\xb8\x92.\xf0\x9c\x99\x9a\xea\xa3\x84"); } // [V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x87\xe4\xbc\x90\xef\xb8\x92.\xf0\x9c\x99\x9a\xea\xa3\x84", false); } // [V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x87\xe4\xbc\x90\xef\xb8\x92.\xf0\x9c\x99\x9a\xea\xa3\x84", true); } // [V7, U1] test { try toUnicodeFail("6,\xe4\xbc\x90\xe3\x80\x82.\xf0\x9c\x99\x9a\xea\xa3\x84"); } // [V7, U1, X4_2] +test { try toAsciiFail("6,\xe4\xbc\x90\xe3\x80\x82.\xf0\x9c\x99\x9a\xea\xa3\x84", false); } // [V7, U1, A4_2] +test { try toAsciiFail("6,\xe4\xbc\x90\xe3\x80\x82.\xf0\x9c\x99\x9a\xea\xa3\x84", true); } // [V7, U1, A4_2] test { try toUnicodeFail("xn--6,-7i3c..xn--0f9ao925c"); } // [V7, U1, X4_2] +test { try toAsciiFail("xn--6,-7i3c..xn--0f9ao925c", false); } // [V7, U1, A4_2] +test { try toAsciiFail("xn--6,-7i3c..xn--0f9ao925c", true); } // [V7, U1, A4_2] test { try toUnicodeFail("xn--6,-7i3cj157d.xn--0f9ao925c"); } // [V7, U1] +test { try toAsciiFail("xn--6,-7i3cj157d.xn--0f9ao925c", false); } // [V7, U1] +test { try toAsciiFail("xn--6,-7i3cj157d.xn--0f9ao925c", true); } // [V7, U1] test { try toUnicodeFail("xn--woqs083bel0g.xn--0f9ao925c"); } // [V7] +test { try toAsciiFail("xn--woqs083bel0g.xn--0f9ao925c", false); } // [V7] +test { try toAsciiFail("xn--woqs083bel0g.xn--0f9ao925c", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xa0\xea\xaf\xad\xef\xbf\xbb\xe3\x80\x82\xe2\x80\x8d\xf0\x90\xab\x93\xe1\x82\xba\xf0\x91\x82\xb9"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xa0\xea\xaf\xad\xef\xbf\xbb\xe3\x80\x82\xe2\x80\x8d\xf0\x90\xab\x93\xe1\x82\xba\xf0\x91\x82\xb9", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xa0\xea\xaf\xad\xef\xbf\xbb\xe3\x80\x82\xe2\x80\x8d\xf0\x90\xab\x93\xe1\x82\xba\xf0\x91\x82\xb9", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xb9\xa0\xea\xaf\xad\xef\xbf\xbb\xe3\x80\x82\xe2\x80\x8d\xf0\x90\xab\x93\xe2\xb4\x9a\xf0\x91\x82\xb9"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xa0\xea\xaf\xad\xef\xbf\xbb\xe3\x80\x82\xe2\x80\x8d\xf0\x90\xab\x93\xe2\xb4\x9a\xf0\x91\x82\xb9", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xb9\xa0\xea\xaf\xad\xef\xbf\xbb\xe3\x80\x82\xe2\x80\x8d\xf0\x90\xab\x93\xe2\xb4\x9a\xf0\x91\x82\xb9", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--429az70n29i.xn--ilj7702eqyd"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--429az70n29i.xn--ilj7702eqyd", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--429az70n29i.xn--ilj7702eqyd", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--1ugz126coy7bdbm.xn--1ug062chv7ov6e"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugz126coy7bdbm.xn--1ug062chv7ov6e", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugz126coy7bdbm.xn--1ug062chv7ov6e", true); } // [B1, C2, V7] test { try toUnicodeFail("xn--429az70n29i.xn--ynd3619jqyd"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--429az70n29i.xn--ynd3619jqyd", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--429az70n29i.xn--ynd3619jqyd", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--1ugz126coy7bdbm.xn--ynd959evs1pv6e"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugz126coy7bdbm.xn--ynd959evs1pv6e", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugz126coy7bdbm.xn--ynd959evs1pv6e", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf3\xa0\x86\xa0\xef\xbc\x8e\xf1\xb7\x90\xb4\xf3\x8c\x9f\x88"); } // [V7, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa0\xef\xbc\x8e\xf1\xb7\x90\xb4\xf3\x8c\x9f\x88", false); } // [V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa0\xef\xbc\x8e\xf1\xb7\x90\xb4\xf3\x8c\x9f\x88", true); } // [V7, A4_2] test { try toUnicodeFail("\xf3\xa0\x86\xa0.\xf1\xb7\x90\xb4\xf3\x8c\x9f\x88"); } // [V7, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa0.\xf1\xb7\x90\xb4\xf3\x8c\x9f\x88", false); } // [V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa0.\xf1\xb7\x90\xb4\xf3\x8c\x9f\x88", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--rx21bhv12i"); } // [V7, X4_2] +test { try toAsciiFail(".xn--rx21bhv12i", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--rx21bhv12i", true); } // [V7, A4_2] test { try toUnicodeFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe1\x82\xa6.\xe2\x89\xa0\xf0\x9e\xb7\x99"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe1\x82\xa6.\xe2\x89\xa0\xf0\x9e\xb7\x99", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe1\x82\xa6.\xe2\x89\xa0\xf0\x9e\xb7\x99", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe1\x82\xa6.=\xcc\xb8\xf0\x9e\xb7\x99"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe1\x82\xa6.=\xcc\xb8\xf0\x9e\xb7\x99", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe1\x82\xa6.=\xcc\xb8\xf0\x9e\xb7\x99", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe2\xb4\x86.=\xcc\xb8\xf0\x9e\xb7\x99"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe2\xb4\x86.=\xcc\xb8\xf0\x9e\xb7\x99", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe2\xb4\x86.=\xcc\xb8\xf0\x9e\xb7\x99", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe2\xb4\x86.\xe2\x89\xa0\xf0\x9e\xb7\x99"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe2\xb4\x86.\xe2\x89\xa0\xf0\x9e\xb7\x99", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xab\x83\xe2\x80\x8c\xe2\xb4\x86.\xe2\x89\xa0\xf0\x9e\xb7\x99", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--xkjz802e.xn--1ch2802p"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--xkjz802e.xn--1ch2802p", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--xkjz802e.xn--1ch2802p", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--0ug132csv7o.xn--1ch2802p"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug132csv7o.xn--1ch2802p", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug132csv7o.xn--1ch2802p", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("xn--end1719j.xn--1ch2802p"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--end1719j.xn--1ch2802p", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--end1719j.xn--1ch2802p", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--end799ekr1p.xn--1ch2802p"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--end799ekr1p.xn--1ch2802p", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--end799ekr1p.xn--1ch2802p", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("\xf3\xa0\x81\xb2\xf0\x99\xa9\xa2\xf0\x9d\x9f\xa5\xea\x98\x8c\xef\xbc\x8e\xe0\xa1\x81"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x81\xb2\xf0\x99\xa9\xa2\xf0\x9d\x9f\xa5\xea\x98\x8c\xef\xbc\x8e\xe0\xa1\x81", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x81\xb2\xf0\x99\xa9\xa2\xf0\x9d\x9f\xa5\xea\x98\x8c\xef\xbc\x8e\xe0\xa1\x81", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x81\xb2\xf0\x99\xa9\xa23\xea\x98\x8c.\xe0\xa1\x81"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x81\xb2\xf0\x99\xa9\xa23\xea\x98\x8c.\xe0\xa1\x81", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x81\xb2\xf0\x99\xa9\xa23\xea\x98\x8c.\xe0\xa1\x81", true); } // [B1, V7] test { try toUnicodeFail("xn--3-0g3es485d8i15h.xn--zvb"); } // [B1, V7] +test { try toAsciiFail("xn--3-0g3es485d8i15h.xn--zvb", false); } // [B1, V7] +test { try toAsciiFail("xn--3-0g3es485d8i15h.xn--zvb", true); } // [B1, V7] test { try toUnicodeFail("-.\xe1\xa2\x86\xf3\xa1\xb2\xa3-"); } // [V3, V6, V7] +test { try toAsciiFail("-.\xe1\xa2\x86\xf3\xa1\xb2\xa3-", false); } // [V3, V6, V7] +test { try toAsciiFail("-.\xe1\xa2\x86\xf3\xa1\xb2\xa3-", true); } // [V3, V6, V7] test { try toUnicodeFail("-.xn----pbkx6497q"); } // [V3, V6, V7] +test { try toAsciiFail("-.xn----pbkx6497q", false); } // [V3, V6, V7] +test { try toAsciiFail("-.xn----pbkx6497q", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x82"); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x82", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x82", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x82"); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x82", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x82", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xce\xa3"); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xce\xa3", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xce\xa3", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x83"); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x83", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x83", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--qp42f.xn--4xa3011w"); } // [B2, B3, V7] +test { try toAsciiFail("xn--qp42f.xn--4xa3011w", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--qp42f.xn--4xa3011w", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--0ug76062m.xn--4xa595lhn92a"); } // [B1, B6, C1, V7] +test { try toAsciiFail("xn--0ug76062m.xn--4xa595lhn92a", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("xn--0ug76062m.xn--4xa595lhn92a", true); } // [B1, B6, C1, V7] test { try toUnicodeFail("xn--0ug76062m.xn--3xa795lhn92a"); } // [B1, B6, C1, V7] +test { try toAsciiFail("xn--0ug76062m.xn--3xa795lhn92a", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("xn--0ug76062m.xn--3xa795lhn92a", true); } // [B1, B6, C1, V7] test { try toUnicodeFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xce\xa3"); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xce\xa3", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xce\xa3", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x83"); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x83", false); } // [B1, B6, C1, V7] +test { try toAsciiFail("\xf3\xb2\x9a\x97\xe2\x80\x8c\xef\xbd\xa1\xe2\x80\x8c\xf0\x9e\xb0\x86\xcf\x83", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe5\xa0\x95\xf0\x91\x93\x82\xe1\xac\x82\xe3\x80\x82\xf0\x90\xae\x87\xf0\x9e\xa4\xbd\xe2\x80\x8c-"); } // [B3, C1, V3] +test { try toAsciiFail("\xe5\xa0\x95\xf0\x91\x93\x82\xe1\xac\x82\xe3\x80\x82\xf0\x90\xae\x87\xf0\x9e\xa4\xbd\xe2\x80\x8c-", false); } // [B3, C1, V3] +test { try toAsciiFail("\xe5\xa0\x95\xf0\x91\x93\x82\xe1\xac\x82\xe3\x80\x82\xf0\x90\xae\x87\xf0\x9e\xa4\xbd\xe2\x80\x8c-", true); } // [B3, V3] test { try toUnicodeFail("\xe5\xa0\x95\xf0\x91\x93\x82\xe1\xac\x82\xe3\x80\x82\xf0\x90\xae\x87\xf0\x9e\xa4\x9b\xe2\x80\x8c-"); } // [B3, C1, V3] +test { try toAsciiFail("\xe5\xa0\x95\xf0\x91\x93\x82\xe1\xac\x82\xe3\x80\x82\xf0\x90\xae\x87\xf0\x9e\xa4\x9b\xe2\x80\x8c-", false); } // [B3, C1, V3] +test { try toAsciiFail("\xe5\xa0\x95\xf0\x91\x93\x82\xe1\xac\x82\xe3\x80\x82\xf0\x90\xae\x87\xf0\x9e\xa4\x9b\xe2\x80\x8c-", true); } // [B3, V3] test { try toUnicodeFail("xn--5sf345zdk8h.xn----iv5iw606c"); } // [B3, V3] +test { try toAsciiFail("xn--5sf345zdk8h.xn----iv5iw606c", false); } // [B3, V3] +test { try toAsciiFail("xn--5sf345zdk8h.xn----iv5iw606c", true); } // [B3, V3] test { try toUnicodeFail("xn--5sf345zdk8h.xn----rgnt157hwl9g"); } // [B3, C1, V3] +test { try toAsciiFail("xn--5sf345zdk8h.xn----rgnt157hwl9g", false); } // [B3, C1, V3] +test { try toAsciiFail("xn--5sf345zdk8h.xn----rgnt157hwl9g", true); } // [B3, C1, V3] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x82\xd8\xaa\xcf\x82"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x82\xd8\xaa\xcf\x82", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x82\xd8\xaa\xcf\x82", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x82\xd8\xaa\xcf\x82"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x82\xd8\xaa\xcf\x82", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x82\xd8\xaa\xcf\x82", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\x80\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\x80\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\x80\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x83"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x83", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x83", true); } // [B1, B5] test { try toUnicodeFail("xn--l8e1317j1ebz456b.xn--4xaa85plx4a"); } // [B1, B5] +test { try toAsciiFail("xn--l8e1317j1ebz456b.xn--4xaa85plx4a", false); } // [B1, B5] +test { try toAsciiFail("xn--l8e1317j1ebz456b.xn--4xaa85plx4a", true); } // [B1, B5] test { try toUnicodeFail("xn--l8e1317j1ebz456b.xn--3xaa16plx4a"); } // [B1, B5] +test { try toAsciiFail("xn--l8e1317j1ebz456b.xn--3xaa16plx4a", false); } // [B1, B5] +test { try toAsciiFail("xn--l8e1317j1ebz456b.xn--3xaa16plx4a", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\x80\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\x80\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\x80\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x83"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x83", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x83", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x83"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x83", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x83", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x82"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x82", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x82", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x82"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x82", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xe3\x80\x82\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x82", true); } // [B1, B5] test { try toUnicodeFail("xn--l8e1317j1ebz456b.xn--3xab95plx4a"); } // [B1, B5] +test { try toAsciiFail("xn--l8e1317j1ebz456b.xn--3xab95plx4a", false); } // [B1, B5] +test { try toAsciiFail("xn--l8e1317j1ebz456b.xn--3xab95plx4a", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xce\xa3", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x83"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x83", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x83", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x82"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x82", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xce\xa3\xd8\xaa\xcf\x82", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x82"); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x82", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x90\xb9\xb6\xf0\x91\x81\x86\xe1\xa1\x95\xf0\x9e\xa4\xa2\xef\xbd\xa1\xe1\xa1\xa5\xcf\x83\xd8\xaa\xcf\x82", true); } // [B1, B5] test { try toUnicodeFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbb\xc3\x9f"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbb\xc3\x9f", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbb\xc3\x9f", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0.-5\xc3\x9f"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5\xc3\x9f", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5\xc3\x9f", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0.-5SS"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5SS", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5SS", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0.-5ss"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5ss", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5ss", true); } // [V3, V7] test { try toUnicodeFail("xn--t960e.-5ss"); } // [V3, V7] +test { try toAsciiFail("xn--t960e.-5ss", false); } // [V3, V7] +test { try toAsciiFail("xn--t960e.-5ss", true); } // [V3, V7] test { try toUnicodeFail("xn--t960e.xn---5-hia"); } // [V3, V7] +test { try toAsciiFail("xn--t960e.xn---5-hia", false); } // [V3, V7] +test { try toAsciiFail("xn--t960e.xn---5-hia", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbSS"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbSS", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbSS", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbss"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbss", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbss", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbSs"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbSs", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0\xef\xbc\x8e-\xf0\x9d\x9f\xbbSs", true); } // [V3, V7] test { try toUnicodeFail("\xf3\x8f\x92\xb0.-5Ss"); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5Ss", false); } // [V3, V7] +test { try toAsciiFail("\xf3\x8f\x92\xb0.-5Ss", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xa8\xbf.\xf0\x9f\xa4\x92\xe1\x83\x85\xf2\x91\xae\xb6"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xa8\xbf.\xf0\x9f\xa4\x92\xe1\x83\x85\xf2\x91\xae\xb6", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xa8\xbf.\xf0\x9f\xa4\x92\xe1\x83\x85\xf2\x91\xae\xb6", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x90\xa8\xbf.\xf0\x9f\xa4\x92\xe2\xb4\xa5\xf2\x91\xae\xb6"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xa8\xbf.\xf0\x9f\xa4\x92\xe2\xb4\xa5\xf2\x91\xae\xb6", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x90\xa8\xbf.\xf0\x9f\xa4\x92\xe2\xb4\xa5\xf2\x91\xae\xb6", true); } // [V6, V7] test { try toUnicodeFail("xn--0s9c.xn--tljz038l0gz4b"); } // [V6, V7] +test { try toAsciiFail("xn--0s9c.xn--tljz038l0gz4b", false); } // [V6, V7] +test { try toAsciiFail("xn--0s9c.xn--tljz038l0gz4b", true); } // [V6, V7] test { try toUnicodeFail("xn--1ug9533g.xn--tljz038l0gz4b"); } // [C2, V7] +test { try toAsciiFail("xn--1ug9533g.xn--tljz038l0gz4b", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug9533g.xn--tljz038l0gz4b", true); } // [C2, V7] test { try toUnicodeFail("xn--0s9c.xn--9nd3211w0gz4b"); } // [V6, V7] +test { try toAsciiFail("xn--0s9c.xn--9nd3211w0gz4b", false); } // [V6, V7] +test { try toAsciiFail("xn--0s9c.xn--9nd3211w0gz4b", true); } // [V6, V7] test { try toUnicodeFail("xn--1ug9533g.xn--9nd3211w0gz4b"); } // [C2, V7] +test { try toAsciiFail("xn--1ug9533g.xn--9nd3211w0gz4b", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug9533g.xn--9nd3211w0gz4b", true); } // [C2, V7] test { try toUnicodeFail("\xf0\xb5\x8b\x85\xe3\x80\x82\xc3\x9f\xf0\xac\xb5\xa9\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82\xc3\x9f\xf0\xac\xb5\xa9\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82\xc3\x9f\xf0\xac\xb5\xa9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\xb5\x8b\x85\xe3\x80\x82SS\xf0\xac\xb5\xa9\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82SS\xf0\xac\xb5\xa9\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82SS\xf0\xac\xb5\xa9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\xb5\x8b\x85\xe3\x80\x82ss\xf0\xac\xb5\xa9\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82ss\xf0\xac\xb5\xa9\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82ss\xf0\xac\xb5\xa9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\xb5\x8b\x85\xe3\x80\x82Ss\xf0\xac\xb5\xa9\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82Ss\xf0\xac\xb5\xa9\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xf0\xb5\x8b\x85\xe3\x80\x82Ss\xf0\xac\xb5\xa9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("xn--ey1p.xn--ss-eq36b"); } // [V7] +test { try toAsciiFail("xn--ey1p.xn--ss-eq36b", false); } // [V7] +test { try toAsciiFail("xn--ey1p.xn--ss-eq36b", true); } // [V7] test { try toUnicodeFail("xn--ey1p.xn--ss-n1tx0508a"); } // [C2, V7] +test { try toAsciiFail("xn--ey1p.xn--ss-n1tx0508a", false); } // [C2, V7] +test { try toAsciiFail("xn--ey1p.xn--ss-n1tx0508a", true); } // [C2, V7] test { try toUnicodeFail("xn--ey1p.xn--zca870nz438b"); } // [C2, V7] +test { try toAsciiFail("xn--ey1p.xn--zca870nz438b", false); } // [C2, V7] +test { try toAsciiFail("xn--ey1p.xn--zca870nz438b", true); } // [C2, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\xad\x89\x9d\xe3\x80\x82\xdf\xb1\xcc\x81\xf0\x9e\xb9\xbb"); } // [B1, C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xad\x89\x9d\xe3\x80\x82\xdf\xb1\xcc\x81\xf0\x9e\xb9\xbb", false); } // [B1, C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xad\x89\x9d\xe3\x80\x82\xdf\xb1\xcc\x81\xf0\x9e\xb9\xbb", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x80\x8c\xf0\xad\x89\x9d\xe3\x80\x82\xdf\xb1\xcc\x81\xd8\xba"); } // [B1, C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xad\x89\x9d\xe3\x80\x82\xdf\xb1\xcc\x81\xd8\xba", false); } // [B1, C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xf0\xad\x89\x9d\xe3\x80\x82\xdf\xb1\xcc\x81\xd8\xba", true); } // [B1, V6] test { try toUnicodeFail("xn--634m.xn--lsa46nuub"); } // [B1, V6] +test { try toAsciiFail("xn--634m.xn--lsa46nuub", false); } // [B1, V6] +test { try toAsciiFail("xn--634m.xn--lsa46nuub", true); } // [B1, V6] test { try toUnicodeFail("xn--0ugy003y.xn--lsa46nuub"); } // [B1, C1, V6] +test { try toAsciiFail("xn--0ugy003y.xn--lsa46nuub", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--0ugy003y.xn--lsa46nuub", true); } // [B1, C1, V6] test { try toUnicodeFail("\xf0\x9e\xbc\x8c\xe2\x80\x8c\xf0\x91\x88\xb6\xe3\x80\x82\xf0\x90\xb9\xa1"); } // [B1, B3, C1, V7] +test { try toAsciiFail("\xf0\x9e\xbc\x8c\xe2\x80\x8c\xf0\x91\x88\xb6\xe3\x80\x82\xf0\x90\xb9\xa1", false); } // [B1, B3, C1, V7] +test { try toAsciiFail("\xf0\x9e\xbc\x8c\xe2\x80\x8c\xf0\x91\x88\xb6\xe3\x80\x82\xf0\x90\xb9\xa1", true); } // [B1, V7] test { try toUnicodeFail("xn--9g1d1288a.xn--8n0d"); } // [B1, V7] +test { try toAsciiFail("xn--9g1d1288a.xn--8n0d", false); } // [B1, V7] +test { try toAsciiFail("xn--9g1d1288a.xn--8n0d", true); } // [B1, V7] test { try toUnicodeFail("xn--0ug7946gzpxf.xn--8n0d"); } // [B1, B3, C1, V7] +test { try toAsciiFail("xn--0ug7946gzpxf.xn--8n0d", false); } // [B1, B3, C1, V7] +test { try toAsciiFail("xn--0ug7946gzpxf.xn--8n0d", true); } // [B1, B3, C1, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82\xe2\x89\xa0"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82\xe2\x89\xa0", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82\xe2\x89\xa0", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82=\xcc\xb8"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82=\xcc\xb8", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82=\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82\xe2\x89\xa0"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82\xe2\x89\xa0", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82\xe2\x89\xa0", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82=\xcc\xb8"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82=\xcc\xb8", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x82=\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3=\xcc\xb8"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3=\xcc\xb8", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3=\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3\xe2\x89\xa0"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3\xe2\x89\xa0", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3\xe2\x89\xa0", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83\xe2\x89\xa0"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83\xe2\x89\xa0", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83\xe2\x89\xa0", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83=\xcc\xb8"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83=\xcc\xb8", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xe3\x80\x82\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83=\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("xn--zb9h5968x.xn--4xa378i1mfjw7y"); } // [V6, V7] +test { try toAsciiFail("xn--zb9h5968x.xn--4xa378i1mfjw7y", false); } // [V6, V7] +test { try toAsciiFail("xn--zb9h5968x.xn--4xa378i1mfjw7y", true); } // [V6, V7] test { try toUnicodeFail("xn--0ug3766p5nm1b.xn--4xa378i1mfjw7y"); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug3766p5nm1b.xn--4xa378i1mfjw7y", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug3766p5nm1b.xn--4xa378i1mfjw7y", true); } // [C1, V6, V7] test { try toUnicodeFail("xn--0ug3766p5nm1b.xn--3xa578i1mfjw7y"); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug3766p5nm1b.xn--3xa578i1mfjw7y", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug3766p5nm1b.xn--3xa578i1mfjw7y", true); } // [C1, V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3=\xcc\xb8"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3=\xcc\xb8", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3=\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3\xe2\x89\xa0"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3\xe2\x89\xa0", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xce\xa3\xe2\x89\xa0", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83\xe2\x89\xa0"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83\xe2\x89\xa0", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83\xe2\x89\xa0", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83=\xcc\xb8"); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83=\xcc\xb8", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xaf\xf2\x87\xbd\xad\xe2\x80\x8c\xf0\x9f\x9c\xad\xef\xbd\xa1\xf0\x91\x96\xbf\xe1\xaa\xbb\xcf\x83=\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x92\x8b\xef\xbd\xa1\xe2\x92\x88\xe2\x80\x8d\xf2\xb3\xb4\xa2"); } // [C2, V7] +test { try toAsciiFail("\xe2\x92\x8b\xef\xbd\xa1\xe2\x92\x88\xe2\x80\x8d\xf2\xb3\xb4\xa2", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x92\x8b\xef\xbd\xa1\xe2\x92\x88\xe2\x80\x8d\xf2\xb3\xb4\xa2", true); } // [V7] test { try toUnicodeFail("4.\xe3\x80\x821.\xe2\x80\x8d\xf2\xb3\xb4\xa2"); } // [C2, V7, X4_2] +test { try toAsciiFail("4.\xe3\x80\x821.\xe2\x80\x8d\xf2\xb3\xb4\xa2", false); } // [C2, V7, A4_2] +test { try toAsciiFail("4.\xe3\x80\x821.\xe2\x80\x8d\xf2\xb3\xb4\xa2", true); } // [V7, A4_2] test { try toUnicodeFail("4..1.xn--sf51d"); } // [V7, X4_2] +test { try toAsciiFail("4..1.xn--sf51d", false); } // [V7, A4_2] +test { try toAsciiFail("4..1.xn--sf51d", true); } // [V7, A4_2] test { try toUnicodeFail("4..1.xn--1ug64613i"); } // [C2, V7, X4_2] +test { try toAsciiFail("4..1.xn--1ug64613i", false); } // [C2, V7, A4_2] +test { try toAsciiFail("4..1.xn--1ug64613i", true); } // [C2, V7, A4_2] test { try toUnicodeFail("xn--wsh.xn--tsh07994h"); } // [V7] +test { try toAsciiFail("xn--wsh.xn--tsh07994h", false); } // [V7] +test { try toAsciiFail("xn--wsh.xn--tsh07994h", true); } // [V7] test { try toUnicodeFail("xn--wsh.xn--1ug58o74922a"); } // [C2, V7] +test { try toAsciiFail("xn--wsh.xn--1ug58o74922a", false); } // [C2, V7] +test { try toAsciiFail("xn--wsh.xn--1ug58o74922a", true); } // [C2, V7] test { try toUnicodeFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84\xc3\x9f\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84SS\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--ss-svd.xn--jof2298hn83fln78f"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--ss-svd.xn--jof2298hn83fln78f", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--ss-svd.xn--jof2298hn83fln78f", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84\xc3\x9f\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--zca57y.xn--jof2298hn83fln78f"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--zca57y.xn--jof2298hn83fln78f", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--zca57y.xn--jof2298hn83fln78f", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84SS\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84SS\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84\xc3\x9f\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\x9c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84SS\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84Ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84Ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84Ss\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84SS\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84Ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84Ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84Ss\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\x87\xbd\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84SS\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84SS\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xd9\x84Ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84Ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xd9\x84Ss\xef\xbd\xa1\xf0\x90\x87\xbd\xe1\xa9\xa0\xf2\xbe\x85\xa2\xf0\x9e\xa4\xbe", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xbd\xf0\x91\x84\xb3\xf1\xbc\x9c\xb2.\xe1\xb7\x9f\xe1\x9e\xb8\xea\xa0\x86\xf0\x91\x9c\xab"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xbd\xf0\x91\x84\xb3\xf1\xbc\x9c\xb2.\xe1\xb7\x9f\xe1\x9e\xb8\xea\xa0\x86\xf0\x91\x9c\xab", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xbd\xf0\x91\x84\xb3\xf1\xbc\x9c\xb2.\xe1\xb7\x9f\xe1\x9e\xb8\xea\xa0\x86\xf0\x91\x9c\xab", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--1o0di0c0652w.xn--33e362arr1l153d"); } // [B1, V6, V7] +test { try toAsciiFail("xn--1o0di0c0652w.xn--33e362arr1l153d", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--1o0di0c0652w.xn--33e362arr1l153d", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x82\xb3\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93\xef\xbc\x8e\xda\xa7\xf0\x91\xb0\xb6"); } // [V7] +test { try toAsciiFail("\xe1\x82\xb3\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93\xef\xbc\x8e\xda\xa7\xf0\x91\xb0\xb6", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xb3\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93\xef\xbc\x8e\xda\xa7\xf0\x91\xb0\xb6", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xb3\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93.\xda\xa7\xf0\x91\xb0\xb6"); } // [V7] +test { try toAsciiFail("\xe1\x82\xb3\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93.\xda\xa7\xf0\x91\xb0\xb6", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xb3\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93.\xda\xa7\xf0\x91\xb0\xb6", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x93\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93.\xda\xa7\xf0\x91\xb0\xb6"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x93\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93.\xda\xa7\xf0\x91\xb0\xb6", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x93\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93.\xda\xa7\xf0\x91\xb0\xb6", true); } // [V7] test { try toUnicodeFail("xn--blj6306ey091d.xn--9jb4223l"); } // [V7] +test { try toAsciiFail("xn--blj6306ey091d.xn--9jb4223l", false); } // [V7] +test { try toAsciiFail("xn--blj6306ey091d.xn--9jb4223l", true); } // [V7] test { try toUnicodeFail("xn--1ugy52cym7p7xu5e.xn--9jb4223l"); } // [V7] +test { try toAsciiFail("xn--1ugy52cym7p7xu5e.xn--9jb4223l", false); } // [V7] +test { try toAsciiFail("xn--1ugy52cym7p7xu5e.xn--9jb4223l", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x93\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93\xef\xbc\x8e\xda\xa7\xf0\x91\xb0\xb6"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x93\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93\xef\xbc\x8e\xda\xa7\xf0\x91\xb0\xb6", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x93\xf0\x91\x9c\xab\xe2\x80\x8d\xf2\x97\xad\x93\xef\xbc\x8e\xda\xa7\xf0\x91\xb0\xb6", true); } // [V7] test { try toUnicodeFail("xn--rnd8945ky009c.xn--9jb4223l"); } // [V7] +test { try toAsciiFail("xn--rnd8945ky009c.xn--9jb4223l", false); } // [V7] +test { try toAsciiFail("xn--rnd8945ky009c.xn--9jb4223l", true); } // [V7] test { try toUnicodeFail("xn--rnd479ep20q7x12e.xn--9jb4223l"); } // [V7] +test { try toAsciiFail("xn--rnd479ep20q7x12e.xn--9jb4223l", false); } // [V7] +test { try toAsciiFail("xn--rnd479ep20q7x12e.xn--9jb4223l", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xa8\xbf.\xf0\x9f\x84\x86\xe2\x80\x94"); } // [V6, U1] +test { try toAsciiFail("\xf0\x90\xa8\xbf.\xf0\x9f\x84\x86\xe2\x80\x94", false); } // [V6, U1] +test { try toAsciiFail("\xf0\x90\xa8\xbf.\xf0\x9f\x84\x86\xe2\x80\x94", true); } // [V6, U1] test { try toUnicodeFail("\xf0\x90\xa8\xbf.5,\xe2\x80\x94"); } // [V6, U1] +test { try toAsciiFail("\xf0\x90\xa8\xbf.5,\xe2\x80\x94", false); } // [V6, U1] +test { try toAsciiFail("\xf0\x90\xa8\xbf.5,\xe2\x80\x94", true); } // [V6, U1] test { try toUnicodeFail("xn--0s9c.xn--5,-81t"); } // [V6, U1] +test { try toAsciiFail("xn--0s9c.xn--5,-81t", false); } // [V6, U1] +test { try toAsciiFail("xn--0s9c.xn--5,-81t", true); } // [V6, U1] test { try toUnicodeFail("xn--0s9c.xn--8ug8324p"); } // [V6, V7] +test { try toAsciiFail("xn--0s9c.xn--8ug8324p", false); } // [V6, V7] +test { try toAsciiFail("xn--0s9c.xn--8ug8324p", true); } // [V6, V7] test { try toUnicodeFail("\xf2\x94\x8a\xb1\xf1\x81\xa6\xae\xdb\xb8\xe3\x80\x82\xf3\xa0\xbe\xad-"); } // [V3, V7] +test { try toAsciiFail("\xf2\x94\x8a\xb1\xf1\x81\xa6\xae\xdb\xb8\xe3\x80\x82\xf3\xa0\xbe\xad-", false); } // [V3, V7] +test { try toAsciiFail("\xf2\x94\x8a\xb1\xf1\x81\xa6\xae\xdb\xb8\xe3\x80\x82\xf3\xa0\xbe\xad-", true); } // [V3, V7] test { try toUnicodeFail("xn--lmb18944c0g2z.xn----2k81m"); } // [V3, V7] +test { try toAsciiFail("xn--lmb18944c0g2z.xn----2k81m", false); } // [V3, V7] +test { try toAsciiFail("xn--lmb18944c0g2z.xn----2k81m", true); } // [V3, V7] test { try toUnicodeFail("\xf0\xbc\x97\xb8\xdf\x8d\xf0\x90\xb9\xae\xe3\x80\x82\xdb\x9d\xe1\xa1\x8e\xe1\xa0\xb4"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf0\xbc\x97\xb8\xdf\x8d\xf0\x90\xb9\xae\xe3\x80\x82\xdb\x9d\xe1\xa1\x8e\xe1\xa0\xb4", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf0\xbc\x97\xb8\xdf\x8d\xf0\x90\xb9\xae\xe3\x80\x82\xdb\x9d\xe1\xa1\x8e\xe1\xa0\xb4", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--osb0855kcc2r.xn--tlb299fhc"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--osb0855kcc2r.xn--tlb299fhc", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--osb0855kcc2r.xn--tlb299fhc", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe1\xa0\xae\xe1\x82\xbe\xf0\x9f\x84\x82.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c"); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe1\x82\xbe\xf0\x9f\x84\x82.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", false); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe1\x82\xbe\xf0\x9f\x84\x82.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", true); } // [B1, B6, U1] test { try toUnicodeFail("\xe2\x80\x8d\xe1\xa0\xae\xe1\x82\xbe1,.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c"); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe1\x82\xbe1,.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", false); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe1\x82\xbe1,.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", true); } // [B1, B6, U1] test { try toUnicodeFail("\xe2\x80\x8d\xe1\xa0\xae\xe2\xb4\x9e1,.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c"); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe2\xb4\x9e1,.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", false); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe2\xb4\x9e1,.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", true); } // [B1, B6, U1] test { try toUnicodeFail("xn--1,-v3o625k.xn--zvb3124wpkpf"); } // [B1, B6, U1] +test { try toAsciiFail("xn--1,-v3o625k.xn--zvb3124wpkpf", false); } // [B1, B6, U1] +test { try toAsciiFail("xn--1,-v3o625k.xn--zvb3124wpkpf", true); } // [B1, B6, U1] test { try toUnicodeFail("xn--1,-v3o161c53q.xn--zvb692j9664aic1g"); } // [B1, C1, C2, U1] +test { try toAsciiFail("xn--1,-v3o161c53q.xn--zvb692j9664aic1g", false); } // [B1, C1, C2, U1] +test { try toAsciiFail("xn--1,-v3o161c53q.xn--zvb692j9664aic1g", true); } // [B1, C1, C2, U1] test { try toUnicodeFail("\xe2\x80\x8d\xe1\xa0\xae\xe2\xb4\x9e\xf0\x9f\x84\x82.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c"); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe2\xb4\x9e\xf0\x9f\x84\x82.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", false); } // [B1, C1, C2, U1] +test { try toAsciiFail("\xe2\x80\x8d\xe1\xa0\xae\xe2\xb4\x9e\xf0\x9f\x84\x82.\xf0\x9f\x9a\x97\xe0\xa1\x81\xf0\xae\xb9\x8c\xe2\x80\x8c", true); } // [B1, B6, U1] test { try toUnicodeFail("xn--1,-ogkx89c.xn--zvb3124wpkpf"); } // [B1, B6, V7, U1] +test { try toAsciiFail("xn--1,-ogkx89c.xn--zvb3124wpkpf", false); } // [B1, B6, V7, U1] +test { try toAsciiFail("xn--1,-ogkx89c.xn--zvb3124wpkpf", true); } // [B1, B6, V7, U1] test { try toUnicodeFail("xn--1,-ogkx89c39j.xn--zvb692j9664aic1g"); } // [B1, C1, C2, V7, U1] +test { try toAsciiFail("xn--1,-ogkx89c39j.xn--zvb692j9664aic1g", false); } // [B1, C1, C2, V7, U1] +test { try toAsciiFail("xn--1,-ogkx89c39j.xn--zvb692j9664aic1g", true); } // [B1, C1, C2, V7, U1] test { try toUnicodeFail("xn--h7e438h1p44a.xn--zvb3124wpkpf"); } // [B1, V7] +test { try toAsciiFail("xn--h7e438h1p44a.xn--zvb3124wpkpf", false); } // [B1, V7] +test { try toAsciiFail("xn--h7e438h1p44a.xn--zvb3124wpkpf", true); } // [B1, V7] test { try toUnicodeFail("xn--h7e341b0wlbv45b.xn--zvb692j9664aic1g"); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--h7e341b0wlbv45b.xn--zvb692j9664aic1g", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--h7e341b0wlbv45b.xn--zvb692j9664aic1g", true); } // [B1, C1, C2, V7] test { try toUnicodeFail("xn--2nd129ai554b.xn--zvb3124wpkpf"); } // [B1, V7] +test { try toAsciiFail("xn--2nd129ai554b.xn--zvb3124wpkpf", false); } // [B1, V7] +test { try toAsciiFail("xn--2nd129ai554b.xn--zvb3124wpkpf", true); } // [B1, V7] test { try toUnicodeFail("xn--2nd129ay2gnw71c.xn--zvb692j9664aic1g"); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--2nd129ay2gnw71c.xn--zvb692j9664aic1g", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--2nd129ay2gnw71c.xn--zvb692j9664aic1g", true); } // [B1, C1, C2, V7] test { try toUnicodeFail("\xd8\x81\xda\x97\xef\xbc\x8e\xf0\x91\x9a\xb6\xf1\xbc\xa1\xb7\xe2\xbe\x86"); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x81\xda\x97\xef\xbc\x8e\xf0\x91\x9a\xb6\xf1\xbc\xa1\xb7\xe2\xbe\x86", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x81\xda\x97\xef\xbc\x8e\xf0\x91\x9a\xb6\xf1\xbc\xa1\xb7\xe2\xbe\x86", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd8\x81\xda\x97.\xf0\x91\x9a\xb6\xf1\xbc\xa1\xb7\xe8\x88\x8c"); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x81\xda\x97.\xf0\x91\x9a\xb6\xf1\xbc\xa1\xb7\xe8\x88\x8c", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x81\xda\x97.\xf0\x91\x9a\xb6\xf1\xbc\xa1\xb7\xe8\x88\x8c", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--jfb41a.xn--tc1ap851axo39c"); } // [B1, V6, V7] +test { try toAsciiFail("xn--jfb41a.xn--tc1ap851axo39c", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--jfb41a.xn--tc1ap851axo39c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9f\x9e\x85\xf3\xa0\xb3\xa1\xf3\x9c\x8d\x99.\xf1\xb2\x96\xb7"); } // [V7] +test { try toAsciiFail("\xf0\x9f\x9e\x85\xf3\xa0\xb3\xa1\xf3\x9c\x8d\x99.\xf1\xb2\x96\xb7", false); } // [V7] +test { try toAsciiFail("\xf0\x9f\x9e\x85\xf3\xa0\xb3\xa1\xf3\x9c\x8d\x99.\xf1\xb2\x96\xb7", true); } // [V7] test { try toUnicodeFail("xn--ie9hi1349bqdlb.xn--oj69a"); } // [V7] +test { try toAsciiFail("xn--ie9hi1349bqdlb.xn--oj69a", false); } // [V7] +test { try toAsciiFail("xn--ie9hi1349bqdlb.xn--oj69a", true); } // [V7] test { try toUnicodeFail("\xe2\x83\xa7\xf1\xaf\xa1\x8e-\xf2\xab\xa3\x9d.4\xe1\x82\xa4\xe2\x80\x8c"); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x83\xa7\xf1\xaf\xa1\x8e-\xf2\xab\xa3\x9d.4\xe1\x82\xa4\xe2\x80\x8c", false); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x83\xa7\xf1\xaf\xa1\x8e-\xf2\xab\xa3\x9d.4\xe1\x82\xa4\xe2\x80\x8c", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x83\xa7\xf1\xaf\xa1\x8e-\xf2\xab\xa3\x9d.4\xe2\xb4\x84\xe2\x80\x8c"); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x83\xa7\xf1\xaf\xa1\x8e-\xf2\xab\xa3\x9d.4\xe2\xb4\x84\xe2\x80\x8c", false); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x83\xa7\xf1\xaf\xa1\x8e-\xf2\xab\xa3\x9d.4\xe2\xb4\x84\xe2\x80\x8c", true); } // [V6, V7] test { try toUnicodeFail("xn----9snu5320fi76w.xn--4-ivs"); } // [V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-ivs", false); } // [V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-ivs", true); } // [V6, V7] test { try toUnicodeFail("xn----9snu5320fi76w.xn--4-sgn589c"); } // [C1, V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-sgn589c", false); } // [C1, V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-sgn589c", true); } // [C1, V6, V7] test { try toUnicodeFail("xn----9snu5320fi76w.xn--4-f0g"); } // [V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-f0g", false); } // [V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-f0g", true); } // [V6, V7] test { try toUnicodeFail("xn----9snu5320fi76w.xn--4-f0g649i"); } // [C1, V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-f0g649i", false); } // [C1, V6, V7] +test { try toAsciiFail("xn----9snu5320fi76w.xn--4-f0g649i", true); } // [C1, V6, V7] test { try toUnicodePass("\xe1\x9a\xad\xef\xbd\xa1\xf0\x9d\x8c\xa0\xc3\x9f\xf0\x96\xab\xb1", "\xe1\x9a\xad.\xf0\x9d\x8c\xa0\xc3\x9f\xf0\x96\xab\xb1"); } test { try toAsciiPass("\xe1\x9a\xad\xef\xbd\xa1\xf0\x9d\x8c\xa0\xc3\x9f\xf0\x96\xab\xb1", "xn--hwe.xn--zca4946pblnc", false); } test { try toAsciiPass("\xe1\x9a\xad\xef\xbd\xa1\xf0\x9d\x8c\xa0\xc3\x9f\xf0\x96\xab\xb1", "xn--hwe.xn--ss-ci1ub261a", true); } @@ -2078,398 +4452,1184 @@ test { try toUnicodePass("\xe1\x9a\xad\xef\xbd\xa1\xf0\x9d\x8c\xa0Ss\xf0\x96\xab test { try toAsciiPass("\xe1\x9a\xad\xef\xbd\xa1\xf0\x9d\x8c\xa0Ss\xf0\x96\xab\xb1", "xn--hwe.xn--ss-ci1ub261a", false); } test { try toAsciiPass("\xe1\x9a\xad\xef\xbd\xa1\xf0\x9d\x8c\xa0Ss\xf0\x96\xab\xb1", "xn--hwe.xn--ss-ci1ub261a", true); } test { try toUnicodeFail("\xe2\x82\x81\xef\xbd\xa1\xf0\x9e\xa4\xab\xea\xa1\xaa"); } // [B1, B2, B3] +test { try toAsciiFail("\xe2\x82\x81\xef\xbd\xa1\xf0\x9e\xa4\xab\xea\xa1\xaa", false); } // [B1, B2, B3] +test { try toAsciiFail("\xe2\x82\x81\xef\xbd\xa1\xf0\x9e\xa4\xab\xea\xa1\xaa", true); } // [B1, B2, B3] test { try toUnicodeFail("1\xe3\x80\x82\xf0\x9e\xa4\xab\xea\xa1\xaa"); } // [B1, B2, B3] +test { try toAsciiFail("1\xe3\x80\x82\xf0\x9e\xa4\xab\xea\xa1\xaa", false); } // [B1, B2, B3] +test { try toAsciiFail("1\xe3\x80\x82\xf0\x9e\xa4\xab\xea\xa1\xaa", true); } // [B1, B2, B3] test { try toUnicodeFail("1\xe3\x80\x82\xf0\x9e\xa4\x89\xea\xa1\xaa"); } // [B1, B2, B3] +test { try toAsciiFail("1\xe3\x80\x82\xf0\x9e\xa4\x89\xea\xa1\xaa", false); } // [B1, B2, B3] +test { try toAsciiFail("1\xe3\x80\x82\xf0\x9e\xa4\x89\xea\xa1\xaa", true); } // [B1, B2, B3] test { try toUnicodeFail("1.xn--gd9al691d"); } // [B1, B2, B3] +test { try toAsciiFail("1.xn--gd9al691d", false); } // [B1, B2, B3] +test { try toAsciiFail("1.xn--gd9al691d", true); } // [B1, B2, B3] test { try toUnicodeFail("\xe2\x82\x81\xef\xbd\xa1\xf0\x9e\xa4\x89\xea\xa1\xaa"); } // [B1, B2, B3] +test { try toAsciiFail("\xe2\x82\x81\xef\xbd\xa1\xf0\x9e\xa4\x89\xea\xa1\xaa", false); } // [B1, B2, B3] +test { try toAsciiFail("\xe2\x82\x81\xef\xbd\xa1\xf0\x9e\xa4\x89\xea\xa1\xaa", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf0\xaf\xbb\xbc\xe2\x80\x8c.\xf0\x9e\xb6\x9e\xf2\xbb\x99\xa4\xf1\xa5\x98\x87"); } // [B2, B3, B6, C1, V7] +test { try toAsciiFail("\xf0\xaf\xbb\xbc\xe2\x80\x8c.\xf0\x9e\xb6\x9e\xf2\xbb\x99\xa4\xf1\xa5\x98\x87", false); } // [B2, B3, B6, C1, V7] +test { try toAsciiFail("\xf0\xaf\xbb\xbc\xe2\x80\x8c.\xf0\x9e\xb6\x9e\xf2\xbb\x99\xa4\xf1\xa5\x98\x87", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--kg4n.xn--2b7hs861pl540a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--kg4n.xn--2b7hs861pl540a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--kg4n.xn--2b7hs861pl540a", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--0ug27500a.xn--2b7hs861pl540a"); } // [B2, B3, B6, C1, V7] +test { try toAsciiFail("xn--0ug27500a.xn--2b7hs861pl540a", false); } // [B2, B3, B6, C1, V7] +test { try toAsciiFail("xn--0ug27500a.xn--2b7hs861pl540a", true); } // [B2, B3, B6, C1, V7] test { try toUnicodeFail("\xf0\x91\x91\x84\xe2\x89\xaf\xef\xbd\xa1\xf0\x91\x9c\xa4"); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84\xe2\x89\xaf\xef\xbd\xa1\xf0\x91\x9c\xa4", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84\xe2\x89\xaf\xef\xbd\xa1\xf0\x91\x9c\xa4", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x91\x84>\xcc\xb8\xef\xbd\xa1\xf0\x91\x9c\xa4"); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84>\xcc\xb8\xef\xbd\xa1\xf0\x91\x9c\xa4", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84>\xcc\xb8\xef\xbd\xa1\xf0\x91\x9c\xa4", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x91\x84\xe2\x89\xaf\xe3\x80\x82\xf0\x91\x9c\xa4"); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84\xe2\x89\xaf\xe3\x80\x82\xf0\x91\x9c\xa4", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84\xe2\x89\xaf\xe3\x80\x82\xf0\x91\x9c\xa4", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x91\x84>\xcc\xb8\xe3\x80\x82\xf0\x91\x9c\xa4"); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84>\xcc\xb8\xe3\x80\x82\xf0\x91\x9c\xa4", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x84>\xcc\xb8\xe3\x80\x82\xf0\x91\x9c\xa4", true); } // [V6] test { try toUnicodeFail("xn--hdh5636g.xn--ci2d"); } // [V6] +test { try toAsciiFail("xn--hdh5636g.xn--ci2d", false); } // [V6] +test { try toAsciiFail("xn--hdh5636g.xn--ci2d", true); } // [V6] test { try toUnicodeFail("\xe1\x82\xab\xe2\x89\xae\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3"); } // [C2] +test { try toAsciiFail("\xe1\x82\xab\xe2\x89\xae\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", false); } // [C2] +test { try toAsciiFail("\xe1\x82\xab\xe2\x89\xae\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", true); } // [V6] test { try toUnicodeFail("\xe1\x82\xab<\xcc\xb8\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3"); } // [C2] +test { try toAsciiFail("\xe1\x82\xab<\xcc\xb8\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", false); } // [C2] +test { try toAsciiFail("\xe1\x82\xab<\xcc\xb8\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", true); } // [V6] test { try toUnicodeFail("\xe2\xb4\x8b<\xcc\xb8\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3"); } // [C2] +test { try toAsciiFail("\xe2\xb4\x8b<\xcc\xb8\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", false); } // [C2] +test { try toAsciiFail("\xe2\xb4\x8b<\xcc\xb8\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", true); } // [V6] test { try toUnicodeFail("\xe2\xb4\x8b\xe2\x89\xae\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3"); } // [C2] +test { try toAsciiFail("\xe2\xb4\x8b\xe2\x89\xae\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", false); } // [C2] +test { try toAsciiFail("\xe2\xb4\x8b\xe2\x89\xae\xf0\xb1\xb2\x86\xe3\x80\x82\xe2\x80\x8d\xde\xa7\xf0\x90\x8b\xa3", true); } // [V6] test { try toUnicodeFail("xn--gdhz03bxt42d.xn--lrb6479j"); } // [V6] +test { try toAsciiFail("xn--gdhz03bxt42d.xn--lrb6479j", false); } // [V6] +test { try toAsciiFail("xn--gdhz03bxt42d.xn--lrb6479j", true); } // [V6] test { try toUnicodeFail("xn--gdhz03bxt42d.xn--lrb506jqr4n"); } // [C2] +test { try toAsciiFail("xn--gdhz03bxt42d.xn--lrb506jqr4n", false); } // [C2] +test { try toAsciiFail("xn--gdhz03bxt42d.xn--lrb506jqr4n", true); } // [C2] test { try toUnicodeFail("xn--jnd802gsm17c.xn--lrb6479j"); } // [V6, V7] +test { try toAsciiFail("xn--jnd802gsm17c.xn--lrb6479j", false); } // [V6, V7] +test { try toAsciiFail("xn--jnd802gsm17c.xn--lrb6479j", true); } // [V6, V7] test { try toUnicodeFail("xn--jnd802gsm17c.xn--lrb506jqr4n"); } // [C2, V7] +test { try toAsciiFail("xn--jnd802gsm17c.xn--lrb506jqr4n", false); } // [C2, V7] +test { try toAsciiFail("xn--jnd802gsm17c.xn--lrb506jqr4n", true); } // [C2, V7] test { try toUnicodeFail("\xe1\x9f\x92.\xf2\x86\xbd\x92\xe2\x89\xaf"); } // [V6, V7] +test { try toAsciiFail("\xe1\x9f\x92.\xf2\x86\xbd\x92\xe2\x89\xaf", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x9f\x92.\xf2\x86\xbd\x92\xe2\x89\xaf", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x9f\x92.\xf2\x86\xbd\x92>\xcc\xb8"); } // [V6, V7] +test { try toAsciiFail("\xe1\x9f\x92.\xf2\x86\xbd\x92>\xcc\xb8", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x9f\x92.\xf2\x86\xbd\x92>\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("xn--u4e.xn--hdhx0084f"); } // [V6, V7] +test { try toAsciiFail("xn--u4e.xn--hdhx0084f", false); } // [V6, V7] +test { try toAsciiFail("xn--u4e.xn--hdhx0084f", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xba\xc3\x89\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xba\xc3\x89\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xba\xc3\x89\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xbaE\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xbaE\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xbaE\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xba\xc3\x89\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xba\xc3\x89\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xba\xc3\x89\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xbaE\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xbaE\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xbaE\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xbae\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xbae\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xbae\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xba\xc3\xa9\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xba\xc3\xa9\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4.\xf0\x90\xa8\xba\xc3\xa9\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("xn--c0e34564d.xn--9ca207st53lg3f"); } // [V6, V7] +test { try toAsciiFail("xn--c0e34564d.xn--9ca207st53lg3f", false); } // [V6, V7] +test { try toAsciiFail("xn--c0e34564d.xn--9ca207st53lg3f", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xbae\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xbae\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xbae\xcc\x81\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xba\xc3\xa9\xe2\xac\x93\xf0\x91\x84\xb4"); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xba\xc3\xa9\xe2\xac\x93\xf0\x91\x84\xb4", false); } // [V6, V7] +test { try toAsciiFail("\xf1\x8f\x81\x87\xe1\x9c\xb4\xef\xbc\x8e\xf0\x90\xa8\xba\xc3\xa9\xe2\xac\x93\xf0\x91\x84\xb4", true); } // [V6, V7] test { try toUnicodeFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xef\xbd\xa1\xef\xb8\x92\xf0\x9e\xa4\xba"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xef\xbd\xa1\xef\xb8\x92\xf0\x9e\xa4\xba", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xef\xbd\xa1\xef\xb8\x92\xf0\x9e\xa4\xba", true); } // [B1, V7] test { try toUnicodeFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xe3\x80\x82\xe3\x80\x82\xf0\x9e\xa4\xba"); } // [B6, C2, X4_2] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xe3\x80\x82\xe3\x80\x82\xf0\x9e\xa4\xba", false); } // [B6, C2, A4_2] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xe3\x80\x82\xe3\x80\x82\xf0\x9e\xa4\xba", true); } // [A4_2] test { try toUnicodeFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xe3\x80\x82\xe3\x80\x82\xf0\x9e\xa4\x98"); } // [B6, C2, X4_2] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xe3\x80\x82\xe3\x80\x82\xf0\x9e\xa4\x98", false); } // [B6, C2, A4_2] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xe3\x80\x82\xe3\x80\x82\xf0\x9e\xa4\x98", true); } // [A4_2] test { try toUnicodeFail("xn--09e4694e..xn--ye6h"); } // [X4_2] +test { try toAsciiFail("xn--09e4694e..xn--ye6h", false); } // [A4_2] +test { try toAsciiFail("xn--09e4694e..xn--ye6h", true); } // [A4_2] test { try toUnicodeFail("xn--09e669a6x8j..xn--ye6h"); } // [B6, C2, X4_2] +test { try toAsciiFail("xn--09e669a6x8j..xn--ye6h", false); } // [B6, C2, A4_2] +test { try toAsciiFail("xn--09e669a6x8j..xn--ye6h", true); } // [B6, C2, A4_2] test { try toUnicodeFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xef\xbd\xa1\xef\xb8\x92\xf0\x9e\xa4\x98"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xef\xbd\xa1\xef\xb8\x92\xf0\x9e\xa4\x98", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xe1\xa2\x87\xe2\x80\x8d\xea\xa3\x84\xef\xbd\xa1\xef\xb8\x92\xf0\x9e\xa4\x98", true); } // [B1, V7] test { try toUnicodeFail("xn--09e4694e.xn--y86cv562b"); } // [B1, V7] +test { try toAsciiFail("xn--09e4694e.xn--y86cv562b", false); } // [B1, V7] +test { try toAsciiFail("xn--09e4694e.xn--y86cv562b", true); } // [B1, V7] test { try toUnicodeFail("xn--09e669a6x8j.xn--y86cv562b"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--09e669a6x8j.xn--y86cv562b", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--09e669a6x8j.xn--y86cv562b", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xef\xbd\xa1\xd8\xb1\xde\xaa\xe2\x89\xae"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xef\xbd\xa1\xd8\xb1\xde\xaa\xe2\x89\xae", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xef\xbd\xa1\xd8\xb1\xde\xaa\xe2\x89\xae", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xef\xbd\xa1\xd8\xb1\xde\xaa<\xcc\xb8"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xef\xbd\xa1\xd8\xb1\xde\xaa<\xcc\xb8", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xef\xbd\xa1\xd8\xb1\xde\xaa<\xcc\xb8", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xe3\x80\x82\xd8\xb1\xde\xaa\xe2\x89\xae"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xe3\x80\x82\xd8\xb1\xde\xaa\xe2\x89\xae", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xe3\x80\x82\xd8\xb1\xde\xaa\xe2\x89\xae", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xe3\x80\x82\xd8\xb1\xde\xaa<\xcc\xb8"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xe3\x80\x82\xd8\xb1\xde\xaa<\xcc\xb8", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa9\xac\xf2\x96\x99\xb1\xe1\x9c\x94\xe2\x80\x8c\xe3\x80\x82\xd8\xb1\xde\xaa<\xcc\xb8", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--fze3930v7hz6b.xn--wgb86el10d"); } // [B2, B3, V7] +test { try toAsciiFail("xn--fze3930v7hz6b.xn--wgb86el10d", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--fze3930v7hz6b.xn--wgb86el10d", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--fze607b9651bjwl7c.xn--wgb86el10d"); } // [B2, B3, V7] +test { try toAsciiFail("xn--fze607b9651bjwl7c.xn--wgb86el10d", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--fze607b9651bjwl7c.xn--wgb86el10d", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\x83\x83\xef\xbc\x8e\xd9\x93\xe1\xa2\xa4"); } // [V6] +test { try toAsciiFail("\xe1\x83\x83\xef\xbc\x8e\xd9\x93\xe1\xa2\xa4", false); } // [V6] +test { try toAsciiFail("\xe1\x83\x83\xef\xbc\x8e\xd9\x93\xe1\xa2\xa4", true); } // [V6] test { try toUnicodeFail("\xe1\x83\x83.\xd9\x93\xe1\xa2\xa4"); } // [V6] +test { try toAsciiFail("\xe1\x83\x83.\xd9\x93\xe1\xa2\xa4", false); } // [V6] +test { try toAsciiFail("\xe1\x83\x83.\xd9\x93\xe1\xa2\xa4", true); } // [V6] test { try toUnicodeFail("\xe2\xb4\xa3.\xd9\x93\xe1\xa2\xa4"); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa3.\xd9\x93\xe1\xa2\xa4", false); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa3.\xd9\x93\xe1\xa2\xa4", true); } // [V6] test { try toUnicodeFail("xn--rlj.xn--vhb294g"); } // [V6] +test { try toAsciiFail("xn--rlj.xn--vhb294g", false); } // [V6] +test { try toAsciiFail("xn--rlj.xn--vhb294g", true); } // [V6] test { try toUnicodeFail("\xe2\xb4\xa3\xef\xbc\x8e\xd9\x93\xe1\xa2\xa4"); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa3\xef\xbc\x8e\xd9\x93\xe1\xa2\xa4", false); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa3\xef\xbc\x8e\xd9\x93\xe1\xa2\xa4", true); } // [V6] test { try toUnicodeFail("xn--7nd.xn--vhb294g"); } // [V6, V7] +test { try toAsciiFail("xn--7nd.xn--vhb294g", false); } // [V6, V7] +test { try toAsciiFail("xn--7nd.xn--vhb294g", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xec\x8b\x89\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xec\x8b\x89\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xec\x8b\x89\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xec\x8b\x89\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xec\x8b\x89\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xec\x8b\x89\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe1\x83\x84\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xec\x8b\x89\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xec\x8b\x89\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93.\xec\x8b\x89\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("xn--oub.xn--sljz109bpe25dviva"); } // [V7] +test { try toAsciiFail("xn--oub.xn--sljz109bpe25dviva", false); } // [V7] +test { try toAsciiFail("xn--oub.xn--sljz109bpe25dviva", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xb0\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xec\x8b\x89\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xec\x8b\x89\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\x84\x88\xe0\xa0\x93\xef\xbc\x8e\xec\x8b\x89\xf2\x84\x86\xbb\xe2\xb4\xa4\xf2\x82\xa1\x90", true); } // [V7] test { try toUnicodeFail("xn--oub.xn--8nd9522gpe69cviva"); } // [V7] +test { try toAsciiFail("xn--oub.xn--8nd9522gpe69cviva", false); } // [V7] +test { try toAsciiFail("xn--oub.xn--8nd9522gpe69cviva", true); } // [V7] test { try toUnicodeFail("\xea\xa8\xac\xf0\x91\xb2\xab\xe2\x89\xae\xef\xbc\x8e\xe2\xa4\x82"); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab\xe2\x89\xae\xef\xbc\x8e\xe2\xa4\x82", false); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab\xe2\x89\xae\xef\xbc\x8e\xe2\xa4\x82", true); } // [V6] test { try toUnicodeFail("\xea\xa8\xac\xf0\x91\xb2\xab<\xcc\xb8\xef\xbc\x8e\xe2\xa4\x82"); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab<\xcc\xb8\xef\xbc\x8e\xe2\xa4\x82", false); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab<\xcc\xb8\xef\xbc\x8e\xe2\xa4\x82", true); } // [V6] test { try toUnicodeFail("\xea\xa8\xac\xf0\x91\xb2\xab\xe2\x89\xae.\xe2\xa4\x82"); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab\xe2\x89\xae.\xe2\xa4\x82", false); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab\xe2\x89\xae.\xe2\xa4\x82", true); } // [V6] test { try toUnicodeFail("\xea\xa8\xac\xf0\x91\xb2\xab<\xcc\xb8.\xe2\xa4\x82"); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab<\xcc\xb8.\xe2\xa4\x82", false); } // [V6] +test { try toAsciiFail("\xea\xa8\xac\xf0\x91\xb2\xab<\xcc\xb8.\xe2\xa4\x82", true); } // [V6] test { try toUnicodeFail("xn--gdh1854cn19c.xn--kqi"); } // [V6] +test { try toAsciiFail("xn--gdh1854cn19c.xn--kqi", false); } // [V6] +test { try toAsciiFail("xn--gdh1854cn19c.xn--kqi", true); } // [V6] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82\xef\xbc\x8e\xe1\x82\xa3"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82\xef\xbc\x8e\xe1\x82\xa3", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82\xef\xbc\x8e\xe1\x82\xa3", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82\xef\xbc\x8e\xe1\x82\xa3"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82\xef\xbc\x8e\xe1\x82\xa3", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82\xef\xbc\x8e\xe1\x82\xa3", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82.\xe1\x82\xa3"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82.\xe1\x82\xa3", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82.\xe1\x82\xa3", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82.\xe1\x82\xa3"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82.\xe1\x82\xa3", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82.\xe1\x82\xa3", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe2\xb4\xa2.\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe2\xb4\xa2.\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe2\xb4\xa2.\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe2\xb4\xa2.\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe2\xb4\xa2.\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe2\xb4\xa2.\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82.\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82.\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82.\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82.\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82.\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82.\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("xn--mfb266l4khr54u.xn--ukj"); } // [B1, V7] +test { try toAsciiFail("xn--mfb266l4khr54u.xn--ukj", false); } // [B1, V7] +test { try toAsciiFail("xn--mfb266l4khr54u.xn--ukj", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe2\xb4\xa2\xef\xbc\x8e\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe2\xb4\xa2\xef\xbc\x8e\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe2\xb4\xa2\xef\xbc\x8e\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe2\xb4\xa2\xef\xbc\x8e\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe2\xb4\xa2\xef\xbc\x8e\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe2\xb4\xa2\xef\xbc\x8e\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82\xef\xbc\x8e\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82\xef\xbc\x8e\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94\xe2\x89\xae\xe1\x83\x82\xef\xbc\x8e\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82\xef\xbc\x8e\xe2\xb4\x83"); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82\xef\xbc\x8e\xe2\xb4\x83", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x84\xf0\x90\xa9\x94<\xcc\xb8\xe1\x83\x82\xef\xbc\x8e\xe2\xb4\x83", true); } // [B1, V7] test { try toUnicodeFail("xn--mfb416c0jox02t.xn--ukj"); } // [B1, V7] +test { try toAsciiFail("xn--mfb416c0jox02t.xn--ukj", false); } // [B1, V7] +test { try toAsciiFail("xn--mfb416c0jox02t.xn--ukj", true); } // [B1, V7] test { try toUnicodeFail("xn--mfb416c0jox02t.xn--bnd"); } // [B1, V7] +test { try toAsciiFail("xn--mfb416c0jox02t.xn--bnd", false); } // [B1, V7] +test { try toAsciiFail("xn--mfb416c0jox02t.xn--bnd", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x91\x81\x85\xe3\x80\x82-"); } // [V3, V6] +test { try toAsciiFail("\xf0\x91\x81\x85\xe3\x80\x82-", false); } // [V3, V6] +test { try toAsciiFail("\xf0\x91\x81\x85\xe3\x80\x82-", true); } // [V3, V6] test { try toUnicodeFail("xn--210d.-"); } // [V3, V6] +test { try toAsciiFail("xn--210d.-", false); } // [V3, V6] +test { try toAsciiFail("xn--210d.-", true); } // [V3, V6] test { try toUnicodeFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xef\xbd\xa1\xe9\xa5\x88\xe2\x89\xa0\xd9\xa4"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xef\xbd\xa1\xe9\xa5\x88\xe2\x89\xa0\xd9\xa4", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xef\xbd\xa1\xe9\xa5\x88\xe2\x89\xa0\xd9\xa4", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xef\xbd\xa1\xe9\xa5\x88=\xcc\xb8\xd9\xa4"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xef\xbd\xa1\xe9\xa5\x88=\xcc\xb8\xd9\xa4", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xef\xbd\xa1\xe9\xa5\x88=\xcc\xb8\xd9\xa4", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xe3\x80\x82\xe9\xa5\x88\xe2\x89\xa0\xd9\xa4"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xe3\x80\x82\xe9\xa5\x88\xe2\x89\xa0\xd9\xa4", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xe3\x80\x82\xe9\xa5\x88\xe2\x89\xa0\xd9\xa4", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xe3\x80\x82\xe9\xa5\x88=\xcc\xb8\xd9\xa4"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xe3\x80\x82\xe9\xa5\x88=\xcc\xb8\xd9\xa4", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb7\x8a\xf2\x95\xb8\xbd\xf3\xa0\xa7\xb1\xe3\x80\x82\xe9\xa5\x88=\xcc\xb8\xd9\xa4", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--h1c25913jfwov.xn--dib144ler5f"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--h1c25913jfwov.xn--dib144ler5f", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--h1c25913jfwov.xn--dib144ler5f", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa5\x83\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa5\x83\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa5\x83\xe1\xa0\xa07\xe3\x80\x82\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa07\xe3\x80\x82\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa07\xe3\x80\x82\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa5\x83\xe1\xa0\xa07\xe3\x80\x82>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa07\xe3\x80\x82>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa5\x83\xe1\xa0\xa07\xe3\x80\x82>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa07\xe3\x80\x82>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa07\xe3\x80\x82>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa07\xe3\x80\x82>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa07\xe3\x80\x82\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa07\xe3\x80\x82\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa07\xe3\x80\x82\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("xn--7-v4j2826w.xn--4-ogoy01bou3i"); } // [B1, B2] +test { try toAsciiFail("xn--7-v4j2826w.xn--4-ogoy01bou3i", false); } // [B1, B2] +test { try toAsciiFail("xn--7-v4j2826w.xn--4-ogoy01bou3i", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1>\xcc\xb8\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4"); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", false); } // [B1, B2] +test { try toAsciiFail("\xf0\x9e\xa4\xa1\xe1\xa0\xa0\xe2\x81\xb7\xef\xbd\xa1\xe2\x89\xaf\xe9\x82\x85\xe2\xac\xbb4", true); } // [B1, B2] test { try toUnicodeFail("\xf2\xa0\xbf\xaf\xe1\xa1\xb3-\xf0\x91\x90\xbb.\xf0\x90\xb9\xb4\xf0\x90\x8b\xab\xd8\x85\xf3\x91\x8e\xb3"); } // [B1, B6, V7] +test { try toAsciiFail("\xf2\xa0\xbf\xaf\xe1\xa1\xb3-\xf0\x91\x90\xbb.\xf0\x90\xb9\xb4\xf0\x90\x8b\xab\xd8\x85\xf3\x91\x8e\xb3", false); } // [B1, B6, V7] +test { try toAsciiFail("\xf2\xa0\xbf\xaf\xe1\xa1\xb3-\xf0\x91\x90\xbb.\xf0\x90\xb9\xb4\xf0\x90\x8b\xab\xd8\x85\xf3\x91\x8e\xb3", true); } // [B1, B6, V7] test { try toUnicodeFail("xn----m9j3429kxmy7e.xn--nfb7950kdihrp812a"); } // [B1, B6, V7] +test { try toAsciiFail("xn----m9j3429kxmy7e.xn--nfb7950kdihrp812a", false); } // [B1, B6, V7] +test { try toAsciiFail("xn----m9j3429kxmy7e.xn--nfb7950kdihrp812a", true); } // [B1, B6, V7] test { try toUnicodeFail("\xf2\xa0\xb6\x86\xe0\xa1\x85\xe0\xa9\x91.\xeb\x84\xa8-\xf3\xb6\xa7\x88"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa0\xb6\x86\xe0\xa1\x85\xe0\xa9\x91.\xeb\x84\xa8-\xf3\xb6\xa7\x88", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa0\xb6\x86\xe0\xa1\x85\xe0\xa9\x91.\xeb\x84\xa8-\xf3\xb6\xa7\x88", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\xa0\xb6\x86\xe0\xa1\x85\xe0\xa9\x91.\xe1\x84\x82\xe1\x85\xa6\xe1\x86\xab-\xf3\xb6\xa7\x88"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa0\xb6\x86\xe0\xa1\x85\xe0\xa9\x91.\xe1\x84\x82\xe1\x85\xa6\xe1\x86\xab-\xf3\xb6\xa7\x88", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa0\xb6\x86\xe0\xa1\x85\xe0\xa9\x91.\xe1\x84\x82\xe1\x85\xa6\xe1\x86\xab-\xf3\xb6\xa7\x88", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3vb26hb6834b.xn----i37ez0957g"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3vb26hb6834b.xn----i37ez0957g", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3vb26hb6834b.xn----i37ez0957g", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xa1\xa6\xe1\xa1\x91\xe2\x80\x8d\xe2\x92\x88\xe3\x80\x82\xf0\x90\x8b\xa3-"); } // [C2, V3, V7] +test { try toAsciiFail("\xea\xa1\xa6\xe1\xa1\x91\xe2\x80\x8d\xe2\x92\x88\xe3\x80\x82\xf0\x90\x8b\xa3-", false); } // [C2, V3, V7] +test { try toAsciiFail("\xea\xa1\xa6\xe1\xa1\x91\xe2\x80\x8d\xe2\x92\x88\xe3\x80\x82\xf0\x90\x8b\xa3-", true); } // [V3, V7] test { try toUnicodeFail("\xea\xa1\xa6\xe1\xa1\x91\xe2\x80\x8d1.\xe3\x80\x82\xf0\x90\x8b\xa3-"); } // [C2, V3, X4_2] +test { try toAsciiFail("\xea\xa1\xa6\xe1\xa1\x91\xe2\x80\x8d1.\xe3\x80\x82\xf0\x90\x8b\xa3-", false); } // [C2, V3, A4_2] +test { try toAsciiFail("\xea\xa1\xa6\xe1\xa1\x91\xe2\x80\x8d1.\xe3\x80\x82\xf0\x90\x8b\xa3-", true); } // [V3, A4_2] test { try toUnicodeFail("xn--1-o7j0610f..xn----381i"); } // [V3, X4_2] +test { try toAsciiFail("xn--1-o7j0610f..xn----381i", false); } // [V3, A4_2] +test { try toAsciiFail("xn--1-o7j0610f..xn----381i", true); } // [V3, A4_2] test { try toUnicodeFail("xn--1-o7j663bdl7m..xn----381i"); } // [C2, V3, X4_2] +test { try toAsciiFail("xn--1-o7j663bdl7m..xn----381i", false); } // [C2, V3, A4_2] +test { try toAsciiFail("xn--1-o7j663bdl7m..xn----381i", true); } // [C2, V3, A4_2] test { try toUnicodeFail("xn--h8e863drj7h.xn----381i"); } // [V3, V7] +test { try toAsciiFail("xn--h8e863drj7h.xn----381i", false); } // [V3, V7] +test { try toAsciiFail("xn--h8e863drj7h.xn----381i", true); } // [V3, V7] test { try toUnicodeFail("xn--h8e470bl0d838o.xn----381i"); } // [C2, V3, V7] +test { try toAsciiFail("xn--h8e470bl0d838o.xn----381i", false); } // [C2, V3, V7] +test { try toAsciiFail("xn--h8e470bl0d838o.xn----381i", true); } // [C2, V3, V7] test { try toUnicodeFail("\xe1\x82\xac\xe3\x80\x82\xf4\x8d\xbc\xa0\xef\xad\xa9"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xac\xe3\x80\x82\xf4\x8d\xbc\xa0\xef\xad\xa9", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xac\xe3\x80\x82\xf4\x8d\xbc\xa0\xef\xad\xa9", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe1\x82\xac\xe3\x80\x82\xf4\x8d\xbc\xa0\xd9\xb9"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xac\xe3\x80\x82\xf4\x8d\xbc\xa0\xd9\xb9", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xac\xe3\x80\x82\xf4\x8d\xbc\xa0\xd9\xb9", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\xb4\x8c\xe3\x80\x82\xf4\x8d\xbc\xa0\xd9\xb9"); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x8c\xe3\x80\x82\xf4\x8d\xbc\xa0\xd9\xb9", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x8c\xe3\x80\x82\xf4\x8d\xbc\xa0\xd9\xb9", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3kj.xn--yib19191t"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3kj.xn--yib19191t", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3kj.xn--yib19191t", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\xb4\x8c\xe3\x80\x82\xf4\x8d\xbc\xa0\xef\xad\xa9"); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x8c\xe3\x80\x82\xf4\x8d\xbc\xa0\xef\xad\xa9", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x8c\xe3\x80\x82\xf4\x8d\xbc\xa0\xef\xad\xa9", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--knd.xn--yib19191t"); } // [B5, B6, V7] +test { try toAsciiFail("xn--knd.xn--yib19191t", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--knd.xn--yib19191t", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xae\x81\xf0\x90\xad\xb1.\xe0\xbe\x84\xe1\x8d\x9e-\xe1\xb3\xba"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xae\x81\xf0\x90\xad\xb1.\xe0\xbe\x84\xe1\x8d\x9e-\xe1\xb3\xba", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xae\x81\xf0\x90\xad\xb1.\xe0\xbe\x84\xe1\x8d\x9e-\xe1\xb3\xba", true); } // [B1, V6] test { try toUnicodeFail("xn--r19c5a.xn----xjg270ag3m"); } // [B1, V6] +test { try toAsciiFail("xn--r19c5a.xn----xjg270ag3m", false); } // [B1, V6] +test { try toAsciiFail("xn--r19c5a.xn----xjg270ag3m", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x92\x88\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xec\x9b\x88"); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x92\x88\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xec\x9b\x88", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x92\x88\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xec\x9b\x88", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x92\x88\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xe1\x84\x8b\xe1\x85\xae\xe1\x86\xbf"); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x92\x88\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xe1\x84\x8b\xe1\x85\xae\xe1\x86\xbf", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x92\x88\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xe1\x84\x8b\xe1\x85\xae\xe1\x86\xbf", true); } // [V3, V7] test { try toUnicodeFail("1.\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xec\x9b\x88"); } // [C2, V3] +test { try toAsciiFail("1.\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xec\x9b\x88", false); } // [C2, V3] +test { try toAsciiFail("1.\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xec\x9b\x88", true); } // [V3] test { try toUnicodeFail("1.\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xe1\x84\x8b\xe1\x85\xae\xe1\x86\xbf"); } // [C2, V3] +test { try toAsciiFail("1.\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xe1\x84\x8b\xe1\x85\xae\xe1\x86\xbf", false); } // [C2, V3] +test { try toAsciiFail("1.\xe4\xb0\xb9\xe2\x80\x8d-\xe3\x80\x82\xe1\x84\x8b\xe1\x85\xae\xe1\x86\xbf", true); } // [V3] test { try toUnicodeFail("1.xn----zw5a.xn--kp5b"); } // [V3] +test { try toAsciiFail("1.xn----zw5a.xn--kp5b", false); } // [V3] +test { try toAsciiFail("1.xn----zw5a.xn--kp5b", true); } // [V3] test { try toUnicodeFail("1.xn----tgnz80r.xn--kp5b"); } // [C2, V3] +test { try toAsciiFail("1.xn----tgnz80r.xn--kp5b", false); } // [C2, V3] +test { try toAsciiFail("1.xn----tgnz80r.xn--kp5b", true); } // [C2, V3] test { try toUnicodeFail("xn----dcp160o.xn--kp5b"); } // [V3, V7] +test { try toAsciiFail("xn----dcp160o.xn--kp5b", false); } // [V3, V7] +test { try toAsciiFail("xn----dcp160o.xn--kp5b", true); } // [V3, V7] test { try toUnicodeFail("xn----tgnx5rjr6c.xn--kp5b"); } // [C2, V3, V7] +test { try toAsciiFail("xn----tgnx5rjr6c.xn--kp5b", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----tgnx5rjr6c.xn--kp5b", true); } // [C2, V3, V7] test { try toUnicodeFail("\xe3\x81\xa6\xe3\x80\x82\xe2\x80\x8c\xf3\xa0\xb3\xbd\xdf\xb3"); } // [C1, V7] +test { try toAsciiFail("\xe3\x81\xa6\xe3\x80\x82\xe2\x80\x8c\xf3\xa0\xb3\xbd\xdf\xb3", false); } // [C1, V7] +test { try toAsciiFail("\xe3\x81\xa6\xe3\x80\x82\xe2\x80\x8c\xf3\xa0\xb3\xbd\xdf\xb3", true); } // [V7] test { try toUnicodeFail("xn--m9j.xn--rtb10784p"); } // [V7] +test { try toAsciiFail("xn--m9j.xn--rtb10784p", false); } // [V7] +test { try toAsciiFail("xn--m9j.xn--rtb10784p", true); } // [V7] test { try toUnicodeFail("xn--m9j.xn--rtb154j9l73w"); } // [C1, V7] +test { try toAsciiFail("xn--m9j.xn--rtb154j9l73w", false); } // [C1, V7] +test { try toAsciiFail("xn--m9j.xn--rtb154j9l73w", true); } // [C1, V7] test { try toUnicodeFail("\xcf\x82\xef\xbd\xa1\xea\xa7\x80\xdb\xa7"); } // [V6] +test { try toAsciiFail("\xcf\x82\xef\xbd\xa1\xea\xa7\x80\xdb\xa7", false); } // [V6] +test { try toAsciiFail("\xcf\x82\xef\xbd\xa1\xea\xa7\x80\xdb\xa7", true); } // [V6] test { try toUnicodeFail("\xcf\x82\xe3\x80\x82\xea\xa7\x80\xdb\xa7"); } // [V6] +test { try toAsciiFail("\xcf\x82\xe3\x80\x82\xea\xa7\x80\xdb\xa7", false); } // [V6] +test { try toAsciiFail("\xcf\x82\xe3\x80\x82\xea\xa7\x80\xdb\xa7", true); } // [V6] test { try toUnicodeFail("\xce\xa3\xe3\x80\x82\xea\xa7\x80\xdb\xa7"); } // [V6] +test { try toAsciiFail("\xce\xa3\xe3\x80\x82\xea\xa7\x80\xdb\xa7", false); } // [V6] +test { try toAsciiFail("\xce\xa3\xe3\x80\x82\xea\xa7\x80\xdb\xa7", true); } // [V6] test { try toUnicodeFail("\xcf\x83\xe3\x80\x82\xea\xa7\x80\xdb\xa7"); } // [V6] +test { try toAsciiFail("\xcf\x83\xe3\x80\x82\xea\xa7\x80\xdb\xa7", false); } // [V6] +test { try toAsciiFail("\xcf\x83\xe3\x80\x82\xea\xa7\x80\xdb\xa7", true); } // [V6] test { try toUnicodeFail("xn--4xa.xn--3lb1944f"); } // [V6] +test { try toAsciiFail("xn--4xa.xn--3lb1944f", false); } // [V6] +test { try toAsciiFail("xn--4xa.xn--3lb1944f", true); } // [V6] test { try toUnicodeFail("xn--3xa.xn--3lb1944f"); } // [V6] +test { try toAsciiFail("xn--3xa.xn--3lb1944f", false); } // [V6] +test { try toAsciiFail("xn--3xa.xn--3lb1944f", true); } // [V6] test { try toUnicodeFail("\xce\xa3\xef\xbd\xa1\xea\xa7\x80\xdb\xa7"); } // [V6] +test { try toAsciiFail("\xce\xa3\xef\xbd\xa1\xea\xa7\x80\xdb\xa7", false); } // [V6] +test { try toAsciiFail("\xce\xa3\xef\xbd\xa1\xea\xa7\x80\xdb\xa7", true); } // [V6] test { try toUnicodeFail("\xcf\x83\xef\xbd\xa1\xea\xa7\x80\xdb\xa7"); } // [V6] +test { try toAsciiFail("\xcf\x83\xef\xbd\xa1\xea\xa7\x80\xdb\xa7", false); } // [V6] +test { try toAsciiFail("\xcf\x83\xef\xbd\xa1\xea\xa7\x80\xdb\xa7", true); } // [V6] test { try toUnicodeFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe1\x82\xa2\xe1\x82\xb5"); } // [V6, V7] +test { try toAsciiFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe1\x82\xa2\xe1\x82\xb5", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe1\x82\xa2\xe1\x82\xb5", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe2\xb4\x82\xe2\xb4\x95"); } // [V6, V7] +test { try toAsciiFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe2\xb4\x82\xe2\xb4\x95", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe2\xb4\x82\xe2\xb4\x95", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe1\x82\xa2\xe2\xb4\x95"); } // [V6, V7] +test { try toAsciiFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe1\x82\xa2\xe2\xb4\x95", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xaf\x8d\xf3\xa5\xab\x85\xf2\x8c\x89\x91.\xe1\x82\xa2\xe2\xb4\x95", true); } // [V6, V7] test { try toUnicodeFail("xn--xmc83135idcxza.xn--tkjwb"); } // [V6, V7] +test { try toAsciiFail("xn--xmc83135idcxza.xn--tkjwb", false); } // [V6, V7] +test { try toAsciiFail("xn--xmc83135idcxza.xn--tkjwb", true); } // [V6, V7] test { try toUnicodeFail("xn--xmc83135idcxza.xn--9md086l"); } // [V6, V7] +test { try toAsciiFail("xn--xmc83135idcxza.xn--9md086l", false); } // [V6, V7] +test { try toAsciiFail("xn--xmc83135idcxza.xn--9md086l", true); } // [V6, V7] test { try toUnicodeFail("xn--xmc83135idcxza.xn--9md2b"); } // [V6, V7] +test { try toAsciiFail("xn--xmc83135idcxza.xn--9md2b", false); } // [V6, V7] +test { try toAsciiFail("xn--xmc83135idcxza.xn--9md2b", true); } // [V6, V7] test { try toUnicodeFail("\xe1\xb0\xb2\xf0\x9f\x84\x88\xe2\xbe\x9b\xd6\xa6\xef\xbc\x8e\xe2\x80\x8d\xf2\xaf\xa5\xa4\xdf\xbd"); } // [C2, V6, V7, U1] +test { try toAsciiFail("\xe1\xb0\xb2\xf0\x9f\x84\x88\xe2\xbe\x9b\xd6\xa6\xef\xbc\x8e\xe2\x80\x8d\xf2\xaf\xa5\xa4\xdf\xbd", false); } // [C2, V6, V7, U1] +test { try toAsciiFail("\xe1\xb0\xb2\xf0\x9f\x84\x88\xe2\xbe\x9b\xd6\xa6\xef\xbc\x8e\xe2\x80\x8d\xf2\xaf\xa5\xa4\xdf\xbd", true); } // [V6, V7, U1] test { try toUnicodeFail("\xe1\xb0\xb27,\xe8\xb5\xb0\xd6\xa6.\xe2\x80\x8d\xf2\xaf\xa5\xa4\xdf\xbd"); } // [C2, V6, V7, U1] +test { try toAsciiFail("\xe1\xb0\xb27,\xe8\xb5\xb0\xd6\xa6.\xe2\x80\x8d\xf2\xaf\xa5\xa4\xdf\xbd", false); } // [C2, V6, V7, U1] +test { try toAsciiFail("\xe1\xb0\xb27,\xe8\xb5\xb0\xd6\xa6.\xe2\x80\x8d\xf2\xaf\xa5\xa4\xdf\xbd", true); } // [V6, V7, U1] test { try toUnicodeFail("xn--7,-bid991urn3k.xn--1tb13454l"); } // [V6, V7, U1] +test { try toAsciiFail("xn--7,-bid991urn3k.xn--1tb13454l", false); } // [V6, V7, U1] +test { try toAsciiFail("xn--7,-bid991urn3k.xn--1tb13454l", true); } // [V6, V7, U1] test { try toUnicodeFail("xn--7,-bid991urn3k.xn--1tb334j1197q"); } // [C2, V6, V7, U1] +test { try toAsciiFail("xn--7,-bid991urn3k.xn--1tb334j1197q", false); } // [C2, V6, V7, U1] +test { try toAsciiFail("xn--7,-bid991urn3k.xn--1tb334j1197q", true); } // [C2, V6, V7, U1] test { try toUnicodeFail("xn--xcb756i493fwi5o.xn--1tb13454l"); } // [V6, V7] +test { try toAsciiFail("xn--xcb756i493fwi5o.xn--1tb13454l", false); } // [V6, V7] +test { try toAsciiFail("xn--xcb756i493fwi5o.xn--1tb13454l", true); } // [V6, V7] test { try toUnicodeFail("xn--xcb756i493fwi5o.xn--1tb334j1197q"); } // [C2, V6, V7] +test { try toAsciiFail("xn--xcb756i493fwi5o.xn--1tb334j1197q", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--xcb756i493fwi5o.xn--1tb334j1197q", true); } // [C2, V6, V7] test { try toUnicodeFail("\xe1\xa2\x97\xef\xbd\xa1\xd3\x80\xf1\x9d\x84\xbb"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xef\xbd\xa1\xd3\x80\xf1\x9d\x84\xbb", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xef\xbd\xa1\xd3\x80\xf1\x9d\x84\xbb", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x97\xe3\x80\x82\xd3\x80\xf1\x9d\x84\xbb"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xe3\x80\x82\xd3\x80\xf1\x9d\x84\xbb", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xe3\x80\x82\xd3\x80\xf1\x9d\x84\xbb", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x97\xe3\x80\x82\xd3\x8f\xf1\x9d\x84\xbb"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xe3\x80\x82\xd3\x8f\xf1\x9d\x84\xbb", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xe3\x80\x82\xd3\x8f\xf1\x9d\x84\xbb", true); } // [V7] test { try toUnicodeFail("xn--hbf.xn--s5a83117e"); } // [V7] +test { try toAsciiFail("xn--hbf.xn--s5a83117e", false); } // [V7] +test { try toAsciiFail("xn--hbf.xn--s5a83117e", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x97\xef\xbd\xa1\xd3\x8f\xf1\x9d\x84\xbb"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xef\xbd\xa1\xd3\x8f\xf1\x9d\x84\xbb", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x97\xef\xbd\xa1\xd3\x8f\xf1\x9d\x84\xbb", true); } // [V7] test { try toUnicodeFail("xn--hbf.xn--d5a86117e"); } // [V7] +test { try toAsciiFail("xn--hbf.xn--d5a86117e", false); } // [V7] +test { try toAsciiFail("xn--hbf.xn--d5a86117e", true); } // [V7] test { try toUnicodeFail("\xd9\xa8-\xe3\x80\x82\xf1\xa0\x8f\x87\xf0\x9f\x9d\x86\xe1\x84\xbe"); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa8-\xe3\x80\x82\xf1\xa0\x8f\x87\xf0\x9f\x9d\x86\xe1\x84\xbe", false); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa8-\xe3\x80\x82\xf1\xa0\x8f\x87\xf0\x9f\x9d\x86\xe1\x84\xbe", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----oqc.xn--qrd1699v327w"); } // [B1, V3, V7] +test { try toAsciiFail("xn----oqc.xn--qrd1699v327w", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----oqc.xn--qrd1699v327w", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf0\x90\x8b\xb7\xf0\x96\xbe\x91\xe3\x80\x82\xf3\xa0\x86\xac"); } // [V3] +test { try toAsciiFail("-\xf0\x90\x8b\xb7\xf0\x96\xbe\x91\xe3\x80\x82\xf3\xa0\x86\xac", false); } // [V3, A4_2] +test { try toAsciiFail("-\xf0\x90\x8b\xb7\xf0\x96\xbe\x91\xe3\x80\x82\xf3\xa0\x86\xac", true); } // [V3, A4_2] test { try toUnicodeFail("xn----991iq40y."); } // [V3] +test { try toAsciiFail("xn----991iq40y.", false); } // [V3, A4_2] +test { try toAsciiFail("xn----991iq40y.", true); } // [V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xb3\xf0\x9f\x90\xb4\xeb\xa9\x88.\xea\xaf\xad\xf1\x90\xa1\xbc"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xb3\xf0\x9f\x90\xb4\xeb\xa9\x88.\xea\xaf\xad\xf1\x90\xa1\xbc", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xb3\xf0\x9f\x90\xb4\xeb\xa9\x88.\xea\xaf\xad\xf1\x90\xa1\xbc", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xb3\xf0\x9f\x90\xb4\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xb7.\xea\xaf\xad\xf1\x90\xa1\xbc"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xb3\xf0\x9f\x90\xb4\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xb7.\xea\xaf\xad\xf1\x90\xa1\xbc", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xb3\xf0\x9f\x90\xb4\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xb7.\xea\xaf\xad\xf1\x90\xa1\xbc", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--422b325mqb6i.xn--429a8682s"); } // [B1, V6, V7] +test { try toAsciiFail("xn--422b325mqb6i.xn--429a8682s", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--422b325mqb6i.xn--429a8682s", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--0ug6681d406b7bwk.xn--429a8682s"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--0ug6681d406b7bwk.xn--429a8682s", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--0ug6681d406b7bwk.xn--429a8682s", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xe2\x89\xae.\xdd\xa9\xd8\x83"); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xae.\xdd\xa9\xd8\x83", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xae.\xdd\xa9\xd8\x83", true); } // [B1, V7] test { try toUnicodeFail("<\xcc\xb8.\xdd\xa9\xd8\x83"); } // [B1, V7] +test { try toAsciiFail("<\xcc\xb8.\xdd\xa9\xd8\x83", false); } // [B1, V7] +test { try toAsciiFail("<\xcc\xb8.\xdd\xa9\xd8\x83", true); } // [B1, V7] test { try toUnicodeFail("xn--gdh.xn--lfb92e"); } // [B1, V7] +test { try toAsciiFail("xn--gdh.xn--lfb92e", false); } // [B1, V7] +test { try toAsciiFail("xn--gdh.xn--lfb92e", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb6\xad\xe2\xbe\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x9a\xb6\xf2\x9f\xb1\x83\xf0\x9e\xb0\x98"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xb6\xad\xe2\xbe\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x9a\xb6\xf2\x9f\xb1\x83\xf0\x9e\xb0\x98", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xb6\xad\xe2\xbe\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x9a\xb6\xf2\x9f\xb1\x83\xf0\x9e\xb0\x98", true); } // [B2, B3, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x90\xb6\xad\xe8\x88\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x91\x9a\xb6\xf2\x9f\xb1\x83\xf0\x9e\xb0\x98"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xb6\xad\xe8\x88\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x91\x9a\xb6\xf2\x9f\xb1\x83\xf0\x9e\xb0\x98", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xf0\x90\xb6\xad\xe8\x88\x8c\xe3\x80\x82\xe2\x80\x8c\xf0\x91\x9a\xb6\xf2\x9f\xb1\x83\xf0\x9e\xb0\x98", true); } // [B2, B3, B5, B6, V6, V7] test { try toUnicodeFail("xn--tc1ao37z.xn--6e2dw557azds2d"); } // [B2, B3, B5, B6, V6, V7] +test { try toAsciiFail("xn--tc1ao37z.xn--6e2dw557azds2d", false); } // [B2, B3, B5, B6, V6, V7] +test { try toAsciiFail("xn--tc1ao37z.xn--6e2dw557azds2d", true); } // [B2, B3, B5, B6, V6, V7] test { try toUnicodeFail("xn--tc1ao37z.xn--0ugx728gi1nfwqz2e"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--tc1ao37z.xn--0ugx728gi1nfwqz2e", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--tc1ao37z.xn--0ugx728gi1nfwqz2e", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x82"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x82"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x82"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.1\xce\xa3\xf0\x9e\xb4\xba\xce\xa3"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xce\xa3\xf0\x9e\xb4\xba\xce\xa3", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xce\xa3\xf0\x9e\xb4\xba\xce\xa3", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x83\xf0\x9e\xb4\xba\xcf\x83"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x83\xf0\x9e\xb4\xba\xcf\x83", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x83\xf0\x9e\xb4\xba\xcf\x83", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x83\xf0\x9e\xb4\xba\xce\xa3"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x83\xf0\x9e\xb4\xba\xce\xa3", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x83\xf0\x9e\xb4\xba\xce\xa3", true); } // [B1, B6, V3] test { try toUnicodeFail("xn----2ws.xn--1-0mba52321c"); } // [B1, B6, V3] +test { try toAsciiFail("xn----2ws.xn--1-0mba52321c", false); } // [B1, B6, V3] +test { try toAsciiFail("xn----2ws.xn--1-0mba52321c", true); } // [B1, B6, V3] test { try toUnicodeFail("xn----rgn530d.xn--1-0mba52321c"); } // [B1, C1, V3] +test { try toAsciiFail("xn----rgn530d.xn--1-0mba52321c", false); } // [B1, C1, V3] +test { try toAsciiFail("xn----rgn530d.xn--1-0mba52321c", true); } // [B1, C1, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x82\xf0\x9e\xb4\xba\xce\xa3"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x82\xf0\x9e\xb4\xba\xce\xa3", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.1\xcf\x82\xf0\x9e\xb4\xba\xce\xa3", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x83"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x83", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.1\xcf\x82\xf0\x9e\xb4\xba\xcf\x83", true); } // [B1, B6, V3] test { try toUnicodeFail("xn----rgn530d.xn--1-ymbd52321c"); } // [B1, C1, V3] +test { try toAsciiFail("xn----rgn530d.xn--1-ymbd52321c", false); } // [B1, C1, V3] +test { try toAsciiFail("xn----rgn530d.xn--1-ymbd52321c", true); } // [B1, C1, V3] test { try toUnicodeFail("xn----rgn530d.xn--1-ymba92321c"); } // [B1, C1, V3] +test { try toAsciiFail("xn----rgn530d.xn--1-ymba92321c", false); } // [B1, C1, V3] +test { try toAsciiFail("xn----rgn530d.xn--1-ymba92321c", true); } // [B1, C1, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x82"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x82", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xce\xa3\xf0\x9e\xb4\xba\xce\xa3"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xce\xa3\xf0\x9e\xb4\xba\xce\xa3", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xce\xa3\xf0\x9e\xb4\xba\xce\xa3", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x83\xf0\x9e\xb4\xba\xcf\x83"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x83\xf0\x9e\xb4\xba\xcf\x83", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x83\xf0\x9e\xb4\xba\xcf\x83", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x83\xf0\x9e\xb4\xba\xce\xa3"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x83\xf0\x9e\xb4\xba\xce\xa3", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x83\xf0\x9e\xb4\xba\xce\xa3", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xce\xa3"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xce\xa3", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x83\x80-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xce\xa3", true); } // [B1, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x83"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x83", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\xa0-.\xf0\x9d\x9f\xb7\xcf\x82\xf0\x9e\xb4\xba\xcf\x83", true); } // [B1, B6, V3] test { try toUnicodeFail("xn----z1g.xn--1-0mba52321c"); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn----z1g.xn--1-0mba52321c", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn----z1g.xn--1-0mba52321c", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn----z1g168i.xn--1-0mba52321c"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----z1g168i.xn--1-0mba52321c", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----z1g168i.xn--1-0mba52321c", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("xn----z1g168i.xn--1-ymbd52321c"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----z1g168i.xn--1-ymbd52321c", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----z1g168i.xn--1-ymbd52321c", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("xn----z1g168i.xn--1-ymba92321c"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----z1g168i.xn--1-ymba92321c", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----z1g168i.xn--1-ymba92321c", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xef\xbd\xa1\xf0\x9d\x9f\xaa\xe1\x82\xbc"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xef\xbd\xa1\xf0\x9d\x9f\xaa\xe1\x82\xbc", false); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xef\xbd\xa1\xf0\x9d\x9f\xaa\xe1\x82\xbc", true); } // [V6] test { try toUnicodeFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xe3\x80\x828\xe1\x82\xbc"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xe3\x80\x828\xe1\x82\xbc", false); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xe3\x80\x828\xe1\x82\xbc", true); } // [V6] test { try toUnicodeFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xe3\x80\x828\xe2\xb4\x9c"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xe3\x80\x828\xe2\xb4\x9c", false); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xe3\x80\x828\xe2\xb4\x9c", true); } // [V6] test { try toUnicodeFail("xn--7m3d291b.xn--8-vws"); } // [V6] +test { try toAsciiFail("xn--7m3d291b.xn--8-vws", false); } // [V6] +test { try toAsciiFail("xn--7m3d291b.xn--8-vws", true); } // [V6] test { try toUnicodeFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xef\xbd\xa1\xf0\x9d\x9f\xaa\xe2\xb4\x9c"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xef\xbd\xa1\xf0\x9d\x9f\xaa\xe2\xb4\x9c", false); } // [V6] +test { try toAsciiFail("\xf0\x91\xb2\x98\xf3\xa0\x84\x92\xf0\x93\x91\xa1\xef\xbd\xa1\xf0\x9d\x9f\xaa\xe2\xb4\x9c", true); } // [V6] test { try toUnicodeFail("xn--7m3d291b.xn--8-s1g"); } // [V6, V7] +test { try toAsciiFail("xn--7m3d291b.xn--8-s1g", false); } // [V6, V7] +test { try toAsciiFail("xn--7m3d291b.xn--8-s1g", true); } // [V6, V7] test { try toUnicodeFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xef\xbd\xa1\xeb\xad\x95\xe1\xa2\x9d\xe1\x9e\xb9"); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xef\xbd\xa1\xeb\xad\x95\xe1\xa2\x9d\xe1\x9e\xb9", false); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xef\xbd\xa1\xeb\xad\x95\xe1\xa2\x9d\xe1\x9e\xb9", true); } // [B5, B6] test { try toUnicodeFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xef\xbd\xa1\xe1\x84\x86\xe1\x85\xaf\xe1\x86\xac\xe1\xa2\x9d\xe1\x9e\xb9"); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xef\xbd\xa1\xe1\x84\x86\xe1\x85\xaf\xe1\x86\xac\xe1\xa2\x9d\xe1\x9e\xb9", false); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xef\xbd\xa1\xe1\x84\x86\xe1\x85\xaf\xe1\x86\xac\xe1\xa2\x9d\xe1\x9e\xb9", true); } // [B5, B6] test { try toUnicodeFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xe3\x80\x82\xeb\xad\x95\xe1\xa2\x9d\xe1\x9e\xb9"); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xe3\x80\x82\xeb\xad\x95\xe1\xa2\x9d\xe1\x9e\xb9", false); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xe3\x80\x82\xeb\xad\x95\xe1\xa2\x9d\xe1\x9e\xb9", true); } // [B5, B6] test { try toUnicodeFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xe3\x80\x82\xe1\x84\x86\xe1\x85\xaf\xe1\x86\xac\xe1\xa2\x9d\xe1\x9e\xb9"); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xe3\x80\x82\xe1\x84\x86\xe1\x85\xaf\xe1\x86\xac\xe1\xa2\x9d\xe1\x9e\xb9", false); } // [B5, B6] +test { try toAsciiFail("\xe4\xaa\x8f\xda\xab\xdf\xa0\xe0\xa5\x81\xe3\x80\x82\xe1\x84\x86\xe1\x85\xaf\xe1\x86\xac\xe1\xa2\x9d\xe1\x9e\xb9", true); } // [B5, B6] test { try toUnicodeFail("xn--ekb23dj4at01n.xn--43e96bh910b"); } // [B5, B6] +test { try toAsciiFail("xn--ekb23dj4at01n.xn--43e96bh910b", false); } // [B5, B6] +test { try toAsciiFail("xn--ekb23dj4at01n.xn--43e96bh910b", true); } // [B5, B6] test { try toUnicodeFail("\xe1\xae\xab\xef\xbd\xa1\xf0\x9f\x82\x89\xf3\xa0\x81\xb0"); } // [V6, V7] +test { try toAsciiFail("\xe1\xae\xab\xef\xbd\xa1\xf0\x9f\x82\x89\xf3\xa0\x81\xb0", false); } // [V6, V7] +test { try toAsciiFail("\xe1\xae\xab\xef\xbd\xa1\xf0\x9f\x82\x89\xf3\xa0\x81\xb0", true); } // [V6, V7] test { try toUnicodeFail("\xe1\xae\xab\xe3\x80\x82\xf0\x9f\x82\x89\xf3\xa0\x81\xb0"); } // [V6, V7] +test { try toAsciiFail("\xe1\xae\xab\xe3\x80\x82\xf0\x9f\x82\x89\xf3\xa0\x81\xb0", false); } // [V6, V7] +test { try toAsciiFail("\xe1\xae\xab\xe3\x80\x82\xf0\x9f\x82\x89\xf3\xa0\x81\xb0", true); } // [V6, V7] test { try toUnicodeFail("xn--zxf.xn--fx7ho0250c"); } // [V6, V7] +test { try toAsciiFail("xn--zxf.xn--fx7ho0250c", false); } // [V6, V7] +test { try toAsciiFail("xn--zxf.xn--fx7ho0250c", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5"); } // [B5, C2, V7] +test { try toAsciiFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5", false); } // [B5, C2, V7] +test { try toAsciiFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5", true); } // [B5, V7] test { try toUnicodeFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5"); } // [B5, C2, V7] +test { try toAsciiFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5", false); } // [B5, C2, V7] +test { try toAsciiFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5", true); } // [B5, V7] test { try toUnicodeFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5"); } // [B5, C2, V7] +test { try toAsciiFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5", false); } // [B5, C2, V7] +test { try toAsciiFail("\xf3\xa9\x8e\x83\xe0\xab\x84\xe3\x80\x82\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xae\xf0\x91\x88\xb5", true); } // [B5, V7] test { try toUnicodeFail("xn--dfc53161q.xn--4xa8467k5mc"); } // [B5, V7] +test { try toAsciiFail("xn--dfc53161q.xn--4xa8467k5mc", false); } // [B5, V7] +test { try toAsciiFail("xn--dfc53161q.xn--4xa8467k5mc", true); } // [B5, V7] test { try toUnicodeFail("xn--dfc53161q.xn--4xa895lzo7nsfd"); } // [B5, C2, V7] +test { try toAsciiFail("xn--dfc53161q.xn--4xa895lzo7nsfd", false); } // [B5, C2, V7] +test { try toAsciiFail("xn--dfc53161q.xn--4xa895lzo7nsfd", true); } // [B5, C2, V7] test { try toUnicodeFail("xn--dfc53161q.xn--3xa006lzo7nsfd"); } // [B5, C2, V7] +test { try toAsciiFail("xn--dfc53161q.xn--3xa006lzo7nsfd", false); } // [B5, C2, V7] +test { try toAsciiFail("xn--dfc53161q.xn--3xa006lzo7nsfd", true); } // [B5, C2, V7] test { try toUnicodeFail("\xf0\x90\xab\x80\xe1\xa1\x82\xf0\x91\x9c\xab\xef\xbc\x8e\xf0\x91\x98\xbf"); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xf0\x90\xab\x80\xe1\xa1\x82\xf0\x91\x9c\xab\xef\xbc\x8e\xf0\x91\x98\xbf", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xf0\x90\xab\x80\xe1\xa1\x82\xf0\x91\x9c\xab\xef\xbc\x8e\xf0\x91\x98\xbf", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("\xf0\x90\xab\x80\xe1\xa1\x82\xf0\x91\x9c\xab.\xf0\x91\x98\xbf"); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xf0\x90\xab\x80\xe1\xa1\x82\xf0\x91\x9c\xab.\xf0\x91\x98\xbf", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xf0\x90\xab\x80\xe1\xa1\x82\xf0\x91\x9c\xab.\xf0\x91\x98\xbf", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("xn--17e9625js1h.xn--sb2d"); } // [B1, B2, B3, V6] +test { try toAsciiFail("xn--17e9625js1h.xn--sb2d", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("xn--17e9625js1h.xn--sb2d", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("\xf3\xac\x9a\xb6\xf3\xb8\x8b\x96\xf2\x96\xa9\xb0-\xe3\x80\x82\xe2\x80\x8c"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xac\x9a\xb6\xf3\xb8\x8b\x96\xf2\x96\xa9\xb0-\xe3\x80\x82\xe2\x80\x8c", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xac\x9a\xb6\xf3\xb8\x8b\x96\xf2\x96\xa9\xb0-\xe3\x80\x82\xe2\x80\x8c", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----7i12hu122k9ire."); } // [V3, V7] +test { try toAsciiFail("xn----7i12hu122k9ire.", false); } // [V3, V7, A4_2] +test { try toAsciiFail("xn----7i12hu122k9ire.", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----7i12hu122k9ire.xn--0ug"); } // [C1, V3, V7] +test { try toAsciiFail("xn----7i12hu122k9ire.xn--0ug", false); } // [C1, V3, V7] +test { try toAsciiFail("xn----7i12hu122k9ire.xn--0ug", true); } // [C1, V3, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xef\xbc\x8e\xdf\x82"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xef\xbc\x8e\xdf\x82", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xef\xbc\x8e\xdf\x82", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3.\xdf\x82"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa3.\xdf\x82", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa3.\xdf\x82", true); } // [B1] test { try toUnicodeFail("xn--bo0d.xn--dsb"); } // [B1] +test { try toAsciiFail("xn--bo0d.xn--dsb", false); } // [B1] +test { try toAsciiFail("xn--bo0d.xn--dsb", true); } // [B1] test { try toUnicodeFail("-\xdf\xa1\xef\xbd\xa1\xe2\x86\x83"); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xef\xbd\xa1\xe2\x86\x83", false); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xef\xbd\xa1\xe2\x86\x83", true); } // [B1, V3] test { try toUnicodeFail("-\xdf\xa1\xe3\x80\x82\xe2\x86\x83"); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xe3\x80\x82\xe2\x86\x83", false); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xe3\x80\x82\xe2\x86\x83", true); } // [B1, V3] test { try toUnicodeFail("-\xdf\xa1\xe3\x80\x82\xe2\x86\x84"); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xe3\x80\x82\xe2\x86\x84", false); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xe3\x80\x82\xe2\x86\x84", true); } // [B1, V3] test { try toUnicodeFail("xn----8cd.xn--r5g"); } // [B1, V3] +test { try toAsciiFail("xn----8cd.xn--r5g", false); } // [B1, V3] +test { try toAsciiFail("xn----8cd.xn--r5g", true); } // [B1, V3] test { try toUnicodeFail("-\xdf\xa1\xef\xbd\xa1\xe2\x86\x84"); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xef\xbd\xa1\xe2\x86\x84", false); } // [B1, V3] +test { try toAsciiFail("-\xdf\xa1\xef\xbd\xa1\xe2\x86\x84", true); } // [B1, V3] test { try toUnicodeFail("xn----8cd.xn--q5g"); } // [B1, V3, V7] +test { try toAsciiFail("xn----8cd.xn--q5g", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----8cd.xn--q5g", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82\xc3\x9f\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82\xc3\x9f\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82\xc3\x9f\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82\xc3\x9f\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82\xc3\x9f\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82\xc3\x9f\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("-..xn--ss-h46c5711e"); } // [B1, B5, B6, V3, X4_2] +test { try toAsciiFail("-..xn--ss-h46c5711e", false); } // [B1, B5, B6, V3, A4_2] +test { try toAsciiFail("-..xn--ss-h46c5711e", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("xn----tgn..xn--ss-k1ts75zb8ym"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("xn----tgn..xn--ss-k1ts75zb8ym", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("xn----tgn..xn--ss-k1ts75zb8ym", true); } // [B1, B5, B6, C1, C2, V3, A4_2] test { try toUnicodeFail("xn----tgn..xn--zca670n5f0binyk"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("xn----tgn..xn--zca670n5f0binyk", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("xn----tgn..xn--zca670n5f0binyk", true); } // [B1, B5, B6, C1, C2, V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\x9f", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----o89h.xn--ss-h46c5711e"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----o89h.xn--ss-h46c5711e", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn----o89h.xn--ss-h46c5711e", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn----tgnt341h.xn--ss-k1ts75zb8ym"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("xn----tgnt341h.xn--ss-k1ts75zb8ym", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("xn----tgnt341h.xn--ss-k1ts75zb8ym", true); } // [B1, B5, B6, C1, C2, V7] test { try toUnicodeFail("xn----tgnt341h.xn--zca670n5f0binyk"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("xn----tgnt341h.xn--zca670n5f0binyk", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("xn----tgnt341h.xn--zca670n5f0binyk", true); } // [B1, B5, B6, C1, C2, V7] test { try toUnicodeFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V3, X4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V3, A4_2] +test { try toAsciiFail("\xe2\x80\x8d-\xe3\x80\x82\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82SS\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf"); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", false); } // [B1, B5, B6, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xef\xb8\x92\xf3\xa0\x84\x84\xe3\x80\x82Ss\xe5\x93\x91\xe2\x80\x8c\xf0\x90\xb5\xbf", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xef\xb8\x92\xef\xbc\x8e\xef\xb8\xaf\xf0\x91\x91\x82"); } // [V6, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbc\x8e\xef\xb8\xaf\xf0\x91\x91\x82", false); } // [V6, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbc\x8e\xef\xb8\xaf\xf0\x91\x91\x82", true); } // [V6, V7] test { try toUnicodeFail("\xef\xb8\x92\xef\xbc\x8e\xf0\x91\x91\x82\xef\xb8\xaf"); } // [V6, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbc\x8e\xf0\x91\x91\x82\xef\xb8\xaf", false); } // [V6, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbc\x8e\xf0\x91\x91\x82\xef\xb8\xaf", true); } // [V6, V7] test { try toUnicodeFail("\xe3\x80\x82.\xf0\x91\x91\x82\xef\xb8\xaf"); } // [V6, X4_2] +test { try toAsciiFail("\xe3\x80\x82.\xf0\x91\x91\x82\xef\xb8\xaf", false); } // [V6, A4_2] +test { try toAsciiFail("\xe3\x80\x82.\xf0\x91\x91\x82\xef\xb8\xaf", true); } // [V6, A4_2] test { try toUnicodeFail("..xn--s96cu30b"); } // [V6, X4_2] +test { try toAsciiFail("..xn--s96cu30b", false); } // [V6, A4_2] +test { try toAsciiFail("..xn--s96cu30b", true); } // [V6, A4_2] test { try toUnicodeFail("xn--y86c.xn--s96cu30b"); } // [V6, V7] +test { try toAsciiFail("xn--y86c.xn--s96cu30b", false); } // [V6, V7] +test { try toAsciiFail("xn--y86c.xn--s96cu30b", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa4\xac\xe3\x80\x82\xe2\x80\x8d"); } // [C2, V6] +test { try toAsciiFail("\xea\xa4\xac\xe3\x80\x82\xe2\x80\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xea\xa4\xac\xe3\x80\x82\xe2\x80\x8d", true); } // [V6, A4_2] test { try toUnicodeFail("xn--zi9a."); } // [V6] +test { try toAsciiFail("xn--zi9a.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--zi9a.", true); } // [V6, A4_2] test { try toUnicodeFail("xn--zi9a.xn--1ug"); } // [C2, V6] +test { try toAsciiFail("xn--zi9a.xn--1ug", false); } // [C2, V6] +test { try toAsciiFail("xn--zi9a.xn--1ug", true); } // [C2, V6] test { try toUnicodeFail("\xe2\x80\x8d\xf3\xa0\xb8\xa1\xef\xbd\xa1\xef\xb3\x97"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\xb8\xa1\xef\xbd\xa1\xef\xb3\x97", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\xb8\xa1\xef\xbd\xa1\xef\xb3\x97", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf3\xa0\xb8\xa1\xe3\x80\x82\xd9\x87\xd8\xac"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\xb8\xa1\xe3\x80\x82\xd9\x87\xd8\xac", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\xb8\xa1\xe3\x80\x82\xd9\x87\xd8\xac", true); } // [B1, V7] test { try toUnicodeFail("xn--d356e.xn--rgb7c"); } // [B1, V7] +test { try toAsciiFail("xn--d356e.xn--rgb7c", false); } // [B1, V7] +test { try toAsciiFail("xn--d356e.xn--rgb7c", true); } // [B1, V7] test { try toUnicodeFail("xn--1ug80651l.xn--rgb7c"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ug80651l.xn--rgb7c", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ug80651l.xn--rgb7c", true); } // [B1, C2, V7] test { try toUnicodeFail("-\xe1\x82\xa4\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x82"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa4\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x82", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa4\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x82", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe1\x82\xa40\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x82"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa40\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x82", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa40\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x82", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe2\xb4\x840\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x82"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x840\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x82", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x840\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x82", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe1\x82\xa40\xd9\xa3.\xf0\x91\x8d\xb4\xce\xa3"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa40\xd9\xa3.\xf0\x91\x8d\xb4\xce\xa3", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa40\xd9\xa3.\xf0\x91\x8d\xb4\xce\xa3", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe2\xb4\x840\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x83"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x840\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x83", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x840\xd9\xa3.\xf0\x91\x8d\xb4\xcf\x83", true); } // [B1, V3, V6] test { try toUnicodeFail("xn---0-iyd8660b.xn--4xa9120l"); } // [B1, V3, V6] +test { try toAsciiFail("xn---0-iyd8660b.xn--4xa9120l", false); } // [B1, V3, V6] +test { try toAsciiFail("xn---0-iyd8660b.xn--4xa9120l", true); } // [B1, V3, V6] test { try toUnicodeFail("xn---0-iyd8660b.xn--3xa1220l"); } // [B1, V3, V6] +test { try toAsciiFail("xn---0-iyd8660b.xn--3xa1220l", false); } // [B1, V3, V6] +test { try toAsciiFail("xn---0-iyd8660b.xn--3xa1220l", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe2\xb4\x84\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x82"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x84\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x82", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x84\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x82", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe1\x82\xa4\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xce\xa3"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa4\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xce\xa3", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe1\x82\xa4\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xce\xa3", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xe2\xb4\x84\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x83"); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x84\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x83", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xe2\xb4\x84\xf0\x9d\x9f\xa2\xd9\xa3\xef\xbc\x8e\xf0\x91\x8d\xb4\xcf\x83", true); } // [B1, V3, V6] test { try toUnicodeFail("xn---0-iyd216h.xn--4xa9120l"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn---0-iyd216h.xn--4xa9120l", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn---0-iyd216h.xn--4xa9120l", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn---0-iyd216h.xn--3xa1220l"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn---0-iyd216h.xn--3xa1220l", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn---0-iyd216h.xn--3xa1220l", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xf3\xa6\x88\x84\xe3\x80\x82-"); } // [V3, V7] +test { try toAsciiFail("\xf3\xa6\x88\x84\xe3\x80\x82-", false); } // [V3, V7] +test { try toAsciiFail("\xf3\xa6\x88\x84\xe3\x80\x82-", true); } // [V3, V7] test { try toUnicodeFail("xn--xm38e.-"); } // [V3, V7] +test { try toAsciiFail("xn--xm38e.-", false); } // [V3, V7] +test { try toAsciiFail("xn--xm38e.-", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98\xc3\x9f>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98SS>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98SS>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98SS>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98SS\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98SS\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98SS\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98ss\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98ss\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98ss\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98ss>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98ss>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98ss>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98Ss>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98Ss>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98Ss>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98Ss\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98Ss\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae.\xf2\xb6\x88\xae\xe0\xbc\x98Ss\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("xn--pgh4639f.xn--ss-ifj426nle504a"); } // [V7] +test { try toAsciiFail("xn--pgh4639f.xn--ss-ifj426nle504a", false); } // [V7] +test { try toAsciiFail("xn--pgh4639f.xn--ss-ifj426nle504a", true); } // [V7] test { try toUnicodeFail("xn--pgh4639f.xn--zca593eo6oc013y"); } // [V7] +test { try toAsciiFail("xn--pgh4639f.xn--zca593eo6oc013y", false); } // [V7] +test { try toAsciiFail("xn--pgh4639f.xn--zca593eo6oc013y", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98SS>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98SS>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98SS>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98SS\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98SS\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98SS\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98ss\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98ss\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98ss\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98ss>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98ss>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98ss>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98Ss>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98Ss>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xbc\xcc\xb8\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98Ss>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98Ss\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98Ss\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\x8b\xa0\xf0\x90\x8b\xae\xef\xbc\x8e\xf2\xb6\x88\xae\xe0\xbc\x98Ss\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("1\xf0\x90\x8b\xb8\xd9\xa4\xef\xbd\xa1\xf3\xa0\xa2\xae\xef\xae\xa4\xf1\xb7\x9d\x8a"); } // [B1, V7] +test { try toAsciiFail("1\xf0\x90\x8b\xb8\xd9\xa4\xef\xbd\xa1\xf3\xa0\xa2\xae\xef\xae\xa4\xf1\xb7\x9d\x8a", false); } // [B1, V7] +test { try toAsciiFail("1\xf0\x90\x8b\xb8\xd9\xa4\xef\xbd\xa1\xf3\xa0\xa2\xae\xef\xae\xa4\xf1\xb7\x9d\x8a", true); } // [B1, V7] test { try toUnicodeFail("1\xf0\x90\x8b\xb8\xd9\xa4\xe3\x80\x82\xf3\xa0\xa2\xae\xdb\x80\xf1\xb7\x9d\x8a"); } // [B1, V7] +test { try toAsciiFail("1\xf0\x90\x8b\xb8\xd9\xa4\xe3\x80\x82\xf3\xa0\xa2\xae\xdb\x80\xf1\xb7\x9d\x8a", false); } // [B1, V7] +test { try toAsciiFail("1\xf0\x90\x8b\xb8\xd9\xa4\xe3\x80\x82\xf3\xa0\xa2\xae\xdb\x80\xf1\xb7\x9d\x8a", true); } // [B1, V7] test { try toUnicodeFail("1\xf0\x90\x8b\xb8\xd9\xa4\xe3\x80\x82\xf3\xa0\xa2\xae\xdb\x95\xd9\x94\xf1\xb7\x9d\x8a"); } // [B1, V7] +test { try toAsciiFail("1\xf0\x90\x8b\xb8\xd9\xa4\xe3\x80\x82\xf3\xa0\xa2\xae\xdb\x95\xd9\x94\xf1\xb7\x9d\x8a", false); } // [B1, V7] +test { try toAsciiFail("1\xf0\x90\x8b\xb8\xd9\xa4\xe3\x80\x82\xf3\xa0\xa2\xae\xdb\x95\xd9\x94\xf1\xb7\x9d\x8a", true); } // [B1, V7] test { try toUnicodeFail("xn--1-hqc3905q.xn--zkb83268gqee4a"); } // [B1, V7] +test { try toAsciiFail("xn--1-hqc3905q.xn--zkb83268gqee4a", false); } // [B1, V7] +test { try toAsciiFail("xn--1-hqc3905q.xn--zkb83268gqee4a", true); } // [B1, V7] test { try toUnicodeFail("\xe5\x84\xad-\xef\xbd\xa1\xf0\x90\xb9\xb4\xe1\x83\x82\xf1\xa5\xb3\xa0\xe2\x80\x8c"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xef\xbd\xa1\xf0\x90\xb9\xb4\xe1\x83\x82\xf1\xa5\xb3\xa0\xe2\x80\x8c", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xef\xbd\xa1\xf0\x90\xb9\xb4\xe1\x83\x82\xf1\xa5\xb3\xa0\xe2\x80\x8c", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("\xe5\x84\xad-\xe3\x80\x82\xf0\x90\xb9\xb4\xe1\x83\x82\xf1\xa5\xb3\xa0\xe2\x80\x8c"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xe3\x80\x82\xf0\x90\xb9\xb4\xe1\x83\x82\xf1\xa5\xb3\xa0\xe2\x80\x8c", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xe3\x80\x82\xf0\x90\xb9\xb4\xe1\x83\x82\xf1\xa5\xb3\xa0\xe2\x80\x8c", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("\xe5\x84\xad-\xe3\x80\x82\xf0\x90\xb9\xb4\xe2\xb4\xa2\xf1\xa5\xb3\xa0\xe2\x80\x8c"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xe3\x80\x82\xf0\x90\xb9\xb4\xe2\xb4\xa2\xf1\xa5\xb3\xa0\xe2\x80\x8c", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xe3\x80\x82\xf0\x90\xb9\xb4\xe2\xb4\xa2\xf1\xa5\xb3\xa0\xe2\x80\x8c", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn----gz7a.xn--qlj9223eywx0b"); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--qlj9223eywx0b", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--qlj9223eywx0b", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn----gz7a.xn--0ug472cfq0pus98b"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--0ug472cfq0pus98b", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--0ug472cfq0pus98b", true); } // [B1, B6, C1, V3, V7] test { try toUnicodeFail("\xe5\x84\xad-\xef\xbd\xa1\xf0\x90\xb9\xb4\xe2\xb4\xa2\xf1\xa5\xb3\xa0\xe2\x80\x8c"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xef\xbd\xa1\xf0\x90\xb9\xb4\xe2\xb4\xa2\xf1\xa5\xb3\xa0\xe2\x80\x8c", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xe5\x84\xad-\xef\xbd\xa1\xf0\x90\xb9\xb4\xe2\xb4\xa2\xf1\xa5\xb3\xa0\xe2\x80\x8c", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn----gz7a.xn--6nd5001kyw98a"); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--6nd5001kyw98a", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--6nd5001kyw98a", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn----gz7a.xn--6nd249ejl4pusr7b"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--6nd249ejl4pusr7b", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn----gz7a.xn--6nd249ejl4pusr7b", true); } // [B1, B6, C1, V3, V7] test { try toUnicodeFail("\xf0\x9d\x9f\xba\xf0\x90\x8b\xb7\xda\xb9\xef\xbc\x8e\xf0\x9e\xa4\xad\xf2\xbf\x8d\xa1"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xba\xf0\x90\x8b\xb7\xda\xb9\xef\xbc\x8e\xf0\x9e\xa4\xad\xf2\xbf\x8d\xa1", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xba\xf0\x90\x8b\xb7\xda\xb9\xef\xbc\x8e\xf0\x9e\xa4\xad\xf2\xbf\x8d\xa1", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("4\xf0\x90\x8b\xb7\xda\xb9.\xf0\x9e\xa4\xad\xf2\xbf\x8d\xa1"); } // [B1, B2, B3, V7] +test { try toAsciiFail("4\xf0\x90\x8b\xb7\xda\xb9.\xf0\x9e\xa4\xad\xf2\xbf\x8d\xa1", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("4\xf0\x90\x8b\xb7\xda\xb9.\xf0\x9e\xa4\xad\xf2\xbf\x8d\xa1", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("4\xf0\x90\x8b\xb7\xda\xb9.\xf0\x9e\xa4\x8b\xf2\xbf\x8d\xa1"); } // [B1, B2, B3, V7] +test { try toAsciiFail("4\xf0\x90\x8b\xb7\xda\xb9.\xf0\x9e\xa4\x8b\xf2\xbf\x8d\xa1", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("4\xf0\x90\x8b\xb7\xda\xb9.\xf0\x9e\xa4\x8b\xf2\xbf\x8d\xa1", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--4-cvc5384q.xn--le6hi7322b"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--4-cvc5384q.xn--le6hi7322b", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--4-cvc5384q.xn--le6hi7322b", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x9d\x9f\xba\xf0\x90\x8b\xb7\xda\xb9\xef\xbc\x8e\xf0\x9e\xa4\x8b\xf2\xbf\x8d\xa1"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xba\xf0\x90\x8b\xb7\xda\xb9\xef\xbc\x8e\xf0\x9e\xa4\x8b\xf2\xbf\x8d\xa1", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xba\xf0\x90\x8b\xb7\xda\xb9\xef\xbc\x8e\xf0\x9e\xa4\x8b\xf2\xbf\x8d\xa1", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xe2\x89\xaf-\xea\xa1\x8b\xf0\x91\xb2\xa3.\xe2\x92\x88\xf0\x90\xb9\xad"); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xaf-\xea\xa1\x8b\xf0\x91\xb2\xa3.\xe2\x92\x88\xf0\x90\xb9\xad", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xaf-\xea\xa1\x8b\xf0\x91\xb2\xa3.\xe2\x92\x88\xf0\x90\xb9\xad", true); } // [B1, V7] test { try toUnicodeFail(">\xcc\xb8-\xea\xa1\x8b\xf0\x91\xb2\xa3.\xe2\x92\x88\xf0\x90\xb9\xad"); } // [B1, V7] +test { try toAsciiFail(">\xcc\xb8-\xea\xa1\x8b\xf0\x91\xb2\xa3.\xe2\x92\x88\xf0\x90\xb9\xad", false); } // [B1, V7] +test { try toAsciiFail(">\xcc\xb8-\xea\xa1\x8b\xf0\x91\xb2\xa3.\xe2\x92\x88\xf0\x90\xb9\xad", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xaf-\xea\xa1\x8b\xf0\x91\xb2\xa3.1.\xf0\x90\xb9\xad"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf-\xea\xa1\x8b\xf0\x91\xb2\xa3.1.\xf0\x90\xb9\xad", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf-\xea\xa1\x8b\xf0\x91\xb2\xa3.1.\xf0\x90\xb9\xad", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8-\xea\xa1\x8b\xf0\x91\xb2\xa3.1.\xf0\x90\xb9\xad"); } // [B1] +test { try toAsciiFail(">\xcc\xb8-\xea\xa1\x8b\xf0\x91\xb2\xa3.1.\xf0\x90\xb9\xad", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8-\xea\xa1\x8b\xf0\x91\xb2\xa3.1.\xf0\x90\xb9\xad", true); } // [B1] test { try toUnicodeFail("xn----ogox061d5i8d.1.xn--lo0d"); } // [B1] +test { try toAsciiFail("xn----ogox061d5i8d.1.xn--lo0d", false); } // [B1] +test { try toAsciiFail("xn----ogox061d5i8d.1.xn--lo0d", true); } // [B1] test { try toUnicodeFail("xn----ogox061d5i8d.xn--tsh0666f"); } // [B1, V7] +test { try toAsciiFail("xn----ogox061d5i8d.xn--tsh0666f", false); } // [B1, V7] +test { try toAsciiFail("xn----ogox061d5i8d.xn--tsh0666f", true); } // [B1, V7] test { try toUnicodeFail("\xcc\xb0\xef\xbc\x8e\xf3\xb0\x9c\xb1\xe8\x9a\x80"); } // [V6, V7] +test { try toAsciiFail("\xcc\xb0\xef\xbc\x8e\xf3\xb0\x9c\xb1\xe8\x9a\x80", false); } // [V6, V7] +test { try toAsciiFail("\xcc\xb0\xef\xbc\x8e\xf3\xb0\x9c\xb1\xe8\x9a\x80", true); } // [V6, V7] test { try toUnicodeFail("\xcc\xb0.\xf3\xb0\x9c\xb1\xe8\x9a\x80"); } // [V6, V7] +test { try toAsciiFail("\xcc\xb0.\xf3\xb0\x9c\xb1\xe8\x9a\x80", false); } // [V6, V7] +test { try toAsciiFail("\xcc\xb0.\xf3\xb0\x9c\xb1\xe8\x9a\x80", true); } // [V6, V7] test { try toUnicodeFail("xn--xta.xn--e91aw9417e"); } // [V6, V7] +test { try toAsciiFail("xn--xta.xn--e91aw9417e", false); } // [V6, V7] +test { try toAsciiFail("xn--xta.xn--e91aw9417e", true); } // [V6, V7] test { try toUnicodeFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xd7\x99\xd6\xbc\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80SS\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80SS\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80SS\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xd7\x99\xd6\xbc\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("xn--kdb1d278n.xn--ss-yju5690ken9h"); } // [B2, B3] +test { try toAsciiFail("xn--kdb1d278n.xn--ss-yju5690ken9h", false); } // [B2, B3] +test { try toAsciiFail("xn--kdb1d278n.xn--ss-yju5690ken9h", true); } // [B2, B3] test { try toUnicodeFail("xn--kdb1d278n.xn--zca284nhg9nrrxg"); } // [B2, B3] +test { try toAsciiFail("xn--kdb1d278n.xn--zca284nhg9nrrxg", false); } // [B2, B3] +test { try toAsciiFail("xn--kdb1d278n.xn--zca284nhg9nrrxg", true); } // [B2, B3] test { try toUnicodeFail("\xef\xac\xb9\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80\xc3\x9f\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80SS\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80SS\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80SS\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xef\xac\xb9\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe2\xb4\x98.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("xn--kdb1d867b.xn--ss-yju5690ken9h"); } // [B2, B3, V7] +test { try toAsciiFail("xn--kdb1d867b.xn--ss-yju5690ken9h", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--kdb1d867b.xn--ss-yju5690ken9h", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--kdb1d867b.xn--zca284nhg9nrrxg"); } // [B2, B3, V7] +test { try toAsciiFail("xn--kdb1d867b.xn--zca284nhg9nrrxg", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--kdb1d867b.xn--zca284nhg9nrrxg", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xd7\x99\xd6\xbc\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97"); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", false); } // [B2, B3] +test { try toAsciiFail("\xef\xac\xb9\xe1\x82\xb8.\xf0\x9e\xa1\xbc\xf0\x91\x87\x80ss\xe2\x83\x97", true); } // [B2, B3] test { try toUnicodeFail("\xe1\xae\xa3\xf0\x90\xb9\xb0\xf2\x81\xb1\x93\xef\xbd\xa1\xe5\x87\xac"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xae\xa3\xf0\x90\xb9\xb0\xf2\x81\xb1\x93\xef\xbd\xa1\xe5\x87\xac", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xae\xa3\xf0\x90\xb9\xb0\xf2\x81\xb1\x93\xef\xbd\xa1\xe5\x87\xac", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xae\xa3\xf0\x90\xb9\xb0\xf2\x81\xb1\x93\xe3\x80\x82\xe5\x87\xac"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xae\xa3\xf0\x90\xb9\xb0\xf2\x81\xb1\x93\xe3\x80\x82\xe5\x87\xac", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xae\xa3\xf0\x90\xb9\xb0\xf2\x81\xb1\x93\xe3\x80\x82\xe5\x87\xac", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--rxfz314ilg20c.xn--t9q"); } // [B1, V6, V7] +test { try toAsciiFail("xn--rxfz314ilg20c.xn--t9q", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--rxfz314ilg20c.xn--t9q", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9f\xa2\x9f\xf0\x9f\x84\x88\xe2\x80\x8d\xea\xa1\x8e\xef\xbd\xa1\xe0\xbe\x84"); } // [C2, V6, U1] +test { try toAsciiFail("\xf0\x9f\xa2\x9f\xf0\x9f\x84\x88\xe2\x80\x8d\xea\xa1\x8e\xef\xbd\xa1\xe0\xbe\x84", false); } // [C2, V6, U1] +test { try toAsciiFail("\xf0\x9f\xa2\x9f\xf0\x9f\x84\x88\xe2\x80\x8d\xea\xa1\x8e\xef\xbd\xa1\xe0\xbe\x84", true); } // [V6, U1] test { try toUnicodeFail("\xf0\x9f\xa2\x9f7,\xe2\x80\x8d\xea\xa1\x8e\xe3\x80\x82\xe0\xbe\x84"); } // [C2, V6, U1] +test { try toAsciiFail("\xf0\x9f\xa2\x9f7,\xe2\x80\x8d\xea\xa1\x8e\xe3\x80\x82\xe0\xbe\x84", false); } // [C2, V6, U1] +test { try toAsciiFail("\xf0\x9f\xa2\x9f7,\xe2\x80\x8d\xea\xa1\x8e\xe3\x80\x82\xe0\xbe\x84", true); } // [V6, U1] test { try toUnicodeFail("xn--7,-gh9hg322i.xn--3ed"); } // [V6, U1] +test { try toAsciiFail("xn--7,-gh9hg322i.xn--3ed", false); } // [V6, U1] +test { try toAsciiFail("xn--7,-gh9hg322i.xn--3ed", true); } // [V6, U1] test { try toUnicodeFail("xn--7,-n1t0654eqo3o.xn--3ed"); } // [C2, V6, U1] +test { try toAsciiFail("xn--7,-n1t0654eqo3o.xn--3ed", false); } // [C2, V6, U1] +test { try toAsciiFail("xn--7,-n1t0654eqo3o.xn--3ed", true); } // [C2, V6, U1] test { try toUnicodeFail("xn--nc9aq743ds0e.xn--3ed"); } // [V6, V7] +test { try toAsciiFail("xn--nc9aq743ds0e.xn--3ed", false); } // [V6, V7] +test { try toAsciiFail("xn--nc9aq743ds0e.xn--3ed", true); } // [V6, V7] test { try toUnicodeFail("xn--1ug4874cfd0kbmg.xn--3ed"); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug4874cfd0kbmg.xn--3ed", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug4874cfd0kbmg.xn--3ed", true); } // [C2, V6, V7] test { try toUnicodeFail("\xea\xa1\x94\xe3\x80\x82\xe1\x80\xb9\xe1\xa2\x87"); } // [V6] +test { try toAsciiFail("\xea\xa1\x94\xe3\x80\x82\xe1\x80\xb9\xe1\xa2\x87", false); } // [V6] +test { try toAsciiFail("\xea\xa1\x94\xe3\x80\x82\xe1\x80\xb9\xe1\xa2\x87", true); } // [V6] test { try toUnicodeFail("xn--tc9a.xn--9jd663b"); } // [V6] +test { try toAsciiFail("xn--tc9a.xn--9jd663b", false); } // [V6] +test { try toAsciiFail("xn--tc9a.xn--9jd663b", true); } // [V6] test { try toUnicodeFail("\xe2\x83\xab\xe2\x89\xae.\xf0\x9d\xa8\x96"); } // [V6] +test { try toAsciiFail("\xe2\x83\xab\xe2\x89\xae.\xf0\x9d\xa8\x96", false); } // [V6] +test { try toAsciiFail("\xe2\x83\xab\xe2\x89\xae.\xf0\x9d\xa8\x96", true); } // [V6] test { try toUnicodeFail("\xe2\x83\xab<\xcc\xb8.\xf0\x9d\xa8\x96"); } // [V6] +test { try toAsciiFail("\xe2\x83\xab<\xcc\xb8.\xf0\x9d\xa8\x96", false); } // [V6] +test { try toAsciiFail("\xe2\x83\xab<\xcc\xb8.\xf0\x9d\xa8\x96", true); } // [V6] test { try toUnicodeFail("xn--e1g71d.xn--772h"); } // [V6] +test { try toAsciiFail("xn--e1g71d.xn--772h", false); } // [V6] +test { try toAsciiFail("xn--e1g71d.xn--772h", true); } // [V6] test { try toUnicodeFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe1\x82\xbe\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\xa2>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\xa2\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6.\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("xn--hdh433bev8e.xn--rpb5x392bcyt"); } // [B5, B6] +test { try toAsciiFail("xn--hdh433bev8e.xn--rpb5x392bcyt", false); } // [B5, B6] +test { try toAsciiFail("xn--hdh433bev8e.xn--rpb5x392bcyt", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\xa2>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\xa2\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe2\xb4\xa2\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82\xe2\x89\xaf\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7"); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", false); } // [B5, B6] +test { try toAsciiFail("\xe1\x83\x82>\xcc\xb8\xe8\xa4\xa6\xef\xbc\x8e\xe1\xa0\xaa\xdf\xaa\xe2\xb4\x9e\xdd\xa7", true); } // [B5, B6] test { try toUnicodeFail("xn--6nd461g478e.xn--rpb5x392bcyt"); } // [B5, B6, V7] +test { try toAsciiFail("xn--6nd461g478e.xn--rpb5x392bcyt", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--6nd461g478e.xn--rpb5x392bcyt", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--6nd461g478e.xn--rpb5x49td2h"); } // [B5, B6, V7] +test { try toAsciiFail("xn--6nd461g478e.xn--rpb5x49td2h", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--6nd461g478e.xn--rpb5x49td2h", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\x8a\x89\x86\xf3\xa0\x86\x92\xe2\x80\x8c\xea\xa5\x93\xe3\x80\x82\xf0\x9e\xa4\x99\xd9\xbb\xea\xa1\x98"); } // [B2, B3, C1, V7] +test { try toAsciiFail("\xf2\x8a\x89\x86\xf3\xa0\x86\x92\xe2\x80\x8c\xea\xa5\x93\xe3\x80\x82\xf0\x9e\xa4\x99\xd9\xbb\xea\xa1\x98", false); } // [B2, B3, C1, V7] +test { try toAsciiFail("\xf2\x8a\x89\x86\xf3\xa0\x86\x92\xe2\x80\x8c\xea\xa5\x93\xe3\x80\x82\xf0\x9e\xa4\x99\xd9\xbb\xea\xa1\x98", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf2\x8a\x89\x86\xf3\xa0\x86\x92\xe2\x80\x8c\xea\xa5\x93\xe3\x80\x82\xf0\x9e\xa4\xbb\xd9\xbb\xea\xa1\x98"); } // [B2, B3, C1, V7] +test { try toAsciiFail("\xf2\x8a\x89\x86\xf3\xa0\x86\x92\xe2\x80\x8c\xea\xa5\x93\xe3\x80\x82\xf0\x9e\xa4\xbb\xd9\xbb\xea\xa1\x98", false); } // [B2, B3, C1, V7] +test { try toAsciiFail("\xf2\x8a\x89\x86\xf3\xa0\x86\x92\xe2\x80\x8c\xea\xa5\x93\xe3\x80\x82\xf0\x9e\xa4\xbb\xd9\xbb\xea\xa1\x98", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--3j9al6189a.xn--0ib8893fegvj"); } // [B2, B3, V7] +test { try toAsciiFail("xn--3j9al6189a.xn--0ib8893fegvj", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--3j9al6189a.xn--0ib8893fegvj", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--0ug8815chtz0e.xn--0ib8893fegvj"); } // [B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug8815chtz0e.xn--0ib8893fegvj", false); } // [B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug8815chtz0e.xn--0ib8893fegvj", true); } // [B2, B3, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c.\xe2\x89\xaf"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\x89\xaf", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\x89\xaf", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8c.>\xcc\xb8"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c.>\xcc\xb8", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c.>\xcc\xb8", true); } // [A4_2] test { try toUnicodeFail(".xn--hdh"); } // [X4_2] +test { try toAsciiFail(".xn--hdh", false); } // [A4_2] +test { try toAsciiFail(".xn--hdh", true); } // [A4_2] test { try toUnicodeFail("xn--0ug.xn--hdh"); } // [C1] +test { try toAsciiFail("xn--0ug.xn--hdh", false); } // [C1] +test { try toAsciiFail("xn--0ug.xn--hdh", true); } // [C1] test { try toUnicodeFail("\xf0\xb0\x85\xa7\xf1\xa3\xa9\xa0-\xef\xbc\x8e\xea\xaf\xad-\xe6\x82\x9c"); } // [V3, V6, V7] +test { try toAsciiFail("\xf0\xb0\x85\xa7\xf1\xa3\xa9\xa0-\xef\xbc\x8e\xea\xaf\xad-\xe6\x82\x9c", false); } // [V3, V6, V7] +test { try toAsciiFail("\xf0\xb0\x85\xa7\xf1\xa3\xa9\xa0-\xef\xbc\x8e\xea\xaf\xad-\xe6\x82\x9c", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf0\xb0\x85\xa7\xf1\xa3\xa9\xa0-.\xea\xaf\xad-\xe6\x82\x9c"); } // [V3, V6, V7] +test { try toAsciiFail("\xf0\xb0\x85\xa7\xf1\xa3\xa9\xa0-.\xea\xaf\xad-\xe6\x82\x9c", false); } // [V3, V6, V7] +test { try toAsciiFail("\xf0\xb0\x85\xa7\xf1\xa3\xa9\xa0-.\xea\xaf\xad-\xe6\x82\x9c", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----7m53aj640l.xn----8f4br83t"); } // [V3, V6, V7] +test { try toAsciiFail("xn----7m53aj640l.xn----8f4br83t", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----7m53aj640l.xn----8f4br83t", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe1\xa1\x89\xf0\xb6\x93\xa7\xe2\xac\x9e\xe1\xa2\x9c.-\xe2\x80\x8d\xf0\x9e\xa3\x91\xe2\x80\xae"); } // [C2, V3, V7] +test { try toAsciiFail("\xe1\xa1\x89\xf0\xb6\x93\xa7\xe2\xac\x9e\xe1\xa2\x9c.-\xe2\x80\x8d\xf0\x9e\xa3\x91\xe2\x80\xae", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe1\xa1\x89\xf0\xb6\x93\xa7\xe2\xac\x9e\xe1\xa2\x9c.-\xe2\x80\x8d\xf0\x9e\xa3\x91\xe2\x80\xae", true); } // [V3, V7] test { try toUnicodeFail("xn--87e0ol04cdl39e.xn----qinu247r"); } // [V3, V7] +test { try toAsciiFail("xn--87e0ol04cdl39e.xn----qinu247r", false); } // [V3, V7] +test { try toAsciiFail("xn--87e0ol04cdl39e.xn----qinu247r", true); } // [V3, V7] test { try toUnicodeFail("xn--87e0ol04cdl39e.xn----ugn5e3763s"); } // [C2, V3, V7] +test { try toAsciiFail("xn--87e0ol04cdl39e.xn----ugn5e3763s", false); } // [C2, V3, V7] +test { try toAsciiFail("xn--87e0ol04cdl39e.xn----ugn5e3763s", true); } // [C2, V3, V7] test { try toUnicodeFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe1\x82\xb4"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe1\x82\xb4", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe1\x82\xb4", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe1\x82\xb4"); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe1\x82\xb4", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe1\x82\xb4", true); } // [B1, B2, B3] test { try toUnicodeFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe2\xb4\x9d.\xda\x82\xe2\xb4\x94"); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe2\xb4\x9d.\xda\x82\xe2\xb4\x94", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe2\xb4\x9d.\xda\x82\xe2\xb4\x94", true); } // [B1, B2, B3] test { try toUnicodeFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe2\xb4\x94"); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe2\xb4\x94", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe2\xb4\x94", true); } // [B1, B2, B3] test { try toUnicodeFail("9.xn--llj1920a.xn--7ib268q"); } // [B1, B2, B3] +test { try toAsciiFail("9.xn--llj1920a.xn--7ib268q", false); } // [B1, B2, B3] +test { try toAsciiFail("9.xn--llj1920a.xn--7ib268q", true); } // [B1, B2, B3] test { try toUnicodeFail("9.xn--0ug862cbm5e.xn--7ib268q"); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.xn--0ug862cbm5e.xn--7ib268q", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("9.xn--0ug862cbm5e.xn--7ib268q", true); } // [B1, B2, B3, C1] test { try toUnicodeFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe2\xb4\x9d.\xda\x82\xe2\xb4\x94"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe2\xb4\x9d.\xda\x82\xe2\xb4\x94", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe2\xb4\x9d.\xda\x82\xe2\xb4\x94", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe2\xb4\x94"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe2\xb4\x94", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x80\x8c\xe8\xa1\x83\xe1\x82\xbd.\xda\x82\xe2\xb4\x94", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--1shy52abz3f.xn--7ib268q"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--1shy52abz3f.xn--7ib268q", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--1shy52abz3f.xn--7ib268q", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--0ugx0px1izu2h.xn--7ib268q"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ugx0px1izu2h.xn--7ib268q", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ugx0px1izu2h.xn--7ib268q", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("9.xn--1nd9032d.xn--7ib268q"); } // [B1, B2, B3, V7] +test { try toAsciiFail("9.xn--1nd9032d.xn--7ib268q", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("9.xn--1nd9032d.xn--7ib268q", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("9.xn--1nd159e1y2f.xn--7ib268q"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("9.xn--1nd159e1y2f.xn--7ib268q", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("9.xn--1nd159e1y2f.xn--7ib268q", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("9.xn--1nd9032d.xn--7ib433c"); } // [B1, B2, B3, V7] +test { try toAsciiFail("9.xn--1nd9032d.xn--7ib433c", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("9.xn--1nd9032d.xn--7ib433c", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("9.xn--1nd159e1y2f.xn--7ib433c"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("9.xn--1nd159e1y2f.xn--7ib433c", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("9.xn--1nd159e1y2f.xn--7ib433c", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("xn--1nd362hy16e.xn--7ib268q"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--1nd362hy16e.xn--7ib268q", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--1nd362hy16e.xn--7ib268q", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--1nd159ecmd785k.xn--7ib268q"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--1nd159ecmd785k.xn--7ib268q", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--1nd159ecmd785k.xn--7ib268q", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("xn--1nd362hy16e.xn--7ib433c"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--1nd362hy16e.xn--7ib433c", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--1nd362hy16e.xn--7ib433c", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--1nd159ecmd785k.xn--7ib433c"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--1nd159ecmd785k.xn--7ib433c", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--1nd159ecmd785k.xn--7ib433c", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("\xdf\xa1\xe2\x80\x8c\xe3\x80\x82--\xe2\xb8\xac"); } // [B1, B3, C1, V3] +test { try toAsciiFail("\xdf\xa1\xe2\x80\x8c\xe3\x80\x82--\xe2\xb8\xac", false); } // [B1, B3, C1, V3] +test { try toAsciiFail("\xdf\xa1\xe2\x80\x8c\xe3\x80\x82--\xe2\xb8\xac", true); } // [B1, V3] test { try toUnicodeFail("xn--8sb.xn-----iw2a"); } // [B1, V3] +test { try toAsciiFail("xn--8sb.xn-----iw2a", false); } // [B1, V3] +test { try toAsciiFail("xn--8sb.xn-----iw2a", true); } // [B1, V3] test { try toUnicodeFail("xn--8sb884j.xn-----iw2a"); } // [B1, B3, C1, V3] +test { try toAsciiFail("xn--8sb884j.xn-----iw2a", false); } // [B1, B3, C1, V3] +test { try toAsciiFail("xn--8sb884j.xn-----iw2a", true); } // [B1, B3, C1, V3] test { try toUnicodePass("\xf0\x9e\xa5\x93\xef\xbc\x8e\xdc\x98", "\xf0\x9e\xa5\x93.\xdc\x98"); } test { try toAsciiPass("\xf0\x9e\xa5\x93\xef\xbc\x8e\xdc\x98", "xn--of6h.xn--inb", false); } test { try toAsciiPass("\xf0\x9e\xa5\x93\xef\xbc\x8e\xdc\x98", "xn--of6h.xn--inb", true); } @@ -2480,20 +5640,50 @@ test { try toUnicodePass("xn--of6h.xn--inb", "\xf0\x9e\xa5\x93.\xdc\x98"); } test { try toAsciiPass("xn--of6h.xn--inb", "xn--of6h.xn--inb", false); } test { try toAsciiPass("xn--of6h.xn--inb", "xn--of6h.xn--inb", true); } test { try toUnicodeFail("\xf3\xa0\x84\xbd-\xef\xbc\x8e-\xe0\xb7\x8a"); } // [V3] +test { try toAsciiFail("\xf3\xa0\x84\xbd-\xef\xbc\x8e-\xe0\xb7\x8a", false); } // [V3] +test { try toAsciiFail("\xf3\xa0\x84\xbd-\xef\xbc\x8e-\xe0\xb7\x8a", true); } // [V3] test { try toUnicodeFail("\xf3\xa0\x84\xbd-.-\xe0\xb7\x8a"); } // [V3] +test { try toAsciiFail("\xf3\xa0\x84\xbd-.-\xe0\xb7\x8a", false); } // [V3] +test { try toAsciiFail("\xf3\xa0\x84\xbd-.-\xe0\xb7\x8a", true); } // [V3] test { try toUnicodeFail("-.xn----ptf"); } // [V3] +test { try toAsciiFail("-.xn----ptf", false); } // [V3] +test { try toAsciiFail("-.xn----ptf", true); } // [V3] test { try toUnicodeFail("\xf3\xa0\x87\x9d\xdd\x9b-.\xe1\xa4\xa7"); } // [B1, B3, V3, V6] +test { try toAsciiFail("\xf3\xa0\x87\x9d\xdd\x9b-.\xe1\xa4\xa7", false); } // [B1, B3, V3, V6] +test { try toAsciiFail("\xf3\xa0\x87\x9d\xdd\x9b-.\xe1\xa4\xa7", true); } // [B1, B3, V3, V6] test { try toUnicodeFail("xn----k4c.xn--lff"); } // [B1, B3, V3, V6] +test { try toAsciiFail("xn----k4c.xn--lff", false); } // [B1, B3, V3, V6] +test { try toAsciiFail("xn----k4c.xn--lff", true); } // [B1, B3, V3, V6] test { try toUnicodeFail("\xf0\x9e\xa4\xb4\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x86\xe2\x92\x8c\xf3\x98\xa4\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x86\xe2\x92\x8c\xf3\x98\xa4\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x86\xe2\x92\x8c\xf3\x98\xa4\xb8", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xb4\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x865.\xf3\x98\xa4\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x865.\xf3\x98\xa4\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x865.\xf3\x98\xa4\xb8", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x92\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x865.\xf3\x98\xa4\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x865.\xf3\x98\xa4\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x865.\xf3\x98\xa4\xb8", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--fuix729epewf.xn--5-w93e.xn--7b83e"); } // [B1, V6, V7] +test { try toAsciiFail("xn--fuix729epewf.xn--5-w93e.xn--7b83e", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--fuix729epewf.xn--5-w93e.xn--7b83e", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x92\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x86\xe2\x92\x8c\xf3\x98\xa4\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x86\xe2\x92\x8c\xf3\x98\xa4\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf3\xa0\x86\xb9\xe2\xa6\x89\xf0\x90\xb9\xba.\xea\xa0\x86\xe2\x92\x8c\xf3\x98\xa4\xb8", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--fuix729epewf.xn--xsh5029b6e77i"); } // [B1, V6, V7] +test { try toAsciiFail("xn--fuix729epewf.xn--xsh5029b6e77i", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--fuix729epewf.xn--xsh5029b6e77i", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf3\xa0\x84\xb8\xe2\x82\x80\xe3\x80\x82\xf0\x91\x96\xbf\xe2\x80\x8c\xf0\x90\xa6\x82\xe2\x80\x8d"); } // [B1, C2, V6] +test { try toAsciiFail("\xf3\xa0\x84\xb8\xe2\x82\x80\xe3\x80\x82\xf0\x91\x96\xbf\xe2\x80\x8c\xf0\x90\xa6\x82\xe2\x80\x8d", false); } // [B1, C2, V6] +test { try toAsciiFail("\xf3\xa0\x84\xb8\xe2\x82\x80\xe3\x80\x82\xf0\x91\x96\xbf\xe2\x80\x8c\xf0\x90\xa6\x82\xe2\x80\x8d", true); } // [B1, V6] test { try toUnicodeFail("\xf3\xa0\x84\xb80\xe3\x80\x82\xf0\x91\x96\xbf\xe2\x80\x8c\xf0\x90\xa6\x82\xe2\x80\x8d"); } // [B1, C2, V6] +test { try toAsciiFail("\xf3\xa0\x84\xb80\xe3\x80\x82\xf0\x91\x96\xbf\xe2\x80\x8c\xf0\x90\xa6\x82\xe2\x80\x8d", false); } // [B1, C2, V6] +test { try toAsciiFail("\xf3\xa0\x84\xb80\xe3\x80\x82\xf0\x91\x96\xbf\xe2\x80\x8c\xf0\x90\xa6\x82\xe2\x80\x8d", true); } // [B1, V6] test { try toUnicodeFail("0.xn--mn9cz2s"); } // [B1, V6] +test { try toAsciiFail("0.xn--mn9cz2s", false); } // [B1, V6] +test { try toAsciiFail("0.xn--mn9cz2s", true); } // [B1, V6] test { try toUnicodeFail("0.xn--0ugc8040p9hk"); } // [B1, C2, V6] +test { try toAsciiFail("0.xn--0ugc8040p9hk", false); } // [B1, C2, V6] +test { try toAsciiFail("0.xn--0ugc8040p9hk", true); } // [B1, C2, V6] test { try toUnicodePass("\xe1\x82\xba\xf0\x90\x8b\xb8\xf3\xa0\x84\x84\xe3\x80\x82\xf0\x9d\x9f\x9d\xed\x9f\xb6\xe1\x80\xba", "\xe2\xb4\x9a\xf0\x90\x8b\xb8.5\xed\x9f\xb6\xe1\x80\xba"); } test { try toAsciiPass("\xe1\x82\xba\xf0\x90\x8b\xb8\xf3\xa0\x84\x84\xe3\x80\x82\xf0\x9d\x9f\x9d\xed\x9f\xb6\xe1\x80\xba", "xn--ilj2659d.xn--5-dug9054m", false); } test { try toAsciiPass("\xe1\x82\xba\xf0\x90\x8b\xb8\xf3\xa0\x84\x84\xe3\x80\x82\xf0\x9d\x9f\x9d\xed\x9f\xb6\xe1\x80\xba", "xn--ilj2659d.xn--5-dug9054m", true); } @@ -2516,12 +5706,26 @@ test { try toUnicodePass("\xe2\xb4\x9a\xf0\x90\x8b\xb8\xf3\xa0\x84\x84\xe3\x80\x test { try toAsciiPass("\xe2\xb4\x9a\xf0\x90\x8b\xb8\xf3\xa0\x84\x84\xe3\x80\x82\xf0\x9d\x9f\x9d\xed\x9f\xb6\xe1\x80\xba", "xn--ilj2659d.xn--5-dug9054m", false); } test { try toAsciiPass("\xe2\xb4\x9a\xf0\x90\x8b\xb8\xf3\xa0\x84\x84\xe3\x80\x82\xf0\x9d\x9f\x9d\xed\x9f\xb6\xe1\x80\xba", "xn--ilj2659d.xn--5-dug9054m", true); } test { try toUnicodeFail("xn--ynd2415j.xn--5-dug9054m"); } // [V7] +test { try toAsciiFail("xn--ynd2415j.xn--5-dug9054m", false); } // [V7] +test { try toAsciiFail("xn--ynd2415j.xn--5-dug9054m", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d-\xe1\xa0\xb9\xef\xb9\xaa.\xe1\xb7\xa1\xe1\xa4\xa2"); } // [C2, V6, U1] +test { try toAsciiFail("\xe2\x80\x8d-\xe1\xa0\xb9\xef\xb9\xaa.\xe1\xb7\xa1\xe1\xa4\xa2", false); } // [C2, V6, U1] +test { try toAsciiFail("\xe2\x80\x8d-\xe1\xa0\xb9\xef\xb9\xaa.\xe1\xb7\xa1\xe1\xa4\xa2", true); } // [V3, V6, U1] test { try toUnicodeFail("\xe2\x80\x8d-\xe1\xa0\xb9%.\xe1\xb7\xa1\xe1\xa4\xa2"); } // [C2, V6, U1] +test { try toAsciiFail("\xe2\x80\x8d-\xe1\xa0\xb9%.\xe1\xb7\xa1\xe1\xa4\xa2", false); } // [C2, V6, U1] +test { try toAsciiFail("\xe2\x80\x8d-\xe1\xa0\xb9%.\xe1\xb7\xa1\xe1\xa4\xa2", true); } // [V3, V6, U1] test { try toUnicodeFail("xn---%-u4o.xn--gff52t"); } // [V3, V6, U1] +test { try toAsciiFail("xn---%-u4o.xn--gff52t", false); } // [V3, V6, U1] +test { try toAsciiFail("xn---%-u4o.xn--gff52t", true); } // [V3, V6, U1] test { try toUnicodeFail("xn---%-u4oy48b.xn--gff52t"); } // [C2, V6, U1] +test { try toAsciiFail("xn---%-u4oy48b.xn--gff52t", false); } // [C2, V6, U1] +test { try toAsciiFail("xn---%-u4oy48b.xn--gff52t", true); } // [C2, V6, U1] test { try toUnicodeFail("xn----c6jx047j.xn--gff52t"); } // [V3, V6, V7] +test { try toAsciiFail("xn----c6jx047j.xn--gff52t", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----c6jx047j.xn--gff52t", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----c6j614b1z4v.xn--gff52t"); } // [C2, V6, V7] +test { try toAsciiFail("xn----c6j614b1z4v.xn--gff52t", false); } // [C2, V6, V7] +test { try toAsciiFail("xn----c6j614b1z4v.xn--gff52t", true); } // [C2, V6, V7] test { try toUnicodePass("\xe2\x89\xa0.\xe1\xa0\xbf", "\xe2\x89\xa0.\xe1\xa0\xbf"); } test { try toAsciiPass("\xe2\x89\xa0.\xe1\xa0\xbf", "xn--1ch.xn--y7e", false); } test { try toAsciiPass("\xe2\x89\xa0.\xe1\xa0\xbf", "xn--1ch.xn--y7e", true); } @@ -2544,19 +5748,47 @@ test { try toUnicodePass("\xdc\xa3\xd6\xa3.\xe3\x83\x8f\xe3\x82\xa4\xe3\x83\x84" test { try toAsciiPass("\xdc\xa3\xd6\xa3.\xe3\x83\x8f\xe3\x82\xa4\xe3\x83\x84", "xn--ucb18e.xn--eck4c5a", false); } test { try toAsciiPass("\xdc\xa3\xd6\xa3.\xe3\x83\x8f\xe3\x82\xa4\xe3\x83\x84", "xn--ucb18e.xn--eck4c5a", true); } test { try toUnicodeFail("\xf0\x9e\xb7\xa5\xf3\xa0\x86\x80\xe2\x89\xae.\xe2\xb5\xbf-"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xb7\xa5\xf3\xa0\x86\x80\xe2\x89\xae.\xe2\xb5\xbf-", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xb7\xa5\xf3\xa0\x86\x80\xe2\x89\xae.\xe2\xb5\xbf-", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xb7\xa5\xf3\xa0\x86\x80<\xcc\xb8.\xe2\xb5\xbf-"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xb7\xa5\xf3\xa0\x86\x80<\xcc\xb8.\xe2\xb5\xbf-", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xb7\xa5\xf3\xa0\x86\x80<\xcc\xb8.\xe2\xb5\xbf-", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("xn--gdhx802p.xn----i2s"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("xn--gdhx802p.xn----i2s", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("xn--gdhx802p.xn----i2s", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("\xe2\x82\x86\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xef\xbd\xa1\xf0\x9e\xa4\x85\xdb\xad\xef\xb1\x9a\xf3\xa0\xae\xa8"); } // [B1, B3, V7] +test { try toAsciiFail("\xe2\x82\x86\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xef\xbd\xa1\xf0\x9e\xa4\x85\xdb\xad\xef\xb1\x9a\xf3\xa0\xae\xa8", false); } // [B1, B3, V7] +test { try toAsciiFail("\xe2\x82\x86\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xef\xbd\xa1\xf0\x9e\xa4\x85\xdb\xad\xef\xb1\x9a\xf3\xa0\xae\xa8", true); } // [B1, B3, V7] test { try toUnicodeFail("6\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xe3\x80\x82\xf0\x9e\xa4\x85\xdb\xad\xd9\x8a\xd9\x8a\xf3\xa0\xae\xa8"); } // [B1, B3, V7] +test { try toAsciiFail("6\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xe3\x80\x82\xf0\x9e\xa4\x85\xdb\xad\xd9\x8a\xd9\x8a\xf3\xa0\xae\xa8", false); } // [B1, B3, V7] +test { try toAsciiFail("6\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xe3\x80\x82\xf0\x9e\xa4\x85\xdb\xad\xd9\x8a\xd9\x8a\xf3\xa0\xae\xa8", true); } // [B1, B3, V7] test { try toUnicodeFail("6\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xe3\x80\x82\xf0\x9e\xa4\xa7\xdb\xad\xd9\x8a\xd9\x8a\xf3\xa0\xae\xa8"); } // [B1, B3, V7] +test { try toAsciiFail("6\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xe3\x80\x82\xf0\x9e\xa4\xa7\xdb\xad\xd9\x8a\xd9\x8a\xf3\xa0\xae\xa8", false); } // [B1, B3, V7] +test { try toAsciiFail("6\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xe3\x80\x82\xf0\x9e\xa4\xa7\xdb\xad\xd9\x8a\xd9\x8a\xf3\xa0\xae\xa8", true); } // [B1, B3, V7] test { try toUnicodeFail("xn--6-kmf4691ejv41j.xn--mhba10ch545mn8v8h"); } // [B1, B3, V7] +test { try toAsciiFail("xn--6-kmf4691ejv41j.xn--mhba10ch545mn8v8h", false); } // [B1, B3, V7] +test { try toAsciiFail("xn--6-kmf4691ejv41j.xn--mhba10ch545mn8v8h", true); } // [B1, B3, V7] test { try toUnicodeFail("\xe2\x82\x86\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xef\xbd\xa1\xf0\x9e\xa4\xa7\xdb\xad\xef\xb1\x9a\xf3\xa0\xae\xa8"); } // [B1, B3, V7] +test { try toAsciiFail("\xe2\x82\x86\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xef\xbd\xa1\xf0\x9e\xa4\xa7\xdb\xad\xef\xb1\x9a\xf3\xa0\xae\xa8", false); } // [B1, B3, V7] +test { try toAsciiFail("\xe2\x82\x86\xe6\xa6\x8e\xf2\xa6\x96\x8e\xe0\xb5\x8d\xef\xbd\xa1\xf0\x9e\xa4\xa7\xdb\xad\xef\xb1\x9a\xf3\xa0\xae\xa8", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\xa3\xa9\xab\xef\xbc\x8e\xf2\x8c\x91\xb2"); } // [V7] +test { try toAsciiFail("\xf0\xa3\xa9\xab\xef\xbc\x8e\xf2\x8c\x91\xb2", false); } // [V7] +test { try toAsciiFail("\xf0\xa3\xa9\xab\xef\xbc\x8e\xf2\x8c\x91\xb2", true); } // [V7] test { try toUnicodeFail("\xf0\xa3\xa9\xab.\xf2\x8c\x91\xb2"); } // [V7] +test { try toAsciiFail("\xf0\xa3\xa9\xab.\xf2\x8c\x91\xb2", false); } // [V7] +test { try toAsciiFail("\xf0\xa3\xa9\xab.\xf2\x8c\x91\xb2", true); } // [V7] test { try toUnicodeFail("xn--td3j.xn--4628b"); } // [V7] +test { try toAsciiFail("xn--td3j.xn--4628b", false); } // [V7] +test { try toAsciiFail("xn--td3j.xn--4628b", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xef\xb8\x92\xef\xbd\xa1\xda\xb9\xe2\x80\x8c"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xb8\x92\xef\xbd\xa1\xda\xb9\xe2\x80\x8c", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xb8\x92\xef\xbd\xa1\xda\xb9\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("xn--y86c.xn--skb"); } // [B1, V7] +test { try toAsciiFail("xn--y86c.xn--skb", false); } // [B1, V7] +test { try toAsciiFail("xn--y86c.xn--skb", true); } // [B1, V7] test { try toUnicodeFail("xn--1ug2658f.xn--skb080k"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("xn--1ug2658f.xn--skb080k", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("xn--1ug2658f.xn--skb080k", true); } // [B1, B3, C1, C2, V7] test { try toUnicodePass("xn--skb", "\xda\xb9"); } test { try toAsciiPass("xn--skb", "xn--skb", false); } test { try toAsciiPass("xn--skb", "xn--skb", true); } @@ -2564,299 +5796,887 @@ test { try toUnicodePass("\xda\xb9", "\xda\xb9"); } test { try toAsciiPass("\xda\xb9", "xn--skb", false); } test { try toAsciiPass("\xda\xb9", "xn--skb", true); } test { try toUnicodeFail("\xf0\x90\xb9\xa6\xe2\x80\x8c\xf0\x90\xb9\xb6\xe3\x80\x82\xe2\x81\xad"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa6\xe2\x80\x8c\xf0\x90\xb9\xb6\xe3\x80\x82\xe2\x81\xad", false); } // [B1, C1, A4_2] +test { try toAsciiFail("\xf0\x90\xb9\xa6\xe2\x80\x8c\xf0\x90\xb9\xb6\xe3\x80\x82\xe2\x81\xad", true); } // [B1, A4_2] test { try toUnicodeFail("xn--eo0d6a."); } // [B1] +test { try toAsciiFail("xn--eo0d6a.", false); } // [B1, A4_2] +test { try toAsciiFail("xn--eo0d6a.", true); } // [B1, A4_2] test { try toUnicodeFail("xn--0ug4994goba."); } // [B1, C1] +test { try toAsciiFail("xn--0ug4994goba.", false); } // [B1, C1, A4_2] +test { try toAsciiFail("xn--0ug4994goba.", true); } // [B1, C1, A4_2] test { try toUnicodeFail("xn--eo0d6a.xn--sxg"); } // [B1, V7] +test { try toAsciiFail("xn--eo0d6a.xn--sxg", false); } // [B1, V7] +test { try toAsciiFail("xn--eo0d6a.xn--sxg", true); } // [B1, V7] test { try toUnicodeFail("xn--0ug4994goba.xn--sxg"); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug4994goba.xn--sxg", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug4994goba.xn--sxg", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe0\xb1\x8d\xf0\x9d\xa8\xbe\xd6\xa9\xf0\x9d\x9f\xad\xe3\x80\x82-\xf0\x91\x9c\xa8"); } // [V3, V6] +test { try toAsciiFail("\xe0\xb1\x8d\xf0\x9d\xa8\xbe\xd6\xa9\xf0\x9d\x9f\xad\xe3\x80\x82-\xf0\x91\x9c\xa8", false); } // [V3, V6] +test { try toAsciiFail("\xe0\xb1\x8d\xf0\x9d\xa8\xbe\xd6\xa9\xf0\x9d\x9f\xad\xe3\x80\x82-\xf0\x91\x9c\xa8", true); } // [V3, V6] test { try toUnicodeFail("\xe0\xb1\x8d\xf0\x9d\xa8\xbe\xd6\xa91\xe3\x80\x82-\xf0\x91\x9c\xa8"); } // [V3, V6] +test { try toAsciiFail("\xe0\xb1\x8d\xf0\x9d\xa8\xbe\xd6\xa91\xe3\x80\x82-\xf0\x91\x9c\xa8", false); } // [V3, V6] +test { try toAsciiFail("\xe0\xb1\x8d\xf0\x9d\xa8\xbe\xd6\xa91\xe3\x80\x82-\xf0\x91\x9c\xa8", true); } // [V3, V6] test { try toUnicodeFail("xn--1-rfc312cdp45c.xn----nq0j"); } // [V3, V6] +test { try toAsciiFail("xn--1-rfc312cdp45c.xn----nq0j", false); } // [V3, V6] +test { try toAsciiFail("xn--1-rfc312cdp45c.xn----nq0j", true); } // [V3, V6] test { try toUnicodeFail("\xf2\xa3\xbf\x88\xe3\x80\x82\xeb\x99\x8f"); } // [V7] +test { try toAsciiFail("\xf2\xa3\xbf\x88\xe3\x80\x82\xeb\x99\x8f", false); } // [V7] +test { try toAsciiFail("\xf2\xa3\xbf\x88\xe3\x80\x82\xeb\x99\x8f", true); } // [V7] test { try toUnicodeFail("\xf2\xa3\xbf\x88\xe3\x80\x82\xe1\x84\x84\xe1\x85\xab\xe1\x86\xae"); } // [V7] +test { try toAsciiFail("\xf2\xa3\xbf\x88\xe3\x80\x82\xe1\x84\x84\xe1\x85\xab\xe1\x86\xae", false); } // [V7] +test { try toAsciiFail("\xf2\xa3\xbf\x88\xe3\x80\x82\xe1\x84\x84\xe1\x85\xab\xe1\x86\xae", true); } // [V7] test { try toUnicodeFail("xn--ph26c.xn--281b"); } // [V7] +test { try toAsciiFail("xn--ph26c.xn--281b", false); } // [V7] +test { try toAsciiFail("xn--ph26c.xn--281b", true); } // [V7] test { try toUnicodeFail("\xf1\x95\xa8\x9a\xf3\xa0\x84\x8c\xf3\x91\xbd\x80\xe1\xa1\x80.\xe0\xa2\xb6"); } // [V7] +test { try toAsciiFail("\xf1\x95\xa8\x9a\xf3\xa0\x84\x8c\xf3\x91\xbd\x80\xe1\xa1\x80.\xe0\xa2\xb6", false); } // [V7] +test { try toAsciiFail("\xf1\x95\xa8\x9a\xf3\xa0\x84\x8c\xf3\x91\xbd\x80\xe1\xa1\x80.\xe0\xa2\xb6", true); } // [V7] test { try toUnicodeFail("xn--z7e98100evc01b.xn--czb"); } // [V7] +test { try toAsciiFail("xn--z7e98100evc01b.xn--czb", false); } // [V7] +test { try toAsciiFail("xn--z7e98100evc01b.xn--czb", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbd\xa1\xf1\x85\x81\x9b"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf1\x85\x81\x9b", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf1\x85\x81\x9b", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf1\x85\x81\x9b"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf1\x85\x81\x9b", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf1\x85\x81\x9b", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--6x4u"); } // [V7, X4_2] +test { try toAsciiFail(".xn--6x4u", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--6x4u", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--6x4u"); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--6x4u", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--6x4u", true); } // [C2, V7] test { try toUnicodeFail("\xe0\xa1\x8b\xe7\x9a\xa5\xef\xbc\x8e-"); } // [B1, B2, B3, V3] +test { try toAsciiFail("\xe0\xa1\x8b\xe7\x9a\xa5\xef\xbc\x8e-", false); } // [B1, B2, B3, V3] +test { try toAsciiFail("\xe0\xa1\x8b\xe7\x9a\xa5\xef\xbc\x8e-", true); } // [B1, B2, B3, V3] test { try toUnicodeFail("\xe0\xa1\x8b\xe7\x9a\xa5.-"); } // [B1, B2, B3, V3] +test { try toAsciiFail("\xe0\xa1\x8b\xe7\x9a\xa5.-", false); } // [B1, B2, B3, V3] +test { try toAsciiFail("\xe0\xa1\x8b\xe7\x9a\xa5.-", true); } // [B1, B2, B3, V3] test { try toUnicodeFail("xn--9vb4167c.-"); } // [B1, B2, B3, V3] +test { try toAsciiFail("xn--9vb4167c.-", false); } // [B1, B2, B3, V3] +test { try toAsciiFail("xn--9vb4167c.-", true); } // [B1, B2, B3, V3] test { try toUnicodeFail("\xf0\x90\xa3\xb8\xcc\x95\xf0\x90\xae\x87\xef\xbc\x8e\xe2\x92\x88\xea\xa1\xa6"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xa3\xb8\xcc\x95\xf0\x90\xae\x87\xef\xbc\x8e\xe2\x92\x88\xea\xa1\xa6", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xa3\xb8\xcc\x95\xf0\x90\xae\x87\xef\xbc\x8e\xe2\x92\x88\xea\xa1\xa6", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xa3\xb8\xcc\x95\xf0\x90\xae\x87.1.\xea\xa1\xa6"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xa3\xb8\xcc\x95\xf0\x90\xae\x87.1.\xea\xa1\xa6", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xa3\xb8\xcc\x95\xf0\x90\xae\x87.1.\xea\xa1\xa6", true); } // [B1, V7] test { try toUnicodeFail("xn--5sa9915kgvb.1.xn--cd9a"); } // [B1, V7] +test { try toAsciiFail("xn--5sa9915kgvb.1.xn--cd9a", false); } // [B1, V7] +test { try toAsciiFail("xn--5sa9915kgvb.1.xn--cd9a", true); } // [B1, V7] test { try toUnicodeFail("xn--5sa9915kgvb.xn--tshw539b"); } // [B1, V7] +test { try toAsciiFail("xn--5sa9915kgvb.xn--tshw539b", false); } // [B1, V7] +test { try toAsciiFail("xn--5sa9915kgvb.xn--tshw539b", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x81\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x81\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x81\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0a\xcc\x84\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0a\xcc\x84\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0a\xcc\x84\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x81\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x81\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x81\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0a\xcc\x84\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0a\xcc\x84\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0a\xcc\x84\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0a\xcc\x84\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0a\xcc\x84\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0a\xcc\x84\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x81\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x81\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x81\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x80\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x80\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0\xc4\x80\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0A\xcc\x84\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0A\xcc\x84\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xe1\x85\xa0A\xcc\x84\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("xn--tcb323r.xn--yda4409k"); } // [B5, B6] +test { try toAsciiFail("xn--tcb323r.xn--yda4409k", false); } // [B5, B6] +test { try toAsciiFail("xn--tcb323r.xn--yda4409k", true); } // [B5, B6] test { try toUnicodeFail("xn--tcb736kea974k.xn--yda4409k"); } // [B5, B6, C1, C2] +test { try toAsciiFail("xn--tcb736kea974k.xn--yda4409k", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("xn--tcb736kea974k.xn--yda4409k", true); } // [B5, B6, C1, C2] test { try toUnicodeFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0a\xcc\x84\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0a\xcc\x84\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0a\xcc\x84\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x81\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x81\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe2\xb4\x9b\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x81\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x80\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x80\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0\xc4\x80\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0A\xcc\x84\xf0\x90\xb9\xa6"); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0A\xcc\x84\xf0\x90\xb9\xa6", false); } // [B5, B6, C1, C2] +test { try toAsciiFail("\xe1\x82\xbb\xe2\x80\x8c\xd6\xa2\xe2\x80\x8d\xe3\x80\x82\xef\xbe\xa0A\xcc\x84\xf0\x90\xb9\xa6", true); } // [B5, B6] test { try toUnicodeFail("xn--tcb597c.xn--yda594fdn5q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb597c.xn--yda594fdn5q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb597c.xn--yda594fdn5q", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tcb597cdmmfa.xn--yda594fdn5q"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb597cdmmfa.xn--yda594fdn5q", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb597cdmmfa.xn--yda594fdn5q", true); } // [B5, B6, C1, C2, V7] test { try toUnicodeFail("xn--tcb323r.xn--yda594fdn5q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb323r.xn--yda594fdn5q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb323r.xn--yda594fdn5q", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tcb736kea974k.xn--yda594fdn5q"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb736kea974k.xn--yda594fdn5q", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb736kea974k.xn--yda594fdn5q", true); } // [B5, B6, C1, C2, V7] test { try toUnicodeFail("xn--tcb597c.xn--yda9741khjj"); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb597c.xn--yda9741khjj", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb597c.xn--yda9741khjj", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tcb597cdmmfa.xn--yda9741khjj"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb597cdmmfa.xn--yda9741khjj", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb597cdmmfa.xn--yda9741khjj", true); } // [B5, B6, C1, C2, V7] test { try toUnicodeFail("xn--tcb323r.xn--yda9741khjj"); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb323r.xn--yda9741khjj", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--tcb323r.xn--yda9741khjj", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tcb736kea974k.xn--yda9741khjj"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb736kea974k.xn--yda9741khjj", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--tcb736kea974k.xn--yda9741khjj", true); } // [B5, B6, C1, C2, V7] test { try toUnicodeFail("\xef\xbf\xb9\xe2\x80\x8c\xef\xbd\xa1\xe6\x9b\xb3\xe2\xbe\x91\xf0\x90\x8b\xb0\xe2\x89\xaf"); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xef\xbd\xa1\xe6\x9b\xb3\xe2\xbe\x91\xf0\x90\x8b\xb0\xe2\x89\xaf", false); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xef\xbd\xa1\xe6\x9b\xb3\xe2\xbe\x91\xf0\x90\x8b\xb0\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xef\xbf\xb9\xe2\x80\x8c\xef\xbd\xa1\xe6\x9b\xb3\xe2\xbe\x91\xf0\x90\x8b\xb0>\xcc\xb8"); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xef\xbd\xa1\xe6\x9b\xb3\xe2\xbe\x91\xf0\x90\x8b\xb0>\xcc\xb8", false); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xef\xbd\xa1\xe6\x9b\xb3\xe2\xbe\x91\xf0\x90\x8b\xb0>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xef\xbf\xb9\xe2\x80\x8c\xe3\x80\x82\xe6\x9b\xb3\xe8\xa5\xbe\xf0\x90\x8b\xb0\xe2\x89\xaf"); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xe3\x80\x82\xe6\x9b\xb3\xe8\xa5\xbe\xf0\x90\x8b\xb0\xe2\x89\xaf", false); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xe3\x80\x82\xe6\x9b\xb3\xe8\xa5\xbe\xf0\x90\x8b\xb0\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xef\xbf\xb9\xe2\x80\x8c\xe3\x80\x82\xe6\x9b\xb3\xe8\xa5\xbe\xf0\x90\x8b\xb0>\xcc\xb8"); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xe3\x80\x82\xe6\x9b\xb3\xe8\xa5\xbe\xf0\x90\x8b\xb0>\xcc\xb8", false); } // [C1, V7] +test { try toAsciiFail("\xef\xbf\xb9\xe2\x80\x8c\xe3\x80\x82\xe6\x9b\xb3\xe8\xa5\xbe\xf0\x90\x8b\xb0>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("xn--vn7c.xn--hdh501y8wvfs5h"); } // [V7] +test { try toAsciiFail("xn--vn7c.xn--hdh501y8wvfs5h", false); } // [V7] +test { try toAsciiFail("xn--vn7c.xn--hdh501y8wvfs5h", true); } // [V7] test { try toUnicodeFail("xn--0ug2139f.xn--hdh501y8wvfs5h"); } // [C1, V7] +test { try toAsciiFail("xn--0ug2139f.xn--hdh501y8wvfs5h", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug2139f.xn--hdh501y8wvfs5h", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82\xc3\x9f"); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82\xc3\x9f", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82\xc3\x9f", true); } // [V7] test { try toUnicodeFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82\xc3\x9f"); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82\xc3\x9f", false); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82\xc3\x9f", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xaf1.\xe3\x80\x82\xc3\x9f"); } // [X4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82\xc3\x9f", false); } // [A4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82\xc3\x9f", true); } // [A4_2] test { try toUnicodeFail(">\xcc\xb81.\xe3\x80\x82\xc3\x9f"); } // [X4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82\xc3\x9f", false); } // [A4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82\xc3\x9f", true); } // [A4_2] test { try toUnicodeFail(">\xcc\xb81.\xe3\x80\x82SS"); } // [X4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82SS", false); } // [A4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82SS", true); } // [A4_2] test { try toUnicodeFail("\xe2\x89\xaf1.\xe3\x80\x82SS"); } // [X4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82SS", false); } // [A4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82SS", true); } // [A4_2] test { try toUnicodeFail("\xe2\x89\xaf1.\xe3\x80\x82ss"); } // [X4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82ss", false); } // [A4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82ss", true); } // [A4_2] test { try toUnicodeFail(">\xcc\xb81.\xe3\x80\x82ss"); } // [X4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82ss", false); } // [A4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82ss", true); } // [A4_2] test { try toUnicodeFail(">\xcc\xb81.\xe3\x80\x82Ss"); } // [X4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82Ss", false); } // [A4_2] +test { try toAsciiFail(">\xcc\xb81.\xe3\x80\x82Ss", true); } // [A4_2] test { try toUnicodeFail("\xe2\x89\xaf1.\xe3\x80\x82Ss"); } // [X4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82Ss", false); } // [A4_2] +test { try toAsciiFail("\xe2\x89\xaf1.\xe3\x80\x82Ss", true); } // [A4_2] test { try toUnicodeFail("xn--1-ogo..ss"); } // [X4_2] +test { try toAsciiFail("xn--1-ogo..ss", false); } // [A4_2] +test { try toAsciiFail("xn--1-ogo..ss", true); } // [A4_2] test { try toUnicodeFail("xn--1-ogo..xn--zca"); } // [X4_2] +test { try toAsciiFail("xn--1-ogo..xn--zca", false); } // [A4_2] +test { try toAsciiFail("xn--1-ogo..xn--zca", true); } // [A4_2] test { try toUnicodeFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82SS"); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82SS", false); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82SS", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82SS"); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82SS", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82SS", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82ss"); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82ss", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82ss", true); } // [V7] test { try toUnicodeFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82ss"); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82ss", false); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82ss", true); } // [V7] test { try toUnicodeFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82Ss"); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82Ss", false); } // [V7] +test { try toAsciiFail(">\xcc\xb8\xe2\x92\x88\xe3\x80\x82Ss", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82Ss"); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82Ss", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x92\x88\xe3\x80\x82Ss", true); } // [V7] test { try toUnicodeFail("xn--hdh84f.ss"); } // [V7] +test { try toAsciiFail("xn--hdh84f.ss", false); } // [V7] +test { try toAsciiFail("xn--hdh84f.ss", true); } // [V7] test { try toUnicodeFail("xn--hdh84f.xn--zca"); } // [V7] +test { try toAsciiFail("xn--hdh84f.xn--zca", false); } // [V7] +test { try toAsciiFail("xn--hdh84f.xn--zca", true); } // [V7] test { try toUnicodeFail("\xd9\xa7\xe2\x80\x8d\xef\xae\x96\xef\xbd\xa1\xdf\x9a-\xe2\x82\x86\xe1\x82\xb9"); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xef\xae\x96\xef\xbd\xa1\xdf\x9a-\xe2\x82\x86\xe1\x82\xb9", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xef\xae\x96\xef\xbd\xa1\xdf\x9a-\xe2\x82\x86\xe1\x82\xb9", true); } // [B1, B2, B3] test { try toUnicodeFail("\xd9\xa7\xe2\x80\x8d\xda\xb3\xe3\x80\x82\xdf\x9a-6\xe1\x82\xb9"); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xda\xb3\xe3\x80\x82\xdf\x9a-6\xe1\x82\xb9", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xda\xb3\xe3\x80\x82\xdf\x9a-6\xe1\x82\xb9", true); } // [B1, B2, B3] test { try toUnicodeFail("\xd9\xa7\xe2\x80\x8d\xda\xb3\xe3\x80\x82\xdf\x9a-6\xe2\xb4\x99"); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xda\xb3\xe3\x80\x82\xdf\x9a-6\xe2\xb4\x99", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xda\xb3\xe3\x80\x82\xdf\x9a-6\xe2\xb4\x99", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--gib6m.xn---6-lve6529a"); } // [B1, B2, B3] +test { try toAsciiFail("xn--gib6m.xn---6-lve6529a", false); } // [B1, B2, B3] +test { try toAsciiFail("xn--gib6m.xn---6-lve6529a", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--gib6m343e.xn---6-lve6529a"); } // [B1, B2, B3, C2] +test { try toAsciiFail("xn--gib6m343e.xn---6-lve6529a", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("xn--gib6m343e.xn---6-lve6529a", true); } // [B1, B2, B3, C2] test { try toUnicodeFail("\xd9\xa7\xe2\x80\x8d\xef\xae\x96\xef\xbd\xa1\xdf\x9a-\xe2\x82\x86\xe2\xb4\x99"); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xef\xae\x96\xef\xbd\xa1\xdf\x9a-\xe2\x82\x86\xe2\xb4\x99", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xd9\xa7\xe2\x80\x8d\xef\xae\x96\xef\xbd\xa1\xdf\x9a-\xe2\x82\x86\xe2\xb4\x99", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--gib6m.xn---6-lve002g"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--gib6m.xn---6-lve002g", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--gib6m.xn---6-lve002g", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--gib6m343e.xn---6-lve002g"); } // [B1, B2, B3, C2, V7] +test { try toAsciiFail("xn--gib6m343e.xn---6-lve002g", false); } // [B1, B2, B3, C2, V7] +test { try toAsciiFail("xn--gib6m343e.xn---6-lve002g", true); } // [B1, B2, B3, C2, V7] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbd\xa1\xe2\x89\xa0"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xe2\x89\xa0", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xe2\x89\xa0", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbd\xa1=\xcc\xb8"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1=\xcc\xb8", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1=\xcc\xb8", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82\xe2\x89\xa0"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xe2\x89\xa0", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xe2\x89\xa0", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82=\xcc\xb8"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82=\xcc\xb8", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82=\xcc\xb8", true); } // [A4_2] test { try toUnicodeFail(".xn--1ch"); } // [X4_2] +test { try toAsciiFail(".xn--1ch", false); } // [A4_2] +test { try toAsciiFail(".xn--1ch", true); } // [A4_2] test { try toUnicodeFail("xn--0ug.xn--1ch"); } // [C1] +test { try toAsciiFail("xn--0ug.xn--1ch", false); } // [C1] +test { try toAsciiFail("xn--0ug.xn--1ch", true); } // [C1] test { try toUnicodeFail("\xf0\x91\x96\xbf\xf0\x9d\xa8\x94.\xe1\xa1\x9f\xf0\x91\x96\xbf\xe1\xad\x82\xe2\x80\x8c"); } // [C1, V6] +test { try toAsciiFail("\xf0\x91\x96\xbf\xf0\x9d\xa8\x94.\xe1\xa1\x9f\xf0\x91\x96\xbf\xe1\xad\x82\xe2\x80\x8c", false); } // [C1, V6] +test { try toAsciiFail("\xf0\x91\x96\xbf\xf0\x9d\xa8\x94.\xe1\xa1\x9f\xf0\x91\x96\xbf\xe1\xad\x82\xe2\x80\x8c", true); } // [V6] test { try toUnicodeFail("xn--461dw464a.xn--v8e29loy65a"); } // [V6] +test { try toAsciiFail("xn--461dw464a.xn--v8e29loy65a", false); } // [V6] +test { try toAsciiFail("xn--461dw464a.xn--v8e29loy65a", true); } // [V6] test { try toUnicodeFail("xn--461dw464a.xn--v8e29ldzfo952a"); } // [C1, V6] +test { try toAsciiFail("xn--461dw464a.xn--v8e29ldzfo952a", false); } // [C1, V6] +test { try toAsciiFail("xn--461dw464a.xn--v8e29ldzfo952a", true); } // [C1, V6] test { try toUnicodeFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x83\xe2\x89\xa0-"); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x83\xe2\x89\xa0-", false); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x83\xe2\x89\xa0-", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x83=\xcc\xb8-"); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x83=\xcc\xb8-", false); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x83=\xcc\xb8-", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x84=\xcc\xb8-"); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x84=\xcc\xb8-", false); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x84=\xcc\xb8-", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x84\xe2\x89\xa0-"); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x84\xe2\x89\xa0-", false); } // [C2, V3, V6, V7] +test { try toAsciiFail("\xf2\x94\xa3\xb3\xe2\x80\x8d\xf2\x91\x9d\xb1.\xf0\x96\xac\xb4\xe2\x86\x84\xe2\x89\xa0-", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--6j00chy9a.xn----81n51bt713h"); } // [V3, V6, V7] +test { try toAsciiFail("xn--6j00chy9a.xn----81n51bt713h", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--6j00chy9a.xn----81n51bt713h", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--1ug15151gkb5a.xn----81n51bt713h"); } // [C2, V3, V6, V7] +test { try toAsciiFail("xn--1ug15151gkb5a.xn----81n51bt713h", false); } // [C2, V3, V6, V7] +test { try toAsciiFail("xn--1ug15151gkb5a.xn----81n51bt713h", true); } // [C2, V3, V6, V7] test { try toUnicodeFail("xn--6j00chy9a.xn----61n81bt713h"); } // [V3, V6, V7] +test { try toAsciiFail("xn--6j00chy9a.xn----61n81bt713h", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--6j00chy9a.xn----61n81bt713h", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--1ug15151gkb5a.xn----61n81bt713h"); } // [C2, V3, V6, V7] +test { try toAsciiFail("xn--1ug15151gkb5a.xn----61n81bt713h", false); } // [C2, V3, V6, V7] +test { try toAsciiFail("xn--1ug15151gkb5a.xn----61n81bt713h", true); } // [C2, V3, V6, V7] test { try toUnicodeFail("\xdf\xa2\xcf\x82\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2"); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x82\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", false); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x82\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", true); } // [B2, V7] test { try toUnicodeFail("\xdf\xa2\xcf\x82\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2"); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x82\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", false); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x82\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", true); } // [B2, V7] test { try toUnicodeFail("\xdf\xa2\xce\xa3\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2"); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xce\xa3\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", false); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xce\xa3\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", true); } // [B2, V7] test { try toUnicodeFail("\xdf\xa2\xcf\x83\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2"); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x83\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", false); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x83\xe2\x80\x8d7\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", true); } // [B2, V7] test { try toUnicodeFail("xn--7-zmb872a.xn--wy1ao4929b"); } // [B2, V7] +test { try toAsciiFail("xn--7-zmb872a.xn--wy1ao4929b", false); } // [B2, V7] +test { try toAsciiFail("xn--7-zmb872a.xn--wy1ao4929b", true); } // [B2, V7] test { try toUnicodeFail("xn--7-zmb872aez5a.xn--wy1ao4929b"); } // [B2, C2, V7] +test { try toAsciiFail("xn--7-zmb872aez5a.xn--wy1ao4929b", false); } // [B2, C2, V7] +test { try toAsciiFail("xn--7-zmb872aez5a.xn--wy1ao4929b", true); } // [B2, C2, V7] test { try toUnicodeFail("xn--7-xmb182aez5a.xn--wy1ao4929b"); } // [B2, C2, V7] +test { try toAsciiFail("xn--7-xmb182aez5a.xn--wy1ao4929b", false); } // [B2, C2, V7] +test { try toAsciiFail("xn--7-xmb182aez5a.xn--wy1ao4929b", true); } // [B2, C2, V7] test { try toUnicodeFail("\xdf\xa2\xce\xa3\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2"); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xce\xa3\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", false); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xce\xa3\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", true); } // [B2, V7] test { try toUnicodeFail("\xdf\xa2\xcf\x83\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2"); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x83\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", false); } // [B2, C2, V7] +test { try toAsciiFail("\xdf\xa2\xcf\x83\xe2\x80\x8d\xf0\x9d\x9f\xb3\xe3\x80\x82\xe8\x94\x91\xf2\x9b\x96\xa2", true); } // [B2, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb0.\xd8\x80"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb0.\xd8\x80", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb0.\xd8\x80", true); } // [B1, V7] test { try toUnicodeFail("xn--oo0d.xn--ifb"); } // [B1, V7] +test { try toAsciiFail("xn--oo0d.xn--ifb", false); } // [B1, V7] +test { try toAsciiFail("xn--oo0d.xn--ifb", true); } // [B1, V7] test { try toUnicodeFail("-\xe0\xa2\xa8.\xf0\xb1\xa0\x96"); } // [B1, V3] +test { try toAsciiFail("-\xe0\xa2\xa8.\xf0\xb1\xa0\x96", false); } // [B1, V3] +test { try toAsciiFail("-\xe0\xa2\xa8.\xf0\xb1\xa0\x96", true); } // [B1, V3] test { try toUnicodeFail("xn----mod.xn--5o9n"); } // [B1, V3] +test { try toAsciiFail("xn----mod.xn--5o9n", false); } // [B1, V3] +test { try toAsciiFail("xn----mod.xn--5o9n", true); } // [B1, V3] test { try toUnicodeFail("\xe2\x89\xaf\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x86\xe2\x92\x88"); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x86\xe2\x92\x88", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x86\xe2\x92\x88", true); } // [B1, V7] test { try toUnicodeFail(">\xcc\xb8\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x86\xe2\x92\x88"); } // [B1, V7] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x86\xe2\x92\x88", false); } // [B1, V7] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x86\xe2\x92\x88", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xaf\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x861."); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x861.", false); } // [B1, A4_2] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x861.", true); } // [B1, A4_2] test { try toUnicodeFail(">\xcc\xb8\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x861."); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x861.", false); } // [B1, A4_2] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xb1\xb8\xf3\xa0\x87\x80\xe3\x80\x82\xe8\xaa\x861.", true); } // [B1, A4_2] test { try toUnicodeFail("xn--hdh7151p.xn--1-dy1d."); } // [B1] +test { try toAsciiFail("xn--hdh7151p.xn--1-dy1d.", false); } // [B1, A4_2] +test { try toAsciiFail("xn--hdh7151p.xn--1-dy1d.", true); } // [B1, A4_2] test { try toUnicodeFail("xn--hdh7151p.xn--tsh1248a"); } // [B1, V7] +test { try toAsciiFail("xn--hdh7151p.xn--tsh1248a", false); } // [B1, V7] +test { try toAsciiFail("xn--hdh7151p.xn--tsh1248a", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x96\xf0\x9e\xa5\x99\xe4\x90\x8a\xd9\x90\xef\xbc\x8e\xef\xb8\x92\xd9\x85\xe2\x86\xba\xda\x9c"); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x96\xf0\x9e\xa5\x99\xe4\x90\x8a\xd9\x90\xef\xbc\x8e\xef\xb8\x92\xd9\x85\xe2\x86\xba\xda\x9c", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x96\xf0\x9e\xa5\x99\xe4\x90\x8a\xd9\x90\xef\xbc\x8e\xef\xb8\x92\xd9\x85\xe2\x86\xba\xda\x9c", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd8\x96\xf0\x9e\xa5\x99\xe4\x90\x8a\xd9\x90.\xe3\x80\x82\xd9\x85\xe2\x86\xba\xda\x9c"); } // [B1, V6, X4_2] +test { try toAsciiFail("\xd8\x96\xf0\x9e\xa5\x99\xe4\x90\x8a\xd9\x90.\xe3\x80\x82\xd9\x85\xe2\x86\xba\xda\x9c", false); } // [B1, V6, A4_2] +test { try toAsciiFail("\xd8\x96\xf0\x9e\xa5\x99\xe4\x90\x8a\xd9\x90.\xe3\x80\x82\xd9\x85\xe2\x86\xba\xda\x9c", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--4fb0j490qjg4x..xn--hhb8o948e"); } // [B1, V6, X4_2] +test { try toAsciiFail("xn--4fb0j490qjg4x..xn--hhb8o948e", false); } // [B1, V6, A4_2] +test { try toAsciiFail("xn--4fb0j490qjg4x..xn--hhb8o948e", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--4fb0j490qjg4x.xn--hhb8o948euo5r"); } // [B1, V6, V7] +test { try toAsciiFail("xn--4fb0j490qjg4x.xn--hhb8o948euo5r", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--4fb0j490qjg4x.xn--hhb8o948euo5r", true); } // [B1, V6, V7] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.\xe2\x80\x8c\xe0\xab\x85\xf3\xa9\xb8\xa4\xdb\xb4"); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.\xe2\x80\x8c\xe0\xab\x85\xf3\xa9\xb8\xa4\xdb\xb4", false); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.\xe2\x80\x8c\xe0\xab\x85\xf3\xa9\xb8\xa4\xdb\xb4", true); } // [V6, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.\xe2\x80\x8c\xe0\xab\x85\xf3\xa9\xb8\xa4\xdb\xb4"); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.\xe2\x80\x8c\xe0\xab\x85\xf3\xa9\xb8\xa4\xdb\xb4", false); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.\xe2\x80\x8c\xe0\xab\x85\xf3\xa9\xb8\xa4\xdb\xb4", true); } // [V6, V7, U1] test { try toUnicodeFail("xn---?-6g4k75207c.xn--hmb76q74166b"); } // [V6, V7, U1] +test { try toAsciiFail("xn---?-6g4k75207c.xn--hmb76q74166b", false); } // [V6, V7, U1] +test { try toAsciiFail("xn---?-6g4k75207c.xn--hmb76q74166b", true); } // [V6, V7, U1] test { try toUnicodeFail("xn---?-6g4k75207c.xn--hmb76q48y18505a"); } // [C1, V7, U1] +test { try toAsciiFail("xn---?-6g4k75207c.xn--hmb76q48y18505a", false); } // [C1, V7, U1] +test { try toAsciiFail("xn---?-6g4k75207c.xn--hmb76q48y18505a", true); } // [C1, V7, U1] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.xn--hmb76q74166b"); } // [V6, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.xn--hmb76q74166b", false); } // [V6, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.xn--hmb76q74166b", true); } // [V6, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.xn--hmb76q74166b"); } // [V6, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.xn--hmb76q74166b", false); } // [V6, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.xn--hmb76q74166b", true); } // [V6, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.XN--HMB76Q74166B"); } // [V6, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.XN--HMB76Q74166B", false); } // [V6, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.XN--HMB76Q74166B", true); } // [V6, V7, U1] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.XN--HMB76Q74166B"); } // [V6, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.XN--HMB76Q74166B", false); } // [V6, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.XN--HMB76Q74166B", true); } // [V6, V7, U1] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.Xn--Hmb76q74166b"); } // [V6, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.Xn--Hmb76q74166b", false); } // [V6, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.Xn--Hmb76q74166b", true); } // [V6, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.Xn--Hmb76q74166b"); } // [V6, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.Xn--Hmb76q74166b", false); } // [V6, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.Xn--Hmb76q74166b", true); } // [V6, V7, U1] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.xn--hmb76q48y18505a"); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.xn--hmb76q48y18505a", false); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.xn--hmb76q48y18505a", true); } // [C1, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.xn--hmb76q48y18505a"); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.xn--hmb76q48y18505a", false); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.xn--hmb76q48y18505a", true); } // [C1, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.XN--HMB76Q48Y18505A"); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.XN--HMB76Q48Y18505A", false); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.XN--HMB76Q48Y18505A", true); } // [C1, V7, U1] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.XN--HMB76Q48Y18505A"); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.XN--HMB76Q48Y18505A", false); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.XN--HMB76Q48Y18505A", true); } // [C1, V7, U1] test { try toUnicodeFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.Xn--Hmb76q48y18505a"); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.Xn--Hmb76q48y18505a", false); } // [C1, V7, U1] +test { try toAsciiFail("\xed\x80\xac-?\xf1\xb6\xb3\x92.Xn--Hmb76q48y18505a", true); } // [C1, V7, U1] test { try toUnicodeFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.Xn--Hmb76q48y18505a"); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.Xn--Hmb76q48y18505a", false); } // [C1, V7, U1] +test { try toAsciiFail("\xe1\x84\x8f\xe1\x85\xb0\xe1\x86\xbb-?\xf1\xb6\xb3\x92.Xn--Hmb76q48y18505a", true); } // [C1, V7, U1] test { try toUnicodeFail("\xe1\x82\xac.\xf0\x90\xb9\xbe\xef\xb8\x92\xf0\x91\x81\xbf\xf0\x9e\xbe\x84"); } // [B1, V7] +test { try toAsciiFail("\xe1\x82\xac.\xf0\x90\xb9\xbe\xef\xb8\x92\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", false); } // [B1, V7] +test { try toAsciiFail("\xe1\x82\xac.\xf0\x90\xb9\xbe\xef\xb8\x92\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x82\xac.\xf0\x90\xb9\xbe\xe3\x80\x82\xf0\x91\x81\xbf\xf0\x9e\xbe\x84"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x82\xac.\xf0\x90\xb9\xbe\xe3\x80\x82\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x82\xac.\xf0\x90\xb9\xbe\xe3\x80\x82\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\xb4\x8c.\xf0\x90\xb9\xbe\xe3\x80\x82\xf0\x91\x81\xbf\xf0\x9e\xbe\x84"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\xb4\x8c.\xf0\x90\xb9\xbe\xe3\x80\x82\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\xb4\x8c.\xf0\x90\xb9\xbe\xe3\x80\x82\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--3kj.xn--2o0d.xn--q30dg029a"); } // [B1, V6, V7] +test { try toAsciiFail("xn--3kj.xn--2o0d.xn--q30dg029a", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--3kj.xn--2o0d.xn--q30dg029a", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\xb4\x8c.\xf0\x90\xb9\xbe\xef\xb8\x92\xf0\x91\x81\xbf\xf0\x9e\xbe\x84"); } // [B1, V7] +test { try toAsciiFail("\xe2\xb4\x8c.\xf0\x90\xb9\xbe\xef\xb8\x92\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", false); } // [B1, V7] +test { try toAsciiFail("\xe2\xb4\x8c.\xf0\x90\xb9\xbe\xef\xb8\x92\xf0\x91\x81\xbf\xf0\x9e\xbe\x84", true); } // [B1, V7] test { try toUnicodeFail("xn--3kj.xn--y86c030a9ob6374b"); } // [B1, V7] +test { try toAsciiFail("xn--3kj.xn--y86c030a9ob6374b", false); } // [B1, V7] +test { try toAsciiFail("xn--3kj.xn--y86c030a9ob6374b", true); } // [B1, V7] test { try toUnicodeFail("xn--knd.xn--2o0d.xn--q30dg029a"); } // [B1, V6, V7] +test { try toAsciiFail("xn--knd.xn--2o0d.xn--q30dg029a", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--knd.xn--2o0d.xn--q30dg029a", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--knd.xn--y86c030a9ob6374b"); } // [B1, V7] +test { try toAsciiFail("xn--knd.xn--y86c030a9ob6374b", false); } // [B1, V7] +test { try toAsciiFail("xn--knd.xn--y86c030a9ob6374b", true); } // [B1, V7] test { try toUnicodeFail("\xf1\xa7\x9e\xbf\xe2\x95\x8f\xe3\x80\x82\xf0\x9e\xa9\x95\xf3\xa0\x81\xbe"); } // [B3, B6, V7] +test { try toAsciiFail("\xf1\xa7\x9e\xbf\xe2\x95\x8f\xe3\x80\x82\xf0\x9e\xa9\x95\xf3\xa0\x81\xbe", false); } // [B3, B6, V7] +test { try toAsciiFail("\xf1\xa7\x9e\xbf\xe2\x95\x8f\xe3\x80\x82\xf0\x9e\xa9\x95\xf3\xa0\x81\xbe", true); } // [B3, B6, V7] test { try toUnicodeFail("xn--iyh90030d.xn--1m6hs0260c"); } // [B3, B6, V7] +test { try toAsciiFail("xn--iyh90030d.xn--1m6hs0260c", false); } // [B3, B6, V7] +test { try toAsciiFail("xn--iyh90030d.xn--1m6hs0260c", true); } // [B3, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x94\xae\xf3\xa0\x87\x90\xef\xbc\x8e\xe0\xb0\x80\xe0\xb1\x8d\xe1\x9c\xb4\xe2\x80\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x94\xae\xf3\xa0\x87\x90\xef\xbc\x8e\xe0\xb0\x80\xe0\xb1\x8d\xe1\x9c\xb4\xe2\x80\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x94\xae\xf3\xa0\x87\x90\xef\xbc\x8e\xe0\xb0\x80\xe0\xb1\x8d\xe1\x9c\xb4\xe2\x80\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x94\xae\xf3\xa0\x87\x90.\xe0\xb0\x80\xe0\xb1\x8d\xe1\x9c\xb4\xe2\x80\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x94\xae\xf3\xa0\x87\x90.\xe0\xb0\x80\xe0\xb1\x8d\xe1\x9c\xb4\xe2\x80\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x94\xae\xf3\xa0\x87\x90.\xe0\xb0\x80\xe0\xb1\x8d\xe1\x9c\xb4\xe2\x80\x8d", true); } // [V6] test { try toUnicodeFail("xn--kxh.xn--eoc8m432a"); } // [V6] +test { try toAsciiFail("xn--kxh.xn--eoc8m432a", false); } // [V6] +test { try toAsciiFail("xn--kxh.xn--eoc8m432a", true); } // [V6] test { try toUnicodeFail("xn--1ug04r.xn--eoc8m432a40i"); } // [C2, V6] +test { try toAsciiFail("xn--1ug04r.xn--eoc8m432a40i", false); } // [C2, V6] +test { try toAsciiFail("xn--1ug04r.xn--eoc8m432a40i", true); } // [C2, V6] test { try toUnicodeFail("\xf2\xb9\x9a\xaa\xef\xbd\xa1\xf0\x9f\x84\x82"); } // [V7, U1] +test { try toAsciiFail("\xf2\xb9\x9a\xaa\xef\xbd\xa1\xf0\x9f\x84\x82", false); } // [V7, U1] +test { try toAsciiFail("\xf2\xb9\x9a\xaa\xef\xbd\xa1\xf0\x9f\x84\x82", true); } // [V7, U1] test { try toUnicodeFail("\xf2\xb9\x9a\xaa\xe3\x80\x821,"); } // [V7, U1] +test { try toAsciiFail("\xf2\xb9\x9a\xaa\xe3\x80\x821,", false); } // [V7, U1] +test { try toAsciiFail("\xf2\xb9\x9a\xaa\xe3\x80\x821,", true); } // [V7, U1] test { try toUnicodeFail("xn--n433d.1,"); } // [V7, U1] +test { try toAsciiFail("xn--n433d.1,", false); } // [V7, U1] +test { try toAsciiFail("xn--n433d.1,", true); } // [V7, U1] test { try toUnicodeFail("xn--n433d.xn--v07h"); } // [V7] +test { try toAsciiFail("xn--n433d.xn--v07h", false); } // [V7] +test { try toAsciiFail("xn--n433d.xn--v07h", true); } // [V7] test { try toUnicodeFail("\xf0\x91\x8d\xa8\xe5\x88\x8d.\xf0\x9f\x9b\xa6"); } // [V6] +test { try toAsciiFail("\xf0\x91\x8d\xa8\xe5\x88\x8d.\xf0\x9f\x9b\xa6", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x8d\xa8\xe5\x88\x8d.\xf0\x9f\x9b\xa6", true); } // [V6] test { try toUnicodeFail("xn--rbry728b.xn--y88h"); } // [V6] +test { try toAsciiFail("xn--rbry728b.xn--y88h", false); } // [V6] +test { try toAsciiFail("xn--rbry728b.xn--y88h", true); } // [V6] test { try toUnicodeFail("\xf3\xa0\x8c\x8f3\xef\xbd\xa1\xe1\xaf\xb1\xf0\x9d\x9f\x92"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x8c\x8f3\xef\xbd\xa1\xe1\xaf\xb1\xf0\x9d\x9f\x92", false); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x8c\x8f3\xef\xbd\xa1\xe1\xaf\xb1\xf0\x9d\x9f\x92", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x8c\x8f3\xe3\x80\x82\xe1\xaf\xb14"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x8c\x8f3\xe3\x80\x82\xe1\xaf\xb14", false); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x8c\x8f3\xe3\x80\x82\xe1\xaf\xb14", true); } // [V6, V7] test { try toUnicodeFail("xn--3-ib31m.xn--4-pql"); } // [V6, V7] +test { try toAsciiFail("xn--3-ib31m.xn--4-pql", false); } // [V6, V7] +test { try toAsciiFail("xn--3-ib31m.xn--4-pql", true); } // [V6, V7] test { try toUnicodeFail("\xda\x87\xef\xbc\x96\xe1\x82\xb4\xe8\xbe\x98.\xef\xb4\xa2\xda\x87\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x87\xef\xbc\x96\xe1\x82\xb4\xe8\xbe\x98.\xef\xb4\xa2\xda\x87\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x87\xef\xbc\x96\xe1\x82\xb4\xe8\xbe\x98.\xef\xb4\xa2\xda\x87\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\x876\xe1\x82\xb4\xe8\xbe\x98.\xd8\xb5\xd9\x8a\xda\x87\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x876\xe1\x82\xb4\xe8\xbe\x98.\xd8\xb5\xd9\x8a\xda\x87\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x876\xe1\x82\xb4\xe8\xbe\x98.\xd8\xb5\xd9\x8a\xda\x87\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\x876\xe2\xb4\x94\xe8\xbe\x98.\xd8\xb5\xd9\x8a\xda\x87\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x876\xe2\xb4\x94\xe8\xbe\x98.\xd8\xb5\xd9\x8a\xda\x87\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x876\xe2\xb4\x94\xe8\xbe\x98.\xd8\xb5\xd9\x8a\xda\x87\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("xn--6-gsc2270akm6f.xn--0gb6bxk"); } // [B2, B3] +test { try toAsciiFail("xn--6-gsc2270akm6f.xn--0gb6bxk", false); } // [B2, B3] +test { try toAsciiFail("xn--6-gsc2270akm6f.xn--0gb6bxk", true); } // [B2, B3] test { try toUnicodeFail("xn--6-gsc2270akm6f.xn--0gb6bxkx18g"); } // [B2, B3, C1] +test { try toAsciiFail("xn--6-gsc2270akm6f.xn--0gb6bxkx18g", false); } // [B2, B3, C1] +test { try toAsciiFail("xn--6-gsc2270akm6f.xn--0gb6bxkx18g", true); } // [B2, B3, C1] test { try toUnicodeFail("\xda\x87\xef\xbc\x96\xe2\xb4\x94\xe8\xbe\x98.\xef\xb4\xa2\xda\x87\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x87\xef\xbc\x96\xe2\xb4\x94\xe8\xbe\x98.\xef\xb4\xa2\xda\x87\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\x87\xef\xbc\x96\xe2\xb4\x94\xe8\xbe\x98.\xef\xb4\xa2\xda\x87\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("xn--6-gsc039eqq6k.xn--0gb6bxk"); } // [B2, B3, V7] +test { try toAsciiFail("xn--6-gsc039eqq6k.xn--0gb6bxk", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--6-gsc039eqq6k.xn--0gb6bxk", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--6-gsc039eqq6k.xn--0gb6bxkx18g"); } // [B2, B3, C1, V7] +test { try toAsciiFail("xn--6-gsc039eqq6k.xn--0gb6bxkx18g", false); } // [B2, B3, C1, V7] +test { try toAsciiFail("xn--6-gsc039eqq6k.xn--0gb6bxkx18g", true); } // [B2, B3, C1, V7] test { try toUnicodeFail("\xf3\xa0\x84\x8d.\xf0\x90\xae\xad\xf0\x9e\xb0\xac\xf2\xbb\xab\x9e\xdb\xb9"); } // [B2, V7, X4_2] +test { try toAsciiFail("\xf3\xa0\x84\x8d.\xf0\x90\xae\xad\xf0\x9e\xb0\xac\xf2\xbb\xab\x9e\xdb\xb9", false); } // [B2, V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x84\x8d.\xf0\x90\xae\xad\xf0\x9e\xb0\xac\xf2\xbb\xab\x9e\xdb\xb9", true); } // [B2, V7, A4_2] test { try toUnicodeFail(".xn--mmb3954kd0uf1zx7f"); } // [B2, V7, X4_2] +test { try toAsciiFail(".xn--mmb3954kd0uf1zx7f", false); } // [B2, V7, A4_2] +test { try toAsciiFail(".xn--mmb3954kd0uf1zx7f", true); } // [B2, V7, A4_2] test { try toUnicodeFail("\xea\xa1\xbd\xe2\x89\xaf\xef\xbc\x8e\xf2\xbb\xb2\x80\xf2\x92\xb3\x84"); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd\xe2\x89\xaf\xef\xbc\x8e\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", false); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd\xe2\x89\xaf\xef\xbc\x8e\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", true); } // [V7] test { try toUnicodeFail("\xea\xa1\xbd>\xcc\xb8\xef\xbc\x8e\xf2\xbb\xb2\x80\xf2\x92\xb3\x84"); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd>\xcc\xb8\xef\xbc\x8e\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", false); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd>\xcc\xb8\xef\xbc\x8e\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", true); } // [V7] test { try toUnicodeFail("\xea\xa1\xbd\xe2\x89\xaf.\xf2\xbb\xb2\x80\xf2\x92\xb3\x84"); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd\xe2\x89\xaf.\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", false); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd\xe2\x89\xaf.\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", true); } // [V7] test { try toUnicodeFail("\xea\xa1\xbd>\xcc\xb8.\xf2\xbb\xb2\x80\xf2\x92\xb3\x84"); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd>\xcc\xb8.\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", false); } // [V7] +test { try toAsciiFail("\xea\xa1\xbd>\xcc\xb8.\xf2\xbb\xb2\x80\xf2\x92\xb3\x84", true); } // [V7] test { try toUnicodeFail("xn--hdh8193c.xn--5z40cp629b"); } // [V7] +test { try toAsciiFail("xn--hdh8193c.xn--5z40cp629b", false); } // [V7] +test { try toAsciiFail("xn--hdh8193c.xn--5z40cp629b", true); } // [V7] test { try toUnicodeFail("\xcf\x82\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xcf\x82\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xcf\x82\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("\xce\xa3\xe1\xb2\x9d\xd9\xbb.\xce\xa3\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\xb2\x9d\xd9\xbb.\xce\xa3\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\xb2\x9d\xd9\xbb.\xce\xa3\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("\xcf\x83\xe1\x83\x9d\xd9\xbb.\xcf\x83\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xcf\x83\xe1\x83\x9d\xd9\xbb.\xcf\x83\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xcf\x83\xe1\x83\x9d\xd9\xbb.\xcf\x83\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xcf\x83\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xcf\x83\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xcf\x83\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("xn--4xa60l26n.xn--4xa21o"); } // [B5, B6] +test { try toAsciiFail("xn--4xa60l26n.xn--4xa21o", false); } // [B5, B6] +test { try toAsciiFail("xn--4xa60l26n.xn--4xa21o", true); } // [B5, B6] test { try toUnicodeFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("\xcf\x83\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xcf\x83\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xcf\x83\xe1\x83\x9d\xd9\xbb.\xcf\x82\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("xn--4xa60l26n.xn--3xa41o"); } // [B5, B6] +test { try toAsciiFail("xn--4xa60l26n.xn--3xa41o", false); } // [B5, B6] +test { try toAsciiFail("xn--4xa60l26n.xn--3xa41o", true); } // [B5, B6] test { try toUnicodeFail("xn--3xa80l26n.xn--3xa41o"); } // [B5, B6] +test { try toAsciiFail("xn--3xa80l26n.xn--3xa41o", false); } // [B5, B6] +test { try toAsciiFail("xn--3xa80l26n.xn--3xa41o", true); } // [B5, B6] test { try toUnicodeFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xce\xa3\xdc\x94"); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xce\xa3\xdc\x94", false); } // [B5, B6] +test { try toAsciiFail("\xce\xa3\xe1\x83\x9d\xd9\xbb.\xce\xa3\xdc\x94", true); } // [B5, B6] test { try toUnicodeFail("\xf2\x84\x96\x9a\xdd\x88\xf0\xa0\x84\xaf\xdd\x9f\xef\xbd\xa1\xf3\xa0\x9b\xa9"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf2\x84\x96\x9a\xdd\x88\xf0\xa0\x84\xaf\xdd\x9f\xef\xbd\xa1\xf3\xa0\x9b\xa9", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf2\x84\x96\x9a\xdd\x88\xf0\xa0\x84\xaf\xdd\x9f\xef\xbd\xa1\xf3\xa0\x9b\xa9", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf2\x84\x96\x9a\xdd\x88\xf0\xa0\x84\xaf\xdd\x9f\xe3\x80\x82\xf3\xa0\x9b\xa9"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf2\x84\x96\x9a\xdd\x88\xf0\xa0\x84\xaf\xdd\x9f\xe3\x80\x82\xf3\xa0\x9b\xa9", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf2\x84\x96\x9a\xdd\x88\xf0\xa0\x84\xaf\xdd\x9f\xe3\x80\x82\xf3\xa0\x9b\xa9", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--vob0c4369twfv8b.xn--kl46e"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--vob0c4369twfv8b.xn--kl46e", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--vob0c4369twfv8b.xn--kl46e", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe1\x82\xbe"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe1\x82\xbe", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe1\x82\xbe", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe1\x82\xbe"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe1\x82\xbe", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe1\x82\xbe", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe1\x82\xbe"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe1\x82\xbe", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe1\x82\xbe", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe1\x82\xbe"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe1\x82\xbe", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe1\x82\xbe", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe2\xb4\x9e"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe2\xb4\x9e", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe2\xb4\x9e", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe2\xb4\x9e"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe2\xb4\x9e", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b.\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe2\xb4\x9e", true); } // [V7] test { try toUnicodeFail("xn--1t56e.xn--1ch153bqvw"); } // [V7] +test { try toAsciiFail("xn--1t56e.xn--1ch153bqvw", false); } // [V7] +test { try toAsciiFail("xn--1t56e.xn--1ch153bqvw", true); } // [V7] test { try toUnicodeFail("xn--1t56e.xn--1ug73gzzpwi3a"); } // [C2, V7] +test { try toAsciiFail("xn--1t56e.xn--1ug73gzzpwi3a", false); } // [C2, V7] +test { try toAsciiFail("xn--1t56e.xn--1ug73gzzpwi3a", true); } // [C2, V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe2\xb4\x9e"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe2\xb4\x9e", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab=\xcc\xb8\xe2\xb4\x9e", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe2\xb4\x9e"); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe2\xb4\x9e", false); } // [C2, V7] +test { try toAsciiFail("\xf3\xa0\xb3\x9b\xef\xbc\x8e\xe2\x80\x8d\xe4\xa4\xab\xe2\x89\xa0\xe2\xb4\x9e", true); } // [V7] test { try toUnicodeFail("xn--1t56e.xn--2nd141ghl2a"); } // [V7] +test { try toAsciiFail("xn--1t56e.xn--2nd141ghl2a", false); } // [V7] +test { try toAsciiFail("xn--1t56e.xn--2nd141ghl2a", true); } // [V7] test { try toUnicodeFail("xn--1t56e.xn--2nd159e9vb743e"); } // [C2, V7] +test { try toAsciiFail("xn--1t56e.xn--2nd159e9vb743e", false); } // [C2, V7] +test { try toAsciiFail("xn--1t56e.xn--2nd159e9vb743e", true); } // [C2, V7] test { try toUnicodeFail("\xf0\x90\xbd\x98\xf0\x91\x88\xb5\xef\xbc\x8e\xf0\x90\xb9\xa3\xf0\x9f\x95\xa5"); } // [B1, B2, B3] +test { try toAsciiFail("\xf0\x90\xbd\x98\xf0\x91\x88\xb5\xef\xbc\x8e\xf0\x90\xb9\xa3\xf0\x9f\x95\xa5", false); } // [B1, B2, B3] +test { try toAsciiFail("\xf0\x90\xbd\x98\xf0\x91\x88\xb5\xef\xbc\x8e\xf0\x90\xb9\xa3\xf0\x9f\x95\xa5", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf0\x90\xbd\x98\xf0\x91\x88\xb5.\xf0\x90\xb9\xa3\xf0\x9f\x95\xa5"); } // [B1, B2, B3] +test { try toAsciiFail("\xf0\x90\xbd\x98\xf0\x91\x88\xb5.\xf0\x90\xb9\xa3\xf0\x9f\x95\xa5", false); } // [B1, B2, B3] +test { try toAsciiFail("\xf0\x90\xbd\x98\xf0\x91\x88\xb5.\xf0\x90\xb9\xa3\xf0\x9f\x95\xa5", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--bv0d02c.xn--bo0dq650b"); } // [B1, B2, B3] +test { try toAsciiFail("xn--bv0d02c.xn--bo0dq650b", false); } // [B1, B2, B3] +test { try toAsciiFail("xn--bv0d02c.xn--bo0dq650b", true); } // [B1, B2, B3] test { try toUnicodeFail("\xe2\x92\x8a\xe2\x92\x88\xf0\x91\x81\x84\xe3\x80\x829"); } // [V7] +test { try toAsciiFail("\xe2\x92\x8a\xe2\x92\x88\xf0\x91\x81\x84\xe3\x80\x829", false); } // [V7] +test { try toAsciiFail("\xe2\x92\x8a\xe2\x92\x88\xf0\x91\x81\x84\xe3\x80\x829", true); } // [V7] test { try toUnicodeFail("3.1.\xf0\x91\x81\x84\xe3\x80\x829"); } // [V6] +test { try toAsciiFail("3.1.\xf0\x91\x81\x84\xe3\x80\x829", false); } // [V6] +test { try toAsciiFail("3.1.\xf0\x91\x81\x84\xe3\x80\x829", true); } // [V6] test { try toUnicodeFail("3.1.xn--110d.j"); } // [V6] +test { try toAsciiFail("3.1.xn--110d.j", false); } // [V6] +test { try toAsciiFail("3.1.xn--110d.j", true); } // [V6] test { try toUnicodeFail("xn--tshd3512p.j"); } // [V7] +test { try toAsciiFail("xn--tshd3512p.j", false); } // [V7] +test { try toAsciiFail("xn--tshd3512p.j", true); } // [V7] test { try toUnicodeFail("-\xe2\x80\x8c\xe2\xb7\xb1\xe2\x89\xae\xef\xbc\x8e\xf0\x90\xb9\xb1\xf2\xad\x8f\xb44\xe2\x82\x89"); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1\xe2\x89\xae\xef\xbc\x8e\xf0\x90\xb9\xb1\xf2\xad\x8f\xb44\xe2\x82\x89", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1\xe2\x89\xae\xef\xbc\x8e\xf0\x90\xb9\xb1\xf2\xad\x8f\xb44\xe2\x82\x89", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe2\x80\x8c\xe2\xb7\xb1<\xcc\xb8\xef\xbc\x8e\xf0\x90\xb9\xb1\xf2\xad\x8f\xb44\xe2\x82\x89"); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1<\xcc\xb8\xef\xbc\x8e\xf0\x90\xb9\xb1\xf2\xad\x8f\xb44\xe2\x82\x89", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1<\xcc\xb8\xef\xbc\x8e\xf0\x90\xb9\xb1\xf2\xad\x8f\xb44\xe2\x82\x89", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe2\x80\x8c\xe2\xb7\xb1\xe2\x89\xae.\xf0\x90\xb9\xb1\xf2\xad\x8f\xb449"); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1\xe2\x89\xae.\xf0\x90\xb9\xb1\xf2\xad\x8f\xb449", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1\xe2\x89\xae.\xf0\x90\xb9\xb1\xf2\xad\x8f\xb449", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe2\x80\x8c\xe2\xb7\xb1<\xcc\xb8.\xf0\x90\xb9\xb1\xf2\xad\x8f\xb449"); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1<\xcc\xb8.\xf0\x90\xb9\xb1\xf2\xad\x8f\xb449", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\xb7\xb1<\xcc\xb8.\xf0\x90\xb9\xb1\xf2\xad\x8f\xb449", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ngo823c.xn--49-ki3om2611f"); } // [B1, V3, V7] +test { try toAsciiFail("xn----ngo823c.xn--49-ki3om2611f", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----ngo823c.xn--49-ki3om2611f", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----sgn20i14s.xn--49-ki3om2611f"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----sgn20i14s.xn--49-ki3om2611f", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----sgn20i14s.xn--49-ki3om2611f", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("-\xe2\x89\xaf\xeb\x94\xbe\xef\xbd\xa1\xe0\xa1\x87"); } // [B1, V3] +test { try toAsciiFail("-\xe2\x89\xaf\xeb\x94\xbe\xef\xbd\xa1\xe0\xa1\x87", false); } // [B1, V3] +test { try toAsciiFail("-\xe2\x89\xaf\xeb\x94\xbe\xef\xbd\xa1\xe0\xa1\x87", true); } // [B1, V3] test { try toUnicodeFail("->\xcc\xb8\xe1\x84\x84\xe1\x85\xa1\xe1\x86\xb5\xef\xbd\xa1\xe0\xa1\x87"); } // [B1, V3] +test { try toAsciiFail("->\xcc\xb8\xe1\x84\x84\xe1\x85\xa1\xe1\x86\xb5\xef\xbd\xa1\xe0\xa1\x87", false); } // [B1, V3] +test { try toAsciiFail("->\xcc\xb8\xe1\x84\x84\xe1\x85\xa1\xe1\x86\xb5\xef\xbd\xa1\xe0\xa1\x87", true); } // [B1, V3] test { try toUnicodeFail("-\xe2\x89\xaf\xeb\x94\xbe\xe3\x80\x82\xe0\xa1\x87"); } // [B1, V3] +test { try toAsciiFail("-\xe2\x89\xaf\xeb\x94\xbe\xe3\x80\x82\xe0\xa1\x87", false); } // [B1, V3] +test { try toAsciiFail("-\xe2\x89\xaf\xeb\x94\xbe\xe3\x80\x82\xe0\xa1\x87", true); } // [B1, V3] test { try toUnicodeFail("->\xcc\xb8\xe1\x84\x84\xe1\x85\xa1\xe1\x86\xb5\xe3\x80\x82\xe0\xa1\x87"); } // [B1, V3] +test { try toAsciiFail("->\xcc\xb8\xe1\x84\x84\xe1\x85\xa1\xe1\x86\xb5\xe3\x80\x82\xe0\xa1\x87", false); } // [B1, V3] +test { try toAsciiFail("->\xcc\xb8\xe1\x84\x84\xe1\x85\xa1\xe1\x86\xb5\xe3\x80\x82\xe0\xa1\x87", true); } // [B1, V3] test { try toUnicodeFail("xn----pgow547d.xn--5vb"); } // [B1, V3] +test { try toAsciiFail("xn----pgow547d.xn--5vb", false); } // [B1, V3] +test { try toAsciiFail("xn----pgow547d.xn--5vb", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x91\x99\xa2\xe2\x92\x88\xf0\x90\xb9\xa0-\xef\xbd\xa1\xf3\xa0\x97\x90\xe2\x80\x8c"); } // [B1, C1, V3, V7] +test { try toAsciiFail("\xf0\x91\x99\xa2\xe2\x92\x88\xf0\x90\xb9\xa0-\xef\xbd\xa1\xf3\xa0\x97\x90\xe2\x80\x8c", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("\xf0\x91\x99\xa2\xe2\x92\x88\xf0\x90\xb9\xa0-\xef\xbd\xa1\xf3\xa0\x97\x90\xe2\x80\x8c", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x91\x99\xa21.\xf0\x90\xb9\xa0-\xe3\x80\x82\xf3\xa0\x97\x90\xe2\x80\x8c"); } // [B1, C1, V3, V7] +test { try toAsciiFail("\xf0\x91\x99\xa21.\xf0\x90\xb9\xa0-\xe3\x80\x82\xf3\xa0\x97\x90\xe2\x80\x8c", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("\xf0\x91\x99\xa21.\xf0\x90\xb9\xa0-\xe3\x80\x82\xf3\xa0\x97\x90\xe2\x80\x8c", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--1-bf0j.xn----516i.xn--jd46e"); } // [B1, V3, V7] +test { try toAsciiFail("xn--1-bf0j.xn----516i.xn--jd46e", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--1-bf0j.xn----516i.xn--jd46e", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--1-bf0j.xn----516i.xn--0ug23321l"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--1-bf0j.xn----516i.xn--0ug23321l", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--1-bf0j.xn----516i.xn--0ug23321l", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("xn----dcpy090hiyg.xn--jd46e"); } // [B1, V3, V7] +test { try toAsciiFail("xn----dcpy090hiyg.xn--jd46e", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----dcpy090hiyg.xn--jd46e", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----dcpy090hiyg.xn--0ug23321l"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----dcpy090hiyg.xn--0ug23321l", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn----dcpy090hiyg.xn--0ug23321l", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("\xcd\x8a\xef\xbc\x8e\xf0\x90\xa8\x8e"); } // [V6] +test { try toAsciiFail("\xcd\x8a\xef\xbc\x8e\xf0\x90\xa8\x8e", false); } // [V6] +test { try toAsciiFail("\xcd\x8a\xef\xbc\x8e\xf0\x90\xa8\x8e", true); } // [V6] test { try toUnicodeFail("\xcd\x8a.\xf0\x90\xa8\x8e"); } // [V6] +test { try toAsciiFail("\xcd\x8a.\xf0\x90\xa8\x8e", false); } // [V6] +test { try toAsciiFail("\xcd\x8a.\xf0\x90\xa8\x8e", true); } // [V6] test { try toUnicodeFail("xn--oua.xn--mr9c"); } // [V6] +test { try toAsciiFail("xn--oua.xn--mr9c", false); } // [V6] +test { try toAsciiFail("xn--oua.xn--mr9c", true); } // [V6] test { try toUnicodeFail("\xed\x9b\x89\xe2\x89\xae\xef\xbd\xa1\xe0\xb8\xb4"); } // [V6] +test { try toAsciiFail("\xed\x9b\x89\xe2\x89\xae\xef\xbd\xa1\xe0\xb8\xb4", false); } // [V6] +test { try toAsciiFail("\xed\x9b\x89\xe2\x89\xae\xef\xbd\xa1\xe0\xb8\xb4", true); } // [V6] test { try toUnicodeFail("\xe1\x84\x92\xe1\x85\xae\xe1\x86\xac<\xcc\xb8\xef\xbd\xa1\xe0\xb8\xb4"); } // [V6] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xae\xe1\x86\xac<\xcc\xb8\xef\xbd\xa1\xe0\xb8\xb4", false); } // [V6] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xae\xe1\x86\xac<\xcc\xb8\xef\xbd\xa1\xe0\xb8\xb4", true); } // [V6] test { try toUnicodeFail("\xed\x9b\x89\xe2\x89\xae\xe3\x80\x82\xe0\xb8\xb4"); } // [V6] +test { try toAsciiFail("\xed\x9b\x89\xe2\x89\xae\xe3\x80\x82\xe0\xb8\xb4", false); } // [V6] +test { try toAsciiFail("\xed\x9b\x89\xe2\x89\xae\xe3\x80\x82\xe0\xb8\xb4", true); } // [V6] test { try toUnicodeFail("\xe1\x84\x92\xe1\x85\xae\xe1\x86\xac<\xcc\xb8\xe3\x80\x82\xe0\xb8\xb4"); } // [V6] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xae\xe1\x86\xac<\xcc\xb8\xe3\x80\x82\xe0\xb8\xb4", false); } // [V6] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xae\xe1\x86\xac<\xcc\xb8\xe3\x80\x82\xe0\xb8\xb4", true); } // [V6] test { try toUnicodeFail("xn--gdh2512e.xn--i4c"); } // [V6] +test { try toAsciiFail("xn--gdh2512e.xn--i4c", false); } // [V6] +test { try toAsciiFail("xn--gdh2512e.xn--i4c", true); } // [V6] test { try toUnicodeFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98\xef\xbc\x8e\xf0\xb4\x88\x87\xf0\x9d\x9f\xb8\xd9\x99\xf0\x9e\xa4\xaf"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98\xef\xbc\x8e\xf0\xb4\x88\x87\xf0\x9d\x9f\xb8\xd9\x99\xf0\x9e\xa4\xaf", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98\xef\xbc\x8e\xf0\xb4\x88\x87\xf0\x9d\x9f\xb8\xd9\x99\xf0\x9e\xa4\xaf", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98.\xf0\xb4\x88\x872\xd9\x99\xf0\x9e\xa4\xaf"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98.\xf0\xb4\x88\x872\xd9\x99\xf0\x9e\xa4\xaf", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98.\xf0\xb4\x88\x872\xd9\x99\xf0\x9e\xa4\xaf", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98.\xf0\xb4\x88\x872\xd9\x99\xf0\x9e\xa4\x8d"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98.\xf0\xb4\x88\x872\xd9\x99\xf0\x9e\xa4\x8d", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98.\xf0\xb4\x88\x872\xd9\x99\xf0\x9e\xa4\x8d", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--trj8045le6s9b.xn--2-upc23918acjsj"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--trj8045le6s9b.xn--2-upc23918acjsj", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--trj8045le6s9b.xn--2-upc23918acjsj", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98\xef\xbc\x8e\xf0\xb4\x88\x87\xf0\x9d\x9f\xb8\xd9\x99\xf0\x9e\xa4\x8d"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98\xef\xbc\x8e\xf0\xb4\x88\x87\xf0\x9d\x9f\xb8\xd9\x99\xf0\x9e\xa4\x8d", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb7\xf2\x9e\xa3\x89\xf0\x9f\x83\x98\xef\xbc\x8e\xf0\xb4\x88\x87\xf0\x9d\x9f\xb8\xd9\x99\xf0\x9e\xa4\x8d", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9\xc3\x9f\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9\xc3\x9f\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9\xc3\x9f\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9\xc3\x9f\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9\xc3\x9f\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9\xc3\x9f\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9SS\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9SS\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9SS\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9Ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9Ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9Ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xd9\x86\xd8\xae-", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--ss-jepz4596r.xn----dnc5e1er384z"); } // [B1, V3, V7] +test { try toAsciiFail("xn--ss-jepz4596r.xn----dnc5e1er384z", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--ss-jepz4596r.xn----dnc5e1er384z", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--ss-jep006bqt765b.xn----dnc5e1er384z"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn--ss-jep006bqt765b.xn----dnc5e1er384z", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn--ss-jep006bqt765b.xn----dnc5e1er384z", true); } // [B1, B6, C1, V3, V7] test { try toUnicodeFail("xn--zca272jbif10059a.xn----dnc5e1er384z"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn--zca272jbif10059a.xn----dnc5e1er384z", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("xn--zca272jbif10059a.xn----dnc5e1er384z", true); } // [B1, B6, C1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9SS\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9SS\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9SS\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x97\x87\xa9Ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-"); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9Ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", false); } // [B1, B6, C1, V3, V7] +test { try toAsciiFail("\xf3\x97\x87\xa9Ss\xe1\xa2\x9e\xe2\x80\x8c\xe3\x80\x82\xd9\xa0\xf0\x9e\xb7\xbb\xef\xb3\x94-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x83\xe0\xbe\xb5\xeb\x86\xae-"); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x83\xe0\xbe\xb5\xeb\x86\xae-", false); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x83\xe0\xbe\xb5\xeb\x86\xae-", true); } // [V3] test { try toUnicodeFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x83\xe0\xbe\xb5\xe1\x84\x82\xe1\x85\xaa\xe1\x87\x81-"); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x83\xe0\xbe\xb5\xe1\x84\x82\xe1\x85\xaa\xe1\x87\x81-", false); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x83\xe0\xbe\xb5\xe1\x84\x82\xe1\x85\xaa\xe1\x87\x81-", true); } // [V3] test { try toUnicodeFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x84\xe0\xbe\xb5\xe1\x84\x82\xe1\x85\xaa\xe1\x87\x81-"); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x84\xe0\xbe\xb5\xe1\x84\x82\xe1\x85\xaa\xe1\x87\x81-", false); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x84\xe0\xbe\xb5\xe1\x84\x82\xe1\x85\xaa\xe1\x87\x81-", true); } // [V3] test { try toUnicodeFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x84\xe0\xbe\xb5\xeb\x86\xae-"); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x84\xe0\xbe\xb5\xeb\x86\xae-", false); } // [V3] +test { try toAsciiFail("\xea\xa1\x86\xe3\x80\x82\xe2\x86\x84\xe0\xbe\xb5\xeb\x86\xae-", true); } // [V3] test { try toUnicodeFail("xn--fc9a.xn----qmg097k469k"); } // [V3] +test { try toAsciiFail("xn--fc9a.xn----qmg097k469k", false); } // [V3] +test { try toAsciiFail("xn--fc9a.xn----qmg097k469k", true); } // [V3] test { try toUnicodeFail("xn--fc9a.xn----qmg787k869k"); } // [V3, V7] +test { try toAsciiFail("xn--fc9a.xn----qmg787k869k", false); } // [V3, V7] +test { try toAsciiFail("xn--fc9a.xn----qmg787k869k", true); } // [V3, V7] test { try toUnicodeFail("\xef\xb6\xad\xe2\x80\x8d.\xf1\xa5\xb0\x8c\xda\xa9"); } // [B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\xad\xe2\x80\x8d.\xf1\xa5\xb0\x8c\xda\xa9", false); } // [B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\xad\xe2\x80\x8d.\xf1\xa5\xb0\x8c\xda\xa9", true); } // [B5, B6, V7] test { try toUnicodeFail("\xd9\x84\xd9\x85\xd9\x8a\xe2\x80\x8d.\xf1\xa5\xb0\x8c\xda\xa9"); } // [B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x84\xd9\x85\xd9\x8a\xe2\x80\x8d.\xf1\xa5\xb0\x8c\xda\xa9", false); } // [B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x84\xd9\x85\xd9\x8a\xe2\x80\x8d.\xf1\xa5\xb0\x8c\xda\xa9", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--ghbcp.xn--ckb36214f"); } // [B5, B6, V7] +test { try toAsciiFail("xn--ghbcp.xn--ckb36214f", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--ghbcp.xn--ckb36214f", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--ghbcp494x.xn--ckb36214f"); } // [B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--ghbcp494x.xn--ckb36214f", false); } // [B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--ghbcp494x.xn--ckb36214f", true); } // [B3, B5, B6, C2, V7] test { try toUnicodeFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb3\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb3\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb3\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb3\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb3\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb3\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xe2\xb4\x9c\xe1\xb0\xaf\xf0\x90\xb3\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe2\xb4\x9c\xe1\xb0\xaf\xf0\x90\xb3\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe2\xb4\x9c\xe1\xb0\xaf\xf0\x90\xb3\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xe2\xb4\x9c\xe1\xb0\xaf\xf0\x90\xb3\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe2\xb4\x9c\xe1\xb0\xaf\xf0\x90\xb3\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe2\xb4\x9c\xe1\xb0\xaf\xf0\x90\xb3\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb2\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb2\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb2\x92\xe2\x89\xaf\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb2\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb2\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xe1\x82\xbc\xe1\xb0\xaf\xf0\x90\xb2\x92>\xcc\xb8\xe3\x80\x82\xdb\xa0\xe1\x9c\xb2\xe0\xbe\xba", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--r1f68xh1jgv7u.xn--wlb646b4ng"); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--r1f68xh1jgv7u.xn--wlb646b4ng", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--r1f68xh1jgv7u.xn--wlb646b4ng", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--0nd679cf3eq67y.xn--wlb646b4ng"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--0nd679cf3eq67y.xn--wlb646b4ng", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--0nd679cf3eq67y.xn--wlb646b4ng", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x90\x8b\xb5\xe3\x80\x82\xef\xb3\xac"); } // [B1] +test { try toAsciiFail("\xf0\x90\x8b\xb5\xe3\x80\x82\xef\xb3\xac", false); } // [B1] +test { try toAsciiFail("\xf0\x90\x8b\xb5\xe3\x80\x82\xef\xb3\xac", true); } // [B1] test { try toUnicodeFail("\xf0\x90\x8b\xb5\xe3\x80\x82\xd9\x83\xd9\x85"); } // [B1] +test { try toAsciiFail("\xf0\x90\x8b\xb5\xe3\x80\x82\xd9\x83\xd9\x85", false); } // [B1] +test { try toAsciiFail("\xf0\x90\x8b\xb5\xe3\x80\x82\xd9\x83\xd9\x85", true); } // [B1] test { try toUnicodeFail("xn--p97c.xn--fhbe"); } // [B1] +test { try toAsciiFail("xn--p97c.xn--fhbe", false); } // [B1] +test { try toAsciiFail("xn--p97c.xn--fhbe", true); } // [B1] test { try toUnicodeFail("\xf0\x90\x8b\xb5.\xd9\x83\xd9\x85"); } // [B1] +test { try toAsciiFail("\xf0\x90\x8b\xb5.\xd9\x83\xd9\x85", false); } // [B1] +test { try toAsciiFail("\xf0\x90\x8b\xb5.\xd9\x83\xd9\x85", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xae\xf0\x9d\x85\xb6\xef\xbc\x8e\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad"); } // [V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x9d\x85\xb6\xef\xbc\x8e\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x9d\x85\xb6\xef\xbc\x8e\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", true); } // [V7] test { try toUnicodeFail("<\xcc\xb8\xf0\x9d\x85\xb6\xef\xbc\x8e\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad"); } // [V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x9d\x85\xb6\xef\xbc\x8e\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", false); } // [V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x9d\x85\xb6\xef\xbc\x8e\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xae\xf0\x9d\x85\xb6.\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad"); } // [V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x9d\x85\xb6.\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", false); } // [V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x9d\x85\xb6.\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", true); } // [V7] test { try toUnicodeFail("<\xcc\xb8\xf0\x9d\x85\xb6.\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad"); } // [V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x9d\x85\xb6.\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", false); } // [V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x9d\x85\xb6.\xf1\xb1\xb2\x81\xea\xab\xac\xe2\xb9\x88\xf3\xb0\xa5\xad", true); } // [V7] test { try toUnicodeFail("xn--gdh.xn--4tjx101bsg00ds9pyc"); } // [V7] +test { try toAsciiFail("xn--gdh.xn--4tjx101bsg00ds9pyc", false); } // [V7] +test { try toAsciiFail("xn--gdh.xn--4tjx101bsg00ds9pyc", true); } // [V7] test { try toUnicodeFail("xn--gdh0880o.xn--4tjx101bsg00ds9pyc"); } // [V7] +test { try toAsciiFail("xn--gdh0880o.xn--4tjx101bsg00ds9pyc", false); } // [V7] +test { try toAsciiFail("xn--gdh0880o.xn--4tjx101bsg00ds9pyc", true); } // [V7] test { try toUnicodeFail("\xe2\xb7\xb0\xcd\x98\xe1\xa2\x95\xef\xbc\x8e\xcd\xa1\xf0\x90\xb9\xb7\xf3\xa0\xb4\x8d"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb0\xcd\x98\xe1\xa2\x95\xef\xbc\x8e\xcd\xa1\xf0\x90\xb9\xb7\xf3\xa0\xb4\x8d", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb0\xcd\x98\xe1\xa2\x95\xef\xbc\x8e\xcd\xa1\xf0\x90\xb9\xb7\xf3\xa0\xb4\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\xb7\xb0\xcd\x98\xe1\xa2\x95.\xcd\xa1\xf0\x90\xb9\xb7\xf3\xa0\xb4\x8d"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb0\xcd\x98\xe1\xa2\x95.\xcd\xa1\xf0\x90\xb9\xb7\xf3\xa0\xb4\x8d", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\xb7\xb0\xcd\x98\xe1\xa2\x95.\xcd\xa1\xf0\x90\xb9\xb7\xf3\xa0\xb4\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--2ua889htsp.xn--cva2687k2tv0g"); } // [B1, V6, V7] +test { try toAsciiFail("xn--2ua889htsp.xn--cva2687k2tv0g", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--2ua889htsp.xn--cva2687k2tv0g", true); } // [B1, V6, V7] test { try toUnicodeFail("\xef\xb5\xb9\xe1\xa1\x90\xe2\x80\x8c\xda\xad\xef\xbc\x8e\xf0\x91\x8b\xaa\xd7\x87"); } // [B1, B2, V6] +test { try toAsciiFail("\xef\xb5\xb9\xe1\xa1\x90\xe2\x80\x8c\xda\xad\xef\xbc\x8e\xf0\x91\x8b\xaa\xd7\x87", false); } // [B1, B2, V6] +test { try toAsciiFail("\xef\xb5\xb9\xe1\xa1\x90\xe2\x80\x8c\xda\xad\xef\xbc\x8e\xf0\x91\x8b\xaa\xd7\x87", true); } // [B1, B2, V6] test { try toUnicodeFail("\xd8\xba\xd9\x85\xd9\x85\xe1\xa1\x90\xe2\x80\x8c\xda\xad.\xf0\x91\x8b\xaa\xd7\x87"); } // [B1, B2, V6] +test { try toAsciiFail("\xd8\xba\xd9\x85\xd9\x85\xe1\xa1\x90\xe2\x80\x8c\xda\xad.\xf0\x91\x8b\xaa\xd7\x87", false); } // [B1, B2, V6] +test { try toAsciiFail("\xd8\xba\xd9\x85\xd9\x85\xe1\xa1\x90\xe2\x80\x8c\xda\xad.\xf0\x91\x8b\xaa\xd7\x87", true); } // [B1, B2, V6] test { try toUnicodeFail("xn--5gbwa03bg24e.xn--vdb1198k"); } // [B1, B2, V6] +test { try toAsciiFail("xn--5gbwa03bg24e.xn--vdb1198k", false); } // [B1, B2, V6] +test { try toAsciiFail("xn--5gbwa03bg24e.xn--vdb1198k", true); } // [B1, B2, V6] test { try toUnicodeFail("xn--5gbwa03bg24eptk.xn--vdb1198k"); } // [B1, B2, V6] +test { try toAsciiFail("xn--5gbwa03bg24eptk.xn--vdb1198k", false); } // [B1, B2, V6] +test { try toAsciiFail("xn--5gbwa03bg24eptk.xn--vdb1198k", true); } // [B1, B2, V6] test { try toUnicodeFail("\xf0\x91\x91\x82\xef\xbd\xa1\xe2\x80\x8d\xf3\xa5\x9e\x80\xf0\x9f\x9e\x95\xf2\xa5\x81\x94"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x91\x82\xef\xbd\xa1\xe2\x80\x8d\xf3\xa5\x9e\x80\xf0\x9f\x9e\x95\xf2\xa5\x81\x94", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x91\x82\xef\xbd\xa1\xe2\x80\x8d\xf3\xa5\x9e\x80\xf0\x9f\x9e\x95\xf2\xa5\x81\x94", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x91\x91\x82\xe3\x80\x82\xe2\x80\x8d\xf3\xa5\x9e\x80\xf0\x9f\x9e\x95\xf2\xa5\x81\x94"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x91\x82\xe3\x80\x82\xe2\x80\x8d\xf3\xa5\x9e\x80\xf0\x9f\x9e\x95\xf2\xa5\x81\x94", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\x91\x91\x82\xe3\x80\x82\xe2\x80\x8d\xf3\xa5\x9e\x80\xf0\x9f\x9e\x95\xf2\xa5\x81\x94", true); } // [V6, V7] test { try toUnicodeFail("xn--8v1d.xn--ye9h41035a2qqs"); } // [V6, V7] +test { try toAsciiFail("xn--8v1d.xn--ye9h41035a2qqs", false); } // [V6, V7] +test { try toAsciiFail("xn--8v1d.xn--ye9h41035a2qqs", true); } // [V6, V7] test { try toUnicodeFail("xn--8v1d.xn--1ug1386plvx1cd8vya"); } // [C2, V6, V7] +test { try toAsciiFail("xn--8v1d.xn--1ug1386plvx1cd8vya", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--8v1d.xn--1ug1386plvx1cd8vya", true); } // [C2, V6, V7] test { try toUnicodeFail("-\xd7\xa9\xe3\x80\x82\xe2\x92\x9a"); } // [B1, V3, V7] +test { try toAsciiFail("-\xd7\xa9\xe3\x80\x82\xe2\x92\x9a", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xd7\xa9\xe3\x80\x82\xe2\x92\x9a", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xd7\xa9\xe3\x80\x8219."); } // [B1, V3] +test { try toAsciiFail("-\xd7\xa9\xe3\x80\x8219.", false); } // [B1, V3, A4_2] +test { try toAsciiFail("-\xd7\xa9\xe3\x80\x8219.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn----gjc.1j."); } // [B1, V3] +test { try toAsciiFail("xn----gjc.1j.", false); } // [B1, V3, A4_2] +test { try toAsciiFail("xn----gjc.1j.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn----gjc.xn--cth"); } // [B1, V3, V7] +test { try toAsciiFail("xn----gjc.xn--cth", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----gjc.xn--cth", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf4\x8a\xbe\xbb\xe0\xa1\x85\xe2\x80\x8c\xef\xbd\xa1\xe1\xa2\x8e\xe2\x80\x8d"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("\xf4\x8a\xbe\xbb\xe0\xa1\x85\xe2\x80\x8c\xef\xbd\xa1\xe1\xa2\x8e\xe2\x80\x8d", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("\xf4\x8a\xbe\xbb\xe0\xa1\x85\xe2\x80\x8c\xef\xbd\xa1\xe1\xa2\x8e\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf4\x8a\xbe\xbb\xe0\xa1\x85\xe2\x80\x8c\xe3\x80\x82\xe1\xa2\x8e\xe2\x80\x8d"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("\xf4\x8a\xbe\xbb\xe0\xa1\x85\xe2\x80\x8c\xe3\x80\x82\xe1\xa2\x8e\xe2\x80\x8d", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("\xf4\x8a\xbe\xbb\xe0\xa1\x85\xe2\x80\x8c\xe3\x80\x82\xe1\xa2\x8e\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3vb50049s.xn--79e"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3vb50049s.xn--79e", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3vb50049s.xn--79e", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3vb882jz4411a.xn--79e259a"); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--3vb882jz4411a.xn--79e259a", false); } // [B5, B6, C1, C2, V7] +test { try toAsciiFail("xn--3vb882jz4411a.xn--79e259a", true); } // [B5, B6, C1, C2, V7] test { try toUnicodePass("\xc3\x9f\xe0\xa7\x81\xe1\xb7\xad\xe3\x80\x82\xd8\xa08\xe2\x82\x85", "\xc3\x9f\xe0\xa7\x81\xe1\xb7\xad.\xd8\xa085"); } test { try toAsciiPass("\xc3\x9f\xe0\xa7\x81\xe1\xb7\xad\xe3\x80\x82\xd8\xa08\xe2\x82\x85", "xn--zca266bwrr.xn--85-psd", false); } test { try toAsciiPass("\xc3\x9f\xe0\xa7\x81\xe1\xb7\xad\xe3\x80\x82\xd8\xa08\xe2\x82\x85", "xn--ss-e2f077r.xn--85-psd", true); } @@ -2900,19 +6720,47 @@ test { try toUnicodePass("Ss\xe0\xa7\x81\xe1\xb7\xad\xe3\x80\x82\xd8\xa08\xe2\x8 test { try toAsciiPass("Ss\xe0\xa7\x81\xe1\xb7\xad\xe3\x80\x82\xd8\xa08\xe2\x82\x85", "xn--ss-e2f077r.xn--85-psd", false); } test { try toAsciiPass("Ss\xe0\xa7\x81\xe1\xb7\xad\xe3\x80\x82\xd8\xa08\xe2\x82\x85", "xn--ss-e2f077r.xn--85-psd", true); } test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5\xc3\x9f"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5\xc3\x9f", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5\xc3\x9f", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5\xc3\x9f"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5\xc3\x9f", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5\xc3\x9f", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5SS"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5SS", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5SS", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5ss"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5ss", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5ss", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5Ss"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5Ss", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x851.3\xf0\x90\xb9\xa5Ss", true); } // [B1, V6] test { try toUnicodeFail("xn--1-0xb049b102o.xn--3ss-nv9t"); } // [B1, V6] +test { try toAsciiFail("xn--1-0xb049b102o.xn--3ss-nv9t", false); } // [B1, V6] +test { try toAsciiFail("xn--1-0xb049b102o.xn--3ss-nv9t", true); } // [B1, V6] test { try toUnicodeFail("xn--1-0xb049b102o.xn--3-qfa7018r"); } // [B1, V6] +test { try toAsciiFail("xn--1-0xb049b102o.xn--3-qfa7018r", false); } // [B1, V6] +test { try toAsciiFail("xn--1-0xb049b102o.xn--3-qfa7018r", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5SS"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5SS", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5SS", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5ss"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5ss", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5ss", true); } // [B1, V6] test { try toUnicodeFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5Ss"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5Ss", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\x8d\xd2\x84\xe9\xad\x85\xf0\x9d\x9f\xa3\xef\xbc\x8e\xe2\x82\x83\xf0\x90\xb9\xa5Ss", true); } // [B1, V6] test { try toUnicodeFail("\xdc\xab\xef\xbd\xa1\xf0\x91\x93\x82\xe2\x92\x88\xf0\x91\x9c\xab\xf3\xa0\xbf\xbb"); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xab\xef\xbd\xa1\xf0\x91\x93\x82\xe2\x92\x88\xf0\x91\x9c\xab\xf3\xa0\xbf\xbb", false); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xab\xef\xbd\xa1\xf0\x91\x93\x82\xe2\x92\x88\xf0\x91\x9c\xab\xf3\xa0\xbf\xbb", true); } // [B1, V6, V7] test { try toUnicodeFail("\xdc\xab\xe3\x80\x82\xf0\x91\x93\x821.\xf0\x91\x9c\xab\xf3\xa0\xbf\xbb"); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xab\xe3\x80\x82\xf0\x91\x93\x821.\xf0\x91\x9c\xab\xf3\xa0\xbf\xbb", false); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xab\xe3\x80\x82\xf0\x91\x93\x821.\xf0\x91\x9c\xab\xf3\xa0\xbf\xbb", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--1nb.xn--1-jq9i.xn--ji2dg9877c"); } // [B1, V6, V7] +test { try toAsciiFail("xn--1nb.xn--1-jq9i.xn--ji2dg9877c", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--1nb.xn--1-jq9i.xn--ji2dg9877c", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--1nb.xn--tsh7798f6rbrt828c"); } // [B1, V6, V7] +test { try toAsciiFail("xn--1nb.xn--tsh7798f6rbrt828c", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--1nb.xn--tsh7798f6rbrt828c", true); } // [B1, V6, V7] test { try toUnicodePass("\xef\xb8\x8d\xe0\xaa\x9b\xe3\x80\x82\xe5\xb5\xa8", "\xe0\xaa\x9b.\xe5\xb5\xa8"); } test { try toAsciiPass("\xef\xb8\x8d\xe0\xaa\x9b\xe3\x80\x82\xe5\xb5\xa8", "xn--6dc.xn--tot", false); } test { try toAsciiPass("\xef\xb8\x8d\xe0\xaa\x9b\xe3\x80\x82\xe5\xb5\xa8", "xn--6dc.xn--tot", true); } @@ -2923,27 +6771,71 @@ test { try toUnicodePass("\xe0\xaa\x9b.\xe5\xb5\xa8", "\xe0\xaa\x9b.\xe5\xb5\xa8 test { try toAsciiPass("\xe0\xaa\x9b.\xe5\xb5\xa8", "xn--6dc.xn--tot", false); } test { try toAsciiPass("\xe0\xaa\x9b.\xe5\xb5\xa8", "xn--6dc.xn--tot", true); } test { try toUnicodeFail("\xe1\x82\xb4\xe2\x89\xa0\xe1\x82\xa0.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0"); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4\xe2\x89\xa0\xe1\x82\xa0.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", false); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4\xe2\x89\xa0\xe1\x82\xa0.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", true); } // [B1] test { try toUnicodeFail("\xe1\x82\xb4=\xcc\xb8\xe1\x82\xa0.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0"); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4=\xcc\xb8\xe1\x82\xa0.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", false); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4=\xcc\xb8\xe1\x82\xa0.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", true); } // [B1] test { try toUnicodeFail("\xe2\xb4\x94=\xcc\xb8\xe2\xb4\x80.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0"); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94=\xcc\xb8\xe2\xb4\x80.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", false); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94=\xcc\xb8\xe2\xb4\x80.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", true); } // [B1] test { try toUnicodeFail("\xe2\xb4\x94\xe2\x89\xa0\xe2\xb4\x80.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0"); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94\xe2\x89\xa0\xe2\xb4\x80.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", false); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94\xe2\x89\xa0\xe2\xb4\x80.\xf0\x90\xb9\xa5\xf0\x90\xb9\xb0", true); } // [B1] test { try toUnicodeFail("xn--1ch603bxb.xn--do0dwa"); } // [B1] +test { try toAsciiFail("xn--1ch603bxb.xn--do0dwa", false); } // [B1] +test { try toAsciiFail("xn--1ch603bxb.xn--do0dwa", true); } // [B1] test { try toUnicodeFail("xn--7md3b171g.xn--do0dwa"); } // [B1, V7] +test { try toAsciiFail("xn--7md3b171g.xn--do0dwa", false); } // [B1, V7] +test { try toAsciiFail("xn--7md3b171g.xn--do0dwa", true); } // [B1, V7] test { try toUnicodeFail("-\xe2\x80\x8c\xe2\x92\x99\xf0\x90\xab\xa5\xef\xbd\xa1\xf0\x9d\xa8\xb5"); } // [C1, V3, V6, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\x92\x99\xf0\x90\xab\xa5\xef\xbd\xa1\xf0\x9d\xa8\xb5", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("-\xe2\x80\x8c\xe2\x92\x99\xf0\x90\xab\xa5\xef\xbd\xa1\xf0\x9d\xa8\xb5", true); } // [V3, V6, V7] test { try toUnicodeFail("-\xe2\x80\x8c18.\xf0\x90\xab\xa5\xe3\x80\x82\xf0\x9d\xa8\xb5"); } // [C1, V3, V6] +test { try toAsciiFail("-\xe2\x80\x8c18.\xf0\x90\xab\xa5\xe3\x80\x82\xf0\x9d\xa8\xb5", false); } // [C1, V3, V6] +test { try toAsciiFail("-\xe2\x80\x8c18.\xf0\x90\xab\xa5\xe3\x80\x82\xf0\x9d\xa8\xb5", true); } // [V3, V6] test { try toUnicodeFail("-18.xn--rx9c.xn--382h"); } // [V3, V6] +test { try toAsciiFail("-18.xn--rx9c.xn--382h", false); } // [V3, V6] +test { try toAsciiFail("-18.xn--rx9c.xn--382h", true); } // [V3, V6] test { try toUnicodeFail("xn---18-9m0a.xn--rx9c.xn--382h"); } // [C1, V3, V6] +test { try toAsciiFail("xn---18-9m0a.xn--rx9c.xn--382h", false); } // [C1, V3, V6] +test { try toAsciiFail("xn---18-9m0a.xn--rx9c.xn--382h", true); } // [C1, V3, V6] test { try toUnicodeFail("xn----ddps939g.xn--382h"); } // [V3, V6, V7] +test { try toAsciiFail("xn----ddps939g.xn--382h", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----ddps939g.xn--382h", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----sgn18r3191a.xn--382h"); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----sgn18r3191a.xn--382h", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----sgn18r3191a.xn--382h", true); } // [C1, V3, V6, V7] test { try toUnicodeFail("\xef\xb8\x92.\xca\x8c\xe1\xa0\xa3-\xf0\x90\xb9\xbd"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92.\xca\x8c\xe1\xa0\xa3-\xf0\x90\xb9\xbd", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92.\xca\x8c\xe1\xa0\xa3-\xf0\x90\xb9\xbd", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe3\x80\x82.\xca\x8c\xe1\xa0\xa3-\xf0\x90\xb9\xbd"); } // [B5, B6, X4_2] +test { try toAsciiFail("\xe3\x80\x82.\xca\x8c\xe1\xa0\xa3-\xf0\x90\xb9\xbd", false); } // [B5, B6, A4_2] +test { try toAsciiFail("\xe3\x80\x82.\xca\x8c\xe1\xa0\xa3-\xf0\x90\xb9\xbd", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe3\x80\x82.\xc9\x85\xe1\xa0\xa3-\xf0\x90\xb9\xbd"); } // [B5, B6, X4_2] +test { try toAsciiFail("\xe3\x80\x82.\xc9\x85\xe1\xa0\xa3-\xf0\x90\xb9\xbd", false); } // [B5, B6, A4_2] +test { try toAsciiFail("\xe3\x80\x82.\xc9\x85\xe1\xa0\xa3-\xf0\x90\xb9\xbd", true); } // [B5, B6, A4_2] test { try toUnicodeFail("..xn----73a596nuh9t"); } // [B5, B6, X4_2] +test { try toAsciiFail("..xn----73a596nuh9t", false); } // [B5, B6, A4_2] +test { try toAsciiFail("..xn----73a596nuh9t", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xef\xb8\x92.\xc9\x85\xe1\xa0\xa3-\xf0\x90\xb9\xbd"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92.\xc9\x85\xe1\xa0\xa3-\xf0\x90\xb9\xbd", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92.\xc9\x85\xe1\xa0\xa3-\xf0\x90\xb9\xbd", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--y86c.xn----73a596nuh9t"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--y86c.xn----73a596nuh9t", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--y86c.xn----73a596nuh9t", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xef\xb8\x85\xef\xb8\x92\xe3\x80\x82\xf0\xa6\x80\xbe\xe1\xb3\xa0"); } // [V7] +test { try toAsciiFail("\xef\xb8\x85\xef\xb8\x92\xe3\x80\x82\xf0\xa6\x80\xbe\xe1\xb3\xa0", false); } // [V7] +test { try toAsciiFail("\xef\xb8\x85\xef\xb8\x92\xe3\x80\x82\xf0\xa6\x80\xbe\xe1\xb3\xa0", true); } // [V7] test { try toUnicodeFail("\xef\xb8\x85\xe3\x80\x82\xe3\x80\x82\xf0\xa6\x80\xbe\xe1\xb3\xa0"); } // [X4_2] +test { try toAsciiFail("\xef\xb8\x85\xe3\x80\x82\xe3\x80\x82\xf0\xa6\x80\xbe\xe1\xb3\xa0", false); } // [A4_2] +test { try toAsciiFail("\xef\xb8\x85\xe3\x80\x82\xe3\x80\x82\xf0\xa6\x80\xbe\xe1\xb3\xa0", true); } // [A4_2] test { try toUnicodeFail("..xn--t6f5138v"); } // [X4_2] +test { try toAsciiFail("..xn--t6f5138v", false); } // [A4_2] +test { try toAsciiFail("..xn--t6f5138v", true); } // [A4_2] test { try toUnicodeFail("xn--y86c.xn--t6f5138v"); } // [V7] +test { try toAsciiFail("xn--y86c.xn--t6f5138v", false); } // [V7] +test { try toAsciiFail("xn--y86c.xn--t6f5138v", true); } // [V7] test { try toUnicodePass("xn--t6f5138v", "\xf0\xa6\x80\xbe\xe1\xb3\xa0"); } test { try toAsciiPass("xn--t6f5138v", "xn--t6f5138v", false); } test { try toAsciiPass("xn--t6f5138v", "xn--t6f5138v", true); } @@ -2951,41 +6843,101 @@ test { try toUnicodePass("\xf0\xa6\x80\xbe\xe1\xb3\xa0", "\xf0\xa6\x80\xbe\xe1\x test { try toAsciiPass("\xf0\xa6\x80\xbe\xe1\xb3\xa0", "xn--t6f5138v", false); } test { try toAsciiPass("\xf0\xa6\x80\xbe\xe1\xb3\xa0", "xn--t6f5138v", true); } test { try toUnicodeFail("\xf0\x9e\xae\x91\xc3\x9f\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91\xc3\x9f\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91\xc3\x9f\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xae\x91SS\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91SS\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91SS\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xae\x91ss\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91ss\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91ss\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xae\x91Ss\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91Ss\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xae\x91Ss\xf4\x8f\x9e\x9e\xe3\x80\x82\xe1\xa1\x81", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--ss-o412ac6305g.xn--07e"); } // [B2, B3, V7] +test { try toAsciiFail("xn--ss-o412ac6305g.xn--07e", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--ss-o412ac6305g.xn--07e", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--zca9432wb989f.xn--07e"); } // [B2, B3, V7] +test { try toAsciiFail("xn--zca9432wb989f.xn--07e", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--zca9432wb989f.xn--07e", true); } // [B2, B3, V7] test { try toUnicodeFail("\xea\xa5\x93\xe2\x80\x8d\xd8\xac\xd9\xac\xe3\x80\x82\xf0\xb1\x86\x8e\xf3\xbb\xa1\x9f\xe2\x80\x8c\xf3\xa0\x85\x86"); } // [B5, B6, C1, V6, V7] +test { try toAsciiFail("\xea\xa5\x93\xe2\x80\x8d\xd8\xac\xd9\xac\xe3\x80\x82\xf0\xb1\x86\x8e\xf3\xbb\xa1\x9f\xe2\x80\x8c\xf3\xa0\x85\x86", false); } // [B5, B6, C1, V6, V7] +test { try toAsciiFail("\xea\xa5\x93\xe2\x80\x8d\xd8\xac\xd9\xac\xe3\x80\x82\xf0\xb1\x86\x8e\xf3\xbb\xa1\x9f\xe2\x80\x8c\xf3\xa0\x85\x86", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--rgb2k6711c.xn--ec8nj3948b"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--rgb2k6711c.xn--ec8nj3948b", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--rgb2k6711c.xn--ec8nj3948b", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--rgb2k500fhq9j.xn--0ug78870a5sp9d"); } // [B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--rgb2k500fhq9j.xn--0ug78870a5sp9d", false); } // [B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--rgb2k500fhq9j.xn--0ug78870a5sp9d", true); } // [B5, B6, C1, V6, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-\xc3\x9f\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-\xc3\x9f\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-\xc3\x9f\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-\xc3\x9f\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-\xc3\x9f\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-\xc3\x9f\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-\xc3\x9f\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-\xc3\x9f\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-\xc3\x9f\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-\xc3\x9f\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-\xc3\x9f\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-\xc3\x9f\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-SS\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-SS\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-SS\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-SS\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-SS\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-SS\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-ss\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-ss\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-ss\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-ss\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-ss\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-ss\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-Ss\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-Ss\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-Ss\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f.-Ss\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-Ss\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f.-Ss\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("xn--u836e.xn---ss-gl2a"); } // [V3, V7] +test { try toAsciiFail("xn--u836e.xn---ss-gl2a", false); } // [V3, V7] +test { try toAsciiFail("xn--u836e.xn---ss-gl2a", true); } // [V3, V7] test { try toUnicodeFail("xn--u836e.xn---ss-cn0at5l"); } // [C1, V3, V7] +test { try toAsciiFail("xn--u836e.xn---ss-cn0at5l", false); } // [C1, V3, V7] +test { try toAsciiFail("xn--u836e.xn---ss-cn0at5l", true); } // [C1, V3, V7] test { try toUnicodeFail("xn--u836e.xn----qfa750ve7b"); } // [C1, V3, V7] +test { try toAsciiFail("xn--u836e.xn----qfa750ve7b", false); } // [C1, V3, V7] +test { try toAsciiFail("xn--u836e.xn----qfa750ve7b", true); } // [C1, V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-SS\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-SS\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-SS\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-SS\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-SS\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-SS\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-ss\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-ss\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-ss\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-ss\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-ss\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-ss\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-Ss\xe2\x80\x8c=\xcc\xb8"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-Ss\xe2\x80\x8c=\xcc\xb8", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-Ss\xe2\x80\x8c=\xcc\xb8", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-Ss\xe2\x80\x8c\xe2\x89\xa0"); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-Ss\xe2\x80\x8c\xe2\x89\xa0", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x95\x8f\xef\xbc\x8e-Ss\xe2\x80\x8c\xe2\x89\xa0", true); } // [V3, V7] test { try toAsciiPass("\xe1\xa1\x99\xe2\x80\x8c\xef\xbd\xa1\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0", "xn--p8e.xn--1ch3a7084l", true); } test { try toUnicodeFail("\xe1\xa1\x99\xe2\x80\x8c\xef\xbd\xa1\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0"); } // [C1] +test { try toAsciiFail("\xe1\xa1\x99\xe2\x80\x8c\xef\xbd\xa1\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0", false); } // [C1] test { try toAsciiPass("\xe1\xa1\x99\xe2\x80\x8c\xef\xbd\xa1>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", "xn--p8e.xn--1ch3a7084l", true); } test { try toUnicodeFail("\xe1\xa1\x99\xe2\x80\x8c\xef\xbd\xa1>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8"); } // [C1] +test { try toAsciiFail("\xe1\xa1\x99\xe2\x80\x8c\xef\xbd\xa1>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", false); } // [C1] test { try toAsciiPass("\xe1\xa1\x99\xe2\x80\x8c\xe3\x80\x82\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0", "xn--p8e.xn--1ch3a7084l", true); } test { try toUnicodeFail("\xe1\xa1\x99\xe2\x80\x8c\xe3\x80\x82\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0"); } // [C1] +test { try toAsciiFail("\xe1\xa1\x99\xe2\x80\x8c\xe3\x80\x82\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0", false); } // [C1] test { try toAsciiPass("\xe1\xa1\x99\xe2\x80\x8c\xe3\x80\x82>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", "xn--p8e.xn--1ch3a7084l", true); } test { try toUnicodeFail("\xe1\xa1\x99\xe2\x80\x8c\xe3\x80\x82>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8"); } // [C1] +test { try toAsciiFail("\xe1\xa1\x99\xe2\x80\x8c\xe3\x80\x82>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", false); } // [C1] test { try toUnicodePass("xn--p8e.xn--1ch3a7084l", "\xe1\xa1\x99.\xe2\x89\xaf\xf0\x90\x8b\xb2\xe2\x89\xa0"); } test { try toAsciiPass("xn--p8e.xn--1ch3a7084l", "xn--p8e.xn--1ch3a7084l", false); } test { try toAsciiPass("xn--p8e.xn--1ch3a7084l", "xn--p8e.xn--1ch3a7084l", true); } @@ -2996,150 +6948,422 @@ test { try toUnicodePass("\xe1\xa1\x99.>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", "\xe test { try toAsciiPass("\xe1\xa1\x99.>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", "xn--p8e.xn--1ch3a7084l", false); } test { try toAsciiPass("\xe1\xa1\x99.>\xcc\xb8\xf0\x90\x8b\xb2=\xcc\xb8", "xn--p8e.xn--1ch3a7084l", true); } test { try toUnicodeFail("xn--p8e650b.xn--1ch3a7084l"); } // [C1] +test { try toAsciiFail("xn--p8e650b.xn--1ch3a7084l", false); } // [C1] +test { try toAsciiFail("xn--p8e650b.xn--1ch3a7084l", true); } // [C1] test { try toUnicodeFail("\xf0\x90\xb9\xa7\xf0\x9e\xb2\x84\xf3\xa0\x81\xad\xf1\x86\xbc\xa9\xe3\x80\x82\xcd\x8e\xf0\x9f\x84\x80"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa7\xf0\x9e\xb2\x84\xf3\xa0\x81\xad\xf1\x86\xbc\xa9\xe3\x80\x82\xcd\x8e\xf0\x9f\x84\x80", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa7\xf0\x9e\xb2\x84\xf3\xa0\x81\xad\xf1\x86\xbc\xa9\xe3\x80\x82\xcd\x8e\xf0\x9f\x84\x80", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa7\xf0\x9e\xb2\x84\xf3\xa0\x81\xad\xf1\x86\xbc\xa9\xe3\x80\x82\xcd\x8e0."); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa7\xf0\x9e\xb2\x84\xf3\xa0\x81\xad\xf1\x86\xbc\xa9\xe3\x80\x82\xcd\x8e0.", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("\xf0\x90\xb9\xa7\xf0\x9e\xb2\x84\xf3\xa0\x81\xad\xf1\x86\xbc\xa9\xe3\x80\x82\xcd\x8e0.", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--fo0dw409aq58qrn69d.xn--0-bgb."); } // [B1, V6, V7] +test { try toAsciiFail("xn--fo0dw409aq58qrn69d.xn--0-bgb.", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("xn--fo0dw409aq58qrn69d.xn--0-bgb.", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--fo0dw409aq58qrn69d.xn--sua6883w"); } // [B1, V6, V7] +test { try toAsciiFail("xn--fo0dw409aq58qrn69d.xn--sua6883w", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--fo0dw409aq58qrn69d.xn--sua6883w", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x82\xa4\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82"); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\x82\xa4.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82"); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\xb4\x84.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\x82\xa4.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xce\xa3"); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xce\xa3", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xce\xa3", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\xb4\x84.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x83"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x83", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84.\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x83", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--vkj.xn--4xa73ob5892c"); } // [B2, B3, V7] +test { try toAsciiFail("xn--vkj.xn--4xa73ob5892c", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--vkj.xn--4xa73ob5892c", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--vkj.xn--4xa73o3t5ajq467a"); } // [B1, C2, V7] +test { try toAsciiFail("xn--vkj.xn--4xa73o3t5ajq467a", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--vkj.xn--4xa73o3t5ajq467a", true); } // [B1, C2, V7] test { try toUnicodeFail("xn--vkj.xn--3xa93o3t5ajq467a"); } // [B1, C2, V7] +test { try toAsciiFail("xn--vkj.xn--3xa93o3t5ajq467a", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--vkj.xn--3xa93o3t5ajq467a", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe2\xb4\x84\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x82", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\x82\xa4\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xce\xa3"); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xce\xa3", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x82\xa4\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xce\xa3", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\xb4\x84\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x83"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x83", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\xb4\x84\xef\xbc\x8e\xe2\x80\x8d\xdc\xa1\xf3\xbb\xa3\x8b\xcf\x83", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--cnd.xn--4xa73ob5892c"); } // [B2, B3, V7] +test { try toAsciiFail("xn--cnd.xn--4xa73ob5892c", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--cnd.xn--4xa73ob5892c", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--cnd.xn--4xa73o3t5ajq467a"); } // [B1, C2, V7] +test { try toAsciiFail("xn--cnd.xn--4xa73o3t5ajq467a", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--cnd.xn--4xa73o3t5ajq467a", true); } // [B1, C2, V7] test { try toUnicodeFail("xn--cnd.xn--3xa93o3t5ajq467a"); } // [B1, C2, V7] +test { try toAsciiFail("xn--cnd.xn--3xa93o3t5ajq467a", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--cnd.xn--3xa93o3t5ajq467a", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf2\xae\xb5\x9b\xd8\x93.\xe1\x82\xb5"); } // [V7] +test { try toAsciiFail("\xf2\xae\xb5\x9b\xd8\x93.\xe1\x82\xb5", false); } // [V7] +test { try toAsciiFail("\xf2\xae\xb5\x9b\xd8\x93.\xe1\x82\xb5", true); } // [V7] test { try toUnicodeFail("\xf2\xae\xb5\x9b\xd8\x93.\xe2\xb4\x95"); } // [V7] +test { try toAsciiFail("\xf2\xae\xb5\x9b\xd8\x93.\xe2\xb4\x95", false); } // [V7] +test { try toAsciiFail("\xf2\xae\xb5\x9b\xd8\x93.\xe2\xb4\x95", true); } // [V7] test { try toUnicodeFail("xn--1fb94204l.xn--dlj"); } // [V7] +test { try toAsciiFail("xn--1fb94204l.xn--dlj", false); } // [V7] +test { try toAsciiFail("xn--1fb94204l.xn--dlj", true); } // [V7] test { try toUnicodeFail("xn--1fb94204l.xn--tnd"); } // [V7] +test { try toAsciiFail("xn--1fb94204l.xn--tnd", false); } // [V7] +test { try toAsciiFail("xn--1fb94204l.xn--tnd", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xaf\xe1\xb7\xb3\xf0\x9e\xa4\xa5\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d"); } // [B1, C1, C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xe1\xb7\xb3\xf0\x9e\xa4\xa5\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xe1\xb7\xb3\xf0\x9e\xa4\xa5\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail(">\xcc\xb8\xe1\xb7\xb3\xf0\x9e\xa4\xa5\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d"); } // [B1, C1, C2, V7] +test { try toAsciiFail(">\xcc\xb8\xe1\xb7\xb3\xf0\x9e\xa4\xa5\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", false); } // [B1, C1, C2, V7] +test { try toAsciiFail(">\xcc\xb8\xe1\xb7\xb3\xf0\x9e\xa4\xa5\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail(">\xcc\xb8\xe1\xb7\xb3\xf0\x9e\xa4\x83\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d"); } // [B1, C1, C2, V7] +test { try toAsciiFail(">\xcc\xb8\xe1\xb7\xb3\xf0\x9e\xa4\x83\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", false); } // [B1, C1, C2, V7] +test { try toAsciiFail(">\xcc\xb8\xe1\xb7\xb3\xf0\x9e\xa4\x83\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x89\xaf\xe1\xb7\xb3\xf0\x9e\xa4\x83\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d"); } // [B1, C1, C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xe1\xb7\xb3\xf0\x9e\xa4\x83\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xe1\xb7\xb3\xf0\x9e\xa4\x83\xe3\x80\x82\xe2\x80\x8c\xea\xa3\x84\xf3\xa0\xaa\x89\xe2\x80\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--ofg13qyr21c.xn--0f9au6706d"); } // [B1, V6, V7] +test { try toAsciiFail("xn--ofg13qyr21c.xn--0f9au6706d", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--ofg13qyr21c.xn--0f9au6706d", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--ofg13qyr21c.xn--0ugc0116hix29k"); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--ofg13qyr21c.xn--0ugc0116hix29k", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--ofg13qyr21c.xn--0ugc0116hix29k", true); } // [B1, C1, C2, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x84\xb7\xef\xbd\xa1\xf2\x92\x91\x81"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x84\xb7\xef\xbd\xa1\xf2\x92\x91\x81", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x84\xb7\xef\xbd\xa1\xf2\x92\x91\x81", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x84\xb7\xe3\x80\x82\xf2\x92\x91\x81"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x84\xb7\xe3\x80\x82\xf2\x92\x91\x81", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x84\xb7\xe3\x80\x82\xf2\x92\x91\x81", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--w720c"); } // [V7, X4_2] +test { try toAsciiFail(".xn--w720c", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--w720c", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--w720c"); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--w720c", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--w720c", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x92\x88\xe0\xb7\x96\xe7\x84\x85.\xf3\x97\xa1\x99\xe2\x80\x8d\xea\xa1\x9f"); } // [C2, V7] +test { try toAsciiFail("\xe2\x92\x88\xe0\xb7\x96\xe7\x84\x85.\xf3\x97\xa1\x99\xe2\x80\x8d\xea\xa1\x9f", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x92\x88\xe0\xb7\x96\xe7\x84\x85.\xf3\x97\xa1\x99\xe2\x80\x8d\xea\xa1\x9f", true); } // [V7] test { try toUnicodeFail("1.\xe0\xb7\x96\xe7\x84\x85.\xf3\x97\xa1\x99\xe2\x80\x8d\xea\xa1\x9f"); } // [C2, V6, V7] +test { try toAsciiFail("1.\xe0\xb7\x96\xe7\x84\x85.\xf3\x97\xa1\x99\xe2\x80\x8d\xea\xa1\x9f", false); } // [C2, V6, V7] +test { try toAsciiFail("1.\xe0\xb7\x96\xe7\x84\x85.\xf3\x97\xa1\x99\xe2\x80\x8d\xea\xa1\x9f", true); } // [V6, V7] test { try toUnicodeFail("1.xn--t1c6981c.xn--4c9a21133d"); } // [V6, V7] +test { try toAsciiFail("1.xn--t1c6981c.xn--4c9a21133d", false); } // [V6, V7] +test { try toAsciiFail("1.xn--t1c6981c.xn--4c9a21133d", true); } // [V6, V7] test { try toUnicodeFail("1.xn--t1c6981c.xn--1ugz184c9lw7i"); } // [C2, V6, V7] +test { try toAsciiFail("1.xn--t1c6981c.xn--1ugz184c9lw7i", false); } // [C2, V6, V7] +test { try toAsciiFail("1.xn--t1c6981c.xn--1ugz184c9lw7i", true); } // [C2, V6, V7] test { try toUnicodeFail("xn--t1c337io97c.xn--4c9a21133d"); } // [V7] +test { try toAsciiFail("xn--t1c337io97c.xn--4c9a21133d", false); } // [V7] +test { try toAsciiFail("xn--t1c337io97c.xn--4c9a21133d", true); } // [V7] test { try toUnicodeFail("xn--t1c337io97c.xn--1ugz184c9lw7i"); } // [C2, V7] +test { try toAsciiFail("xn--t1c337io97c.xn--1ugz184c9lw7i", false); } // [C2, V7] +test { try toAsciiFail("xn--t1c337io97c.xn--1ugz184c9lw7i", true); } // [C2, V7] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x82\xe2\x89\xae.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82\xe2\x89\xae.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82\xe2\x89\xae.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x82<\xcc\xb8.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82<\xcc\xb8.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82<\xcc\xb8.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x82<\xcc\xb8.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82<\xcc\xb8.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82<\xcc\xb8.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x82\xe2\x89\xae.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82\xe2\x89\xae.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x82\xe2\x89\xae.\xcf\x82\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xce\xa3\xe2\x89\xae.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3\xe2\x89\xae.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3\xe2\x89\xae.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xce\xa3<\xcc\xb8.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3<\xcc\xb8.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3<\xcc\xb8.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x83<\xcc\xb8.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83<\xcc\xb8.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83<\xcc\xb8.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x83\xe2\x89\xae.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83\xe2\x89\xae.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83\xe2\x89\xae.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xce\xa3\xe2\x89\xae.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3\xe2\x89\xae.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3\xe2\x89\xae.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xce\xa3<\xcc\xb8.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3<\xcc\xb8.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xce\xa3<\xcc\xb8.\xce\xa3\xf0\x9d\xaa\xa6\xf0\x9e\xa4\xb70", true); } // [B1, B5, V6] test { try toUnicodeFail("xn--4xa544kvid.xn--0-zmb55727aggma"); } // [B1, B5, V6] +test { try toAsciiFail("xn--4xa544kvid.xn--0-zmb55727aggma", false); } // [B1, B5, V6] +test { try toAsciiFail("xn--4xa544kvid.xn--0-zmb55727aggma", true); } // [B1, B5, V6] test { try toUnicodeFail("xn--3xa744kvid.xn--0-xmb85727aggma"); } // [B1, B5, V6] +test { try toAsciiFail("xn--3xa744kvid.xn--0-xmb85727aggma", false); } // [B1, B5, V6] +test { try toAsciiFail("xn--3xa744kvid.xn--0-xmb85727aggma", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x83\xe2\x89\xae.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83\xe2\x89\xae.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83\xe2\x89\xae.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", true); } // [B1, B5, V6] test { try toUnicodeFail("\xe1\xb7\x8d\xcf\x83<\xcc\xb8.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950"); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83<\xcc\xb8.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", false); } // [B1, B5, V6] +test { try toAsciiFail("\xe1\xb7\x8d\xcf\x83<\xcc\xb8.\xcf\x83\xf0\x9d\xaa\xa6\xf0\x9e\xa4\x950", true); } // [B1, B5, V6] test { try toUnicodeFail("\xf2\xa2\xa6\xbe\xc3\x9f\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbe\xc3\x9f\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbe\xc3\x9f\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf2\xa2\xa6\xbeSS\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbeSS\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbeSS\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf2\xa2\xa6\xbess\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbess\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbess\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf2\xa2\xa6\xbeSs\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbeSs\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xa2\xa6\xbeSs\xd6\xb9\xf0\x90\xab\x99.\xd6\xad\xe0\xa2\xa1", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--ss-xjd6058xlz50g.xn--4cb62m"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ss-xjd6058xlz50g.xn--4cb62m", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ss-xjd6058xlz50g.xn--4cb62m", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--zca89v339zj118e.xn--4cb62m"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--zca89v339zj118e.xn--4cb62m", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--zca89v339zj118e.xn--4cb62m", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("-\xf0\x9e\xa3\x84\xef\xbd\xa1\xe2\x92\x88"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x9e\xa3\x84\xef\xbd\xa1\xe2\x92\x88", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x9e\xa3\x84\xef\xbd\xa1\xe2\x92\x88", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf0\x9e\xa3\x84\xe3\x80\x821."); } // [B1, V3] +test { try toAsciiFail("-\xf0\x9e\xa3\x84\xe3\x80\x821.", false); } // [B1, V3, A4_2] +test { try toAsciiFail("-\xf0\x9e\xa3\x84\xe3\x80\x821.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn----xc8r.b."); } // [B1, V3] +test { try toAsciiFail("xn----xc8r.b.", false); } // [B1, V3, A4_2] +test { try toAsciiFail("xn----xc8r.b.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn----xc8r.xn--tsh"); } // [B1, V3, V7] +test { try toAsciiFail("xn----xc8r.xn--tsh", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----xc8r.xn--tsh", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf1\x88\xa0\xa2\xf0\x90\xab\x96\xf0\x9d\x9f\xa1\xe3\x80\x82\xd8\xbe\xf0\x91\x98\xbf"); } // [B5, V7] +test { try toAsciiFail("\xf1\x88\xa0\xa2\xf0\x90\xab\x96\xf0\x9d\x9f\xa1\xe3\x80\x82\xd8\xbe\xf0\x91\x98\xbf", false); } // [B5, V7] +test { try toAsciiFail("\xf1\x88\xa0\xa2\xf0\x90\xab\x96\xf0\x9d\x9f\xa1\xe3\x80\x82\xd8\xbe\xf0\x91\x98\xbf", true); } // [B5, V7] test { try toUnicodeFail("\xf1\x88\xa0\xa2\xf0\x90\xab\x969\xe3\x80\x82\xd8\xbe\xf0\x91\x98\xbf"); } // [B5, V7] +test { try toAsciiFail("\xf1\x88\xa0\xa2\xf0\x90\xab\x969\xe3\x80\x82\xd8\xbe\xf0\x91\x98\xbf", false); } // [B5, V7] +test { try toAsciiFail("\xf1\x88\xa0\xa2\xf0\x90\xab\x969\xe3\x80\x82\xd8\xbe\xf0\x91\x98\xbf", true); } // [B5, V7] test { try toUnicodeFail("xn--9-el5iv442t.xn--9gb0830l"); } // [B5, V7] +test { try toAsciiFail("xn--9-el5iv442t.xn--9gb0830l", false); } // [B5, V7] +test { try toAsciiFail("xn--9-el5iv442t.xn--9gb0830l", true); } // [B5, V7] test { try toUnicodeFail("\xd9\xa8\xef\xb2\x8c\xd9\xa8\xe1\xa9\x9d.\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xd9\xa8\xef\xb2\x8c\xd9\xa8\xe1\xa9\x9d.\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xd9\xa8\xef\xb2\x8c\xd9\xa8\xe1\xa9\x9d.\xe2\x80\x8d", true); } // [B1, A4_2] test { try toUnicodeFail("\xd9\xa8\xd9\x86\xd9\x85\xd9\xa8\xe1\xa9\x9d.\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xd9\xa8\xd9\x86\xd9\x85\xd9\xa8\xe1\xa9\x9d.\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xd9\xa8\xd9\x86\xd9\x85\xd9\xa8\xe1\xa9\x9d.\xe2\x80\x8d", true); } // [B1, A4_2] test { try toUnicodeFail("xn--hhbb5hc956w."); } // [B1] +test { try toAsciiFail("xn--hhbb5hc956w.", false); } // [B1, A4_2] +test { try toAsciiFail("xn--hhbb5hc956w.", true); } // [B1, A4_2] test { try toUnicodeFail("xn--hhbb5hc956w.xn--1ug"); } // [B1, C2] +test { try toAsciiFail("xn--hhbb5hc956w.xn--1ug", false); } // [B1, C2] +test { try toAsciiFail("xn--hhbb5hc956w.xn--1ug", true); } // [B1, C2] test { try toUnicodeFail("\xf0\x9d\x9f\x98\xef\xbc\x8e\xe1\x82\xa7\xf3\x80\xb3\x91\xef\xb5\x90\xf1\xab\x83\xb1"); } // [B1, B5, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x98\xef\xbc\x8e\xe1\x82\xa7\xf3\x80\xb3\x91\xef\xb5\x90\xf1\xab\x83\xb1", false); } // [B1, B5, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x98\xef\xbc\x8e\xe1\x82\xa7\xf3\x80\xb3\x91\xef\xb5\x90\xf1\xab\x83\xb1", true); } // [B1, B5, V7] test { try toUnicodeFail("0.\xe1\x82\xa7\xf3\x80\xb3\x91\xd8\xaa\xd8\xac\xd9\x85\xf1\xab\x83\xb1"); } // [B1, B5, V7] +test { try toAsciiFail("0.\xe1\x82\xa7\xf3\x80\xb3\x91\xd8\xaa\xd8\xac\xd9\x85\xf1\xab\x83\xb1", false); } // [B1, B5, V7] +test { try toAsciiFail("0.\xe1\x82\xa7\xf3\x80\xb3\x91\xd8\xaa\xd8\xac\xd9\x85\xf1\xab\x83\xb1", true); } // [B1, B5, V7] test { try toUnicodeFail("0.\xe2\xb4\x87\xf3\x80\xb3\x91\xd8\xaa\xd8\xac\xd9\x85\xf1\xab\x83\xb1"); } // [B1, B5, V7] +test { try toAsciiFail("0.\xe2\xb4\x87\xf3\x80\xb3\x91\xd8\xaa\xd8\xac\xd9\x85\xf1\xab\x83\xb1", false); } // [B1, B5, V7] +test { try toAsciiFail("0.\xe2\xb4\x87\xf3\x80\xb3\x91\xd8\xaa\xd8\xac\xd9\x85\xf1\xab\x83\xb1", true); } // [B1, B5, V7] test { try toUnicodeFail("0.xn--pgbe9ez79qd207lvff8b"); } // [B1, B5, V7] +test { try toAsciiFail("0.xn--pgbe9ez79qd207lvff8b", false); } // [B1, B5, V7] +test { try toAsciiFail("0.xn--pgbe9ez79qd207lvff8b", true); } // [B1, B5, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x98\xef\xbc\x8e\xe2\xb4\x87\xf3\x80\xb3\x91\xef\xb5\x90\xf1\xab\x83\xb1"); } // [B1, B5, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x98\xef\xbc\x8e\xe2\xb4\x87\xf3\x80\xb3\x91\xef\xb5\x90\xf1\xab\x83\xb1", false); } // [B1, B5, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x98\xef\xbc\x8e\xe2\xb4\x87\xf3\x80\xb3\x91\xef\xb5\x90\xf1\xab\x83\xb1", true); } // [B1, B5, V7] test { try toUnicodeFail("0.xn--pgbe9e344c2725svff8b"); } // [B1, B5, V7] +test { try toAsciiFail("0.xn--pgbe9e344c2725svff8b", false); } // [B1, B5, V7] +test { try toAsciiFail("0.xn--pgbe9e344c2725svff8b", true); } // [B1, B5, V7] test { try toUnicodeFail("\xf0\x91\x87\x80\xe2\x96\x8d.\xe2\x81\x9e\xe1\xa0\xb0"); } // [V6] +test { try toAsciiFail("\xf0\x91\x87\x80\xe2\x96\x8d.\xe2\x81\x9e\xe1\xa0\xb0", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x87\x80\xe2\x96\x8d.\xe2\x81\x9e\xe1\xa0\xb0", true); } // [V6] test { try toUnicodeFail("xn--9zh3057f.xn--j7e103b"); } // [V6] +test { try toAsciiFail("xn--9zh3057f.xn--j7e103b", false); } // [V6] +test { try toAsciiFail("xn--9zh3057f.xn--j7e103b", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d-\xd9\xba.\xf2\x8f\xaf\xa9"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xd9\xba.\xf2\x8f\xaf\xa9", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d-\xd9\xba.\xf2\x8f\xaf\xa9", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----qrc.xn--ts49b"); } // [B1, V3, V7] +test { try toAsciiFail("xn----qrc.xn--ts49b", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----qrc.xn--ts49b", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----qrc357q.xn--ts49b"); } // [B1, C2, V7] +test { try toAsciiFail("xn----qrc357q.xn--ts49b", false); } // [B1, C2, V7] +test { try toAsciiFail("xn----qrc357q.xn--ts49b", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xef\xbd\xa1\xe2\x80\x8c\xe2\x89\xaf\xe2\x9c\xb3"); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xef\xbd\xa1\xe2\x80\x8c\xe2\x89\xaf\xe2\x9c\xb3", false); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xef\xbd\xa1\xe2\x80\x8c\xe2\x89\xaf\xe2\x9c\xb3", true); } // [B1, B5] test { try toUnicodeFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xef\xbd\xa1\xe2\x80\x8c>\xcc\xb8\xe2\x9c\xb3"); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xef\xbd\xa1\xe2\x80\x8c>\xcc\xb8\xe2\x9c\xb3", false); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xef\xbd\xa1\xe2\x80\x8c>\xcc\xb8\xe2\x9c\xb3", true); } // [B1, B5] test { try toUnicodeFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xe3\x80\x82\xe2\x80\x8c\xe2\x89\xaf\xe2\x9c\xb3"); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xe3\x80\x82\xe2\x80\x8c\xe2\x89\xaf\xe2\x9c\xb3", false); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xe3\x80\x82\xe2\x80\x8c\xe2\x89\xaf\xe2\x9c\xb3", true); } // [B1, B5] test { try toUnicodeFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xe3\x80\x82\xe2\x80\x8c>\xcc\xb8\xe2\x9c\xb3"); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xe3\x80\x82\xe2\x80\x8c>\xcc\xb8\xe2\x9c\xb3", false); } // [B1, B5, C1] +test { try toAsciiFail("\xe1\xa0\xa2\xf0\x90\xae\x82\xf0\x90\xab\x98\xe5\xaf\x90\xe3\x80\x82\xe2\x80\x8c>\xcc\xb8\xe2\x9c\xb3", true); } // [B1, B5] test { try toUnicodeFail("xn--46e6675axzzhota.xn--hdh99p"); } // [B1, B5] +test { try toAsciiFail("xn--46e6675axzzhota.xn--hdh99p", false); } // [B1, B5] +test { try toAsciiFail("xn--46e6675axzzhota.xn--hdh99p", true); } // [B1, B5] test { try toUnicodeFail("xn--46e6675axzzhota.xn--0ug06gu8f"); } // [B1, B5, C1] +test { try toAsciiFail("xn--46e6675axzzhota.xn--0ug06gu8f", false); } // [B1, B5, C1] +test { try toAsciiFail("xn--46e6675axzzhota.xn--0ug06gu8f", true); } // [B1, B5, C1] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe1\x82\xba\xe1\x82\xb4\xf0\x9e\xa8\x87"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe1\x82\xba\xe1\x82\xb4\xf0\x9e\xa8\x87", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe1\x82\xba\xe1\x82\xb4\xf0\x9e\xa8\x87", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe1\x82\xba\xe1\x82\xb4\xf0\x9e\xa8\x87"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe1\x82\xba\xe1\x82\xb4\xf0\x9e\xa8\x87", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe1\x82\xba\xe1\x82\xb4\xf0\x9e\xa8\x87", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe2\xb4\x9a\xe2\xb4\x94\xf0\x9e\xa8\x87"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe2\xb4\x9a\xe2\xb4\x94\xf0\x9e\xa8\x87", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe2\xb4\x9a\xe2\xb4\x94\xf0\x9e\xa8\x87", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe1\x82\xba\xe2\xb4\x94\xf0\x9e\xa8\x87"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe1\x82\xba\xe2\xb4\x94\xf0\x9e\xa8\x87", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf3\xb8\xb2\x9c\xe1\x82\xba\xe2\xb4\x94\xf0\x9e\xa8\x87", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail(".xn--cljl81825an3r4h"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--cljl81825an3r4h", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--cljl81825an3r4h", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--cljl81825an3r4h"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--1ug.xn--cljl81825an3r4h", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--1ug.xn--cljl81825an3r4h", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe2\xb4\x9a\xe2\xb4\x94\xf0\x9e\xa8\x87"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe2\xb4\x9a\xe2\xb4\x94\xf0\x9e\xa8\x87", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe2\xb4\x9a\xe2\xb4\x94\xf0\x9e\xa8\x87", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe1\x82\xba\xe2\xb4\x94\xf0\x9e\xa8\x87"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe1\x82\xba\xe2\xb4\x94\xf0\x9e\xa8\x87", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf3\xb8\xb2\x9c\xe1\x82\xba\xe2\xb4\x94\xf0\x9e\xa8\x87", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail(".xn--ynd036lq981an3r4h"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--ynd036lq981an3r4h", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--ynd036lq981an3r4h", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--ynd036lq981an3r4h"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--1ug.xn--ynd036lq981an3r4h", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--1ug.xn--ynd036lq981an3r4h", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail(".xn--sndl01647an3h1h"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--sndl01647an3h1h", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--sndl01647an3h1h", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--sndl01647an3h1h"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--1ug.xn--sndl01647an3h1h", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--1ug.xn--sndl01647an3h1h", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail("-3.\xe2\x80\x8d\xe3\x83\x8c\xe1\xa2\x95"); } // [C2, V3] +test { try toAsciiFail("-3.\xe2\x80\x8d\xe3\x83\x8c\xe1\xa2\x95", false); } // [C2, V3] +test { try toAsciiFail("-3.\xe2\x80\x8d\xe3\x83\x8c\xe1\xa2\x95", true); } // [V3] test { try toUnicodeFail("-3.xn--fbf115j"); } // [V3] +test { try toAsciiFail("-3.xn--fbf115j", false); } // [V3] +test { try toAsciiFail("-3.xn--fbf115j", true); } // [V3] test { try toUnicodeFail("-3.xn--fbf739aq5o"); } // [C2, V3] +test { try toAsciiFail("-3.xn--fbf739aq5o", false); } // [C2, V3] +test { try toAsciiFail("-3.xn--fbf739aq5o", true); } // [C2, V3] test { try toUnicodeFail("\xf0\x9f\x82\x83\xd9\xa6\xc3\x9f\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-"); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6\xc3\x9f\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6\xc3\x9f\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x9f\x82\x83\xd9\xa6SS\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-"); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6SS\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6SS\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x9f\x82\x83\xd9\xa6ss\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-"); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6ss\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6ss\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--ss-pyd98921c.xn----nz8rh7531csznt"); } // [B1, V3, V7] +test { try toAsciiFail("xn--ss-pyd98921c.xn----nz8rh7531csznt", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--ss-pyd98921c.xn----nz8rh7531csznt", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--ss-pyd483x5k99b.xn----nz8rh7531csznt"); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn--ss-pyd483x5k99b.xn----nz8rh7531csznt", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn--ss-pyd483x5k99b.xn----nz8rh7531csznt", true); } // [B1, C2, V3, V7] test { try toUnicodeFail("xn--zca34z68yzu83b.xn----nz8rh7531csznt"); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn--zca34z68yzu83b.xn----nz8rh7531csznt", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn--zca34z68yzu83b.xn----nz8rh7531csznt", true); } // [B1, C2, V3, V7] test { try toUnicodeFail("\xf0\x9f\x82\x83\xd9\xa6Ss\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-"); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6Ss\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("\xf0\x9f\x82\x83\xd9\xa6Ss\xe2\x80\x8d\xe3\x80\x82\xf3\xa0\xa0\x82\xf2\xad\xb0\x8d\xf0\x9e\xa9\x92-", true); } // [B1, V3, V7] test { try toUnicodeFail("\xea\x87\x9f-\xf0\x90\xbe\xba\xda\x9f\xe3\x80\x82\xf2\xb0\x80\xba\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\x87\x9f-\xf0\x90\xbe\xba\xda\x9f\xe3\x80\x82\xf2\xb0\x80\xba\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\x87\x9f-\xf0\x90\xbe\xba\xda\x9f\xe3\x80\x82\xf2\xb0\x80\xba\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("xn----utc4430jd3zd.xn--bp20d"); } // [B5, B6, V7] +test { try toAsciiFail("xn----utc4430jd3zd.xn--bp20d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn----utc4430jd3zd.xn--bp20d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn----utc4430jd3zd.xn--0ugx6670i"); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn----utc4430jd3zd.xn--0ugx6670i", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn----utc4430jd3zd.xn--0ugx6670i", true); } // [B5, B6, C1, V7] test { try toUnicodeFail("\xd9\xa5.\xd2\x84\xf0\x90\xa8\x97\xf0\x9d\xa9\x8b\xf0\xb4\xa4\x83"); } // [B1, V6, V7] +test { try toAsciiFail("\xd9\xa5.\xd2\x84\xf0\x90\xa8\x97\xf0\x9d\xa9\x8b\xf0\xb4\xa4\x83", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd9\xa5.\xd2\x84\xf0\x90\xa8\x97\xf0\x9d\xa9\x8b\xf0\xb4\xa4\x83", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--eib.xn--n3a0405kus8eft5l"); } // [B1, V6, V7] +test { try toAsciiFail("xn--eib.xn--n3a0405kus8eft5l", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--eib.xn--n3a0405kus8eft5l", true); } // [B1, V6, V7] test { try toUnicodeFail("-.\xf1\xb1\xbc\x93\xd9\x89\xf0\x90\xa8\xbf"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-.\xf1\xb1\xbc\x93\xd9\x89\xf0\x90\xa8\xbf", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-.\xf1\xb1\xbc\x93\xd9\x89\xf0\x90\xa8\xbf", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("-.xn--lhb4124khbq4b"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-.xn--lhb4124khbq4b", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("-.xn--lhb4124khbq4b", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xcf\x82.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x82.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x82.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xcf\x82.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x82.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x82.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6SS"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6SS", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6SS", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabSS"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabSS", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabSS", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xeb\x85\xabss"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xeb\x85\xabss", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xeb\x85\xabss", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6ss"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6ss", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6ss", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6ss"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6ss", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6ss", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabss"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabss", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabss", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabSs"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabSs", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xabSs", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6Ss"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6Ss", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6Ss", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--4xa76659r.xn--ss-d64i8755h"); } // [B2, B3, V7] +test { try toAsciiFail("xn--4xa76659r.xn--ss-d64i8755h", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--4xa76659r.xn--ss-d64i8755h", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xce\xa3.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xeb\x85\xab\xc3\x9f", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f"); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf3\xbe\xac\xa8\xcf\x83.\xf0\x9e\xb6\x99\xe1\x84\x82\xe1\x85\xa8\xe1\x86\xb6\xc3\x9f", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--4xa76659r.xn--zca5051g4h4i"); } // [B2, B3, V7] +test { try toAsciiFail("xn--4xa76659r.xn--zca5051g4h4i", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--4xa76659r.xn--zca5051g4h4i", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--3xa96659r.xn--zca5051g4h4i"); } // [B2, B3, V7] +test { try toAsciiFail("xn--3xa96659r.xn--zca5051g4h4i", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--3xa96659r.xn--zca5051g4h4i", true); } // [B2, B3, V7] test { try toAsciiPass("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toAsciiPass("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toAsciiPass("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toAsciiPass("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x84\xb2\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toAsciiPass("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toAsciiPass("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xe3\x80\x82\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toUnicodePass("xn--u4e969b.xn--1ch", "\xe2\x85\x8e\xe1\x9f\x92.\xe2\x89\xa0"); } test { try toAsciiPass("xn--u4e969b.xn--1ch", "xn--u4e969b.xn--1ch", false); } test { try toAsciiPass("xn--u4e969b.xn--1ch", "xn--u4e969b.xn--1ch", true); } @@ -3156,291 +7380,851 @@ test { try toUnicodePass("\xe2\x84\xb2\xe1\x9f\x92.\xe2\x89\xa0", "\xe2\x85\x8e\ test { try toAsciiPass("\xe2\x84\xb2\xe1\x9f\x92.\xe2\x89\xa0", "xn--u4e969b.xn--1ch", false); } test { try toAsciiPass("\xe2\x84\xb2\xe1\x9f\x92.\xe2\x89\xa0", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("xn--u4e823bq1a.xn--0ugb89o"); } // [C1, C2] +test { try toAsciiFail("xn--u4e823bq1a.xn--0ugb89o", false); } // [C1, C2] +test { try toAsciiFail("xn--u4e823bq1a.xn--0ugb89o", true); } // [C1, C2] test { try toAsciiPass("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1=\xcc\xb8\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toAsciiPass("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", "xn--u4e969b.xn--1ch", true); } test { try toUnicodeFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x85\x8e\xe1\x9f\x92\xe2\x80\x8d\xef\xbd\xa1\xe2\x89\xa0\xe2\x80\x8d\xe2\x80\x8c", false); } // [C1, C2] test { try toUnicodeFail("xn--u4e319b.xn--1ch"); } // [V7] +test { try toAsciiFail("xn--u4e319b.xn--1ch", false); } // [V7] +test { try toAsciiFail("xn--u4e319b.xn--1ch", true); } // [V7] test { try toUnicodeFail("xn--u4e823bcza.xn--0ugb89o"); } // [C1, C2, V7] +test { try toAsciiFail("xn--u4e823bcza.xn--0ugb89o", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--u4e823bcza.xn--0ugb89o", true); } // [C1, C2, V7] test { try toUnicodeFail("\xf0\x90\x8b\xba\xea\xab\xb6\xea\xa5\x93\xf3\xa7\xa6\x89\xef\xbc\x8e\xe2\x80\x8c\xe1\x9c\x94\xda\x8f"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\x8b\xba\xea\xab\xb6\xea\xa5\x93\xf3\xa7\xa6\x89\xef\xbc\x8e\xe2\x80\x8c\xe1\x9c\x94\xda\x8f", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\x8b\xba\xea\xab\xb6\xea\xa5\x93\xf3\xa7\xa6\x89\xef\xbc\x8e\xe2\x80\x8c\xe1\x9c\x94\xda\x8f", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x90\x8b\xba\xea\xab\xb6\xea\xa5\x93\xf3\xa7\xa6\x89.\xe2\x80\x8c\xe1\x9c\x94\xda\x8f"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\x8b\xba\xea\xab\xb6\xea\xa5\x93\xf3\xa7\xa6\x89.\xe2\x80\x8c\xe1\x9c\x94\xda\x8f", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\x8b\xba\xea\xab\xb6\xea\xa5\x93\xf3\xa7\xa6\x89.\xe2\x80\x8c\xe1\x9c\x94\xda\x8f", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--3j9a14ak27osbz2o.xn--ljb175f"); } // [B1, V6, V7] +test { try toAsciiFail("xn--3j9a14ak27osbz2o.xn--ljb175f", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--3j9a14ak27osbz2o.xn--ljb175f", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--3j9a14ak27osbz2o.xn--ljb175f1wg"); } // [B1, C1, V7] +test { try toAsciiFail("xn--3j9a14ak27osbz2o.xn--ljb175f1wg", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--3j9a14ak27osbz2o.xn--ljb175f1wg", true); } // [B1, C1, V7] test { try toUnicodeFail("\xf1\xba\x94\xaf\xe0\xbe\xa8\xef\xbc\x8e\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8\xef\xbc\x8e\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8\xef\xbc\x8e\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xf1\xba\x94\xaf\xe0\xbe\xa8\xef\xbc\x8e>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8\xef\xbc\x8e>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8\xef\xbc\x8e>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xf1\xba\x94\xaf\xe0\xbe\xa8.\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8.\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8.\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xf1\xba\x94\xaf\xe0\xbe\xa8.>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8.>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xf1\xba\x94\xaf\xe0\xbe\xa8.>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("xn--4fd57150h.xn--hdh"); } // [V7] +test { try toAsciiFail("xn--4fd57150h.xn--hdh", false); } // [V7] +test { try toAsciiFail("xn--4fd57150h.xn--hdh", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe1\x82\xb3\xef\xbc\x8e\xf0\x90\x87\xbd"); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe1\x82\xb3\xef\xbc\x8e\xf0\x90\x87\xbd", false); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe1\x82\xb3\xef\xbc\x8e\xf0\x90\x87\xbd", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe1\x82\xb3.\xf0\x90\x87\xbd"); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe1\x82\xb3.\xf0\x90\x87\xbd", false); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe1\x82\xb3.\xf0\x90\x87\xbd", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe2\xb4\x93.\xf0\x90\x87\xbd"); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe2\xb4\x93.\xf0\x90\x87\xbd", false); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe2\xb4\x93.\xf0\x90\x87\xbd", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("xn--blj7492l.xn--m27c"); } // [B1, B2, B3, V6] +test { try toAsciiFail("xn--blj7492l.xn--m27c", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("xn--blj7492l.xn--m27c", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("xn--1ugz52c4i16a.xn--m27c"); } // [B1, C2, V6] +test { try toAsciiFail("xn--1ugz52c4i16a.xn--m27c", false); } // [B1, C2, V6] +test { try toAsciiFail("xn--1ugz52c4i16a.xn--m27c", true); } // [B1, C2, V6] test { try toUnicodeFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe2\xb4\x93\xef\xbc\x8e\xf0\x90\x87\xbd"); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe2\xb4\x93\xef\xbc\x8e\xf0\x90\x87\xbd", false); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf0\x9e\xa1\x84\xe2\xb4\x93\xef\xbc\x8e\xf0\x90\x87\xbd", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("xn--rnd5552v.xn--m27c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--rnd5552v.xn--m27c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--rnd5552v.xn--m27c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--rnd379ex885a.xn--m27c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--rnd379ex885a.xn--m27c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--rnd379ex885a.xn--m27c", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xf0\x90\xaa\x92\xc3\x9f\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92\xc3\x9f\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92\xc3\x9f\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92\xc3\x9f\xea\xa3\xaa.\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92\xc3\x9f\xea\xa3\xaa.\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92\xc3\x9f\xea\xa3\xaa.\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92SS\xea\xa3\xaa.\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92SS\xea\xa3\xaa.\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92SS\xea\xa3\xaa.\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92ss\xea\xa3\xaa.\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92ss\xea\xa3\xaa.\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92ss\xea\xa3\xaa.\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("xn--ss-tu9hw933a.xn--08e"); } // [B2, B3] +test { try toAsciiFail("xn--ss-tu9hw933a.xn--08e", false); } // [B2, B3] +test { try toAsciiFail("xn--ss-tu9hw933a.xn--08e", true); } // [B2, B3] test { try toUnicodeFail("xn--zca2517f2hvc.xn--08e"); } // [B2, B3] +test { try toAsciiFail("xn--zca2517f2hvc.xn--08e", false); } // [B2, B3] +test { try toAsciiFail("xn--zca2517f2hvc.xn--08e", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92SS\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92SS\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92SS\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92ss\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92ss\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92ss\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92Ss\xea\xa3\xaa.\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92Ss\xea\xa3\xaa.\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92Ss\xea\xa3\xaa.\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xaa\x92Ss\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4"); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92Ss\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", false); } // [B2, B3] +test { try toAsciiFail("\xf0\x90\xaa\x92Ss\xea\xa3\xaa\xef\xbc\x8e\xe1\xa1\xa4", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xcf\x82"); } // [V6] +test { try toAsciiFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xcf\x82", false); } // [V6] +test { try toAsciiFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xcf\x82", true); } // [V6] test { try toUnicodeFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xce\xa3"); } // [V6] +test { try toAsciiFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xce\xa3", false); } // [V6] +test { try toAsciiFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xce\xa3", true); } // [V6] test { try toUnicodeFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xcf\x83"); } // [V6] +test { try toAsciiFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xcf\x83", false); } // [V6] +test { try toAsciiFail("\xf0\x90\xa8\xbf\xf3\xa0\x86\x8c\xe9\xb8\xae\xf0\x91\x9a\xb6.\xcf\x83", true); } // [V6] test { try toUnicodeFail("xn--l76a726rt2h.xn--4xa"); } // [V6] +test { try toAsciiFail("xn--l76a726rt2h.xn--4xa", false); } // [V6] +test { try toAsciiFail("xn--l76a726rt2h.xn--4xa", true); } // [V6] test { try toUnicodeFail("xn--l76a726rt2h.xn--3xa"); } // [V6] +test { try toAsciiFail("xn--l76a726rt2h.xn--3xa", false); } // [V6] +test { try toAsciiFail("xn--l76a726rt2h.xn--3xa", true); } // [V6] test { try toUnicodeFail("\xe2\x92\x97\xf0\x9e\xa4\xac\xe3\x80\x82-\xf0\x91\x9a\xb6"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x97\xf0\x9e\xa4\xac\xe3\x80\x82-\xf0\x91\x9a\xb6", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x97\xf0\x9e\xa4\xac\xe3\x80\x82-\xf0\x91\x9a\xb6", true); } // [B1, V3, V7] test { try toUnicodeFail("16.\xf0\x9e\xa4\xac\xe3\x80\x82-\xf0\x91\x9a\xb6"); } // [B1, V3] +test { try toAsciiFail("16.\xf0\x9e\xa4\xac\xe3\x80\x82-\xf0\x91\x9a\xb6", false); } // [B1, V3] +test { try toAsciiFail("16.\xf0\x9e\xa4\xac\xe3\x80\x82-\xf0\x91\x9a\xb6", true); } // [B1, V3] test { try toUnicodeFail("16.\xf0\x9e\xa4\x8a\xe3\x80\x82-\xf0\x91\x9a\xb6"); } // [B1, V3] +test { try toAsciiFail("16.\xf0\x9e\xa4\x8a\xe3\x80\x82-\xf0\x91\x9a\xb6", false); } // [B1, V3] +test { try toAsciiFail("16.\xf0\x9e\xa4\x8a\xe3\x80\x82-\xf0\x91\x9a\xb6", true); } // [B1, V3] test { try toUnicodeFail("16.xn--ke6h.xn----4j0j"); } // [B1, V3] +test { try toAsciiFail("16.xn--ke6h.xn----4j0j", false); } // [B1, V3] +test { try toAsciiFail("16.xn--ke6h.xn----4j0j", true); } // [B1, V3] test { try toUnicodeFail("\xe2\x92\x97\xf0\x9e\xa4\x8a\xe3\x80\x82-\xf0\x91\x9a\xb6"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x97\xf0\x9e\xa4\x8a\xe3\x80\x82-\xf0\x91\x9a\xb6", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x97\xf0\x9e\xa4\x8a\xe3\x80\x82-\xf0\x91\x9a\xb6", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--8shw466n.xn----4j0j"); } // [B1, V3, V7] +test { try toAsciiFail("xn--8shw466n.xn----4j0j", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--8shw466n.xn----4j0j", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe0\xa2\xb3\xf0\x9e\xa4\xbf\xe2\xbe\xab\xef\xbd\xa1\xf0\x90\xb9\xa3\xda\x8f\xe2\x92\x88"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\xbf\xe2\xbe\xab\xef\xbd\xa1\xf0\x90\xb9\xa3\xda\x8f\xe2\x92\x88", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\xbf\xe2\xbe\xab\xef\xbd\xa1\xf0\x90\xb9\xa3\xda\x8f\xe2\x92\x88", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xe0\xa2\xb3\xf0\x9e\xa4\xbf\xe9\x9a\xb9\xe3\x80\x82\xf0\x90\xb9\xa3\xda\x8f1."); } // [B1, B2, B3] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\xbf\xe9\x9a\xb9\xe3\x80\x82\xf0\x90\xb9\xa3\xda\x8f1.", false); } // [B1, B2, B3, A4_2] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\xbf\xe9\x9a\xb9\xe3\x80\x82\xf0\x90\xb9\xa3\xda\x8f1.", true); } // [B1, B2, B3, A4_2] test { try toUnicodeFail("\xe0\xa2\xb3\xf0\x9e\xa4\x9d\xe9\x9a\xb9\xe3\x80\x82\xf0\x90\xb9\xa3\xda\x8f1."); } // [B1, B2, B3] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\x9d\xe9\x9a\xb9\xe3\x80\x82\xf0\x90\xb9\xa3\xda\x8f1.", false); } // [B1, B2, B3, A4_2] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\x9d\xe9\x9a\xb9\xe3\x80\x82\xf0\x90\xb9\xa3\xda\x8f1.", true); } // [B1, B2, B3, A4_2] test { try toUnicodeFail("xn--8yb0383efiwk.xn--1-wsc3373r."); } // [B1, B2, B3] +test { try toAsciiFail("xn--8yb0383efiwk.xn--1-wsc3373r.", false); } // [B1, B2, B3, A4_2] +test { try toAsciiFail("xn--8yb0383efiwk.xn--1-wsc3373r.", true); } // [B1, B2, B3, A4_2] test { try toUnicodeFail("\xe0\xa2\xb3\xf0\x9e\xa4\x9d\xe2\xbe\xab\xef\xbd\xa1\xf0\x90\xb9\xa3\xda\x8f\xe2\x92\x88"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\x9d\xe2\xbe\xab\xef\xbd\xa1\xf0\x90\xb9\xa3\xda\x8f\xe2\x92\x88", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xe0\xa2\xb3\xf0\x9e\xa4\x9d\xe2\xbe\xab\xef\xbd\xa1\xf0\x90\xb9\xa3\xda\x8f\xe2\x92\x88", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--8yb0383efiwk.xn--ljb064mol4n"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--8yb0383efiwk.xn--ljb064mol4n", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--8yb0383efiwk.xn--ljb064mol4n", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xe2\x90\xb3\xf0\x9a\x8e\x9b\xf0\x9d\x9f\xa7\xd9\xa1.\xe1\xa1\xa28\xe0\xbd\xb2\xd8\x80"); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\x90\xb3\xf0\x9a\x8e\x9b\xf0\x9d\x9f\xa7\xd9\xa1.\xe1\xa1\xa28\xe0\xbd\xb2\xd8\x80", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\x90\xb3\xf0\x9a\x8e\x9b\xf0\x9d\x9f\xa7\xd9\xa1.\xe1\xa1\xa28\xe0\xbd\xb2\xd8\x80", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\x90\xb3\xf0\x9a\x8e\x9b5\xd9\xa1.\xe1\xa1\xa28\xe0\xbd\xb2\xd8\x80"); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\x90\xb3\xf0\x9a\x8e\x9b5\xd9\xa1.\xe1\xa1\xa28\xe0\xbd\xb2\xd8\x80", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\x90\xb3\xf0\x9a\x8e\x9b5\xd9\xa1.\xe1\xa1\xa28\xe0\xbd\xb2\xd8\x80", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--5-bqc410un435a.xn--8-rkc763epjj"); } // [B5, B6, V7] +test { try toAsciiFail("xn--5-bqc410un435a.xn--8-rkc763epjj", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--5-bqc410un435a.xn--8-rkc763epjj", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa0.\xf0\x9f\x84\x80\xe2\x92\x92-\xf3\xa8\xb0\x88"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa0.\xf0\x9f\x84\x80\xe2\x92\x92-\xf3\xa8\xb0\x88", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa0.\xf0\x9f\x84\x80\xe2\x92\x92-\xf3\xa8\xb0\x88", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa0.0.11.-\xf3\xa8\xb0\x88"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa0.0.11.-\xf3\xa8\xb0\x88", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa0.0.11.-\xf3\xa8\xb0\x88", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--7n0d.0.11.xn----8j07m"); } // [B1, V3, V7] +test { try toAsciiFail("xn--7n0d.0.11.xn----8j07m", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--7n0d.0.11.xn----8j07m", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--7n0d.xn----xcp9757q1s13g"); } // [B1, V7] +test { try toAsciiFail("xn--7n0d.xn----xcp9757q1s13g", false); } // [B1, V7] +test { try toAsciiFail("xn--7n0d.xn----xcp9757q1s13g", true); } // [B1, V7] test { try toUnicodeFail("\xcf\x82-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-"); } // [C1, V3] +test { try toAsciiFail("\xcf\x82-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-", false); } // [C1, V3] +test { try toAsciiFail("\xcf\x82-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-", true); } // [V3] test { try toUnicodeFail("\xcf\x82-\xe3\x80\x82\xe2\x80\x8c1-"); } // [C1, V3] +test { try toAsciiFail("\xcf\x82-\xe3\x80\x82\xe2\x80\x8c1-", false); } // [C1, V3] +test { try toAsciiFail("\xcf\x82-\xe3\x80\x82\xe2\x80\x8c1-", true); } // [V3] test { try toUnicodeFail("\xce\xa3-\xe3\x80\x82\xe2\x80\x8c1-"); } // [C1, V3] +test { try toAsciiFail("\xce\xa3-\xe3\x80\x82\xe2\x80\x8c1-", false); } // [C1, V3] +test { try toAsciiFail("\xce\xa3-\xe3\x80\x82\xe2\x80\x8c1-", true); } // [V3] test { try toUnicodeFail("\xcf\x83-\xe3\x80\x82\xe2\x80\x8c1-"); } // [C1, V3] +test { try toAsciiFail("\xcf\x83-\xe3\x80\x82\xe2\x80\x8c1-", false); } // [C1, V3] +test { try toAsciiFail("\xcf\x83-\xe3\x80\x82\xe2\x80\x8c1-", true); } // [V3] test { try toUnicodeFail("xn----zmb.1-"); } // [V3] +test { try toAsciiFail("xn----zmb.1-", false); } // [V3] +test { try toAsciiFail("xn----zmb.1-", true); } // [V3] test { try toUnicodeFail("xn----zmb.xn--1--i1t"); } // [C1, V3] +test { try toAsciiFail("xn----zmb.xn--1--i1t", false); } // [C1, V3] +test { try toAsciiFail("xn----zmb.xn--1--i1t", true); } // [C1, V3] test { try toUnicodeFail("xn----xmb.xn--1--i1t"); } // [C1, V3] +test { try toAsciiFail("xn----xmb.xn--1--i1t", false); } // [C1, V3] +test { try toAsciiFail("xn----xmb.xn--1--i1t", true); } // [C1, V3] test { try toUnicodeFail("\xce\xa3-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-"); } // [C1, V3] +test { try toAsciiFail("\xce\xa3-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-", false); } // [C1, V3] +test { try toAsciiFail("\xce\xa3-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-", true); } // [V3] test { try toUnicodeFail("\xcf\x83-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-"); } // [C1, V3] +test { try toAsciiFail("\xcf\x83-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-", false); } // [C1, V3] +test { try toAsciiFail("\xcf\x83-\xe3\x80\x82\xe2\x80\x8c\xf0\x9d\x9f\xad-", true); } // [V3] test { try toUnicodeFail("\xe1\x9c\xb4-\xe0\xb3\xa2\xef\xbc\x8e\xf3\xa0\x84\xa9\xe1\x82\xa4"); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2\xef\xbc\x8e\xf3\xa0\x84\xa9\xe1\x82\xa4", false); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2\xef\xbc\x8e\xf3\xa0\x84\xa9\xe1\x82\xa4", true); } // [V6] test { try toUnicodeFail("\xe1\x9c\xb4-\xe0\xb3\xa2.\xf3\xa0\x84\xa9\xe1\x82\xa4"); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2.\xf3\xa0\x84\xa9\xe1\x82\xa4", false); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2.\xf3\xa0\x84\xa9\xe1\x82\xa4", true); } // [V6] test { try toUnicodeFail("\xe1\x9c\xb4-\xe0\xb3\xa2.\xf3\xa0\x84\xa9\xe2\xb4\x84"); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2.\xf3\xa0\x84\xa9\xe2\xb4\x84", false); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2.\xf3\xa0\x84\xa9\xe2\xb4\x84", true); } // [V6] test { try toUnicodeFail("xn----ggf830f.xn--vkj"); } // [V6] +test { try toAsciiFail("xn----ggf830f.xn--vkj", false); } // [V6] +test { try toAsciiFail("xn----ggf830f.xn--vkj", true); } // [V6] test { try toUnicodeFail("\xe1\x9c\xb4-\xe0\xb3\xa2\xef\xbc\x8e\xf3\xa0\x84\xa9\xe2\xb4\x84"); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2\xef\xbc\x8e\xf3\xa0\x84\xa9\xe2\xb4\x84", false); } // [V6] +test { try toAsciiFail("\xe1\x9c\xb4-\xe0\xb3\xa2\xef\xbc\x8e\xf3\xa0\x84\xa9\xe2\xb4\x84", true); } // [V6] test { try toUnicodeFail("xn----ggf830f.xn--cnd"); } // [V6, V7] +test { try toAsciiFail("xn----ggf830f.xn--cnd", false); } // [V6, V7] +test { try toAsciiFail("xn----ggf830f.xn--cnd", true); } // [V6, V7] test { try toUnicodeFail("\xf2\xad\x88\x97\xe2\x99\x8b\xda\xbb\xf0\x90\xa6\xa5\xef\xbd\xa1\xe0\xa5\x94\xe2\x92\x88"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xad\x88\x97\xe2\x99\x8b\xda\xbb\xf0\x90\xa6\xa5\xef\xbd\xa1\xe0\xa5\x94\xe2\x92\x88", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xad\x88\x97\xe2\x99\x8b\xda\xbb\xf0\x90\xa6\xa5\xef\xbd\xa1\xe0\xa5\x94\xe2\x92\x88", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf2\xad\x88\x97\xe2\x99\x8b\xda\xbb\xf0\x90\xa6\xa5\xe3\x80\x82\xe0\xa5\x941."); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xad\x88\x97\xe2\x99\x8b\xda\xbb\xf0\x90\xa6\xa5\xe3\x80\x82\xe0\xa5\x941.", false); } // [B1, B5, B6, V6, V7, A4_2] +test { try toAsciiFail("\xf2\xad\x88\x97\xe2\x99\x8b\xda\xbb\xf0\x90\xa6\xa5\xe3\x80\x82\xe0\xa5\x941.", true); } // [B1, B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--ukb372n129m3rs7f.xn--1-fyd."); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ukb372n129m3rs7f.xn--1-fyd.", false); } // [B1, B5, B6, V6, V7, A4_2] +test { try toAsciiFail("xn--ukb372n129m3rs7f.xn--1-fyd.", true); } // [B1, B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--ukb372n129m3rs7f.xn--u3b240l"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ukb372n129m3rs7f.xn--u3b240l", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ukb372n129m3rs7f.xn--u3b240l", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xd6\xa4\xef\xbc\x8e\xdb\x81\xe1\xaa\xb3\xe2\x80\x8c"); } // [B1, B3, C1, V6] +test { try toAsciiFail("\xd6\xa4\xef\xbc\x8e\xdb\x81\xe1\xaa\xb3\xe2\x80\x8c", false); } // [B1, B3, C1, V6] +test { try toAsciiFail("\xd6\xa4\xef\xbc\x8e\xdb\x81\xe1\xaa\xb3\xe2\x80\x8c", true); } // [B1, V6] test { try toUnicodeFail("\xd6\xa4.\xdb\x81\xe1\xaa\xb3\xe2\x80\x8c"); } // [B1, B3, C1, V6] +test { try toAsciiFail("\xd6\xa4.\xdb\x81\xe1\xaa\xb3\xe2\x80\x8c", false); } // [B1, B3, C1, V6] +test { try toAsciiFail("\xd6\xa4.\xdb\x81\xe1\xaa\xb3\xe2\x80\x8c", true); } // [B1, V6] test { try toUnicodeFail("xn--vcb.xn--0kb623h"); } // [B1, V6] +test { try toAsciiFail("xn--vcb.xn--0kb623h", false); } // [B1, V6] +test { try toAsciiFail("xn--vcb.xn--0kb623h", true); } // [B1, V6] test { try toUnicodeFail("xn--vcb.xn--0kb623hm1d"); } // [B1, B3, C1, V6] +test { try toAsciiFail("xn--vcb.xn--0kb623hm1d", false); } // [B1, B3, C1, V6] +test { try toAsciiFail("xn--vcb.xn--0kb623hm1d", true); } // [B1, B3, C1, V6] test { try toUnicodeFail("\xf1\xa2\xad\x8f\xe0\xa1\x86\xe2\x89\xae\xe0\xab\x8d\xef\xbc\x8e\xf0\x9e\xa6\x8a"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86\xe2\x89\xae\xe0\xab\x8d\xef\xbc\x8e\xf0\x9e\xa6\x8a", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86\xe2\x89\xae\xe0\xab\x8d\xef\xbc\x8e\xf0\x9e\xa6\x8a", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xa2\xad\x8f\xe0\xa1\x86<\xcc\xb8\xe0\xab\x8d\xef\xbc\x8e\xf0\x9e\xa6\x8a"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86<\xcc\xb8\xe0\xab\x8d\xef\xbc\x8e\xf0\x9e\xa6\x8a", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86<\xcc\xb8\xe0\xab\x8d\xef\xbc\x8e\xf0\x9e\xa6\x8a", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xa2\xad\x8f\xe0\xa1\x86\xe2\x89\xae\xe0\xab\x8d.\xf0\x9e\xa6\x8a"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86\xe2\x89\xae\xe0\xab\x8d.\xf0\x9e\xa6\x8a", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86\xe2\x89\xae\xe0\xab\x8d.\xf0\x9e\xa6\x8a", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xa2\xad\x8f\xe0\xa1\x86<\xcc\xb8\xe0\xab\x8d.\xf0\x9e\xa6\x8a"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86<\xcc\xb8\xe0\xab\x8d.\xf0\x9e\xa6\x8a", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xa2\xad\x8f\xe0\xa1\x86<\xcc\xb8\xe0\xab\x8d.\xf0\x9e\xa6\x8a", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--4vb80kq29ayo62l.xn--8g6h"); } // [B5, B6, V7] +test { try toAsciiFail("xn--4vb80kq29ayo62l.xn--8g6h", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--4vb80kq29ayo62l.xn--8g6h", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\x80\x98\xe2\x92\x88\xea\xa1\x8d\xe6\x93\x89"); } // [C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\x80\x98\xe2\x92\x88\xea\xa1\x8d\xe6\x93\x89", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\x80\x98\xe2\x92\x88\xea\xa1\x8d\xe6\x93\x89", true); } // [V6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\x80\x981.\xea\xa1\x8d\xe6\x93\x89"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\x80\x981.\xea\xa1\x8d\xe6\x93\x89", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\x80\x981.\xea\xa1\x8d\xe6\x93\x89", true); } // [V6, A4_2] test { try toUnicodeFail(".xn--1-1p4r.xn--s7uv61m"); } // [V6, X4_2] +test { try toAsciiFail(".xn--1-1p4r.xn--s7uv61m", false); } // [V6, A4_2] +test { try toAsciiFail(".xn--1-1p4r.xn--s7uv61m", true); } // [V6, A4_2] test { try toUnicodeFail("xn--1ug.xn--1-1p4r.xn--s7uv61m"); } // [C2, V6] +test { try toAsciiFail("xn--1ug.xn--1-1p4r.xn--s7uv61m", false); } // [C2, V6] +test { try toAsciiFail("xn--1ug.xn--1-1p4r.xn--s7uv61m", true); } // [C2, V6] test { try toUnicodeFail(".xn--tsh026uql4bew9p"); } // [V6, V7, X4_2] +test { try toAsciiFail(".xn--tsh026uql4bew9p", false); } // [V6, V7, A4_2] +test { try toAsciiFail(".xn--tsh026uql4bew9p", true); } // [V6, V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--tsh026uql4bew9p"); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug.xn--tsh026uql4bew9p", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug.xn--tsh026uql4bew9p", true); } // [C2, V6, V7] test { try toUnicodeFail("\xe2\x82\x88\xdf\x8b\xef\xbc\x8e\xef\xad\xa4\xe2\x89\xa0"); } // [B1, B3] +test { try toAsciiFail("\xe2\x82\x88\xdf\x8b\xef\xbc\x8e\xef\xad\xa4\xe2\x89\xa0", false); } // [B1, B3] +test { try toAsciiFail("\xe2\x82\x88\xdf\x8b\xef\xbc\x8e\xef\xad\xa4\xe2\x89\xa0", true); } // [B1, B3] test { try toUnicodeFail("\xe2\x82\x88\xdf\x8b\xef\xbc\x8e\xef\xad\xa4=\xcc\xb8"); } // [B1, B3] +test { try toAsciiFail("\xe2\x82\x88\xdf\x8b\xef\xbc\x8e\xef\xad\xa4=\xcc\xb8", false); } // [B1, B3] +test { try toAsciiFail("\xe2\x82\x88\xdf\x8b\xef\xbc\x8e\xef\xad\xa4=\xcc\xb8", true); } // [B1, B3] test { try toUnicodeFail("8\xdf\x8b.\xd9\xbf\xe2\x89\xa0"); } // [B1, B3] +test { try toAsciiFail("8\xdf\x8b.\xd9\xbf\xe2\x89\xa0", false); } // [B1, B3] +test { try toAsciiFail("8\xdf\x8b.\xd9\xbf\xe2\x89\xa0", true); } // [B1, B3] test { try toUnicodeFail("8\xdf\x8b.\xd9\xbf=\xcc\xb8"); } // [B1, B3] +test { try toAsciiFail("8\xdf\x8b.\xd9\xbf=\xcc\xb8", false); } // [B1, B3] +test { try toAsciiFail("8\xdf\x8b.\xd9\xbf=\xcc\xb8", true); } // [B1, B3] test { try toUnicodeFail("xn--8-zbd.xn--4ib883l"); } // [B1, B3] +test { try toAsciiFail("xn--8-zbd.xn--4ib883l", false); } // [B1, B3] +test { try toAsciiFail("xn--8-zbd.xn--4ib883l", true); } // [B1, B3] test { try toUnicodeFail("\xe1\xa2\xa1\xdf\x9e\xf2\xb9\x90\xa3.\xe2\x92\x92\xd9\x82\xf0\x91\x8d\xa6"); } // [B1, B5, V7] +test { try toAsciiFail("\xe1\xa2\xa1\xdf\x9e\xf2\xb9\x90\xa3.\xe2\x92\x92\xd9\x82\xf0\x91\x8d\xa6", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe1\xa2\xa1\xdf\x9e\xf2\xb9\x90\xa3.\xe2\x92\x92\xd9\x82\xf0\x91\x8d\xa6", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe1\xa2\xa1\xdf\x9e\xf2\xb9\x90\xa3.11.\xd9\x82\xf0\x91\x8d\xa6"); } // [B1, B5, V7] +test { try toAsciiFail("\xe1\xa2\xa1\xdf\x9e\xf2\xb9\x90\xa3.11.\xd9\x82\xf0\x91\x8d\xa6", false); } // [B1, B5, V7] +test { try toAsciiFail("\xe1\xa2\xa1\xdf\x9e\xf2\xb9\x90\xa3.11.\xd9\x82\xf0\x91\x8d\xa6", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--5sb596fi873t.11.xn--ehb4198k"); } // [B1, B5, V7] +test { try toAsciiFail("xn--5sb596fi873t.11.xn--ehb4198k", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--5sb596fi873t.11.xn--ehb4198k", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--5sb596fi873t.xn--ehb336mvy7n"); } // [B1, B5, V7] +test { try toAsciiFail("xn--5sb596fi873t.xn--ehb336mvy7n", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--5sb596fi873t.xn--ehb336mvy7n", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe0\xb9\x88-\xf0\x90\xb9\xba\xf0\x9d\x9f\x9c.\xcd\xa3\xdb\xa1\xe2\x92\x8f"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb9\x88-\xf0\x90\xb9\xba\xf0\x9d\x9f\x9c.\xcd\xa3\xdb\xa1\xe2\x92\x8f", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb9\x88-\xf0\x90\xb9\xba\xf0\x9d\x9f\x9c.\xcd\xa3\xdb\xa1\xe2\x92\x8f", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb9\x88-\xf0\x90\xb9\xba4.\xcd\xa3\xdb\xa18."); } // [B1, V6] +test { try toAsciiFail("\xe0\xb9\x88-\xf0\x90\xb9\xba4.\xcd\xa3\xdb\xa18.", false); } // [B1, V6, A4_2] +test { try toAsciiFail("\xe0\xb9\x88-\xf0\x90\xb9\xba4.\xcd\xa3\xdb\xa18.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn---4-owiz479s.xn--8-ihb69x."); } // [B1, V6] +test { try toAsciiFail("xn---4-owiz479s.xn--8-ihb69x.", false); } // [B1, V6, A4_2] +test { try toAsciiFail("xn---4-owiz479s.xn--8-ihb69x.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn---4-owiz479s.xn--eva20pjv9a"); } // [B1, V6, V7] +test { try toAsciiFail("xn---4-owiz479s.xn--eva20pjv9a", false); } // [B1, V6, V7] +test { try toAsciiFail("xn---4-owiz479s.xn--eva20pjv9a", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\xab\x90\xef\xbd\xa1\xe1\x83\x80-\xf3\x83\x90\xa2"); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xef\xbd\xa1\xe1\x83\x80-\xf3\x83\x90\xa2", false); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xef\xbd\xa1\xe1\x83\x80-\xf3\x83\x90\xa2", true); } // [V7] test { try toUnicodeFail("\xe2\xab\x90\xe3\x80\x82\xe1\x83\x80-\xf3\x83\x90\xa2"); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xe3\x80\x82\xe1\x83\x80-\xf3\x83\x90\xa2", false); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xe3\x80\x82\xe1\x83\x80-\xf3\x83\x90\xa2", true); } // [V7] test { try toUnicodeFail("\xe2\xab\x90\xe3\x80\x82\xe2\xb4\xa0-\xf3\x83\x90\xa2"); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xe3\x80\x82\xe2\xb4\xa0-\xf3\x83\x90\xa2", false); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xe3\x80\x82\xe2\xb4\xa0-\xf3\x83\x90\xa2", true); } // [V7] test { try toUnicodeFail("xn--r3i.xn----2wst7439i"); } // [V7] +test { try toAsciiFail("xn--r3i.xn----2wst7439i", false); } // [V7] +test { try toAsciiFail("xn--r3i.xn----2wst7439i", true); } // [V7] test { try toUnicodeFail("\xe2\xab\x90\xef\xbd\xa1\xe2\xb4\xa0-\xf3\x83\x90\xa2"); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xef\xbd\xa1\xe2\xb4\xa0-\xf3\x83\x90\xa2", false); } // [V7] +test { try toAsciiFail("\xe2\xab\x90\xef\xbd\xa1\xe2\xb4\xa0-\xf3\x83\x90\xa2", true); } // [V7] test { try toUnicodeFail("xn--r3i.xn----z1g58579u"); } // [V7] +test { try toAsciiFail("xn--r3i.xn----z1g58579u", false); } // [V7] +test { try toAsciiFail("xn--r3i.xn----z1g58579u", true); } // [V7] test { try toUnicodeFail("\xf0\x91\x91\x82\xe2\x97\x8a\xef\xbc\x8e\xe2\xa6\x9f\xe2\x88\xa0"); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x82\xe2\x97\x8a\xef\xbc\x8e\xe2\xa6\x9f\xe2\x88\xa0", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x82\xe2\x97\x8a\xef\xbc\x8e\xe2\xa6\x9f\xe2\x88\xa0", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x91\x82\xe2\x97\x8a.\xe2\xa6\x9f\xe2\x88\xa0"); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x82\xe2\x97\x8a.\xe2\xa6\x9f\xe2\x88\xa0", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x91\x82\xe2\x97\x8a.\xe2\xa6\x9f\xe2\x88\xa0", true); } // [V6] test { try toUnicodeFail("xn--01h3338f.xn--79g270a"); } // [V6] +test { try toAsciiFail("xn--01h3338f.xn--79g270a", false); } // [V6] +test { try toAsciiFail("xn--01h3338f.xn--79g270a", true); } // [V6] test { try toUnicodeFail("\xf0\xbf\x8c\xb0-\xd9\xa2\xe3\x80\x82\xf3\x8b\xb8\x9b\xea\xa1\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\xbf\x8c\xb0-\xd9\xa2\xe3\x80\x82\xf3\x8b\xb8\x9b\xea\xa1\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\xbf\x8c\xb0-\xd9\xa2\xe3\x80\x82\xf3\x8b\xb8\x9b\xea\xa1\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("xn----dqc20828e.xn--bc9an2879c"); } // [B5, B6, V7] +test { try toAsciiFail("xn----dqc20828e.xn--bc9an2879c", false); } // [B5, B6, V7] +test { try toAsciiFail("xn----dqc20828e.xn--bc9an2879c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xd9\xb8\xe3\x80\x82\xf3\xa0\x8f\xac\xdd\x81\xf0\x9e\xaa\xad\xf0\x90\xb9\xaa"); } // [B1, V7] +test { try toAsciiFail("\xd9\xb8\xe3\x80\x82\xf3\xa0\x8f\xac\xdd\x81\xf0\x9e\xaa\xad\xf0\x90\xb9\xaa", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xb8\xe3\x80\x82\xf3\xa0\x8f\xac\xdd\x81\xf0\x9e\xaa\xad\xf0\x90\xb9\xaa", true); } // [B1, V7] test { try toUnicodeFail("\xd9\x8a\xd9\xb4\xe3\x80\x82\xf3\xa0\x8f\xac\xdd\x81\xf0\x9e\xaa\xad\xf0\x90\xb9\xaa"); } // [B1, V7] +test { try toAsciiFail("\xd9\x8a\xd9\xb4\xe3\x80\x82\xf3\xa0\x8f\xac\xdd\x81\xf0\x9e\xaa\xad\xf0\x90\xb9\xaa", false); } // [B1, V7] +test { try toAsciiFail("\xd9\x8a\xd9\xb4\xe3\x80\x82\xf3\xa0\x8f\xac\xdd\x81\xf0\x9e\xaa\xad\xf0\x90\xb9\xaa", true); } // [B1, V7] test { try toUnicodeFail("xn--mhb8f.xn--oob2585kfdsfsbo7h"); } // [B1, V7] +test { try toAsciiFail("xn--mhb8f.xn--oob2585kfdsfsbo7h", false); } // [B1, V7] +test { try toAsciiFail("xn--mhb8f.xn--oob2585kfdsfsbo7h", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xab\x86\xea\x8c\x84\xef\xbd\xa1\xe2\x80\x8d\xe1\xa3\xac"); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xf0\x90\xab\x86\xea\x8c\x84\xef\xbd\xa1\xe2\x80\x8d\xe1\xa3\xac", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xf0\x90\xab\x86\xea\x8c\x84\xef\xbd\xa1\xe2\x80\x8d\xe1\xa3\xac", true); } // [B2, B3] test { try toUnicodeFail("\xf0\x90\xab\x86\xea\x8c\x84\xe3\x80\x82\xe2\x80\x8d\xe1\xa3\xac"); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xf0\x90\xab\x86\xea\x8c\x84\xe3\x80\x82\xe2\x80\x8d\xe1\xa3\xac", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("\xf0\x90\xab\x86\xea\x8c\x84\xe3\x80\x82\xe2\x80\x8d\xe1\xa3\xac", true); } // [B2, B3] test { try toUnicodeFail("xn--y77ao18q.xn--wdf"); } // [B2, B3] +test { try toAsciiFail("xn--y77ao18q.xn--wdf", false); } // [B2, B3] +test { try toAsciiFail("xn--y77ao18q.xn--wdf", true); } // [B2, B3] test { try toUnicodeFail("xn--y77ao18q.xn--wdf367a"); } // [B1, B2, B3, C2] +test { try toAsciiFail("xn--y77ao18q.xn--wdf367a", false); } // [B1, B2, B3, C2] +test { try toAsciiFail("xn--y77ao18q.xn--wdf367a", true); } // [B1, B2, B3, C2] test { try toUnicodeFail("\xe2\x82\x80\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e\xe2\x89\xaf-"); } // [B1, B6, V3, V7] +test { try toAsciiFail("\xe2\x82\x80\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e\xe2\x89\xaf-", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("\xe2\x82\x80\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e\xe2\x89\xaf-", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("\xe2\x82\x80\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e>\xcc\xb8-"); } // [B1, B6, V3, V7] +test { try toAsciiFail("\xe2\x82\x80\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e>\xcc\xb8-", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("\xe2\x82\x80\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e>\xcc\xb8-", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("0\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e\xe2\x89\xaf-"); } // [B1, B6, V3, V7] +test { try toAsciiFail("0\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e\xe2\x89\xaf-", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("0\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e\xe2\x89\xaf-", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("0\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e>\xcc\xb8-"); } // [B1, B6, V3, V7] +test { try toAsciiFail("0\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e>\xcc\xb8-", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("0\xd9\xa2\xe3\x80\x82\xf3\x85\xaa\x9e>\xcc\xb8-", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn--0-dqc.xn----ogov3342l"); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn--0-dqc.xn----ogov3342l", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn--0-dqc.xn----ogov3342l", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("\xcc\x9c\xf0\x90\xb9\xab-\xf0\x9e\xaf\x83.\xf0\x90\x8b\xa4\xe0\xa1\x85"); } // [B1, V6, V7] +test { try toAsciiFail("\xcc\x9c\xf0\x90\xb9\xab-\xf0\x9e\xaf\x83.\xf0\x90\x8b\xa4\xe0\xa1\x85", false); } // [B1, V6, V7] +test { try toAsciiFail("\xcc\x9c\xf0\x90\xb9\xab-\xf0\x9e\xaf\x83.\xf0\x90\x8b\xa4\xe0\xa1\x85", true); } // [B1, V6, V7] test { try toUnicodeFail("xn----gdb7046r692g.xn--3vb1349j"); } // [B1, V6, V7] +test { try toAsciiFail("xn----gdb7046r692g.xn--3vb1349j", false); } // [B1, V6, V7] +test { try toAsciiFail("xn----gdb7046r692g.xn--3vb1349j", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x89\xa0\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("=\xcc\xb8\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xa0\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("=\xcc\xb8\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe1\x83\x81\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("=\xcc\xb8\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xa0\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xe3\x80\x82\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("xn--1ch.xn--fcb363rk03mypug"); } // [B1, V6] +test { try toAsciiFail("xn--1ch.xn--fcb363rk03mypug", false); } // [B1, V6] +test { try toAsciiFail("xn--1ch.xn--fcb363rk03mypug", true); } // [B1, V6] test { try toUnicodeFail("=\xcc\xb8\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("=\xcc\xb8\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xa0\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94"); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", false); } // [B1, V6] +test { try toAsciiFail("\xe2\x89\xa0\xef\xbd\xa1\xf0\x9d\xa9\x91\xf0\x90\xb9\xa9\xe2\xb4\xa1\xd6\x94", true); } // [B1, V6] test { try toUnicodeFail("xn--1ch.xn--fcb538c649rypog"); } // [B1, V6, V7] +test { try toAsciiFail("xn--1ch.xn--fcb538c649rypog", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--1ch.xn--fcb538c649rypog", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x96\xab\xb3\xe2\x89\xa0.\xe1\x82\xa0\xf0\x90\xae\x80"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3\xe2\x89\xa0.\xe1\x82\xa0\xf0\x90\xae\x80", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3\xe2\x89\xa0.\xe1\x82\xa0\xf0\x90\xae\x80", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf0\x96\xab\xb3=\xcc\xb8.\xe1\x82\xa0\xf0\x90\xae\x80"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3=\xcc\xb8.\xe1\x82\xa0\xf0\x90\xae\x80", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3=\xcc\xb8.\xe1\x82\xa0\xf0\x90\xae\x80", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf0\x96\xab\xb3=\xcc\xb8.\xe2\xb4\x80\xf0\x90\xae\x80"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3=\xcc\xb8.\xe2\xb4\x80\xf0\x90\xae\x80", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3=\xcc\xb8.\xe2\xb4\x80\xf0\x90\xae\x80", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf0\x96\xab\xb3\xe2\x89\xa0.\xe2\xb4\x80\xf0\x90\xae\x80"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3\xe2\x89\xa0.\xe2\xb4\x80\xf0\x90\xae\x80", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x96\xab\xb3\xe2\x89\xa0.\xe2\xb4\x80\xf0\x90\xae\x80", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--1ch9250k.xn--rkj6232e"); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--1ch9250k.xn--rkj6232e", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--1ch9250k.xn--rkj6232e", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--1ch9250k.xn--7md2659j"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--1ch9250k.xn--7md2659j", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--1ch9250k.xn--7md2659j", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xbe\xdc\xb6\xdc\xa6\xef\xbc\x8e\xe1\xa2\x9a\xe9\x96\xaa\xe0\xa3\xa2\xf0\x9d\xa9\x9f"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xbe\xdc\xb6\xdc\xa6\xef\xbc\x8e\xe1\xa2\x9a\xe9\x96\xaa\xe0\xa3\xa2\xf0\x9d\xa9\x9f", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xbe\xdc\xb6\xdc\xa6\xef\xbc\x8e\xe1\xa2\x9a\xe9\x96\xaa\xe0\xa3\xa2\xf0\x9d\xa9\x9f", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf3\xa0\x85\xbe\xdc\xb6\xdc\xa6.\xe1\xa2\x9a\xe9\x96\xaa\xe0\xa3\xa2\xf0\x9d\xa9\x9f"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xbe\xdc\xb6\xdc\xa6.\xe1\xa2\x9a\xe9\x96\xaa\xe0\xa3\xa2\xf0\x9d\xa9\x9f", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf3\xa0\x85\xbe\xdc\xb6\xdc\xa6.\xe1\xa2\x9a\xe9\x96\xaa\xe0\xa3\xa2\xf0\x9d\xa9\x9f", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--wnb5a.xn--l0b161fis8gbp5m"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--wnb5a.xn--l0b161fis8gbp5m", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--wnb5a.xn--l0b161fis8gbp5m", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf3\xa0\x87\x9c\xdb\x8b\xea\xa3\xa9\xef\xbd\xa1\xe2\x83\x9d\xe0\xbe\xb0-\xe1\x9b\x9f"); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\x87\x9c\xdb\x8b\xea\xa3\xa9\xef\xbd\xa1\xe2\x83\x9d\xe0\xbe\xb0-\xe1\x9b\x9f", false); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\x87\x9c\xdb\x8b\xea\xa3\xa9\xef\xbd\xa1\xe2\x83\x9d\xe0\xbe\xb0-\xe1\x9b\x9f", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x80\x8d\xf3\xa0\x87\x9c\xdb\x8b\xea\xa3\xa9\xe3\x80\x82\xe2\x83\x9d\xe0\xbe\xb0-\xe1\x9b\x9f"); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\x87\x9c\xdb\x8b\xea\xa3\xa9\xe3\x80\x82\xe2\x83\x9d\xe0\xbe\xb0-\xe1\x9b\x9f", false); } // [B1, C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xf3\xa0\x87\x9c\xdb\x8b\xea\xa3\xa9\xe3\x80\x82\xe2\x83\x9d\xe0\xbe\xb0-\xe1\x9b\x9f", true); } // [B1, V6] test { try toUnicodeFail("xn--blb8114f.xn----gmg236cj6k"); } // [B1, V6] +test { try toAsciiFail("xn--blb8114f.xn----gmg236cj6k", false); } // [B1, V6] +test { try toAsciiFail("xn--blb8114f.xn----gmg236cj6k", true); } // [B1, V6] test { try toUnicodeFail("xn--blb540ke10h.xn----gmg236cj6k"); } // [B1, C2, V6] +test { try toAsciiFail("xn--blb540ke10h.xn----gmg236cj6k", false); } // [B1, C2, V6] +test { try toAsciiFail("xn--blb540ke10h.xn----gmg236cj6k", true); } // [B1, C2, V6] test { try toUnicodeFail("\xed\x97\x81\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba\xf0\x9d\x9f\x9c"); } // [V7] +test { try toAsciiFail("\xed\x97\x81\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba\xf0\x9d\x9f\x9c", false); } // [V7] +test { try toAsciiFail("\xed\x97\x81\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba\xf0\x9d\x9f\x9c", true); } // [V7] test { try toUnicodeFail("\xe1\x84\x92\xe1\x85\xa4\xe1\x86\xbc\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba\xf0\x9d\x9f\x9c"); } // [V7] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xa4\xe1\x86\xbc\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba\xf0\x9d\x9f\x9c", false); } // [V7] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xa4\xe1\x86\xbc\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba\xf0\x9d\x9f\x9c", true); } // [V7] test { try toUnicodeFail("\xed\x97\x81\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba4"); } // [V7] +test { try toAsciiFail("\xed\x97\x81\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba4", false); } // [V7] +test { try toAsciiFail("\xed\x97\x81\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba4", true); } // [V7] test { try toUnicodeFail("\xe1\x84\x92\xe1\x85\xa4\xe1\x86\xbc\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba4"); } // [V7] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xa4\xe1\x86\xbc\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba4", false); } // [V7] +test { try toAsciiFail("\xe1\x84\x92\xe1\x85\xa4\xe1\x86\xbc\xf3\x98\x96\x99\xe0\xb8\xba\xf3\x9a\x8d\x9a\xe3\x80\x82\xda\xba4", true); } // [V7] test { try toUnicodeFail("xn--o4c1723h8g85gt4ya.xn--4-dvc"); } // [V7] +test { try toAsciiFail("xn--o4c1723h8g85gt4ya.xn--4-dvc", false); } // [V7] +test { try toAsciiFail("xn--o4c1723h8g85gt4ya.xn--4-dvc", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xb9\xad\xef\xbd\xa1\xf3\x83\xb1\x82\xe2\x80\x8c\xe1\x82\xbe"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xef\xbd\xa1\xf3\x83\xb1\x82\xe2\x80\x8c\xe1\x82\xbe", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xef\xbd\xa1\xf3\x83\xb1\x82\xe2\x80\x8c\xe1\x82\xbe", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xad\xe3\x80\x82\xf3\x83\xb1\x82\xe2\x80\x8c\xe1\x82\xbe"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xe3\x80\x82\xf3\x83\xb1\x82\xe2\x80\x8c\xe1\x82\xbe", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xe3\x80\x82\xf3\x83\xb1\x82\xe2\x80\x8c\xe1\x82\xbe", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xad\xe3\x80\x82\xf3\x83\xb1\x82\xe2\x80\x8c\xe2\xb4\x9e"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xe3\x80\x82\xf3\x83\xb1\x82\xe2\x80\x8c\xe2\xb4\x9e", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xe3\x80\x82\xf3\x83\xb1\x82\xe2\x80\x8c\xe2\xb4\x9e", true); } // [B1, V7] test { try toUnicodeFail("xn--lo0d.xn--mljx1099g"); } // [B1, V7] +test { try toAsciiFail("xn--lo0d.xn--mljx1099g", false); } // [B1, V7] +test { try toAsciiFail("xn--lo0d.xn--mljx1099g", true); } // [B1, V7] test { try toUnicodeFail("xn--lo0d.xn--0ugx72cwi33v"); } // [B1, C1, V7] +test { try toAsciiFail("xn--lo0d.xn--0ugx72cwi33v", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--lo0d.xn--0ugx72cwi33v", true); } // [B1, C1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xad\xef\xbd\xa1\xf3\x83\xb1\x82\xe2\x80\x8c\xe2\xb4\x9e"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xef\xbd\xa1\xf3\x83\xb1\x82\xe2\x80\x8c\xe2\xb4\x9e", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xad\xef\xbd\xa1\xf3\x83\xb1\x82\xe2\x80\x8c\xe2\xb4\x9e", true); } // [B1, V7] test { try toUnicodeFail("xn--lo0d.xn--2nd75260n"); } // [B1, V7] +test { try toAsciiFail("xn--lo0d.xn--2nd75260n", false); } // [B1, V7] +test { try toAsciiFail("xn--lo0d.xn--2nd75260n", true); } // [B1, V7] test { try toUnicodeFail("xn--lo0d.xn--2nd949eqw95u"); } // [B1, C1, V7] +test { try toAsciiFail("xn--lo0d.xn--2nd949eqw95u", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--lo0d.xn--2nd949eqw95u", true); } // [B1, C1, V7] test { try toUnicodeFail("\xea\xa5\x93.\xcc\xbd\xf0\x91\x82\xbd\xe9\xa6\x8b"); } // [V6, V7] +test { try toAsciiFail("\xea\xa5\x93.\xcc\xbd\xf0\x91\x82\xbd\xe9\xa6\x8b", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa5\x93.\xcc\xbd\xf0\x91\x82\xbd\xe9\xa6\x8b", true); } // [V6, V7] test { try toUnicodeFail("xn--3j9a.xn--bua0708eqzrd"); } // [V6, V7] +test { try toAsciiFail("xn--3j9a.xn--bua0708eqzrd", false); } // [V6, V7] +test { try toAsciiFail("xn--3j9a.xn--bua0708eqzrd", true); } // [V6, V7] test { try toUnicodeFail("\xf3\x88\xab\x9d\xf2\xaa\x9b\xb8\xe2\x80\x8d\xef\xbd\xa1\xe4\x9c\x96"); } // [C2, V7] +test { try toAsciiFail("\xf3\x88\xab\x9d\xf2\xaa\x9b\xb8\xe2\x80\x8d\xef\xbd\xa1\xe4\x9c\x96", false); } // [C2, V7] +test { try toAsciiFail("\xf3\x88\xab\x9d\xf2\xaa\x9b\xb8\xe2\x80\x8d\xef\xbd\xa1\xe4\x9c\x96", true); } // [V7] test { try toUnicodeFail("\xf3\x88\xab\x9d\xf2\xaa\x9b\xb8\xe2\x80\x8d\xe3\x80\x82\xe4\x9c\x96"); } // [C2, V7] +test { try toAsciiFail("\xf3\x88\xab\x9d\xf2\xaa\x9b\xb8\xe2\x80\x8d\xe3\x80\x82\xe4\x9c\x96", false); } // [C2, V7] +test { try toAsciiFail("\xf3\x88\xab\x9d\xf2\xaa\x9b\xb8\xe2\x80\x8d\xe3\x80\x82\xe4\x9c\x96", true); } // [V7] test { try toUnicodeFail("xn--g138cxw05a.xn--k0o"); } // [V7] +test { try toAsciiFail("xn--g138cxw05a.xn--k0o", false); } // [V7] +test { try toAsciiFail("xn--g138cxw05a.xn--k0o", true); } // [V7] test { try toUnicodeFail("xn--1ug30527h9mxi.xn--k0o"); } // [C2, V7] +test { try toAsciiFail("xn--1ug30527h9mxi.xn--k0o", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug30527h9mxi.xn--k0o", true); } // [C2, V7] test { try toUnicodeFail("\xe1\xa1\xaf\xe2\x9a\x89\xe5\xa7\xb6\xf0\x9f\x84\x89\xef\xbc\x8e\xdb\xb7\xe2\x80\x8d\xf0\x9f\x8e\xaa\xe2\x80\x8d"); } // [C2, U1] +test { try toAsciiFail("\xe1\xa1\xaf\xe2\x9a\x89\xe5\xa7\xb6\xf0\x9f\x84\x89\xef\xbc\x8e\xdb\xb7\xe2\x80\x8d\xf0\x9f\x8e\xaa\xe2\x80\x8d", false); } // [C2, U1] +test { try toAsciiFail("\xe1\xa1\xaf\xe2\x9a\x89\xe5\xa7\xb6\xf0\x9f\x84\x89\xef\xbc\x8e\xdb\xb7\xe2\x80\x8d\xf0\x9f\x8e\xaa\xe2\x80\x8d", true); } // [U1] test { try toUnicodeFail("\xe1\xa1\xaf\xe2\x9a\x89\xe5\xa7\xb68,.\xdb\xb7\xe2\x80\x8d\xf0\x9f\x8e\xaa\xe2\x80\x8d"); } // [C2, U1] +test { try toAsciiFail("\xe1\xa1\xaf\xe2\x9a\x89\xe5\xa7\xb68,.\xdb\xb7\xe2\x80\x8d\xf0\x9f\x8e\xaa\xe2\x80\x8d", false); } // [C2, U1] +test { try toAsciiFail("\xe1\xa1\xaf\xe2\x9a\x89\xe5\xa7\xb68,.\xdb\xb7\xe2\x80\x8d\xf0\x9f\x8e\xaa\xe2\x80\x8d", true); } // [U1] test { try toUnicodeFail("xn--8,-g9oy26fzu4d.xn--kmb6733w"); } // [U1] +test { try toAsciiFail("xn--8,-g9oy26fzu4d.xn--kmb6733w", false); } // [U1] +test { try toAsciiFail("xn--8,-g9oy26fzu4d.xn--kmb6733w", true); } // [U1] test { try toUnicodeFail("xn--8,-g9oy26fzu4d.xn--kmb859ja94998b"); } // [C2, U1] +test { try toAsciiFail("xn--8,-g9oy26fzu4d.xn--kmb859ja94998b", false); } // [C2, U1] +test { try toAsciiFail("xn--8,-g9oy26fzu4d.xn--kmb859ja94998b", true); } // [C2, U1] test { try toUnicodeFail("xn--c9e433epi4b3j20a.xn--kmb6733w"); } // [V7] +test { try toAsciiFail("xn--c9e433epi4b3j20a.xn--kmb6733w", false); } // [V7] +test { try toAsciiFail("xn--c9e433epi4b3j20a.xn--kmb6733w", true); } // [V7] test { try toUnicodeFail("xn--c9e433epi4b3j20a.xn--kmb859ja94998b"); } // [C2, V7] +test { try toAsciiFail("xn--c9e433epi4b3j20a.xn--kmb859ja94998b", false); } // [C2, V7] +test { try toAsciiFail("xn--c9e433epi4b3j20a.xn--kmb859ja94998b", true); } // [C2, V7] test { try toUnicodeFail("\xf0\x9e\xbd\x80.\xf0\x90\xb9\xb8\xf0\x9f\x9a\x96\xe0\xb8\xba"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9e\xbd\x80.\xf0\x90\xb9\xb8\xf0\x9f\x9a\x96\xe0\xb8\xba", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9e\xbd\x80.\xf0\x90\xb9\xb8\xf0\x9f\x9a\x96\xe0\xb8\xba", true); } // [B1, V7] test { try toUnicodeFail("xn--0n7h.xn--o4c9032klszf"); } // [B1, V7] +test { try toAsciiFail("xn--0n7h.xn--o4c9032klszf", false); } // [B1, V7] +test { try toAsciiFail("xn--0n7h.xn--o4c9032klszf", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x82\xb4\xe1\xa0\xb5\xef\xbd\xa1\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9"); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4\xe1\xa0\xb5\xef\xbd\xa1\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", false); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4\xe1\xa0\xb5\xef\xbd\xa1\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", true); } // [B1] test { try toUnicodeFail("\xe1\x82\xb4\xe1\xa0\xb5\xe3\x80\x82\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9"); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4\xe1\xa0\xb5\xe3\x80\x82\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", false); } // [B1] +test { try toAsciiFail("\xe1\x82\xb4\xe1\xa0\xb5\xe3\x80\x82\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", true); } // [B1] test { try toUnicodeFail("\xe2\xb4\x94\xe1\xa0\xb5\xe3\x80\x82\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9"); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94\xe1\xa0\xb5\xe3\x80\x82\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", false); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94\xe1\xa0\xb5\xe3\x80\x82\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", true); } // [B1] test { try toUnicodeFail("xn--o7e997h.xn--mmb9ml895e"); } // [B1] +test { try toAsciiFail("xn--o7e997h.xn--mmb9ml895e", false); } // [B1] +test { try toAsciiFail("xn--o7e997h.xn--mmb9ml895e", true); } // [B1] test { try toUnicodeFail("\xe2\xb4\x94\xe1\xa0\xb5\xef\xbd\xa1\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9"); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94\xe1\xa0\xb5\xef\xbd\xa1\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", false); } // [B1] +test { try toAsciiFail("\xe2\xb4\x94\xe1\xa0\xb5\xef\xbd\xa1\xf0\x90\xb9\xa7\xdd\x87\xdb\xb9", true); } // [B1] test { try toUnicodeFail("xn--snd659a.xn--mmb9ml895e"); } // [B1, V7] +test { try toAsciiFail("xn--snd659a.xn--mmb9ml895e", false); } // [B1, V7] +test { try toAsciiFail("xn--snd659a.xn--mmb9ml895e", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x8d\x9f\xe1\xa1\x88\xe2\x80\x8c\xef\xbc\x8e\xef\xb8\x92-\xf0\x96\xbe\x90-"); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xe1\x8d\x9f\xe1\xa1\x88\xe2\x80\x8c\xef\xbc\x8e\xef\xb8\x92-\xf0\x96\xbe\x90-", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xe1\x8d\x9f\xe1\xa1\x88\xe2\x80\x8c\xef\xbc\x8e\xef\xb8\x92-\xf0\x96\xbe\x90-", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe1\x8d\x9f\xe1\xa1\x88\xe2\x80\x8c.\xe3\x80\x82-\xf0\x96\xbe\x90-"); } // [C1, V3, V6, X4_2] +test { try toAsciiFail("\xe1\x8d\x9f\xe1\xa1\x88\xe2\x80\x8c.\xe3\x80\x82-\xf0\x96\xbe\x90-", false); } // [C1, V3, V6, A4_2] +test { try toAsciiFail("\xe1\x8d\x9f\xe1\xa1\x88\xe2\x80\x8c.\xe3\x80\x82-\xf0\x96\xbe\x90-", true); } // [V3, V6, A4_2] test { try toUnicodeFail("xn--b7d82w..xn-----pe4u"); } // [V3, V6, X4_2] +test { try toAsciiFail("xn--b7d82w..xn-----pe4u", false); } // [V3, V6, A4_2] +test { try toAsciiFail("xn--b7d82w..xn-----pe4u", true); } // [V3, V6, A4_2] test { try toUnicodeFail("xn--b7d82wo4h..xn-----pe4u"); } // [C1, V3, V6, X4_2] +test { try toAsciiFail("xn--b7d82wo4h..xn-----pe4u", false); } // [C1, V3, V6, A4_2] +test { try toAsciiFail("xn--b7d82wo4h..xn-----pe4u", true); } // [C1, V3, V6, A4_2] test { try toUnicodeFail("xn--b7d82w.xn-----c82nz547a"); } // [V3, V6, V7] +test { try toAsciiFail("xn--b7d82w.xn-----c82nz547a", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--b7d82w.xn-----c82nz547a", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--b7d82wo4h.xn-----c82nz547a"); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn--b7d82wo4h.xn-----c82nz547a", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn--b7d82wo4h.xn-----c82nz547a", true); } // [C1, V3, V6, V7] test { try toUnicodeFail("\xe2\x92\x88\xd8\x81\xe2\x92\x96\xe2\x80\x8c.\xe1\xb7\xb0\xdf\x9b"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xd8\x81\xe2\x92\x96\xe2\x80\x8c.\xe1\xb7\xb0\xdf\x9b", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xd8\x81\xe2\x92\x96\xe2\x80\x8c.\xe1\xb7\xb0\xdf\x9b", true); } // [B1, V6, V7] test { try toUnicodeFail("1.\xd8\x8115.\xe2\x80\x8c.\xe1\xb7\xb0\xdf\x9b"); } // [B1, C1, V6, V7] +test { try toAsciiFail("1.\xd8\x8115.\xe2\x80\x8c.\xe1\xb7\xb0\xdf\x9b", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("1.\xd8\x8115.\xe2\x80\x8c.\xe1\xb7\xb0\xdf\x9b", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("1.xn--15-1pd..xn--2sb914i"); } // [B1, V6, V7, X4_2] +test { try toAsciiFail("1.xn--15-1pd..xn--2sb914i", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("1.xn--15-1pd..xn--2sb914i", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("1.xn--15-1pd.xn--0ug.xn--2sb914i"); } // [B1, C1, V6, V7] +test { try toAsciiFail("1.xn--15-1pd.xn--0ug.xn--2sb914i", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("1.xn--15-1pd.xn--0ug.xn--2sb914i", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("xn--jfb347mib.xn--2sb914i"); } // [B1, V6, V7] +test { try toAsciiFail("xn--jfb347mib.xn--2sb914i", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--jfb347mib.xn--2sb914i", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--jfb844kmfdwb.xn--2sb914i"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--jfb844kmfdwb.xn--2sb914i", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--jfb844kmfdwb.xn--2sb914i", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xf0\x9d\xa9\x9c\xe3\x80\x82-\xe0\xad\x8d\xe1\x82\xab"); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\xa9\x9c\xe3\x80\x82-\xe0\xad\x8d\xe1\x82\xab", false); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\xa9\x9c\xe3\x80\x82-\xe0\xad\x8d\xe1\x82\xab", true); } // [V3, V6] test { try toUnicodeFail("\xf0\x9d\xa9\x9c\xe3\x80\x82-\xe0\xad\x8d\xe2\xb4\x8b"); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\xa9\x9c\xe3\x80\x82-\xe0\xad\x8d\xe2\xb4\x8b", false); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\xa9\x9c\xe3\x80\x82-\xe0\xad\x8d\xe2\xb4\x8b", true); } // [V3, V6] test { try toUnicodeFail("xn--792h.xn----bse820x"); } // [V3, V6] +test { try toAsciiFail("xn--792h.xn----bse820x", false); } // [V3, V6] +test { try toAsciiFail("xn--792h.xn----bse820x", true); } // [V3, V6] test { try toUnicodeFail("xn--792h.xn----bse632b"); } // [V3, V6, V7] +test { try toAsciiFail("xn--792h.xn----bse632b", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--792h.xn----bse632b", true); } // [V3, V6, V7] test { try toUnicodeFail("\xc3\x9f\xe1\x83\x80.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd"); } // [B2, B3] +test { try toAsciiFail("\xc3\x9f\xe1\x83\x80.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd", false); } // [B2, B3] +test { try toAsciiFail("\xc3\x9f\xe1\x83\x80.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd", true); } // [B2, B3] test { try toUnicodeFail("\xc3\x9f\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe2\xb4\x9d"); } // [B2, B3] +test { try toAsciiFail("\xc3\x9f\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe2\xb4\x9d", false); } // [B2, B3] +test { try toAsciiFail("\xc3\x9f\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe2\xb4\x9d", true); } // [B2, B3] test { try toUnicodeFail("SS\xe1\x83\x80.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd"); } // [B2, B3] +test { try toAsciiFail("SS\xe1\x83\x80.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd", false); } // [B2, B3] +test { try toAsciiFail("SS\xe1\x83\x80.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd", true); } // [B2, B3] test { try toUnicodeFail("ss\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe2\xb4\x9d"); } // [B2, B3] +test { try toAsciiFail("ss\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe2\xb4\x9d", false); } // [B2, B3] +test { try toAsciiFail("ss\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe2\xb4\x9d", true); } // [B2, B3] test { try toUnicodeFail("Ss\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd"); } // [B2, B3] +test { try toAsciiFail("Ss\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd", false); } // [B2, B3] +test { try toAsciiFail("Ss\xe2\xb4\xa0.\xd8\xa0\xe5\x88\xaf\xe1\x82\xbd", true); } // [B2, B3] test { try toUnicodeFail("xn--ss-j81a.xn--fgb670rovy"); } // [B2, B3] +test { try toAsciiFail("xn--ss-j81a.xn--fgb670rovy", false); } // [B2, B3] +test { try toAsciiFail("xn--ss-j81a.xn--fgb670rovy", true); } // [B2, B3] test { try toUnicodeFail("xn--zca277t.xn--fgb670rovy"); } // [B2, B3] +test { try toAsciiFail("xn--zca277t.xn--fgb670rovy", false); } // [B2, B3] +test { try toAsciiFail("xn--zca277t.xn--fgb670rovy", true); } // [B2, B3] test { try toUnicodeFail("xn--ss-j81a.xn--fgb845cb66c"); } // [B2, B3, V7] +test { try toAsciiFail("xn--ss-j81a.xn--fgb845cb66c", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--ss-j81a.xn--fgb845cb66c", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--ss-wgk.xn--fgb845cb66c"); } // [B2, B3, V7] +test { try toAsciiFail("xn--ss-wgk.xn--fgb845cb66c", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--ss-wgk.xn--fgb845cb66c", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--zca442f.xn--fgb845cb66c"); } // [B2, B3, V7] +test { try toAsciiFail("xn--zca442f.xn--fgb845cb66c", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--zca442f.xn--fgb845cb66c", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x84\xb2\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xe3\x80\x82\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("xn--yxf24x4ol.xn--sib102gc69k"); } // [B5, B6, V6] +test { try toAsciiFail("xn--yxf24x4ol.xn--sib102gc69k", false); } // [B5, B6, V6] +test { try toAsciiFail("xn--yxf24x4ol.xn--sib102gc69k", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe2\xb4\x83\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xed\x88\xbb\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3"); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", false); } // [B5, B6, V6] +test { try toAsciiFail("\xe1\xae\xaa\xe1\x82\xa3\xe2\x85\x8e\xef\xbd\xa1\xe1\xa0\xb3\xe1\x84\x90\xe1\x85\xae\xe1\x86\xb6\xd9\xb3", true); } // [B5, B6, V6] test { try toUnicodeFail("xn--bnd957c2pe.xn--sib102gc69k"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--bnd957c2pe.xn--sib102gc69k", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--bnd957c2pe.xn--sib102gc69k", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--bnd957cone.xn--sib102gc69k"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--bnd957cone.xn--sib102gc69k", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--bnd957cone.xn--sib102gc69k", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("\xdb\xac.\xe0\xa2\xa2\xf0\x90\xb9\xab\xd9\xbc"); } // [B1, V6] +test { try toAsciiFail("\xdb\xac.\xe0\xa2\xa2\xf0\x90\xb9\xab\xd9\xbc", false); } // [B1, V6] +test { try toAsciiFail("\xdb\xac.\xe0\xa2\xa2\xf0\x90\xb9\xab\xd9\xbc", true); } // [B1, V6] test { try toUnicodeFail("xn--8lb.xn--1ib31ily45b"); } // [B1, V6] +test { try toAsciiFail("xn--8lb.xn--1ib31ily45b", false); } // [B1, V6] +test { try toAsciiFail("xn--8lb.xn--1ib31ily45b", true); } // [B1, V6] test { try toUnicodeFail("\xda\xb6\xdb\x9f\xe3\x80\x82\xe2\x82\x87\xea\xa0\x86"); } // [B1] +test { try toAsciiFail("\xda\xb6\xdb\x9f\xe3\x80\x82\xe2\x82\x87\xea\xa0\x86", false); } // [B1] +test { try toAsciiFail("\xda\xb6\xdb\x9f\xe3\x80\x82\xe2\x82\x87\xea\xa0\x86", true); } // [B1] test { try toUnicodeFail("\xda\xb6\xdb\x9f\xe3\x80\x827\xea\xa0\x86"); } // [B1] +test { try toAsciiFail("\xda\xb6\xdb\x9f\xe3\x80\x827\xea\xa0\x86", false); } // [B1] +test { try toAsciiFail("\xda\xb6\xdb\x9f\xe3\x80\x827\xea\xa0\x86", true); } // [B1] test { try toUnicodeFail("xn--pkb6f.xn--7-x93e"); } // [B1] +test { try toAsciiFail("xn--pkb6f.xn--7-x93e", false); } // [B1] +test { try toAsciiFail("xn--pkb6f.xn--7-x93e", true); } // [B1] test { try toUnicodeFail("\xda\xb6\xdb\x9f.7\xea\xa0\x86"); } // [B1] +test { try toAsciiFail("\xda\xb6\xdb\x9f.7\xea\xa0\x86", false); } // [B1] +test { try toAsciiFail("\xda\xb6\xdb\x9f.7\xea\xa0\x86", true); } // [B1] test { try toUnicodeFail("\xe1\x83\x83\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3\xe2\x89\xae\xf3\xa0\xa9\x89"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe1\x83\x83\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3\xe2\x89\xae\xf3\xa0\xa9\x89", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe1\x83\x83\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3\xe2\x89\xae\xf3\xa0\xa9\x89", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe1\x83\x83\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3<\xcc\xb8\xf3\xa0\xa9\x89"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe1\x83\x83\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3<\xcc\xb8\xf3\xa0\xa9\x89", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe1\x83\x83\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3<\xcc\xb8\xf3\xa0\xa9\x89", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\xb4\xa3\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3<\xcc\xb8\xf3\xa0\xa9\x89"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\xb4\xa3\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3<\xcc\xb8\xf3\xa0\xa9\x89", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\xb4\xa3\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3<\xcc\xb8\xf3\xa0\xa9\x89", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe2\xb4\xa3\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3\xe2\x89\xae\xf3\xa0\xa9\x89"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\xb4\xa3\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3\xe2\x89\xae\xf3\xa0\xa9\x89", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\xb4\xa3\xf0\x90\xb9\xbb.\xe2\x80\x8c\xf0\x9d\xaa\xa3\xe2\x89\xae\xf3\xa0\xa9\x89", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--rlj6323e.xn--gdh4944ob3x3e"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--rlj6323e.xn--gdh4944ob3x3e", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--rlj6323e.xn--gdh4944ob3x3e", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--rlj6323e.xn--0ugy6gn120eb103g"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--rlj6323e.xn--0ugy6gn120eb103g", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--rlj6323e.xn--0ugy6gn120eb103g", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("xn--7nd8101k.xn--gdh4944ob3x3e"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--7nd8101k.xn--gdh4944ob3x3e", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--7nd8101k.xn--gdh4944ob3x3e", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--7nd8101k.xn--0ugy6gn120eb103g"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--7nd8101k.xn--0ugy6gn120eb103g", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--7nd8101k.xn--0ugy6gn120eb103g", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xf0\x9d\x9f\xb5\xe9\x9a\x81\xe2\xaf\xae\xef\xbc\x8e\xe1\xa0\x8d\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("\xf0\x9d\x9f\xb5\xe9\x9a\x81\xe2\xaf\xae\xef\xbc\x8e\xe1\xa0\x8d\xe2\x80\x8c", false); } // [C1] +test { try toAsciiFail("\xf0\x9d\x9f\xb5\xe9\x9a\x81\xe2\xaf\xae\xef\xbc\x8e\xe1\xa0\x8d\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodeFail("9\xe9\x9a\x81\xe2\xaf\xae.\xe1\xa0\x8d\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("9\xe9\x9a\x81\xe2\xaf\xae.\xe1\xa0\x8d\xe2\x80\x8c", false); } // [C1] +test { try toAsciiFail("9\xe9\x9a\x81\xe2\xaf\xae.\xe1\xa0\x8d\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodePass("xn--9-mfs8024b.", "9\xe9\x9a\x81\xe2\xaf\xae."); } +test { try toAsciiFail("xn--9-mfs8024b.", false); } // [A4_2] +test { try toAsciiFail("xn--9-mfs8024b.", true); } // [A4_2] test { try toUnicodePass("9\xe9\x9a\x81\xe2\xaf\xae.", "9\xe9\x9a\x81\xe2\xaf\xae."); } +test { try toAsciiFail("9\xe9\x9a\x81\xe2\xaf\xae.", false); } // [A4_2] +test { try toAsciiFail("9\xe9\x9a\x81\xe2\xaf\xae.", true); } // [A4_2] test { try toUnicodeFail("xn--9-mfs8024b.xn--0ug"); } // [C1] +test { try toAsciiFail("xn--9-mfs8024b.xn--0ug", false); } // [C1] +test { try toAsciiFail("xn--9-mfs8024b.xn--0ug", true); } // [C1] test { try toUnicodeFail("\xe2\x92\x8f\xf0\x90\xb9\xa7\xef\xbd\xa1\xe1\x83\x83\xe0\xbe\x84\xe5\xbd\xa6"); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x8f\xf0\x90\xb9\xa7\xef\xbd\xa1\xe1\x83\x83\xe0\xbe\x84\xe5\xbd\xa6", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x8f\xf0\x90\xb9\xa7\xef\xbd\xa1\xe1\x83\x83\xe0\xbe\x84\xe5\xbd\xa6", true); } // [B1, V7] test { try toUnicodeFail("8.\xf0\x90\xb9\xa7\xe3\x80\x82\xe1\x83\x83\xe0\xbe\x84\xe5\xbd\xa6"); } // [B1] +test { try toAsciiFail("8.\xf0\x90\xb9\xa7\xe3\x80\x82\xe1\x83\x83\xe0\xbe\x84\xe5\xbd\xa6", false); } // [B1] +test { try toAsciiFail("8.\xf0\x90\xb9\xa7\xe3\x80\x82\xe1\x83\x83\xe0\xbe\x84\xe5\xbd\xa6", true); } // [B1] test { try toUnicodeFail("8.\xf0\x90\xb9\xa7\xe3\x80\x82\xe2\xb4\xa3\xe0\xbe\x84\xe5\xbd\xa6"); } // [B1] +test { try toAsciiFail("8.\xf0\x90\xb9\xa7\xe3\x80\x82\xe2\xb4\xa3\xe0\xbe\x84\xe5\xbd\xa6", false); } // [B1] +test { try toAsciiFail("8.\xf0\x90\xb9\xa7\xe3\x80\x82\xe2\xb4\xa3\xe0\xbe\x84\xe5\xbd\xa6", true); } // [B1] test { try toUnicodeFail("8.xn--fo0d.xn--3ed972m6o8a"); } // [B1] +test { try toAsciiFail("8.xn--fo0d.xn--3ed972m6o8a", false); } // [B1] +test { try toAsciiFail("8.xn--fo0d.xn--3ed972m6o8a", true); } // [B1] test { try toUnicodeFail("\xe2\x92\x8f\xf0\x90\xb9\xa7\xef\xbd\xa1\xe2\xb4\xa3\xe0\xbe\x84\xe5\xbd\xa6"); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x8f\xf0\x90\xb9\xa7\xef\xbd\xa1\xe2\xb4\xa3\xe0\xbe\x84\xe5\xbd\xa6", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x8f\xf0\x90\xb9\xa7\xef\xbd\xa1\xe2\xb4\xa3\xe0\xbe\x84\xe5\xbd\xa6", true); } // [B1, V7] test { try toUnicodeFail("xn--0sh2466f.xn--3ed972m6o8a"); } // [B1, V7] +test { try toAsciiFail("xn--0sh2466f.xn--3ed972m6o8a", false); } // [B1, V7] +test { try toAsciiFail("xn--0sh2466f.xn--3ed972m6o8a", true); } // [B1, V7] test { try toUnicodeFail("8.xn--fo0d.xn--3ed15dt93o"); } // [B1, V7] +test { try toAsciiFail("8.xn--fo0d.xn--3ed15dt93o", false); } // [B1, V7] +test { try toAsciiFail("8.xn--fo0d.xn--3ed15dt93o", true); } // [B1, V7] test { try toUnicodeFail("xn--0sh2466f.xn--3ed15dt93o"); } // [B1, V7] +test { try toAsciiFail("xn--0sh2466f.xn--3ed15dt93o", false); } // [B1, V7] +test { try toAsciiFail("xn--0sh2466f.xn--3ed15dt93o", true); } // [B1, V7] test { try toUnicodeFail("-\xe9\x97\xae\xf1\xac\xb0\x94\xe2\x92\x9b\xe3\x80\x82\xd8\x84-\xf1\x9c\x97\x89\xe6\xa9\xac"); } // [B1, V3, V7] +test { try toAsciiFail("-\xe9\x97\xae\xf1\xac\xb0\x94\xe2\x92\x9b\xe3\x80\x82\xd8\x84-\xf1\x9c\x97\x89\xe6\xa9\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xe9\x97\xae\xf1\xac\xb0\x94\xe2\x92\x9b\xe3\x80\x82\xd8\x84-\xf1\x9c\x97\x89\xe6\xa9\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe9\x97\xae\xf1\xac\xb0\x9420.\xe3\x80\x82\xd8\x84-\xf1\x9c\x97\x89\xe6\xa9\xac"); } // [B1, V3, V7, X4_2] +test { try toAsciiFail("-\xe9\x97\xae\xf1\xac\xb0\x9420.\xe3\x80\x82\xd8\x84-\xf1\x9c\x97\x89\xe6\xa9\xac", false); } // [B1, V3, V7, A4_2] +test { try toAsciiFail("-\xe9\x97\xae\xf1\xac\xb0\x9420.\xe3\x80\x82\xd8\x84-\xf1\x9c\x97\x89\xe6\xa9\xac", true); } // [B1, V3, V7, A4_2] test { try toUnicodeFail("xn---20-658jx1776d..xn----ykc7228efm46d"); } // [B1, V3, V7, X4_2] +test { try toAsciiFail("xn---20-658jx1776d..xn----ykc7228efm46d", false); } // [B1, V3, V7, A4_2] +test { try toAsciiFail("xn---20-658jx1776d..xn----ykc7228efm46d", true); } // [B1, V3, V7, A4_2] test { try toUnicodeFail("xn----hdpu849bhis3e.xn----ykc7228efm46d"); } // [B1, V3, V7] +test { try toAsciiFail("xn----hdpu849bhis3e.xn----ykc7228efm46d", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----hdpu849bhis3e.xn----ykc7228efm46d", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe1\xae\xac\xe1\x82\xac\xe2\x80\x8c\xcc\xa5\xe3\x80\x82\xf0\x9d\x9f\xb8"); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe1\x82\xac\xe2\x80\x8c\xcc\xa5\xe3\x80\x82\xf0\x9d\x9f\xb8", false); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe1\x82\xac\xe2\x80\x8c\xcc\xa5\xe3\x80\x82\xf0\x9d\x9f\xb8", true); } // [V6] test { try toUnicodeFail("\xe1\xae\xac\xe1\x82\xac\xe2\x80\x8c\xcc\xa5\xe3\x80\x822"); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe1\x82\xac\xe2\x80\x8c\xcc\xa5\xe3\x80\x822", false); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe1\x82\xac\xe2\x80\x8c\xcc\xa5\xe3\x80\x822", true); } // [V6] test { try toUnicodeFail("\xe1\xae\xac\xe2\xb4\x8c\xe2\x80\x8c\xcc\xa5\xe3\x80\x822"); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe2\xb4\x8c\xe2\x80\x8c\xcc\xa5\xe3\x80\x822", false); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe2\xb4\x8c\xe2\x80\x8c\xcc\xa5\xe3\x80\x822", true); } // [V6] test { try toUnicodeFail("xn--mta176jjjm.c"); } // [V6] +test { try toAsciiFail("xn--mta176jjjm.c", false); } // [V6] +test { try toAsciiFail("xn--mta176jjjm.c", true); } // [V6] test { try toUnicodeFail("xn--mta176j97cl2q.c"); } // [C1, V6] +test { try toAsciiFail("xn--mta176j97cl2q.c", false); } // [C1, V6] +test { try toAsciiFail("xn--mta176j97cl2q.c", true); } // [C1, V6] test { try toUnicodeFail("\xe1\xae\xac\xe2\xb4\x8c\xe2\x80\x8c\xcc\xa5\xe3\x80\x82\xf0\x9d\x9f\xb8"); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe2\xb4\x8c\xe2\x80\x8c\xcc\xa5\xe3\x80\x82\xf0\x9d\x9f\xb8", false); } // [C1, V6] +test { try toAsciiFail("\xe1\xae\xac\xe2\xb4\x8c\xe2\x80\x8c\xcc\xa5\xe3\x80\x82\xf0\x9d\x9f\xb8", true); } // [V6] test { try toUnicodeFail("xn--mta930emri.c"); } // [V6, V7] +test { try toAsciiFail("xn--mta930emri.c", false); } // [V6, V7] +test { try toAsciiFail("xn--mta930emri.c", true); } // [V6, V7] test { try toUnicodeFail("xn--mta930emribme.c"); } // [C1, V6, V7] +test { try toAsciiFail("xn--mta930emribme.c", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--mta930emribme.c", true); } // [C1, V6, V7] test { try toUnicodeFail("?\xe3\x80\x82\xea\xa0\x86\xd9\xa9\xf3\xa0\x92\xa9"); } // [B1, V6, V7, U1] +test { try toAsciiFail("?\xe3\x80\x82\xea\xa0\x86\xd9\xa9\xf3\xa0\x92\xa9", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("?\xe3\x80\x82\xea\xa0\x86\xd9\xa9\xf3\xa0\x92\xa9", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("?.xn--iib9583fusy0i"); } // [B1, V6, V7, U1] +test { try toAsciiFail("?.xn--iib9583fusy0i", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("?.xn--iib9583fusy0i", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xf3\xa0\x84\x81\xcd\x9f\xe2\xbe\xb6\xef\xbd\xa1\xe2\x82\x87\xef\xb8\x92\xeb\x88\x87\xe2\x89\xae"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe2\xbe\xb6\xef\xbd\xa1\xe2\x82\x87\xef\xb8\x92\xeb\x88\x87\xe2\x89\xae", false); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe2\xbe\xb6\xef\xbd\xa1\xe2\x82\x87\xef\xb8\x92\xeb\x88\x87\xe2\x89\xae", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x84\x81\xcd\x9f\xe2\xbe\xb6\xef\xbd\xa1\xe2\x82\x87\xef\xb8\x92\xe1\x84\x82\xe1\x85\xae\xe1\x86\xaa<\xcc\xb8"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe2\xbe\xb6\xef\xbd\xa1\xe2\x82\x87\xef\xb8\x92\xe1\x84\x82\xe1\x85\xae\xe1\x86\xaa<\xcc\xb8", false); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe2\xbe\xb6\xef\xbd\xa1\xe2\x82\x87\xef\xb8\x92\xe1\x84\x82\xe1\x85\xae\xe1\x86\xaa<\xcc\xb8", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\x84\x81\xcd\x9f\xe9\xa3\x9b\xe3\x80\x827\xe3\x80\x82\xeb\x88\x87\xe2\x89\xae"); } // [V6] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe9\xa3\x9b\xe3\x80\x827\xe3\x80\x82\xeb\x88\x87\xe2\x89\xae", false); } // [V6] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe9\xa3\x9b\xe3\x80\x827\xe3\x80\x82\xeb\x88\x87\xe2\x89\xae", true); } // [V6] test { try toUnicodeFail("\xf3\xa0\x84\x81\xcd\x9f\xe9\xa3\x9b\xe3\x80\x827\xe3\x80\x82\xe1\x84\x82\xe1\x85\xae\xe1\x86\xaa<\xcc\xb8"); } // [V6] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe9\xa3\x9b\xe3\x80\x827\xe3\x80\x82\xe1\x84\x82\xe1\x85\xae\xe1\x86\xaa<\xcc\xb8", false); } // [V6] +test { try toAsciiFail("\xf3\xa0\x84\x81\xcd\x9f\xe9\xa3\x9b\xe3\x80\x827\xe3\x80\x82\xe1\x84\x82\xe1\x85\xae\xe1\x86\xaa<\xcc\xb8", true); } // [V6] test { try toUnicodeFail("xn--9ua0567e.7.xn--gdh6767c"); } // [V6] +test { try toAsciiFail("xn--9ua0567e.7.xn--gdh6767c", false); } // [V6] +test { try toAsciiFail("xn--9ua0567e.7.xn--gdh6767c", true); } // [V6] test { try toUnicodeFail("xn--9ua0567e.xn--7-ngou006d1ttc"); } // [V6, V7] +test { try toAsciiFail("xn--9ua0567e.xn--7-ngou006d1ttc", false); } // [V6, V7] +test { try toAsciiFail("xn--9ua0567e.xn--7-ngou006d1ttc", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xef\xb8\x89\xf0\x90\xb9\xb4\xe2\x80\x8d\xef\xbc\x8e\xe2\x80\x8c\xe2\xbf\x83"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xef\xb8\x89\xf0\x90\xb9\xb4\xe2\x80\x8d\xef\xbc\x8e\xe2\x80\x8c\xe2\xbf\x83", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xef\xb8\x89\xf0\x90\xb9\xb4\xe2\x80\x8d\xef\xbc\x8e\xe2\x80\x8c\xe2\xbf\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xef\xb8\x89\xf0\x90\xb9\xb4\xe2\x80\x8d.\xe2\x80\x8c\xe9\xb3\xa5"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xef\xb8\x89\xf0\x90\xb9\xb4\xe2\x80\x8d.\xe2\x80\x8c\xe9\xb3\xa5", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xef\xb8\x89\xf0\x90\xb9\xb4\xe2\x80\x8d.\xe2\x80\x8c\xe9\xb3\xa5", true); } // [B1] test { try toUnicodeFail("xn--so0d.xn--6x6a"); } // [B1] +test { try toAsciiFail("xn--so0d.xn--6x6a", false); } // [B1] +test { try toAsciiFail("xn--so0d.xn--6x6a", true); } // [B1] test { try toUnicodeFail("xn--0ugc6024p.xn--0ug1920c"); } // [B1, C1, C2] +test { try toAsciiFail("xn--0ugc6024p.xn--0ug1920c", false); } // [B1, C1, C2] +test { try toAsciiFail("xn--0ugc6024p.xn--0ug1920c", true); } // [B1, C1, C2] test { try toUnicodeFail("\xf0\x9f\x8d\xae\xef\xbc\x8e\xe2\x80\x8d\xf3\xa0\x97\x92\xf0\x90\xa6\x81\xf0\x9d\xa8\x9d"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x9f\x8d\xae\xef\xbc\x8e\xe2\x80\x8d\xf3\xa0\x97\x92\xf0\x90\xa6\x81\xf0\x9d\xa8\x9d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x9f\x8d\xae\xef\xbc\x8e\xe2\x80\x8d\xf3\xa0\x97\x92\xf0\x90\xa6\x81\xf0\x9d\xa8\x9d", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x8d\xae.\xe2\x80\x8d\xf3\xa0\x97\x92\xf0\x90\xa6\x81\xf0\x9d\xa8\x9d"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x9f\x8d\xae.\xe2\x80\x8d\xf3\xa0\x97\x92\xf0\x90\xa6\x81\xf0\x9d\xa8\x9d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x9f\x8d\xae.\xe2\x80\x8d\xf3\xa0\x97\x92\xf0\x90\xa6\x81\xf0\x9d\xa8\x9d", true); } // [B1, V7] test { try toUnicodeFail("xn--lj8h.xn--ln9ci476aqmr2g"); } // [B1, V7] +test { try toAsciiFail("xn--lj8h.xn--ln9ci476aqmr2g", false); } // [B1, V7] +test { try toAsciiFail("xn--lj8h.xn--ln9ci476aqmr2g", true); } // [B1, V7] test { try toUnicodeFail("xn--lj8h.xn--1ug6603gr1pfwq37h"); } // [B1, C2, V7] +test { try toAsciiFail("xn--lj8h.xn--1ug6603gr1pfwq37h", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--lj8h.xn--1ug6603gr1pfwq37h", true); } // [B1, C2, V7] test { try toAsciiPass("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\x93\xe2\x80\x8d", "xn--2ib43l.xn--te6h", true); } test { try toUnicodeFail("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\x93\xe2\x80\x8d"); } // [B3, C2] +test { try toAsciiFail("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\x93\xe2\x80\x8d", false); } // [B3, C2] test { try toAsciiPass("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\xb5\xe2\x80\x8d", "xn--2ib43l.xn--te6h", true); } test { try toUnicodeFail("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\xb5\xe2\x80\x8d"); } // [B3, C2] +test { try toAsciiFail("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\xb5\xe2\x80\x8d", false); } // [B3, C2] test { try toUnicodePass("xn--2ib43l.xn--te6h", "\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\xb5"); } test { try toAsciiPass("xn--2ib43l.xn--te6h", "xn--2ib43l.xn--te6h", false); } test { try toAsciiPass("xn--2ib43l.xn--te6h", "xn--2ib43l.xn--te6h", true); } @@ -3451,91 +8235,263 @@ test { try toUnicodePass("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\x93", "\xd9\xbd\xe0\ test { try toAsciiPass("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\x93", "xn--2ib43l.xn--te6h", false); } test { try toAsciiPass("\xd9\xbd\xe0\xa5\x83.\xf0\x9e\xa4\x93", "xn--2ib43l.xn--te6h", true); } test { try toUnicodeFail("xn--2ib43l.xn--1ugy711p"); } // [B3, C2] +test { try toAsciiFail("xn--2ib43l.xn--1ugy711p", false); } // [B3, C2] +test { try toAsciiFail("xn--2ib43l.xn--1ugy711p", true); } // [B3, C2] test { try toUnicodeFail("\xd9\xa4\xe0\xa9\x8d-\xef\xbc\x8e\xf3\xa5\x9c\xbd\xe1\x80\xb9\xf1\xa6\xa6\x90"); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa4\xe0\xa9\x8d-\xef\xbc\x8e\xf3\xa5\x9c\xbd\xe1\x80\xb9\xf1\xa6\xa6\x90", false); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa4\xe0\xa9\x8d-\xef\xbc\x8e\xf3\xa5\x9c\xbd\xe1\x80\xb9\xf1\xa6\xa6\x90", true); } // [B1, V3, V7] test { try toUnicodeFail("\xd9\xa4\xe0\xa9\x8d-.\xf3\xa5\x9c\xbd\xe1\x80\xb9\xf1\xa6\xa6\x90"); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa4\xe0\xa9\x8d-.\xf3\xa5\x9c\xbd\xe1\x80\xb9\xf1\xa6\xa6\x90", false); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa4\xe0\xa9\x8d-.\xf3\xa5\x9c\xbd\xe1\x80\xb9\xf1\xa6\xa6\x90", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----gqc711a.xn--9jd88234f3qm0b"); } // [B1, V3, V7] +test { try toAsciiFail("xn----gqc711a.xn--9jd88234f3qm0b", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----gqc711a.xn--9jd88234f3qm0b", true); } // [B1, V3, V7] test { try toUnicodeFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xef\xbd\xa1\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4\xe2\x89\xae"); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xef\xbd\xa1\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4\xe2\x89\xae", false); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xef\xbd\xa1\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4\xe2\x89\xae", true); } // [B1, V6] test { try toUnicodeFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xef\xbd\xa1\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4<\xcc\xb8"); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xef\xbd\xa1\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4<\xcc\xb8", false); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xef\xbd\xa1\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4<\xcc\xb8", true); } // [B1, V6] test { try toUnicodeFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xe3\x80\x82\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4\xe2\x89\xae"); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xe3\x80\x82\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4\xe2\x89\xae", false); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xe3\x80\x82\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4\xe2\x89\xae", true); } // [B1, V6] test { try toUnicodeFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xe3\x80\x82\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4<\xcc\xb8"); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xe3\x80\x82\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4<\xcc\xb8", false); } // [B1, C1, V6] +test { try toAsciiFail("4\xe1\x80\xba-\xf0\x90\xb9\xb8\xe3\x80\x82\xea\xa8\xa9\xe2\x80\x8c\xf0\x90\xb9\xb4<\xcc\xb8", true); } // [B1, V6] test { try toUnicodeFail("xn--4--e4j7831r.xn--gdh8754cz40c"); } // [B1, V6] +test { try toAsciiFail("xn--4--e4j7831r.xn--gdh8754cz40c", false); } // [B1, V6] +test { try toAsciiFail("xn--4--e4j7831r.xn--gdh8754cz40c", true); } // [B1, V6] test { try toUnicodeFail("xn--4--e4j7831r.xn--0ugy6gjy5sl3ud"); } // [B1, C1, V6] +test { try toAsciiFail("xn--4--e4j7831r.xn--0ugy6gjy5sl3ud", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--4--e4j7831r.xn--0ugy6gjy5sl3ud", true); } // [B1, C1, V6] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82\xef\xbe\xa0\xe0\xbe\x84\xe0\xbe\x96"); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xef\xbe\xa0\xe0\xbe\x84\xe0\xbe\x96", false); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xef\xbe\xa0\xe0\xbe\x84\xe0\xbe\x96", true); } // [V6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82\xe1\x85\xa0\xe0\xbe\x84\xe0\xbe\x96"); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xe1\x85\xa0\xe0\xbe\x84\xe0\xbe\x96", false); } // [C1, V6] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xe1\x85\xa0\xe0\xbe\x84\xe0\xbe\x96", true); } // [V6, A4_2] test { try toUnicodeFail(".xn--3ed0b"); } // [V6, X4_2] +test { try toAsciiFail(".xn--3ed0b", false); } // [V6, A4_2] +test { try toAsciiFail(".xn--3ed0b", true); } // [V6, A4_2] test { try toUnicodeFail("xn--0ug.xn--3ed0b"); } // [C1, V6] +test { try toAsciiFail("xn--0ug.xn--3ed0b", false); } // [C1, V6] +test { try toAsciiFail("xn--0ug.xn--3ed0b", true); } // [C1, V6] test { try toUnicodeFail(".xn--3ed0b20h"); } // [V7, X4_2] +test { try toAsciiFail(".xn--3ed0b20h", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--3ed0b20h", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--3ed0b20h"); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--3ed0b20h", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--3ed0b20h", true); } // [C1, V7] test { try toUnicodeFail(".xn--3ed0by082k"); } // [V7, X4_2] +test { try toAsciiFail(".xn--3ed0by082k", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--3ed0by082k", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--3ed0by082k"); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--3ed0by082k", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--3ed0by082k", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x89\xaf\xf2\x8d\x98\x85\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b"); } // [C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf2\x8d\x98\x85\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf2\x8d\x98\x85\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", true); } // [V7] test { try toUnicodeFail(">\xcc\xb8\xf2\x8d\x98\x85\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b"); } // [C2, V7] +test { try toAsciiFail(">\xcc\xb8\xf2\x8d\x98\x85\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", false); } // [C2, V7] +test { try toAsciiFail(">\xcc\xb8\xf2\x8d\x98\x85\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", true); } // [V7] test { try toUnicodeFail("\xe2\x89\xaf\xf2\x8d\x98\x85.\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b"); } // [C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf2\x8d\x98\x85.\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf2\x8d\x98\x85.\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", true); } // [V7] test { try toUnicodeFail(">\xcc\xb8\xf2\x8d\x98\x85.\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b"); } // [C2, V7] +test { try toAsciiFail(">\xcc\xb8\xf2\x8d\x98\x85.\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", false); } // [C2, V7] +test { try toAsciiFail(">\xcc\xb8\xf2\x8d\x98\x85.\xe2\x80\x8d\xf0\x90\x85\xbc\xf2\xb2\x87\x9b", true); } // [V7] test { try toUnicodeFail("xn--hdh84488f.xn--xy7cw2886b"); } // [V7] +test { try toAsciiFail("xn--hdh84488f.xn--xy7cw2886b", false); } // [V7] +test { try toAsciiFail("xn--hdh84488f.xn--xy7cw2886b", true); } // [V7] test { try toUnicodeFail("xn--hdh84488f.xn--1ug8099fbjp4e"); } // [C2, V7] +test { try toAsciiFail("xn--hdh84488f.xn--1ug8099fbjp4e", false); } // [C2, V7] +test { try toAsciiFail("xn--hdh84488f.xn--1ug8099fbjp4e", true); } // [C2, V7] test { try toUnicodeFail("\xd9\x81\xc3\x9f\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81\xc3\x9f\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81\xc3\x9f\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81\xc3\x9f\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81\xc3\x9f\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81\xc3\x9f\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81SS\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81SS\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81SS\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81ss\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81ss\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81ss\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("xn--ss-jvd2339x.xn--7-mm5i"); } // [B1, B2] +test { try toAsciiFail("xn--ss-jvd2339x.xn--7-mm5i", false); } // [B1, B2] +test { try toAsciiFail("xn--ss-jvd2339x.xn--7-mm5i", true); } // [B1, B2] test { try toUnicodeFail("xn--zca96ys96y.xn--7-mm5i"); } // [B1, B2] +test { try toAsciiFail("xn--zca96ys96y.xn--7-mm5i", false); } // [B1, B2] +test { try toAsciiFail("xn--zca96ys96y.xn--7-mm5i", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81SS\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81SS\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81SS\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81ss\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81ss\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81ss\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81Ss\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81Ss\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81Ss\xf0\x90\xb0\xaf\xe3\x80\x827\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xd9\x81Ss\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab"); } // [B1, B2] +test { try toAsciiFail("\xd9\x81Ss\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", false); } // [B1, B2] +test { try toAsciiFail("\xd9\x81Ss\xf0\x90\xb0\xaf\xef\xbd\xa1\xf0\x9d\x9f\x95\xf0\x90\xab\xab", true); } // [B1, B2] test { try toUnicodeFail("\xc3\x9f\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2"); } // [B2, B5, B6, V7] +test { try toAsciiFail("\xc3\x9f\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", false); } // [B2, B5, B6, V7] +test { try toAsciiFail("\xc3\x9f\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", true); } // [B2, B5, B6, V7] test { try toUnicodeFail("SS\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2"); } // [B2, B5, B6, V7] +test { try toAsciiFail("SS\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", false); } // [B2, B5, B6, V7] +test { try toAsciiFail("SS\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", true); } // [B2, B5, B6, V7] test { try toUnicodeFail("ss\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2"); } // [B2, B5, B6, V7] +test { try toAsciiFail("ss\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", false); } // [B2, B5, B6, V7] +test { try toAsciiFail("ss\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", true); } // [B2, B5, B6, V7] test { try toUnicodeFail("Ss\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2"); } // [B2, B5, B6, V7] +test { try toAsciiFail("Ss\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", false); } // [B2, B5, B6, V7] +test { try toAsciiFail("Ss\xde\xac\xde\xa7\xe0\xa2\xb1\xe3\x80\x82\xf0\x90\xad\x81\xf4\x85\xae\x99\xf0\x90\xb9\xb2", true); } // [B2, B5, B6, V7] test { try toUnicodeFail("xn--ss-9qet02k.xn--e09co8cr9861c"); } // [B2, B5, B6, V7] +test { try toAsciiFail("xn--ss-9qet02k.xn--e09co8cr9861c", false); } // [B2, B5, B6, V7] +test { try toAsciiFail("xn--ss-9qet02k.xn--e09co8cr9861c", true); } // [B2, B5, B6, V7] test { try toUnicodeFail("xn--zca685aoa95h.xn--e09co8cr9861c"); } // [B2, B5, B6, V7] +test { try toAsciiFail("xn--zca685aoa95h.xn--e09co8cr9861c", false); } // [B2, B5, B6, V7] +test { try toAsciiFail("xn--zca685aoa95h.xn--e09co8cr9861c", true); } // [B2, B5, B6, V7] test { try toUnicodeFail("-\xef\xbd\xa1\xf3\xa0\x89\x97\xe2\x92\x8c\xf0\x9e\xaf\x9b"); } // [B1, V3, V7] +test { try toAsciiFail("-\xef\xbd\xa1\xf3\xa0\x89\x97\xe2\x92\x8c\xf0\x9e\xaf\x9b", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xef\xbd\xa1\xf3\xa0\x89\x97\xe2\x92\x8c\xf0\x9e\xaf\x9b", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe3\x80\x82\xf3\xa0\x89\x975.\xf0\x9e\xaf\x9b"); } // [B1, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xf3\xa0\x89\x975.\xf0\x9e\xaf\x9b", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xf3\xa0\x89\x975.\xf0\x9e\xaf\x9b", true); } // [B1, V3, V7] test { try toUnicodeFail("-.xn--5-zz21m.xn--6x6h"); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--5-zz21m.xn--6x6h", false); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--5-zz21m.xn--6x6h", true); } // [B1, V3, V7] test { try toUnicodeFail("-.xn--xsh6367n1bi3e"); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--xsh6367n1bi3e", false); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--xsh6367n1bi3e", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x82\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x82\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x82.-\xe2\x89\xae\xd8\xae\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82.-\xe2\x89\xae\xd8\xae\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82.-\xe2\x89\xae\xd8\xae\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x82.-<\xcc\xb8\xd8\xae\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82.-<\xcc\xb8\xd8\xae\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x82.-<\xcc\xb8\xd8\xae\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xce\xa3.-<\xcc\xb8\xd8\xae\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3.-<\xcc\xb8\xd8\xae\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3.-<\xcc\xb8\xd8\xae\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xce\xa3.-\xe2\x89\xae\xd8\xae\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3.-\xe2\x89\xae\xd8\xae\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3.-\xe2\x89\xae\xd8\xae\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x83.-\xe2\x89\xae\xd8\xae\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83.-\xe2\x89\xae\xd8\xae\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83.-\xe2\x89\xae\xd8\xae\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x83.-<\xcc\xb8\xd8\xae\xd8\xac"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83.-<\xcc\xb8\xd8\xae\xd8\xac", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83.-<\xcc\xb8\xd8\xae\xd8\xac", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--4xa92520c.xn----9mcf1400a"); } // [B1, V3, V7] +test { try toAsciiFail("xn--4xa92520c.xn----9mcf1400a", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--4xa92520c.xn----9mcf1400a", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--3xa13520c.xn----9mcf1400a"); } // [B1, V3, V7] +test { try toAsciiFail("xn--3xa13520c.xn----9mcf1400a", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--3xa13520c.xn----9mcf1400a", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xce\xa3\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xce\xa3\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xce\xa3\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x83\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83\xef\xbc\x8e-\xe2\x89\xae\xef\xb2\xab", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\xbc\x8e\x8f\xcf\x83\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\xbc\x8e\x8f\xcf\x83\xef\xbc\x8e-<\xcc\xb8\xef\xb2\xab", true); } // [B1, V3, V7] test { try toUnicodeFail("\xea\xa1\x97\xe0\xa2\xb8\xdc\x99\xef\xbc\x8e\xf1\x94\xa4\x94\xf3\xa0\x9b\x99\xe0\xb1\x8d\xef\xb0\xbe"); } // [B5, B6, V7] +test { try toAsciiFail("\xea\xa1\x97\xe0\xa2\xb8\xdc\x99\xef\xbc\x8e\xf1\x94\xa4\x94\xf3\xa0\x9b\x99\xe0\xb1\x8d\xef\xb0\xbe", false); } // [B5, B6, V7] +test { try toAsciiFail("\xea\xa1\x97\xe0\xa2\xb8\xdc\x99\xef\xbc\x8e\xf1\x94\xa4\x94\xf3\xa0\x9b\x99\xe0\xb1\x8d\xef\xb0\xbe", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xa1\x97\xe0\xa2\xb8\xdc\x99.\xf1\x94\xa4\x94\xf3\xa0\x9b\x99\xe0\xb1\x8d\xd9\x83\xd9\x8a"); } // [B5, B6, V7] +test { try toAsciiFail("\xea\xa1\x97\xe0\xa2\xb8\xdc\x99.\xf1\x94\xa4\x94\xf3\xa0\x9b\x99\xe0\xb1\x8d\xd9\x83\xd9\x8a", false); } // [B5, B6, V7] +test { try toAsciiFail("\xea\xa1\x97\xe0\xa2\xb8\xdc\x99.\xf1\x94\xa4\x94\xf3\xa0\x9b\x99\xe0\xb1\x8d\xd9\x83\xd9\x8a", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--jnb34fs003a.xn--fhbo927bk128mpi24d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--jnb34fs003a.xn--fhbo927bk128mpi24d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--jnb34fs003a.xn--fhbo927bk128mpi24d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\x8c\xf0\x90\xab\xad\xe3\x80\x82\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83"); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\x8c\xf0\x90\xab\xad\xe3\x80\x82\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\x8c\xf0\x90\xab\xad\xe3\x80\x82\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\xae\xf0\x90\xab\xad\xe3\x80\x82\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83"); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\xae\xf0\x90\xab\xad\xe3\x80\x82\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\xae\xf0\x90\xab\xad\xe3\x80\x82\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", true); } // [B1] test { try toUnicodeFail("xn--dzb5191kezbrw47a.xn--p4e3841jz9tf"); } // [B1] +test { try toAsciiFail("xn--dzb5191kezbrw47a.xn--p4e3841jz9tf", false); } // [B1] +test { try toAsciiFail("xn--dzb5191kezbrw47a.xn--p4e3841jz9tf", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\xae\xf0\x90\xab\xad.\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83"); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\xae\xf0\x90\xab\xad.\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\xae\xf0\x90\xab\xad.\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\x8c\xf0\x90\xab\xad.\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83"); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\x8c\xf0\x90\xab\xad.\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xa0\xb0\xe0\xa2\xb7\xf0\x9e\xa4\x8c\xf0\x90\xab\xad.\xf0\x90\x8b\xa6\xe1\x9f\x8d\xf0\x9d\xa9\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x82\x82\xe3\x98\xb7--\xe3\x80\x82\xdb\x93\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf"); } // [B1, C1, V2, V3] +test { try toAsciiFail("\xe2\x82\x82\xe3\x98\xb7--\xe3\x80\x82\xdb\x93\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", false); } // [B1, C1, V2, V3] +test { try toAsciiFail("\xe2\x82\x82\xe3\x98\xb7--\xe3\x80\x82\xdb\x93\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", true); } // [B1, V2, V3] test { try toUnicodeFail("\xe2\x82\x82\xe3\x98\xb7--\xe3\x80\x82\xdb\x92\xd9\x94\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf"); } // [B1, C1, V2, V3] +test { try toAsciiFail("\xe2\x82\x82\xe3\x98\xb7--\xe3\x80\x82\xdb\x92\xd9\x94\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", false); } // [B1, C1, V2, V3] +test { try toAsciiFail("\xe2\x82\x82\xe3\x98\xb7--\xe3\x80\x82\xdb\x92\xd9\x94\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", true); } // [B1, V2, V3] test { try toUnicodeFail("2\xe3\x98\xb7--\xe3\x80\x82\xdb\x93\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf"); } // [B1, C1, V2, V3] +test { try toAsciiFail("2\xe3\x98\xb7--\xe3\x80\x82\xdb\x93\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", false); } // [B1, C1, V2, V3] +test { try toAsciiFail("2\xe3\x98\xb7--\xe3\x80\x82\xdb\x93\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", true); } // [B1, V2, V3] test { try toUnicodeFail("2\xe3\x98\xb7--\xe3\x80\x82\xdb\x92\xd9\x94\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf"); } // [B1, C1, V2, V3] +test { try toAsciiFail("2\xe3\x98\xb7--\xe3\x80\x82\xdb\x92\xd9\x94\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", false); } // [B1, C1, V2, V3] +test { try toAsciiFail("2\xe3\x98\xb7--\xe3\x80\x82\xdb\x92\xd9\x94\xe2\x80\x8c\xf0\x90\xab\x86\xf0\x91\x96\xbf", true); } // [B1, V2, V3] test { try toUnicodeFail("xn--2---u58b.xn--jlb8024k14g"); } // [B1, V2, V3] +test { try toAsciiFail("xn--2---u58b.xn--jlb8024k14g", false); } // [B1, V2, V3] +test { try toAsciiFail("xn--2---u58b.xn--jlb8024k14g", true); } // [B1, V2, V3] test { try toUnicodeFail("xn--2---u58b.xn--jlb820ku99nbgj"); } // [B1, C1, V2, V3] +test { try toAsciiFail("xn--2---u58b.xn--jlb820ku99nbgj", false); } // [B1, C1, V2, V3] +test { try toAsciiFail("xn--2---u58b.xn--jlb820ku99nbgj", true); } // [B1, C1, V2, V3] test { try toUnicodeFail("-\xf0\x98\x8a\xbb\xef\xbc\x8e\xe1\xa1\xae\xd8\xad-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("-\xf0\x98\x8a\xbb\xef\xbc\x8e\xe1\xa1\xae\xd8\xad-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("-\xf0\x98\x8a\xbb\xef\xbc\x8e\xe1\xa1\xae\xd8\xad-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("-\xf0\x98\x8a\xbb.\xe1\xa1\xae\xd8\xad-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("-\xf0\x98\x8a\xbb.\xe1\xa1\xae\xd8\xad-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("-\xf0\x98\x8a\xbb.\xe1\xa1\xae\xd8\xad-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn----bp5n.xn----bnc231l"); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn----bp5n.xn----bnc231l", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn----bp5n.xn----bnc231l", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-\xc3\x9f\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-\xc3\x9f\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-\xc3\x9f\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-\xc3\x9f\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-\xc3\x9f\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-\xc3\x9f\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-SS\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-SS\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-SS\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-ss\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-ss\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-ss\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-Ss\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-Ss\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-Ss\xe3\x80\x82\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("-ss.xn--bhb925glx3p"); } // [B1, B5, B6, V3] +test { try toAsciiFail("-ss.xn--bhb925glx3p", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("-ss.xn--bhb925glx3p", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn---ss-8m0a.xn--bhb925glx3p"); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn---ss-8m0a.xn--bhb925glx3p", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn---ss-8m0a.xn--bhb925glx3p", true); } // [B1, B5, B6, C1] test { try toUnicodeFail("xn----qfa550v.xn--bhb925glx3p"); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn----qfa550v.xn--bhb925glx3p", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn----qfa550v.xn--bhb925glx3p", true); } // [B1, B5, B6, C1] test { try toUnicodeFail("\xe2\x80\x8c-SS\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-SS\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-SS\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-ss\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-ss\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-ss\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c-Ss\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-Ss\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c-Ss\xef\xbd\xa1\xe1\xa2\xa3\xf0\x90\xb9\xad\xd8\xbf", true); } // [B1, B5, B6, V3] test { try toUnicodePass("\xea\xa7\x90\xd3\x80\xe1\xae\xaa\xe0\xa3\xb6\xef\xbc\x8e\xeb\x88\xb5", "\xea\xa7\x90\xd3\x8f\xe1\xae\xaa\xe0\xa3\xb6.\xeb\x88\xb5"); } test { try toAsciiPass("\xea\xa7\x90\xd3\x80\xe1\xae\xaa\xe0\xa3\xb6\xef\xbc\x8e\xeb\x88\xb5", "xn--s5a04sn4u297k.xn--2e1b", false); } test { try toAsciiPass("\xea\xa7\x90\xd3\x80\xe1\xae\xaa\xe0\xa3\xb6\xef\xbc\x8e\xeb\x88\xb5", "xn--s5a04sn4u297k.xn--2e1b", true); } @@ -3564,173 +8520,509 @@ test { try toUnicodePass("\xea\xa7\x90\xd3\x8f\xe1\xae\xaa\xe0\xa3\xb6\xef\xbc\x test { try toAsciiPass("\xea\xa7\x90\xd3\x8f\xe1\xae\xaa\xe0\xa3\xb6\xef\xbc\x8e\xeb\x88\xb5", "xn--s5a04sn4u297k.xn--2e1b", false); } test { try toAsciiPass("\xea\xa7\x90\xd3\x8f\xe1\xae\xaa\xe0\xa3\xb6\xef\xbc\x8e\xeb\x88\xb5", "xn--s5a04sn4u297k.xn--2e1b", true); } test { try toUnicodeFail("xn--d5a07sn4u297k.xn--2e1b"); } // [V7] +test { try toAsciiFail("xn--d5a07sn4u297k.xn--2e1b", false); } // [V7] +test { try toAsciiFail("xn--d5a07sn4u297k.xn--2e1b", true); } // [V7] test { try toUnicodeFail("\xea\xa3\xaa\xef\xbd\xa1\xf0\x96\x84\xbf\xf0\x91\x86\xbe\xf3\xa0\x87\x97"); } // [V6, V7] +test { try toAsciiFail("\xea\xa3\xaa\xef\xbd\xa1\xf0\x96\x84\xbf\xf0\x91\x86\xbe\xf3\xa0\x87\x97", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa3\xaa\xef\xbd\xa1\xf0\x96\x84\xbf\xf0\x91\x86\xbe\xf3\xa0\x87\x97", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa3\xaa\xe3\x80\x82\xf0\x96\x84\xbf\xf0\x91\x86\xbe\xf3\xa0\x87\x97"); } // [V6, V7] +test { try toAsciiFail("\xea\xa3\xaa\xe3\x80\x82\xf0\x96\x84\xbf\xf0\x91\x86\xbe\xf3\xa0\x87\x97", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa3\xaa\xe3\x80\x82\xf0\x96\x84\xbf\xf0\x91\x86\xbe\xf3\xa0\x87\x97", true); } // [V6, V7] test { try toUnicodeFail("xn--3g9a.xn--ud1dz07k"); } // [V6, V7] +test { try toAsciiFail("xn--3g9a.xn--ud1dz07k", false); } // [V6, V7] +test { try toAsciiFail("xn--3g9a.xn--ud1dz07k", true); } // [V6, V7] test { try toUnicodeFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf\xe2\x89\xaf\xe2\xbe\x87"); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf\xe2\x89\xaf\xe2\xbe\x87", false); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf\xe2\x89\xaf\xe2\xbe\x87", true); } // [V7] test { try toUnicodeFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf>\xcc\xb8\xe2\xbe\x87"); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf>\xcc\xb8\xe2\xbe\x87", false); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf>\xcc\xb8\xe2\xbe\x87", true); } // [V7] test { try toUnicodeFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf\xe2\x89\xaf\xe8\x88\x9b"); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf\xe2\x89\xaf\xe8\x88\x9b", false); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf\xe2\x89\xaf\xe8\x88\x9b", true); } // [V7] test { try toUnicodeFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf>\xcc\xb8\xe8\x88\x9b"); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf>\xcc\xb8\xe8\x88\x9b", false); } // [V7] +test { try toAsciiFail("\xf3\x87\x93\x93\xf0\x91\x9a\xb3\xe3\x80\x82\xf1\x90\xb7\xbf>\xcc\xb8\xe8\x88\x9b", true); } // [V7] test { try toUnicodeFail("xn--3e2d79770c.xn--hdh0088abyy1c"); } // [V7] +test { try toAsciiFail("xn--3e2d79770c.xn--hdh0088abyy1c", false); } // [V7] +test { try toAsciiFail("xn--3e2d79770c.xn--hdh0088abyy1c", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xab\x87\xd9\xa1\xe2\x80\x8c\xef\xbc\x8e\xe2\x80\x8d\xe2\x80\x8c"); } // [B1, B3, C1, C2] +test { try toAsciiFail("\xf0\x90\xab\x87\xd9\xa1\xe2\x80\x8c\xef\xbc\x8e\xe2\x80\x8d\xe2\x80\x8c", false); } // [B1, B3, C1, C2] +test { try toAsciiFail("\xf0\x90\xab\x87\xd9\xa1\xe2\x80\x8c\xef\xbc\x8e\xe2\x80\x8d\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodeFail("\xf0\x90\xab\x87\xd9\xa1\xe2\x80\x8c.\xe2\x80\x8d\xe2\x80\x8c"); } // [B1, B3, C1, C2] +test { try toAsciiFail("\xf0\x90\xab\x87\xd9\xa1\xe2\x80\x8c.\xe2\x80\x8d\xe2\x80\x8c", false); } // [B1, B3, C1, C2] +test { try toAsciiFail("\xf0\x90\xab\x87\xd9\xa1\xe2\x80\x8c.\xe2\x80\x8d\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodePass("xn--9hb7344k.", "\xf0\x90\xab\x87\xd9\xa1."); } +test { try toAsciiFail("xn--9hb7344k.", false); } // [A4_2] +test { try toAsciiFail("xn--9hb7344k.", true); } // [A4_2] test { try toUnicodePass("\xf0\x90\xab\x87\xd9\xa1.", "\xf0\x90\xab\x87\xd9\xa1."); } +test { try toAsciiFail("\xf0\x90\xab\x87\xd9\xa1.", false); } // [A4_2] +test { try toAsciiFail("\xf0\x90\xab\x87\xd9\xa1.", true); } // [A4_2] test { try toUnicodeFail("xn--9hb652kv99n.xn--0ugb"); } // [B1, B3, C1, C2] +test { try toAsciiFail("xn--9hb652kv99n.xn--0ugb", false); } // [B1, B3, C1, C2] +test { try toAsciiFail("xn--9hb652kv99n.xn--0ugb", true); } // [B1, B3, C1, C2] test { try toUnicodeFail("\xf1\xa1\x85\x88\xe7\xa0\xaa\xe2\x89\xaf\xe1\xa2\x91\xef\xbd\xa1\xe2\x89\xaf\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa\xe2\x89\xaf\xe1\xa2\x91\xef\xbd\xa1\xe2\x89\xaf\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa\xe2\x89\xaf\xe1\xa2\x91\xef\xbd\xa1\xe2\x89\xaf\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xf1\xa1\x85\x88\xe7\xa0\xaa>\xcc\xb8\xe1\xa2\x91\xef\xbd\xa1>\xcc\xb8\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa>\xcc\xb8\xe1\xa2\x91\xef\xbd\xa1>\xcc\xb8\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa>\xcc\xb8\xe1\xa2\x91\xef\xbd\xa1>\xcc\xb8\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xf1\xa1\x85\x88\xe7\xa0\xaa\xe2\x89\xaf\xe1\xa2\x91\xe3\x80\x82\xe2\x89\xaf\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa\xe2\x89\xaf\xe1\xa2\x91\xe3\x80\x82\xe2\x89\xaf\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa\xe2\x89\xaf\xe1\xa2\x91\xe3\x80\x82\xe2\x89\xaf\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xf1\xa1\x85\x88\xe7\xa0\xaa>\xcc\xb8\xe1\xa2\x91\xe3\x80\x82>\xcc\xb8\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa>\xcc\xb8\xe1\xa2\x91\xe3\x80\x82>\xcc\xb8\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xf1\xa1\x85\x88\xe7\xa0\xaa>\xcc\xb8\xe1\xa2\x91\xe3\x80\x82>\xcc\xb8\xf0\x9d\xa9\x9a\xf2\x93\xb4\x94\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--bbf561cf95e57y3e.xn--hdh0834o7mj6b"); } // [V7] +test { try toAsciiFail("xn--bbf561cf95e57y3e.xn--hdh0834o7mj6b", false); } // [V7] +test { try toAsciiFail("xn--bbf561cf95e57y3e.xn--hdh0834o7mj6b", true); } // [V7] test { try toUnicodeFail("xn--bbf561cf95e57y3e.xn--0ugz6gc910ejro8c"); } // [C1, V7] +test { try toAsciiFail("xn--bbf561cf95e57y3e.xn--0ugz6gc910ejro8c", false); } // [C1, V7] +test { try toAsciiFail("xn--bbf561cf95e57y3e.xn--0ugz6gc910ejro8c", true); } // [C1, V7] test { try toUnicodeFail("\xe1\x83\x85.\xf0\x91\x84\xb3\xe3\x8a\xb8"); } // [V6] +test { try toAsciiFail("\xe1\x83\x85.\xf0\x91\x84\xb3\xe3\x8a\xb8", false); } // [V6] +test { try toAsciiFail("\xe1\x83\x85.\xf0\x91\x84\xb3\xe3\x8a\xb8", true); } // [V6] test { try toUnicodeFail("\xe1\x83\x85.\xf0\x91\x84\xb343"); } // [V6] +test { try toAsciiFail("\xe1\x83\x85.\xf0\x91\x84\xb343", false); } // [V6] +test { try toAsciiFail("\xe1\x83\x85.\xf0\x91\x84\xb343", true); } // [V6] test { try toUnicodeFail("\xe2\xb4\xa5.\xf0\x91\x84\xb343"); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa5.\xf0\x91\x84\xb343", false); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa5.\xf0\x91\x84\xb343", true); } // [V6] test { try toUnicodeFail("xn--tlj.xn--43-274o"); } // [V6] +test { try toAsciiFail("xn--tlj.xn--43-274o", false); } // [V6] +test { try toAsciiFail("xn--tlj.xn--43-274o", true); } // [V6] test { try toUnicodeFail("\xe2\xb4\xa5.\xf0\x91\x84\xb3\xe3\x8a\xb8"); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa5.\xf0\x91\x84\xb3\xe3\x8a\xb8", false); } // [V6] +test { try toAsciiFail("\xe2\xb4\xa5.\xf0\x91\x84\xb3\xe3\x8a\xb8", true); } // [V6] test { try toUnicodeFail("xn--9nd.xn--43-274o"); } // [V6, V7] +test { try toAsciiFail("xn--9nd.xn--43-274o", false); } // [V6, V7] +test { try toAsciiFail("xn--9nd.xn--43-274o", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x8e\xd9\xa3\xe3\x80\x82\xe1\x82\xb2\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0"); } // [B1, B5, B6] +test { try toAsciiFail("\xf0\x9d\x9f\x8e\xd9\xa3\xe3\x80\x82\xe1\x82\xb2\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", false); } // [B1, B5, B6] +test { try toAsciiFail("\xf0\x9d\x9f\x8e\xd9\xa3\xe3\x80\x82\xe1\x82\xb2\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", true); } // [B1, B5, B6] test { try toUnicodeFail("0\xd9\xa3\xe3\x80\x82\xe1\x82\xb2\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0"); } // [B1, B5, B6] +test { try toAsciiFail("0\xd9\xa3\xe3\x80\x82\xe1\x82\xb2\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", false); } // [B1, B5, B6] +test { try toAsciiFail("0\xd9\xa3\xe3\x80\x82\xe1\x82\xb2\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", true); } // [B1, B5, B6] test { try toUnicodeFail("0\xd9\xa3\xe3\x80\x82\xe2\xb4\x92\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0"); } // [B1, B5, B6] +test { try toAsciiFail("0\xd9\xa3\xe3\x80\x82\xe2\xb4\x92\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", false); } // [B1, B5, B6] +test { try toAsciiFail("0\xd9\xa3\xe3\x80\x82\xe2\xb4\x92\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", true); } // [B1, B5, B6] test { try toUnicodeFail("xn--0-fqc.xn--10b369eivp359r"); } // [B1, B5, B6] +test { try toAsciiFail("xn--0-fqc.xn--10b369eivp359r", false); } // [B1, B5, B6] +test { try toAsciiFail("xn--0-fqc.xn--10b369eivp359r", true); } // [B1, B5, B6] test { try toUnicodeFail("\xf0\x9d\x9f\x8e\xd9\xa3\xe3\x80\x82\xe2\xb4\x92\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0"); } // [B1, B5, B6] +test { try toAsciiFail("\xf0\x9d\x9f\x8e\xd9\xa3\xe3\x80\x82\xe2\xb4\x92\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", false); } // [B1, B5, B6] +test { try toAsciiFail("\xf0\x9d\x9f\x8e\xd9\xa3\xe3\x80\x82\xe2\xb4\x92\xe1\xa1\x87\xe0\xa3\xb2\xf0\x90\xb9\xa0", true); } // [B1, B5, B6] test { try toUnicodeFail("xn--0-fqc.xn--10b180bnwgfy0z"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--0-fqc.xn--10b180bnwgfy0z", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--0-fqc.xn--10b180bnwgfy0z", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf1\x97\xaa\xa8\xf3\xa0\x84\x89\xef\xbe\xa0\xe0\xbe\xb7.\xf1\xb8\x9e\xb0\xea\xa5\x93"); } // [V7] +test { try toAsciiFail("\xf1\x97\xaa\xa8\xf3\xa0\x84\x89\xef\xbe\xa0\xe0\xbe\xb7.\xf1\xb8\x9e\xb0\xea\xa5\x93", false); } // [V7] +test { try toAsciiFail("\xf1\x97\xaa\xa8\xf3\xa0\x84\x89\xef\xbe\xa0\xe0\xbe\xb7.\xf1\xb8\x9e\xb0\xea\xa5\x93", true); } // [V7] test { try toUnicodeFail("\xf1\x97\xaa\xa8\xf3\xa0\x84\x89\xe1\x85\xa0\xe0\xbe\xb7.\xf1\xb8\x9e\xb0\xea\xa5\x93"); } // [V7] +test { try toAsciiFail("\xf1\x97\xaa\xa8\xf3\xa0\x84\x89\xe1\x85\xa0\xe0\xbe\xb7.\xf1\xb8\x9e\xb0\xea\xa5\x93", false); } // [V7] +test { try toAsciiFail("\xf1\x97\xaa\xa8\xf3\xa0\x84\x89\xe1\x85\xa0\xe0\xbe\xb7.\xf1\xb8\x9e\xb0\xea\xa5\x93", true); } // [V7] test { try toUnicodeFail("xn--kgd72212e.xn--3j9au7544a"); } // [V7] +test { try toAsciiFail("xn--kgd72212e.xn--3j9au7544a", false); } // [V7] +test { try toAsciiFail("xn--kgd72212e.xn--3j9au7544a", true); } // [V7] test { try toUnicodeFail("xn--kgd36f9z57y.xn--3j9au7544a"); } // [V7] +test { try toAsciiFail("xn--kgd36f9z57y.xn--3j9au7544a", false); } // [V7] +test { try toAsciiFail("xn--kgd36f9z57y.xn--3j9au7544a", true); } // [V7] test { try toUnicodeFail("xn--kgd7493jee34a.xn--3j9au7544a"); } // [V7] +test { try toAsciiFail("xn--kgd7493jee34a.xn--3j9au7544a", false); } // [V7] +test { try toAsciiFail("xn--kgd7493jee34a.xn--3j9au7544a", true); } // [V7] test { try toUnicodeFail("\xd8\x98.\xdb\xb3\xe2\x80\x8c\xea\xa5\x93"); } // [C1, V6] +test { try toAsciiFail("\xd8\x98.\xdb\xb3\xe2\x80\x8c\xea\xa5\x93", false); } // [C1, V6] +test { try toAsciiFail("\xd8\x98.\xdb\xb3\xe2\x80\x8c\xea\xa5\x93", true); } // [V6] test { try toUnicodeFail("xn--6fb.xn--gmb0524f"); } // [V6] +test { try toAsciiFail("xn--6fb.xn--gmb0524f", false); } // [V6] +test { try toAsciiFail("xn--6fb.xn--gmb0524f", true); } // [V6] test { try toUnicodeFail("xn--6fb.xn--gmb469jjf1h"); } // [C1, V6] +test { try toAsciiFail("xn--6fb.xn--gmb469jjf1h", false); } // [C1, V6] +test { try toAsciiFail("xn--6fb.xn--gmb469jjf1h", true); } // [C1, V6] test { try toUnicodeFail("\xe1\xa1\x8c\xef\xbc\x8e\xef\xb8\x92\xe1\xa2\x91"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x8c\xef\xbc\x8e\xef\xb8\x92\xe1\xa2\x91", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x8c\xef\xbc\x8e\xef\xb8\x92\xe1\xa2\x91", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x8c.\xe3\x80\x82\xe1\xa2\x91"); } // [X4_2] +test { try toAsciiFail("\xe1\xa1\x8c.\xe3\x80\x82\xe1\xa2\x91", false); } // [A4_2] +test { try toAsciiFail("\xe1\xa1\x8c.\xe3\x80\x82\xe1\xa2\x91", true); } // [A4_2] test { try toUnicodeFail("xn--c8e..xn--bbf"); } // [X4_2] +test { try toAsciiFail("xn--c8e..xn--bbf", false); } // [A4_2] +test { try toAsciiFail("xn--c8e..xn--bbf", true); } // [A4_2] test { try toUnicodeFail("xn--c8e.xn--bbf9168i"); } // [V7] +test { try toAsciiFail("xn--c8e.xn--bbf9168i", false); } // [V7] +test { try toAsciiFail("xn--c8e.xn--bbf9168i", true); } // [V7] test { try toUnicodeFail("\xf0\x91\x8b\xaa\xe1\x81\xb3\xef\xbd\xa1\xf0\x9e\xbd\xa7"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xe1\x81\xb3\xef\xbd\xa1\xf0\x9e\xbd\xa7", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xe1\x81\xb3\xef\xbd\xa1\xf0\x9e\xbd\xa7", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x91\x8b\xaa\xe1\x81\xb3\xe3\x80\x82\xf0\x9e\xbd\xa7"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xe1\x81\xb3\xe3\x80\x82\xf0\x9e\xbd\xa7", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xe1\x81\xb3\xe3\x80\x82\xf0\x9e\xbd\xa7", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--xld7443k.xn--4o7h"); } // [B1, V6, V7] +test { try toAsciiFail("xn--xld7443k.xn--4o7h", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--xld7443k.xn--4o7h", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xb7\x8f\xe3\x80\x82\xe1\xa0\xa2\xf2\x93\x98\x86"); } // [V7] +test { try toAsciiFail("\xf0\x9e\xb7\x8f\xe3\x80\x82\xe1\xa0\xa2\xf2\x93\x98\x86", false); } // [V7] +test { try toAsciiFail("\xf0\x9e\xb7\x8f\xe3\x80\x82\xe1\xa0\xa2\xf2\x93\x98\x86", true); } // [V7] test { try toUnicodeFail("xn--hd7h.xn--46e66060j"); } // [V7] +test { try toAsciiFail("xn--hd7h.xn--46e66060j", false); } // [V7] +test { try toAsciiFail("xn--hd7h.xn--46e66060j", true); } // [V7] test { try toUnicodeFail("\xf0\x91\x84\xb3\xe3\xb4\xbc\xef\xbc\x8e\xe2\x80\x8c\xf0\x90\xb9\xa1\xe2\x83\xab\xf1\xab\xba\xa6"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb3\xe3\xb4\xbc\xef\xbc\x8e\xe2\x80\x8c\xf0\x90\xb9\xa1\xe2\x83\xab\xf1\xab\xba\xa6", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb3\xe3\xb4\xbc\xef\xbc\x8e\xe2\x80\x8c\xf0\x90\xb9\xa1\xe2\x83\xab\xf1\xab\xba\xa6", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x91\x84\xb3\xe3\xb4\xbc.\xe2\x80\x8c\xf0\x90\xb9\xa1\xe2\x83\xab\xf1\xab\xba\xa6"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb3\xe3\xb4\xbc.\xe2\x80\x8c\xf0\x90\xb9\xa1\xe2\x83\xab\xf1\xab\xba\xa6", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb3\xe3\xb4\xbc.\xe2\x80\x8c\xf0\x90\xb9\xa1\xe2\x83\xab\xf1\xab\xba\xa6", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--iym9428c.xn--e1g3464g08p3b"); } // [B1, V6, V7] +test { try toAsciiFail("xn--iym9428c.xn--e1g3464g08p3b", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--iym9428c.xn--e1g3464g08p3b", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--iym9428c.xn--0ug46a7218cllv0c"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--iym9428c.xn--0ug46a7218cllv0c", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--iym9428c.xn--0ug46a7218cllv0c", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xf1\xa0\xbb\x9f\xf0\x90\xb9\xb3\xf0\x91\x88\xaf\xef\xbd\xa1\xcc\x9d"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf1\xa0\xbb\x9f\xf0\x90\xb9\xb3\xf0\x91\x88\xaf\xef\xbd\xa1\xcc\x9d", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf1\xa0\xbb\x9f\xf0\x90\xb9\xb3\xf0\x91\x88\xaf\xef\xbd\xa1\xcc\x9d", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf1\xa0\xbb\x9f\xf0\x90\xb9\xb3\xf0\x91\x88\xaf\xe3\x80\x82\xcc\x9d"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf1\xa0\xbb\x9f\xf0\x90\xb9\xb3\xf0\x91\x88\xaf\xe3\x80\x82\xcc\x9d", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf1\xa0\xbb\x9f\xf0\x90\xb9\xb3\xf0\x91\x88\xaf\xe3\x80\x82\xcc\x9d", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--ro0dw7dey96m.xn--eta"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ro0dw7dey96m.xn--eta", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ro0dw7dey96m.xn--eta", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe1\xa2\x8a\xeb\xbe\x9c\xf3\xa0\xb1\xb4\xf0\x91\x9a\xb6\xe3\x80\x82\xe0\xa2\x9d\xf0\x90\xb9\xa5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xa2\x8a\xeb\xbe\x9c\xf3\xa0\xb1\xb4\xf0\x91\x9a\xb6\xe3\x80\x82\xe0\xa2\x9d\xf0\x90\xb9\xa5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xa2\x8a\xeb\xbe\x9c\xf3\xa0\xb1\xb4\xf0\x91\x9a\xb6\xe3\x80\x82\xe0\xa2\x9d\xf0\x90\xb9\xa5", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xa2\x8a\xe1\x84\x88\xe1\x85\xac\xe1\x86\xaf\xf3\xa0\xb1\xb4\xf0\x91\x9a\xb6\xe3\x80\x82\xe0\xa2\x9d\xf0\x90\xb9\xa5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xa2\x8a\xe1\x84\x88\xe1\x85\xac\xe1\x86\xaf\xf3\xa0\xb1\xb4\xf0\x91\x9a\xb6\xe3\x80\x82\xe0\xa2\x9d\xf0\x90\xb9\xa5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\xa2\x8a\xe1\x84\x88\xe1\x85\xac\xe1\x86\xaf\xf3\xa0\xb1\xb4\xf0\x91\x9a\xb6\xe3\x80\x82\xe0\xa2\x9d\xf0\x90\xb9\xa5", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--39e4566fjv8bwmt6n.xn--myb6415k"); } // [B1, V6, V7] +test { try toAsciiFail("xn--39e4566fjv8bwmt6n.xn--myb6415k", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--39e4566fjv8bwmt6n.xn--myb6415k", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa5\xe2\x89\xa0\xef\xbd\xa1\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5\xe2\x89\xa0\xef\xbd\xa1\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5\xe2\x89\xa0\xef\xbd\xa1\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa5=\xcc\xb8\xef\xbd\xa1\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5=\xcc\xb8\xef\xbd\xa1\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5=\xcc\xb8\xef\xbd\xa1\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa5\xe2\x89\xa0\xe3\x80\x82\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5\xe2\x89\xa0\xe3\x80\x82\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5\xe2\x89\xa0\xe3\x80\x82\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa5=\xcc\xb8\xe3\x80\x82\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5=\xcc\xb8\xe3\x80\x82\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa5=\xcc\xb8\xe3\x80\x82\xf0\x90\x8b\xb2\xf3\xa0\xa7\xa0\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("xn--1ch6704g.xn--m97cw2999c"); } // [B1, V7] +test { try toAsciiFail("xn--1ch6704g.xn--m97cw2999c", false); } // [B1, V7] +test { try toAsciiFail("xn--1ch6704g.xn--m97cw2999c", true); } // [B1, V7] test { try toUnicodeFail("xn--1ch6704g.xn--0ug3840g51u4g"); } // [B1, C1, V7] +test { try toAsciiFail("xn--1ch6704g.xn--0ug3840g51u4g", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--1ch6704g.xn--0ug3840g51u4g", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe1\x85\x9f\xf1\x99\xaf\xa0\xe0\xa5\x8d\xef\xbc\x8e\xe2\x80\x8d\xea\xa5\x93\xf0\x90\xaa\xa4"); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x85\x9f\xf1\x99\xaf\xa0\xe0\xa5\x8d\xef\xbc\x8e\xe2\x80\x8d\xea\xa5\x93\xf0\x90\xaa\xa4", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x85\x9f\xf1\x99\xaf\xa0\xe0\xa5\x8d\xef\xbc\x8e\xe2\x80\x8d\xea\xa5\x93\xf0\x90\xaa\xa4", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("\xe1\x85\x9f\xf1\x99\xaf\xa0\xe0\xa5\x8d.\xe2\x80\x8d\xea\xa5\x93\xf0\x90\xaa\xa4"); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x85\x9f\xf1\x99\xaf\xa0\xe0\xa5\x8d.\xe2\x80\x8d\xea\xa5\x93\xf0\x90\xaa\xa4", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe1\x85\x9f\xf1\x99\xaf\xa0\xe0\xa5\x8d.\xe2\x80\x8d\xea\xa5\x93\xf0\x90\xaa\xa4", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--n3b91514e.xn--3j9al95p"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--n3b91514e.xn--3j9al95p", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--n3b91514e.xn--3j9al95p", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--n3b91514e.xn--1ug6815co9wc"); } // [B1, C2, V7] +test { try toAsciiFail("xn--n3b91514e.xn--1ug6815co9wc", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--n3b91514e.xn--1ug6815co9wc", true); } // [B1, C2, V7] test { try toUnicodeFail("xn--n3b542bb085j.xn--3j9al95p"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--n3b542bb085j.xn--3j9al95p", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--n3b542bb085j.xn--3j9al95p", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--n3b542bb085j.xn--1ug6815co9wc"); } // [B1, C2, V7] +test { try toAsciiFail("xn--n3b542bb085j.xn--1ug6815co9wc", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--n3b542bb085j.xn--1ug6815co9wc", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf2\x8c\x8b\x94\xf3\xa0\x86\x8e\xf3\xa0\x86\x97\xf0\x91\xb2\x95\xe3\x80\x82\xe2\x89\xae"); } // [V7] +test { try toAsciiFail("\xf2\x8c\x8b\x94\xf3\xa0\x86\x8e\xf3\xa0\x86\x97\xf0\x91\xb2\x95\xe3\x80\x82\xe2\x89\xae", false); } // [V7] +test { try toAsciiFail("\xf2\x8c\x8b\x94\xf3\xa0\x86\x8e\xf3\xa0\x86\x97\xf0\x91\xb2\x95\xe3\x80\x82\xe2\x89\xae", true); } // [V7] test { try toUnicodeFail("\xf2\x8c\x8b\x94\xf3\xa0\x86\x8e\xf3\xa0\x86\x97\xf0\x91\xb2\x95\xe3\x80\x82<\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xf2\x8c\x8b\x94\xf3\xa0\x86\x8e\xf3\xa0\x86\x97\xf0\x91\xb2\x95\xe3\x80\x82<\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xf2\x8c\x8b\x94\xf3\xa0\x86\x8e\xf3\xa0\x86\x97\xf0\x91\xb2\x95\xe3\x80\x82<\xcc\xb8", true); } // [V7] test { try toUnicodeFail("xn--4m3dv4354a.xn--gdh"); } // [V7] +test { try toAsciiFail("xn--4m3dv4354a.xn--gdh", false); } // [V7] +test { try toAsciiFail("xn--4m3dv4354a.xn--gdh", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x86\xa6.\xe0\xa3\xa3\xe6\x9a\x80\xe2\x89\xa0"); } // [V6, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa6.\xe0\xa3\xa3\xe6\x9a\x80\xe2\x89\xa0", false); } // [V6, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa6.\xe0\xa3\xa3\xe6\x9a\x80\xe2\x89\xa0", true); } // [V6, A4_2] test { try toUnicodeFail("\xf3\xa0\x86\xa6.\xe0\xa3\xa3\xe6\x9a\x80=\xcc\xb8"); } // [V6, X4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa6.\xe0\xa3\xa3\xe6\x9a\x80=\xcc\xb8", false); } // [V6, A4_2] +test { try toAsciiFail("\xf3\xa0\x86\xa6.\xe0\xa3\xa3\xe6\x9a\x80=\xcc\xb8", true); } // [V6, A4_2] test { try toUnicodeFail(".xn--m0b461k3g2c"); } // [V6, X4_2] +test { try toAsciiFail(".xn--m0b461k3g2c", false); } // [V6, A4_2] +test { try toAsciiFail(".xn--m0b461k3g2c", true); } // [V6, A4_2] test { try toUnicodeFail("\xf0\x90\xa1\xa4\xea\xaf\xad\xef\xbd\xa1\xef\xb4\xb0\xf2\x9c\x96\x85\xe1\xb7\xb0"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa1\xa4\xea\xaf\xad\xef\xbd\xa1\xef\xb4\xb0\xf2\x9c\x96\x85\xe1\xb7\xb0", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa1\xa4\xea\xaf\xad\xef\xbd\xa1\xef\xb4\xb0\xf2\x9c\x96\x85\xe1\xb7\xb0", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xa1\xa4\xea\xaf\xad\xe3\x80\x82\xd8\xb4\xd9\x85\xf2\x9c\x96\x85\xe1\xb7\xb0"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa1\xa4\xea\xaf\xad\xe3\x80\x82\xd8\xb4\xd9\x85\xf2\x9c\x96\x85\xe1\xb7\xb0", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa1\xa4\xea\xaf\xad\xe3\x80\x82\xd8\xb4\xd9\x85\xf2\x9c\x96\x85\xe1\xb7\xb0", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--429ak76o.xn--zgb8a701kox37t"); } // [B2, B3, V7] +test { try toAsciiFail("xn--429ak76o.xn--zgb8a701kox37t", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--429ak76o.xn--zgb8a701kox37t", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9d\x89\x83\xe2\x80\x8d\xe2\x92\x88\xef\xbd\xa1\xe1\x82\xac\xf0\x9e\xb1\x93"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d\xe2\x92\x88\xef\xbd\xa1\xe1\x82\xac\xf0\x9e\xb1\x93", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d\xe2\x92\x88\xef\xbd\xa1\xe1\x82\xac\xf0\x9e\xb1\x93", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x9d\x89\x83\xe2\x80\x8d1.\xe3\x80\x82\xe1\x82\xac\xf0\x9e\xb1\x93"); } // [B1, B5, B6, C2, V6, V7, X4_2] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d1.\xe3\x80\x82\xe1\x82\xac\xf0\x9e\xb1\x93", false); } // [B1, B5, B6, C2, V6, V7, A4_2] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d1.\xe3\x80\x82\xe1\x82\xac\xf0\x9e\xb1\x93", true); } // [B1, B5, B6, V6, V7, A4_2] test { try toUnicodeFail("\xf0\x9d\x89\x83\xe2\x80\x8d1.\xe3\x80\x82\xe2\xb4\x8c\xf0\x9e\xb1\x93"); } // [B1, B5, B6, C2, V6, V7, X4_2] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d1.\xe3\x80\x82\xe2\xb4\x8c\xf0\x9e\xb1\x93", false); } // [B1, B5, B6, C2, V6, V7, A4_2] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d1.\xe3\x80\x82\xe2\xb4\x8c\xf0\x9e\xb1\x93", true); } // [B1, B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--1-px8q..xn--3kj4524l"); } // [B1, B5, B6, V6, V7, X4_2] +test { try toAsciiFail("xn--1-px8q..xn--3kj4524l", false); } // [B1, B5, B6, V6, V7, A4_2] +test { try toAsciiFail("xn--1-px8q..xn--3kj4524l", true); } // [B1, B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--1-tgn9827q..xn--3kj4524l"); } // [B1, B5, B6, C2, V6, V7, X4_2] +test { try toAsciiFail("xn--1-tgn9827q..xn--3kj4524l", false); } // [B1, B5, B6, C2, V6, V7, A4_2] +test { try toAsciiFail("xn--1-tgn9827q..xn--3kj4524l", true); } // [B1, B5, B6, C2, V6, V7, A4_2] test { try toUnicodeFail("\xf0\x9d\x89\x83\xe2\x80\x8d\xe2\x92\x88\xef\xbd\xa1\xe2\xb4\x8c\xf0\x9e\xb1\x93"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d\xe2\x92\x88\xef\xbd\xa1\xe2\xb4\x8c\xf0\x9e\xb1\x93", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xf0\x9d\x89\x83\xe2\x80\x8d\xe2\x92\x88\xef\xbd\xa1\xe2\xb4\x8c\xf0\x9e\xb1\x93", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--tshz828m.xn--3kj4524l"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--tshz828m.xn--3kj4524l", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--tshz828m.xn--3kj4524l", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--1ug68oq348b.xn--3kj4524l"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--1ug68oq348b.xn--3kj4524l", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--1ug68oq348b.xn--3kj4524l", true); } // [B1, B5, B6, C2, V6, V7] test { try toUnicodeFail("xn--1-px8q..xn--knd8464v"); } // [B1, B5, B6, V6, V7, X4_2] +test { try toAsciiFail("xn--1-px8q..xn--knd8464v", false); } // [B1, B5, B6, V6, V7, A4_2] +test { try toAsciiFail("xn--1-px8q..xn--knd8464v", true); } // [B1, B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--1-tgn9827q..xn--knd8464v"); } // [B1, B5, B6, C2, V6, V7, X4_2] +test { try toAsciiFail("xn--1-tgn9827q..xn--knd8464v", false); } // [B1, B5, B6, C2, V6, V7, A4_2] +test { try toAsciiFail("xn--1-tgn9827q..xn--knd8464v", true); } // [B1, B5, B6, C2, V6, V7, A4_2] test { try toUnicodeFail("xn--tshz828m.xn--knd8464v"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--tshz828m.xn--knd8464v", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--tshz828m.xn--knd8464v", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--1ug68oq348b.xn--knd8464v"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--1ug68oq348b.xn--knd8464v", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--1ug68oq348b.xn--knd8464v", true); } // [B1, B5, B6, C2, V6, V7] test { try toUnicodeFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xcf\x82\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xcf\x82\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xcf\x82\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xce\xa3\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xce\xa3\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xce\xa3\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xcf\x83\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xcf\x83\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xcf\x83\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xcf\x83\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xcf\x83\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xcf\x83\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", true); } // [B1, V7] test { try toUnicodeFail("xn--ybc0236vjvxgt5q0g.xn--4xa82737giye6b"); } // [B1, V7] +test { try toAsciiFail("xn--ybc0236vjvxgt5q0g.xn--4xa82737giye6b", false); } // [B1, V7] +test { try toAsciiFail("xn--ybc0236vjvxgt5q0g.xn--4xa82737giye6b", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xcf\x82\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xcf\x82\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\x96.\xcf\x82\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", true); } // [B1, V7] test { try toUnicodeFail("xn--ybc0236vjvxgt5q0g.xn--3xa03737giye6b"); } // [B1, V7] +test { try toAsciiFail("xn--ybc0236vjvxgt5q0g.xn--3xa03737giye6b", false); } // [B1, V7] +test { try toAsciiFail("xn--ybc0236vjvxgt5q0g.xn--3xa03737giye6b", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xce\xa3\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xce\xa3\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\xa3\x99\xe0\xa9\x8d\xf0\xb1\xab\x98\xf0\x9e\xa4\xb8.\xce\xa3\xf1\xb5\xaf\x9e\xf4\x88\xb0\x94", true); } // [B1, V7] test { try toUnicodeFail("\xdf\x93\xe3\x80\x82\xe2\x80\x8c\xf0\x90\xab\x80\xf2\x9e\xad\xb1"); } // [B1, C1, V7] +test { try toAsciiFail("\xdf\x93\xe3\x80\x82\xe2\x80\x8c\xf0\x90\xab\x80\xf2\x9e\xad\xb1", false); } // [B1, C1, V7] +test { try toAsciiFail("\xdf\x93\xe3\x80\x82\xe2\x80\x8c\xf0\x90\xab\x80\xf2\x9e\xad\xb1", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--usb.xn--pw9ci1099a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--usb.xn--pw9ci1099a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--usb.xn--pw9ci1099a", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--usb.xn--0ug9553gm3v5d"); } // [B1, C1, V7] +test { try toAsciiFail("xn--usb.xn--0ug9553gm3v5d", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--usb.xn--0ug9553gm3v5d", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe1\xb0\xae\xf0\x9e\x80\x9d.\xd6\xa6\xea\xa1\x9f\xf0\x9e\xa4\x95\xf3\xa0\x86\x96"); } // [B1, V6] +test { try toAsciiFail("\xe1\xb0\xae\xf0\x9e\x80\x9d.\xd6\xa6\xea\xa1\x9f\xf0\x9e\xa4\x95\xf3\xa0\x86\x96", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xb0\xae\xf0\x9e\x80\x9d.\xd6\xa6\xea\xa1\x9f\xf0\x9e\xa4\x95\xf3\xa0\x86\x96", true); } // [B1, V6] test { try toUnicodeFail("\xe1\xb0\xae\xf0\x9e\x80\x9d.\xd6\xa6\xea\xa1\x9f\xf0\x9e\xa4\xb7\xf3\xa0\x86\x96"); } // [B1, V6] +test { try toAsciiFail("\xe1\xb0\xae\xf0\x9e\x80\x9d.\xd6\xa6\xea\xa1\x9f\xf0\x9e\xa4\xb7\xf3\xa0\x86\x96", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xb0\xae\xf0\x9e\x80\x9d.\xd6\xa6\xea\xa1\x9f\xf0\x9e\xa4\xb7\xf3\xa0\x86\x96", true); } // [B1, V6] test { try toUnicodeFail("xn--q1f4493q.xn--xcb8244fifvj"); } // [B1, V6] +test { try toAsciiFail("xn--q1f4493q.xn--xcb8244fifvj", false); } // [B1, V6] +test { try toAsciiFail("xn--q1f4493q.xn--xcb8244fifvj", true); } // [B1, V6] test { try toUnicodeFail("\xe4\x82\xb9\xf3\xbe\x96\x85\xf0\x90\x8b\xa6\xef\xbc\x8e\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe4\x82\xb9\xf3\xbe\x96\x85\xf0\x90\x8b\xa6\xef\xbc\x8e\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe4\x82\xb9\xf3\xbe\x96\x85\xf0\x90\x8b\xa6\xef\xbc\x8e\xe2\x80\x8d", true); } // [V7, A4_2] test { try toUnicodeFail("\xe4\x82\xb9\xf3\xbe\x96\x85\xf0\x90\x8b\xa6.\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe4\x82\xb9\xf3\xbe\x96\x85\xf0\x90\x8b\xa6.\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe4\x82\xb9\xf3\xbe\x96\x85\xf0\x90\x8b\xa6.\xe2\x80\x8d", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0on3543c5981i."); } // [V7] +test { try toAsciiFail("xn--0on3543c5981i.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--0on3543c5981i.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0on3543c5981i.xn--1ug"); } // [C2, V7] +test { try toAsciiFail("xn--0on3543c5981i.xn--1ug", false); } // [C2, V7] +test { try toAsciiFail("xn--0on3543c5981i.xn--1ug", true); } // [C2, V7] test { try toUnicodeFail("\xea\xa7\x80\xe2\x80\x8c\xf0\x90\xb9\xb2\xe2\x80\x8c\xef\xbd\xa1\xdd\xa7\xf0\x9f\x84\x89"); } // [B3, B5, B6, C1, V6, U1] +test { try toAsciiFail("\xea\xa7\x80\xe2\x80\x8c\xf0\x90\xb9\xb2\xe2\x80\x8c\xef\xbd\xa1\xdd\xa7\xf0\x9f\x84\x89", false); } // [B3, B5, B6, C1, V6, U1] +test { try toAsciiFail("\xea\xa7\x80\xe2\x80\x8c\xf0\x90\xb9\xb2\xe2\x80\x8c\xef\xbd\xa1\xdd\xa7\xf0\x9f\x84\x89", true); } // [B3, B5, B6, V6, U1] test { try toUnicodeFail("\xea\xa7\x80\xe2\x80\x8c\xf0\x90\xb9\xb2\xe2\x80\x8c\xe3\x80\x82\xdd\xa78,"); } // [B3, B5, B6, C1, V6, U1] +test { try toAsciiFail("\xea\xa7\x80\xe2\x80\x8c\xf0\x90\xb9\xb2\xe2\x80\x8c\xe3\x80\x82\xdd\xa78,", false); } // [B3, B5, B6, C1, V6, U1] +test { try toAsciiFail("\xea\xa7\x80\xe2\x80\x8c\xf0\x90\xb9\xb2\xe2\x80\x8c\xe3\x80\x82\xdd\xa78,", true); } // [B3, B5, B6, V6, U1] test { try toUnicodeFail("xn--7m9an32q.xn--8,-qle"); } // [B3, B5, B6, V6, U1] +test { try toAsciiFail("xn--7m9an32q.xn--8,-qle", false); } // [B3, B5, B6, V6, U1] +test { try toAsciiFail("xn--7m9an32q.xn--8,-qle", true); } // [B3, B5, B6, V6, U1] test { try toUnicodeFail("xn--0uga8686hdgvd.xn--8,-qle"); } // [B3, B5, B6, C1, V6, U1] +test { try toAsciiFail("xn--0uga8686hdgvd.xn--8,-qle", false); } // [B3, B5, B6, C1, V6, U1] +test { try toAsciiFail("xn--0uga8686hdgvd.xn--8,-qle", true); } // [B3, B5, B6, C1, V6, U1] test { try toUnicodeFail("xn--7m9an32q.xn--rpb6081w"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--7m9an32q.xn--rpb6081w", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--7m9an32q.xn--rpb6081w", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--0uga8686hdgvd.xn--rpb6081w"); } // [B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--0uga8686hdgvd.xn--rpb6081w", false); } // [B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--0uga8686hdgvd.xn--rpb6081w", true); } // [B5, B6, C1, V6, V7] test { try toUnicodeFail("\xef\xb8\x92\xef\xbd\xa1\xe1\x82\xa3\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe1\x82\xa3\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe1\x82\xa3\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("\xef\xb8\x92\xef\xbd\xa1\xe1\x82\xa3>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe1\x82\xa3>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe1\x82\xa3>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xe3\x80\x82\xe3\x80\x82\xe1\x82\xa3\xe2\x89\xaf"); } // [X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe1\x82\xa3\xe2\x89\xaf", false); } // [A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe1\x82\xa3\xe2\x89\xaf", true); } // [A4_2] test { try toUnicodeFail("\xe3\x80\x82\xe3\x80\x82\xe1\x82\xa3>\xcc\xb8"); } // [X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe1\x82\xa3>\xcc\xb8", false); } // [A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe1\x82\xa3>\xcc\xb8", true); } // [A4_2] test { try toUnicodeFail("\xe3\x80\x82\xe3\x80\x82\xe2\xb4\x83>\xcc\xb8"); } // [X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe2\xb4\x83>\xcc\xb8", false); } // [A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe2\xb4\x83>\xcc\xb8", true); } // [A4_2] test { try toUnicodeFail("\xe3\x80\x82\xe3\x80\x82\xe2\xb4\x83\xe2\x89\xaf"); } // [X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe2\xb4\x83\xe2\x89\xaf", false); } // [A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe2\xb4\x83\xe2\x89\xaf", true); } // [A4_2] test { try toUnicodeFail("..xn--hdh782b"); } // [X4_2] +test { try toAsciiFail("..xn--hdh782b", false); } // [A4_2] +test { try toAsciiFail("..xn--hdh782b", true); } // [A4_2] test { try toUnicodeFail("\xef\xb8\x92\xef\xbd\xa1\xe2\xb4\x83>\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe2\xb4\x83>\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe2\xb4\x83>\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xef\xb8\x92\xef\xbd\xa1\xe2\xb4\x83\xe2\x89\xaf"); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe2\xb4\x83\xe2\x89\xaf", false); } // [V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe2\xb4\x83\xe2\x89\xaf", true); } // [V7] test { try toUnicodeFail("xn--y86c.xn--hdh782b"); } // [V7] +test { try toAsciiFail("xn--y86c.xn--hdh782b", false); } // [V7] +test { try toAsciiFail("xn--y86c.xn--hdh782b", true); } // [V7] test { try toUnicodeFail("..xn--bnd622g"); } // [V7, X4_2] +test { try toAsciiFail("..xn--bnd622g", false); } // [V7, A4_2] +test { try toAsciiFail("..xn--bnd622g", true); } // [V7, A4_2] test { try toUnicodeFail("xn--y86c.xn--bnd622g"); } // [V7] +test { try toAsciiFail("xn--y86c.xn--bnd622g", false); } // [V7] +test { try toAsciiFail("xn--y86c.xn--bnd622g", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xb9\xae\xef\xbd\xa1\xf3\xa0\xa2\xbc\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xae\xef\xbd\xa1\xf3\xa0\xa2\xbc\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xae\xef\xbd\xa1\xf3\xa0\xa2\xbc\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xae\xe3\x80\x82\xf3\xa0\xa2\xbc\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xae\xe3\x80\x82\xf3\xa0\xa2\xbc\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xae\xe3\x80\x82\xf3\xa0\xa2\xbc\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("xn--mo0d.xn--wy46e"); } // [B1, V7] +test { try toAsciiFail("xn--mo0d.xn--wy46e", false); } // [B1, V7] +test { try toAsciiFail("xn--mo0d.xn--wy46e", true); } // [B1, V7] test { try toUnicodeFail("xn--mo0d.xn--1ug18431l"); } // [B1, C2, V7] +test { try toAsciiFail("xn--mo0d.xn--1ug18431l", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--mo0d.xn--1ug18431l", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe1\x82\xaf"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe1\x82\xaf", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe1\x82\xaf", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe1\x82\xaf"); } // [B2, B3, B5, B6, C2, X4_2] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe1\x82\xaf", false); } // [B2, B3, B5, B6, C2, A4_2] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe1\x82\xaf", true); } // [B2, B3, B5, B6, A4_2] test { try toUnicodeFail("\xe2\xb4\x9e\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f"); } // [B2, B3, B5, B6, C2, X4_2] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", false); } // [B2, B3, B5, B6, C2, A4_2] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", true); } // [B2, B3, B5, B6, A4_2] test { try toUnicodeFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f"); } // [B2, B3, B5, B6, C2, X4_2] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", false); } // [B2, B3, B5, B6, C2, A4_2] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xe3\x80\x82\xe3\x80\x82\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", true); } // [B2, B3, B5, B6, A4_2] test { try toUnicodeFail("xn--mlju223e..xn--eqb053q"); } // [B2, B3, B5, B6, X4_2] +test { try toAsciiFail("xn--mlju223e..xn--eqb053q", false); } // [B2, B3, B5, B6, A4_2] +test { try toAsciiFail("xn--mlju223e..xn--eqb053q", true); } // [B2, B3, B5, B6, A4_2] test { try toUnicodeFail("xn--mlju223e..xn--eqb096jpgj"); } // [B2, B3, B5, B6, C2, X4_2] +test { try toAsciiFail("xn--mlju223e..xn--eqb096jpgj", false); } // [B2, B3, B5, B6, C2, A4_2] +test { try toAsciiFail("xn--mlju223e..xn--eqb096jpgj", true); } // [B2, B3, B5, B6, C2, A4_2] test { try toUnicodeFail("\xe2\xb4\x9e\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\x90\xb9\xa8\xef\xbd\xa1\xef\xb8\x92\xdd\xbd\xe2\x80\x8d\xe2\xb4\x8f", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--mlju223e.xn--eqb053qjk7l"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--mlju223e.xn--eqb053qjk7l", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--mlju223e.xn--eqb053qjk7l", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--mlju223e.xn--eqb096jpgj9y7r"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--mlju223e.xn--eqb096jpgj9y7r", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--mlju223e.xn--eqb096jpgj9y7r", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail("xn--2nd0990k..xn--eqb053q"); } // [B2, B3, B5, B6, V7, X4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb053q", false); } // [B2, B3, B5, B6, V7, A4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb053q", true); } // [B2, B3, B5, B6, V7, A4_2] test { try toUnicodeFail("xn--2nd0990k..xn--eqb096jpgj"); } // [B2, B3, B5, B6, C2, V7, X4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb096jpgj", false); } // [B2, B3, B5, B6, C2, V7, A4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb096jpgj", true); } // [B2, B3, B5, B6, C2, V7, A4_2] test { try toUnicodeFail("xn--2nd0990k..xn--eqb228b"); } // [B2, B3, B5, B6, V7, X4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb228b", false); } // [B2, B3, B5, B6, V7, A4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb228b", true); } // [B2, B3, B5, B6, V7, A4_2] test { try toUnicodeFail("xn--2nd0990k..xn--eqb228bgzm"); } // [B2, B3, B5, B6, C2, V7, X4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb228bgzm", false); } // [B2, B3, B5, B6, C2, V7, A4_2] +test { try toAsciiFail("xn--2nd0990k..xn--eqb228bgzm", true); } // [B2, B3, B5, B6, C2, V7, A4_2] test { try toUnicodeFail("xn--2nd0990k.xn--eqb053qjk7l"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb053qjk7l", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb053qjk7l", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--2nd0990k.xn--eqb096jpgj9y7r"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb096jpgj9y7r", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb096jpgj9y7r", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail("xn--2nd0990k.xn--eqb228b583r"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb228b583r", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb228b583r", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--2nd0990k.xn--eqb228bgzmvp0t"); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb228bgzmvp0t", false); } // [B1, B5, B6, C2, V7] +test { try toAsciiFail("xn--2nd0990k.xn--eqb228bgzmvp0t", true); } // [B1, B5, B6, C2, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xa6\xf0\x9d\x9f\xb9\xe3\x80\x82-\xe2\x83\x92-\xdf\x91"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa6\xf0\x9d\x9f\xb9\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa6\xf0\x9d\x9f\xb9\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", true); } // [B1, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xa63\xe3\x80\x82-\xe2\x83\x92-\xdf\x91"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa63\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa63\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", true); } // [B1, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x863\xe3\x80\x82-\xe2\x83\x92-\xdf\x91"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x863\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x863\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", true); } // [B1, V3] test { try toUnicodeFail("xn--3-lvs.xn-----vue617w"); } // [B1, V3] +test { try toAsciiFail("xn--3-lvs.xn-----vue617w", false); } // [B1, V3] +test { try toAsciiFail("xn--3-lvs.xn-----vue617w", true); } // [B1, V3] test { try toUnicodeFail("xn--3-rgnv99c.xn-----vue617w"); } // [B1, C1, V3] +test { try toAsciiFail("xn--3-rgnv99c.xn-----vue617w", false); } // [B1, C1, V3] +test { try toAsciiFail("xn--3-rgnv99c.xn-----vue617w", true); } // [B1, C1, V3] test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x86\xf0\x9d\x9f\xb9\xe3\x80\x82-\xe2\x83\x92-\xdf\x91"); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x86\xf0\x9d\x9f\xb9\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", false); } // [B1, C1, V3] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x86\xf0\x9d\x9f\xb9\xe3\x80\x82-\xe2\x83\x92-\xdf\x91", true); } // [B1, V3] test { try toUnicodeFail("xn--3-i0g.xn-----vue617w"); } // [B1, V3, V7] +test { try toAsciiFail("xn--3-i0g.xn-----vue617w", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--3-i0g.xn-----vue617w", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--3-i0g939i.xn-----vue617w"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--3-i0g939i.xn-----vue617w", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--3-i0g939i.xn-----vue617w", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xef\xbd\xa1\xe2\x89\xa0-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xef\xbd\xa1\xe2\x89\xa0-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xef\xbd\xa1\xe2\x89\xa0-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xef\xbd\xa1=\xcc\xb8-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xef\xbd\xa1=\xcc\xb8-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xef\xbd\xa1=\xcc\xb8-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xe3\x80\x82\xe2\x89\xa0-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xe3\x80\x82\xe2\x89\xa0-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xe3\x80\x82\xe2\x89\xa0-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xe3\x80\x82=\xcc\xb8-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xe3\x80\x82=\xcc\xb8-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe1\x83\x81-\xf3\xa0\x81\x9d\xe3\x80\x82=\xcc\xb8-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xe3\x80\x82=\xcc\xb8-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xe3\x80\x82=\xcc\xb8-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xe3\x80\x82=\xcc\xb8-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xe3\x80\x82\xe2\x89\xa0-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xe3\x80\x82\xe2\x89\xa0-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xe3\x80\x82\xe2\x89\xa0-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("xn----4wsr321ay823p.xn----tfot873s"); } // [V7] +test { try toAsciiFail("xn----4wsr321ay823p.xn----tfot873s", false); } // [V7] +test { try toAsciiFail("xn----4wsr321ay823p.xn----tfot873s", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xef\xbd\xa1=\xcc\xb8-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xef\xbd\xa1=\xcc\xb8-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xef\xbd\xa1=\xcc\xb8-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xef\xbd\xa1\xe2\x89\xa0-\xf0\x9f\xa4\x96"); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xef\xbd\xa1\xe2\x89\xa0-\xf0\x9f\xa4\x96", false); } // [V7] +test { try toAsciiFail("\xe7\xae\x83\xe2\xb4\xa1-\xf3\xa0\x81\x9d\xef\xbd\xa1\xe2\x89\xa0-\xf0\x9f\xa4\x96", true); } // [V7] test { try toUnicodeFail("xn----11g3013fy8x5m.xn----tfot873s"); } // [V7] +test { try toAsciiFail("xn----11g3013fy8x5m.xn----tfot873s", false); } // [V7] +test { try toAsciiFail("xn----11g3013fy8x5m.xn----tfot873s", true); } // [V7] test { try toUnicodePass("\xdf\xa5.\xda\xb5", "\xdf\xa5.\xda\xb5"); } test { try toAsciiPass("\xdf\xa5.\xda\xb5", "xn--dtb.xn--okb", false); } test { try toAsciiPass("\xdf\xa5.\xda\xb5", "xn--dtb.xn--okb", true); } @@ -3738,9 +9030,17 @@ test { try toUnicodePass("xn--dtb.xn--okb", "\xdf\xa5.\xda\xb5"); } test { try toAsciiPass("xn--dtb.xn--okb", "xn--dtb.xn--okb", false); } test { try toAsciiPass("xn--dtb.xn--okb", "xn--dtb.xn--okb", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8d.\xf0\x9e\xa4\xbf"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d.\xf0\x9e\xa4\xbf", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d.\xf0\x9e\xa4\xbf", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8d.\xf0\x9e\xa4\x9d"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d.\xf0\x9e\xa4\x9d", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d.\xf0\x9e\xa4\x9d", true); } // [A4_2] test { try toUnicodeFail(".xn--3e6h"); } // [X4_2] +test { try toAsciiFail(".xn--3e6h", false); } // [A4_2] +test { try toAsciiFail(".xn--3e6h", true); } // [A4_2] test { try toUnicodeFail("xn--0ugc.xn--3e6h"); } // [B1, C1, C2] +test { try toAsciiFail("xn--0ugc.xn--3e6h", false); } // [B1, C1, C2] +test { try toAsciiFail("xn--0ugc.xn--3e6h", true); } // [B1, C1, C2] test { try toUnicodePass("xn--3e6h", "\xf0\x9e\xa4\xbf"); } test { try toAsciiPass("xn--3e6h", "xn--3e6h", false); } test { try toAsciiPass("xn--3e6h", "xn--3e6h", true); } @@ -3751,58 +9051,164 @@ test { try toUnicodePass("\xf0\x9e\xa4\x9d", "\xf0\x9e\xa4\xbf"); } test { try toAsciiPass("\xf0\x9e\xa4\x9d", "xn--3e6h", false); } test { try toAsciiPass("\xf0\x9e\xa4\x9d", "xn--3e6h", true); } test { try toUnicodeFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xcf\x82\xf0\x91\x8d\x8d\xe8\x9c\xb9"); } // [B1] +test { try toAsciiFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xcf\x82\xf0\x91\x8d\x8d\xe8\x9c\xb9", false); } // [B1] +test { try toAsciiFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xcf\x82\xf0\x91\x8d\x8d\xe8\x9c\xb9", true); } // [B1] test { try toUnicodeFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xce\xa3\xf0\x91\x8d\x8d\xe8\x9c\xb9"); } // [B1] +test { try toAsciiFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xce\xa3\xf0\x91\x8d\x8d\xe8\x9c\xb9", false); } // [B1] +test { try toAsciiFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xce\xa3\xf0\x91\x8d\x8d\xe8\x9c\xb9", true); } // [B1] test { try toUnicodeFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xcf\x83\xf0\x91\x8d\x8d\xe8\x9c\xb9"); } // [B1] +test { try toAsciiFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xcf\x83\xf0\x91\x8d\x8d\xe8\x9c\xb9", false); } // [B1] +test { try toAsciiFail("\xf0\x9f\x9c\x91\xf0\x90\xb9\xa7\xd8\xb9.\xcf\x83\xf0\x91\x8d\x8d\xe8\x9c\xb9", true); } // [B1] test { try toUnicodeFail("xn--4gb3736kk4zf.xn--4xa2248dy27d"); } // [B1] +test { try toAsciiFail("xn--4gb3736kk4zf.xn--4xa2248dy27d", false); } // [B1] +test { try toAsciiFail("xn--4gb3736kk4zf.xn--4xa2248dy27d", true); } // [B1] test { try toUnicodeFail("xn--4gb3736kk4zf.xn--3xa4248dy27d"); } // [B1] +test { try toAsciiFail("xn--4gb3736kk4zf.xn--3xa4248dy27d", false); } // [B1] +test { try toAsciiFail("xn--4gb3736kk4zf.xn--3xa4248dy27d", true); } // [B1] test { try toUnicodeFail("\xf2\xab\xa0\x90\xe3\x82\xb9\xf4\x86\x9f\xa4\xd9\xa9\xef\xbc\x8e\xf3\x9a\x83\x9f"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xab\xa0\x90\xe3\x82\xb9\xf4\x86\x9f\xa4\xd9\xa9\xef\xbc\x8e\xf3\x9a\x83\x9f", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xab\xa0\x90\xe3\x82\xb9\xf4\x86\x9f\xa4\xd9\xa9\xef\xbc\x8e\xf3\x9a\x83\x9f", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\xab\xa0\x90\xe3\x82\xb9\xf4\x86\x9f\xa4\xd9\xa9.\xf3\x9a\x83\x9f"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xab\xa0\x90\xe3\x82\xb9\xf4\x86\x9f\xa4\xd9\xa9.\xf3\x9a\x83\x9f", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xab\xa0\x90\xe3\x82\xb9\xf4\x86\x9f\xa4\xd9\xa9.\xf3\x9a\x83\x9f", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--iib777sp230oo708a.xn--7824e"); } // [B5, B6, V7] +test { try toAsciiFail("xn--iib777sp230oo708a.xn--7824e", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--iib777sp230oo708a.xn--7824e", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d\xef\xbc\x8e\xd6\x9a?\xdb\x82"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d\xef\xbc\x8e\xd6\x9a?\xdb\x82", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d\xef\xbc\x8e\xd6\x9a?\xdb\x82", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d\xef\xbc\x8e\xd6\x9a?\xdb\x81\xd9\x94"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d\xef\xbc\x8e\xd6\x9a?\xdb\x81\xd9\x94", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d\xef\xbc\x8e\xd6\x9a?\xdb\x81\xd9\x94", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d.\xd6\x9a?\xdb\x82"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d.\xd6\x9a?\xdb\x82", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d.\xd6\x9a?\xdb\x82", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d.\xd6\x9a?\xdb\x81\xd9\x94"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d.\xd6\x9a?\xdb\x81\xd9\x94", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xf0\x9d\xaa\xa3\xf2\x95\xa1\x9d.\xd6\x9a?\xdb\x81\xd9\x94", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("xn--8c3hu7971a.xn--?-wec30g"); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--8c3hu7971a.xn--?-wec30g", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--8c3hu7971a.xn--?-wec30g", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("xn--8c3hu7971a.\xd6\x9a?\xdb\x82"); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--8c3hu7971a.\xd6\x9a?\xdb\x82", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--8c3hu7971a.\xd6\x9a?\xdb\x82", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("xn--8c3hu7971a.\xd6\x9a?\xdb\x81\xd9\x94"); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--8c3hu7971a.\xd6\x9a?\xdb\x81\xd9\x94", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--8c3hu7971a.\xd6\x9a?\xdb\x81\xd9\x94", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("XN--8C3HU7971A.\xd6\x9a?\xdb\x81\xd9\x94"); } // [B1, V6, V7, U1] +test { try toAsciiFail("XN--8C3HU7971A.\xd6\x9a?\xdb\x81\xd9\x94", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("XN--8C3HU7971A.\xd6\x9a?\xdb\x81\xd9\x94", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("XN--8C3HU7971A.\xd6\x9a?\xdb\x82"); } // [B1, V6, V7, U1] +test { try toAsciiFail("XN--8C3HU7971A.\xd6\x9a?\xdb\x82", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("XN--8C3HU7971A.\xd6\x9a?\xdb\x82", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("Xn--8c3hu7971a.\xd6\x9a?\xdb\x82"); } // [B1, V6, V7, U1] +test { try toAsciiFail("Xn--8c3hu7971a.\xd6\x9a?\xdb\x82", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("Xn--8c3hu7971a.\xd6\x9a?\xdb\x82", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("Xn--8c3hu7971a.\xd6\x9a?\xdb\x81\xd9\x94"); } // [B1, V6, V7, U1] +test { try toAsciiFail("Xn--8c3hu7971a.\xd6\x9a?\xdb\x81\xd9\x94", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("Xn--8c3hu7971a.\xd6\x9a?\xdb\x81\xd9\x94", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xd9\xa0\xf2\xaa\x93\xb5\xe2\x80\x8c\xe3\x80\x82\xdd\x97"); } // [B1, C1, V7] +test { try toAsciiFail("\xd9\xa0\xf2\xaa\x93\xb5\xe2\x80\x8c\xe3\x80\x82\xdd\x97", false); } // [B1, C1, V7] +test { try toAsciiFail("\xd9\xa0\xf2\xaa\x93\xb5\xe2\x80\x8c\xe3\x80\x82\xdd\x97", true); } // [B1, V7] test { try toUnicodeFail("xn--8hb82030l.xn--bpb"); } // [B1, V7] +test { try toAsciiFail("xn--8hb82030l.xn--bpb", false); } // [B1, V7] +test { try toAsciiFail("xn--8hb82030l.xn--bpb", true); } // [B1, V7] test { try toUnicodeFail("xn--8hb852ke991q.xn--bpb"); } // [B1, C1, V7] +test { try toAsciiFail("xn--8hb852ke991q.xn--bpb", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--8hb852ke991q.xn--bpb", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe1\x80\xba\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82-\xe2\x80\x8c"); } // [C1, V3, V6] +test { try toAsciiFail("\xe1\x80\xba\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82-\xe2\x80\x8c", false); } // [C1, V3, V6] +test { try toAsciiFail("\xe1\x80\xba\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82-\xe2\x80\x8c", true); } // [V3, V6] test { try toUnicodeFail("xn--bkd.-"); } // [V3, V6] +test { try toAsciiFail("xn--bkd.-", false); } // [V3, V6] +test { try toAsciiFail("xn--bkd.-", true); } // [V3, V6] test { try toUnicodeFail("xn--bkd412fca.xn----sgn"); } // [C1, V3, V6] +test { try toAsciiFail("xn--bkd412fca.xn----sgn", false); } // [C1, V3, V6] +test { try toAsciiFail("xn--bkd412fca.xn----sgn", true); } // [C1, V3, V6] test { try toUnicodeFail("\xef\xb8\x92\xef\xbd\xa1\xe1\xad\x84\xe1\xa1\x89"); } // [V6, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe1\xad\x84\xe1\xa1\x89", false); } // [V6, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xbd\xa1\xe1\xad\x84\xe1\xa1\x89", true); } // [V6, V7] test { try toUnicodeFail("\xe3\x80\x82\xe3\x80\x82\xe1\xad\x84\xe1\xa1\x89"); } // [V6, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe1\xad\x84\xe1\xa1\x89", false); } // [V6, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe3\x80\x82\xe1\xad\x84\xe1\xa1\x89", true); } // [V6, A4_2] test { try toUnicodeFail("..xn--87e93m"); } // [V6, X4_2] +test { try toAsciiFail("..xn--87e93m", false); } // [V6, A4_2] +test { try toAsciiFail("..xn--87e93m", true); } // [V6, A4_2] test { try toUnicodeFail("xn--y86c.xn--87e93m"); } // [V6, V7] +test { try toAsciiFail("xn--y86c.xn--87e93m", false); } // [V6, V7] +test { try toAsciiFail("xn--y86c.xn--87e93m", true); } // [V6, V7] test { try toUnicodeFail("\xdd\x98\xc3\x9f\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98\xc3\x9f\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98\xc3\x9f\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98\xc3\x9f\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98\xc3\x9f\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98\xc3\x9f\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98SS\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98SS\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98SS\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", true); } // [B2, B3, B5] test { try toUnicodeFail("xn--ss-gke.xn--2-b5c641gfmf"); } // [B2, B3, B5] +test { try toAsciiFail("xn--ss-gke.xn--2-b5c641gfmf", false); } // [B2, B3, B5] +test { try toAsciiFail("xn--ss-gke.xn--2-b5c641gfmf", true); } // [B2, B3, B5] test { try toUnicodeFail("xn--zca724a.xn--2-b5c641gfmf"); } // [B2, B3, B5] +test { try toAsciiFail("xn--zca724a.xn--2-b5c641gfmf", false); } // [B2, B3, B5] +test { try toAsciiFail("xn--zca724a.xn--2-b5c641gfmf", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98SS\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98SS\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98SS\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98Ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98Ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98Ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa82", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdd\x98Ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90"); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98Ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", false); } // [B2, B3, B5] +test { try toAsciiFail("\xdd\x98Ss\xe3\x80\x82\xe1\x8c\xab\xe1\xa2\x8a\xdd\xa8\xf0\x9d\x9f\x90", true); } // [B2, B3, B5] test { try toUnicodeFail("\xdf\x83\xf0\x9e\xb6\x87\xe1\x9a\xb2.\xe0\xa4\x82\xcd\x93\xf0\x9d\x9f\x9a\xe0\xa7\x8d"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x83\xf0\x9e\xb6\x87\xe1\x9a\xb2.\xe0\xa4\x82\xcd\x93\xf0\x9d\x9f\x9a\xe0\xa7\x8d", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x83\xf0\x9e\xb6\x87\xe1\x9a\xb2.\xe0\xa4\x82\xcd\x93\xf0\x9d\x9f\x9a\xe0\xa7\x8d", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xdf\x83\xf0\x9e\xb6\x87\xe1\x9a\xb2.\xe0\xa4\x82\xcd\x932\xe0\xa7\x8d"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x83\xf0\x9e\xb6\x87\xe1\x9a\xb2.\xe0\xa4\x82\xcd\x932\xe0\xa7\x8d", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x83\xf0\x9e\xb6\x87\xe1\x9a\xb2.\xe0\xa4\x82\xcd\x932\xe0\xa7\x8d", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--esb067enh07a.xn--2-lgb874bjxa"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--esb067enh07a.xn--2-lgb874bjxa", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--esb067enh07a.xn--2-lgb874bjxa", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("-\xe1\xae\xab\xef\xb8\x92\xe2\x80\x8d.\xf1\x92\xb6\x88\xf1\xa5\xb9\x93"); } // [C2, V3, V7] +test { try toAsciiFail("-\xe1\xae\xab\xef\xb8\x92\xe2\x80\x8d.\xf1\x92\xb6\x88\xf1\xa5\xb9\x93", false); } // [C2, V3, V7] +test { try toAsciiFail("-\xe1\xae\xab\xef\xb8\x92\xe2\x80\x8d.\xf1\x92\xb6\x88\xf1\xa5\xb9\x93", true); } // [V3, V7] test { try toUnicodeFail("-\xe1\xae\xab\xe3\x80\x82\xe2\x80\x8d.\xf1\x92\xb6\x88\xf1\xa5\xb9\x93"); } // [C2, V3, V7] +test { try toAsciiFail("-\xe1\xae\xab\xe3\x80\x82\xe2\x80\x8d.\xf1\x92\xb6\x88\xf1\xa5\xb9\x93", false); } // [C2, V3, V7] +test { try toAsciiFail("-\xe1\xae\xab\xe3\x80\x82\xe2\x80\x8d.\xf1\x92\xb6\x88\xf1\xa5\xb9\x93", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----qml..xn--x50zy803a"); } // [V3, V7, X4_2] +test { try toAsciiFail("xn----qml..xn--x50zy803a", false); } // [V3, V7, A4_2] +test { try toAsciiFail("xn----qml..xn--x50zy803a", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----qml.xn--1ug.xn--x50zy803a"); } // [C2, V3, V7] +test { try toAsciiFail("xn----qml.xn--1ug.xn--x50zy803a", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----qml.xn--1ug.xn--x50zy803a", true); } // [C2, V3, V7] test { try toUnicodeFail("xn----qml1407i.xn--x50zy803a"); } // [V3, V7] +test { try toAsciiFail("xn----qml1407i.xn--x50zy803a", false); } // [V3, V7] +test { try toAsciiFail("xn----qml1407i.xn--x50zy803a", true); } // [V3, V7] test { try toUnicodeFail("xn----qmlv7tw180a.xn--x50zy803a"); } // [C2, V3, V7] +test { try toAsciiFail("xn----qmlv7tw180a.xn--x50zy803a", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----qmlv7tw180a.xn--x50zy803a", true); } // [C2, V3, V7] test { try toUnicodeFail("\xf3\xa0\xa6\xae.\xe2\x89\xaf\xf0\x9e\x80\x86"); } // [V7] +test { try toAsciiFail("\xf3\xa0\xa6\xae.\xe2\x89\xaf\xf0\x9e\x80\x86", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\xa6\xae.\xe2\x89\xaf\xf0\x9e\x80\x86", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xa6\xae.>\xcc\xb8\xf0\x9e\x80\x86"); } // [V7] +test { try toAsciiFail("\xf3\xa0\xa6\xae.>\xcc\xb8\xf0\x9e\x80\x86", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\xa6\xae.>\xcc\xb8\xf0\x9e\x80\x86", true); } // [V7] test { try toUnicodeFail("xn--t546e.xn--hdh5166o"); } // [V7] +test { try toAsciiFail("xn--t546e.xn--hdh5166o", false); } // [V7] +test { try toAsciiFail("xn--t546e.xn--hdh5166o", true); } // [V7] test { try toUnicodeFail("-\xf0\x91\x84\xb3\xf3\xa0\x8a\x97\xf0\x90\xb9\xa9\xe3\x80\x82\xf0\x9e\xae\xb1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x91\x84\xb3\xf3\xa0\x8a\x97\xf0\x90\xb9\xa9\xe3\x80\x82\xf0\x9e\xae\xb1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf0\x91\x84\xb3\xf3\xa0\x8a\x97\xf0\x90\xb9\xa9\xe3\x80\x82\xf0\x9e\xae\xb1", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----p26i72em2894c.xn--zw6h"); } // [B1, V3, V7] +test { try toAsciiFail("xn----p26i72em2894c.xn--zw6h", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----p26i72em2894c.xn--zw6h", true); } // [B1, V3, V7] test { try toUnicodePass("\xda\xb9\xef\xbc\x8e\xe1\xa1\xb3\xe1\x85\x9f", "\xda\xb9.\xe1\xa1\xb3"); } test { try toAsciiPass("\xda\xb9\xef\xbc\x8e\xe1\xa1\xb3\xe1\x85\x9f", "xn--skb.xn--g9e", false); } test { try toAsciiPass("\xda\xb9\xef\xbc\x8e\xe1\xa1\xb3\xe1\x85\x9f", "xn--skb.xn--g9e", true); } @@ -3816,31 +9222,65 @@ test { try toUnicodePass("\xda\xb9.\xe1\xa1\xb3", "\xda\xb9.\xe1\xa1\xb3"); } test { try toAsciiPass("\xda\xb9.\xe1\xa1\xb3", "xn--skb.xn--g9e", false); } test { try toAsciiPass("\xda\xb9.\xe1\xa1\xb3", "xn--skb.xn--g9e", true); } test { try toUnicodeFail("xn--skb.xn--osd737a"); } // [V7] +test { try toAsciiFail("xn--skb.xn--osd737a", false); } // [V7] +test { try toAsciiFail("xn--skb.xn--osd737a", true); } // [V7] test { try toUnicodeFail("\xe3\xa8\x9b\xf0\x98\xb1\x8e.\xef\xb8\x92\xf0\x9d\x9f\x95\xe0\xb4\x81"); } // [V7] +test { try toAsciiFail("\xe3\xa8\x9b\xf0\x98\xb1\x8e.\xef\xb8\x92\xf0\x9d\x9f\x95\xe0\xb4\x81", false); } // [V7] +test { try toAsciiFail("\xe3\xa8\x9b\xf0\x98\xb1\x8e.\xef\xb8\x92\xf0\x9d\x9f\x95\xe0\xb4\x81", true); } // [V7] test { try toUnicodeFail("\xe3\xa8\x9b\xf0\x98\xb1\x8e.\xe3\x80\x827\xe0\xb4\x81"); } // [X4_2] +test { try toAsciiFail("\xe3\xa8\x9b\xf0\x98\xb1\x8e.\xe3\x80\x827\xe0\xb4\x81", false); } // [A4_2] +test { try toAsciiFail("\xe3\xa8\x9b\xf0\x98\xb1\x8e.\xe3\x80\x827\xe0\xb4\x81", true); } // [A4_2] test { try toUnicodeFail("xn--mbm8237g..xn--7-7hf"); } // [X4_2] +test { try toAsciiFail("xn--mbm8237g..xn--7-7hf", false); } // [A4_2] +test { try toAsciiFail("xn--mbm8237g..xn--7-7hf", true); } // [A4_2] test { try toUnicodeFail("xn--mbm8237g.xn--7-7hf1526p"); } // [V7] +test { try toAsciiFail("xn--mbm8237g.xn--7-7hf1526p", false); } // [V7] +test { try toAsciiFail("xn--mbm8237g.xn--7-7hf1526p", true); } // [V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3\xe2\x89\xae"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3\xe2\x89\xae", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3\xe2\x89\xae", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3<\xcc\xb8"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3<\xcc\xb8", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3<\xcc\xb8", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3\xe2\x89\xae"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3\xe2\x89\xae", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3\xe2\x89\xae", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3<\xcc\xb8"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3<\xcc\xb8", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\xa3<\xcc\xb8", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81<\xcc\xb8"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81<\xcc\xb8", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81<\xcc\xb8", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81\xe2\x89\xae"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81\xe2\x89\xae", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xe3\x80\x82\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81\xe2\x89\xae", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("xn----dxc06304e.xn--gdh5020pk5c"); } // [B1, B3, V3, V7] +test { try toAsciiFail("xn----dxc06304e.xn--gdh5020pk5c", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("xn----dxc06304e.xn--gdh5020pk5c", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81<\xcc\xb8"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81<\xcc\xb8", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81<\xcc\xb8", true); } // [B1, B3, V3, V7] test { try toUnicodeFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81\xe2\x89\xae"); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81\xe2\x89\xae", false); } // [B1, B3, V3, V7] +test { try toAsciiFail("\xdb\x9d\xf0\xbb\xb1\xa7-\xef\xbd\xa1\xf0\x9e\xb7\x81\xe2\x81\xa4\xf0\x9e\xa4\x81\xe2\x89\xae", true); } // [B1, B3, V3, V7] test { try toAsciiPass("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6"); } // [C1] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", false); } // [C1] test { try toAsciiPass("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6"); } // [C1] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", false); } // [C1] test { try toAsciiPass("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96"); } // [C1] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", false); } // [C1] test { try toAsciiPass("SS\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("SS\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6"); } // [C1] +test { try toAsciiFail("SS\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", false); } // [C1] test { try toAsciiPass("ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96"); } // [C1] +test { try toAsciiFail("ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", false); } // [C1] test { try toAsciiPass("Ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("Ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96"); } // [C1] +test { try toAsciiFail("Ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96", false); } // [C1] test { try toUnicodePass("xn--ss-4epx629f.xn--ifh802b6a", "ss\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96"); } test { try toAsciiPass("xn--ss-4epx629f.xn--ifh802b6a", "xn--ss-4epx629f.xn--ifh802b6a", false); } test { try toAsciiPass("xn--ss-4epx629f.xn--ifh802b6a", "xn--ss-4epx629f.xn--ifh802b6a", true); } @@ -3854,103 +9294,287 @@ test { try toUnicodePass("Ss\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe test { try toAsciiPass("Ss\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", false); } test { try toAsciiPass("Ss\xea\xab\xb6\xe1\xa2\xa5.\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("xn--ss-4ep585bkm5p.xn--ifh802b6a"); } // [C1] +test { try toAsciiFail("xn--ss-4ep585bkm5p.xn--ifh802b6a", false); } // [C1] +test { try toAsciiFail("xn--ss-4ep585bkm5p.xn--ifh802b6a", true); } // [C1] test { try toUnicodeFail("xn--zca682johfi89m.xn--ifh802b6a"); } // [C1] +test { try toAsciiFail("xn--zca682johfi89m.xn--ifh802b6a", false); } // [C1] +test { try toAsciiFail("xn--zca682johfi89m.xn--ifh802b6a", true); } // [C1] test { try toAsciiPass("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96"); } // [C1] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", false); } // [C1] test { try toAsciiPass("SS\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("SS\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6"); } // [C1] +test { try toAsciiFail("SS\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe1\x82\xb6", false); } // [C1] test { try toAsciiPass("ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96"); } // [C1] +test { try toAsciiFail("ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe2\xb4\xa1\xe2\xb4\x96", false); } // [C1] test { try toAsciiPass("Ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96", "xn--ss-4epx629f.xn--ifh802b6a", true); } test { try toUnicodeFail("Ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96"); } // [C1] +test { try toAsciiFail("Ss\xe2\x80\x8c\xea\xab\xb6\xe1\xa2\xa5\xef\xbc\x8e\xe2\x8a\xb6\xe1\x83\x81\xe2\xb4\x96", false); } // [C1] test { try toUnicodeFail("xn--ss-4epx629f.xn--5nd703gyrh"); } // [V7] +test { try toAsciiFail("xn--ss-4epx629f.xn--5nd703gyrh", false); } // [V7] +test { try toAsciiFail("xn--ss-4epx629f.xn--5nd703gyrh", true); } // [V7] test { try toUnicodeFail("xn--ss-4ep585bkm5p.xn--5nd703gyrh"); } // [C1, V7] +test { try toAsciiFail("xn--ss-4ep585bkm5p.xn--5nd703gyrh", false); } // [C1, V7] +test { try toAsciiFail("xn--ss-4ep585bkm5p.xn--5nd703gyrh", true); } // [C1, V7] test { try toUnicodeFail("xn--ss-4epx629f.xn--undv409k"); } // [V7] +test { try toAsciiFail("xn--ss-4epx629f.xn--undv409k", false); } // [V7] +test { try toAsciiFail("xn--ss-4epx629f.xn--undv409k", true); } // [V7] test { try toUnicodeFail("xn--ss-4ep585bkm5p.xn--undv409k"); } // [C1, V7] +test { try toAsciiFail("xn--ss-4ep585bkm5p.xn--undv409k", false); } // [C1, V7] +test { try toAsciiFail("xn--ss-4ep585bkm5p.xn--undv409k", true); } // [C1, V7] test { try toUnicodeFail("xn--zca682johfi89m.xn--undv409k"); } // [C1, V7] +test { try toAsciiFail("xn--zca682johfi89m.xn--undv409k", false); } // [C1, V7] +test { try toAsciiFail("xn--zca682johfi89m.xn--undv409k", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xcf\x82\xf3\xa0\x81\x89"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xcf\x82\xf3\xa0\x81\x89", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xcf\x82\xf3\xa0\x81\x89", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xce\xa3\xf3\xa0\x81\x89"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xce\xa3\xf3\xa0\x81\x89", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xce\xa3\xf3\xa0\x81\x89", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xcf\x83\xf3\xa0\x81\x89"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xcf\x83\xf3\xa0\x81\x89", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xcf\x83\xf3\xa0\x81\x89", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--4xa24344p"); } // [V7, X4_2] +test { try toAsciiFail(".xn--4xa24344p", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--4xa24344p", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--4xa24344p"); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--4xa24344p", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--4xa24344p", true); } // [C2, V7] test { try toUnicodeFail("xn--1ug.xn--3xa44344p"); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--3xa44344p", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--3xa44344p", true); } // [C2, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91\xc3\x9f.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91\xc3\x9f.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91\xc3\x9f.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91\xc3\x9f.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91\xc3\x9f.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91\xc3\x9f.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91SS.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91SS.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91SS.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91Ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91Ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91Ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\xbd-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("xn--ss-2722a.xn----z3c03218a"); } // [B2, B3, V3, V7] +test { try toAsciiFail("xn--ss-2722a.xn----z3c03218a", false); } // [B2, B3, V3, V7] +test { try toAsciiFail("xn--ss-2722a.xn----z3c03218a", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("xn--ss-2722a.xn----z3c011q9513b"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("xn--ss-2722a.xn----z3c011q9513b", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("xn--ss-2722a.xn----z3c011q9513b", true); } // [B2, B3, C2, V3, V7] test { try toUnicodeFail("xn--zca5423w.xn----z3c011q9513b"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("xn--zca5423w.xn----z3c011q9513b", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("xn--zca5423w.xn----z3c011q9513b", true); } // [B2, B3, C2, V3, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xf0\x9e\xb5\x91Ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-"); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91Ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", false); } // [B2, B3, C2, V3, V7] +test { try toAsciiFail("\xf0\x9e\xb5\x91Ss.\xdd\x91\xe2\x80\x8d\xf0\x9e\xa4\x9b-", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\xa7\xef\xbc\x8e\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\xa7\xef\xbc\x8e\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\xa7\xef\xbc\x8e\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\xa7.\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\xa7.\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\xa7.\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\x85.\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\x85.\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\x85.\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--qb2ds317a.xn----k26iq1483f"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--qb2ds317a.xn----k26iq1483f", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--qb2ds317a.xn----k26iq1483f", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--1ugz808gdimf.xn----k26iq1483f"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("xn--1ugz808gdimf.xn----k26iq1483f", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("xn--1ugz808gdimf.xn----k26iq1483f", true); } // [B1, C2, V3, V6, V7] test { try toUnicodeFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\x85\xef\xbc\x8e\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\x85\xef\xbc\x8e\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x98\xbd\xe2\x80\x8d\xf0\x9e\xa4\x85\xef\xbc\x8e\xf0\x90\xb9\xa7\xf3\xa1\xa6\xaa-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe2\x92\x92\xf2\xa8\x98\x99\xf2\xb3\xb3\xa0\xf0\x91\x93\x80.-\xf3\x9e\xa1\x8a"); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x92\xf2\xa8\x98\x99\xf2\xb3\xb3\xa0\xf0\x91\x93\x80.-\xf3\x9e\xa1\x8a", false); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x92\xf2\xa8\x98\x99\xf2\xb3\xb3\xa0\xf0\x91\x93\x80.-\xf3\x9e\xa1\x8a", true); } // [V3, V7] test { try toUnicodeFail("11.\xf2\xa8\x98\x99\xf2\xb3\xb3\xa0\xf0\x91\x93\x80.-\xf3\x9e\xa1\x8a"); } // [V3, V7] +test { try toAsciiFail("11.\xf2\xa8\x98\x99\xf2\xb3\xb3\xa0\xf0\x91\x93\x80.-\xf3\x9e\xa1\x8a", false); } // [V3, V7] +test { try toAsciiFail("11.\xf2\xa8\x98\x99\xf2\xb3\xb3\xa0\xf0\x91\x93\x80.-\xf3\x9e\xa1\x8a", true); } // [V3, V7] test { try toUnicodeFail("11.xn--uz1d59632bxujd.xn----x310m"); } // [V3, V7] +test { try toAsciiFail("11.xn--uz1d59632bxujd.xn----x310m", false); } // [V3, V7] +test { try toAsciiFail("11.xn--uz1d59632bxujd.xn----x310m", true); } // [V3, V7] test { try toUnicodeFail("xn--3shy698frsu9dt1me.xn----x310m"); } // [V3, V7] +test { try toAsciiFail("xn--3shy698frsu9dt1me.xn----x310m", false); } // [V3, V7] +test { try toAsciiFail("xn--3shy698frsu9dt1me.xn----x310m", true); } // [V3, V7] test { try toUnicodeFail("-\xef\xbd\xa1\xe2\x80\x8d"); } // [C2, V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe2\x80\x8d", false); } // [C2, V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe2\x80\x8d", true); } // [V3, A4_2] test { try toUnicodeFail("-\xe3\x80\x82\xe2\x80\x8d"); } // [C2, V3] +test { try toAsciiFail("-\xe3\x80\x82\xe2\x80\x8d", false); } // [C2, V3] +test { try toAsciiFail("-\xe3\x80\x82\xe2\x80\x8d", true); } // [V3, A4_2] test { try toUnicodeFail("-."); } // [V3] +test { try toAsciiFail("-.", false); } // [V3, A4_2] +test { try toAsciiFail("-.", true); } // [V3, A4_2] test { try toUnicodeFail("-.xn--1ug"); } // [C2, V3] +test { try toAsciiFail("-.xn--1ug", false); } // [C2, V3] +test { try toAsciiFail("-.xn--1ug", true); } // [C2, V3] test { try toUnicodeFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xcf\x82\xc2\xb9-?"); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xcf\x82\xc2\xb9-?", false); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xcf\x82\xc2\xb9-?", true); } // [U1] test { try toUnicodeFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xcf\x82\xc2\xb9-?"); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xcf\x82\xc2\xb9-?", false); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xcf\x82\xc2\xb9-?", true); } // [U1] test { try toUnicodeFail("\xe2\x89\xae\xe1\xa1\xac.\xcf\x821-?"); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac.\xcf\x821-?", false); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac.\xcf\x821-?", true); } // [U1] test { try toUnicodeFail("<\xcc\xb8\xe1\xa1\xac.\xcf\x821-?"); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac.\xcf\x821-?", false); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac.\xcf\x821-?", true); } // [U1] test { try toUnicodeFail("<\xcc\xb8\xe1\xa1\xac.\xce\xa31-?"); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac.\xce\xa31-?", false); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac.\xce\xa31-?", true); } // [U1] test { try toUnicodeFail("\xe2\x89\xae\xe1\xa1\xac.\xce\xa31-?"); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac.\xce\xa31-?", false); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac.\xce\xa31-?", true); } // [U1] test { try toUnicodeFail("\xe2\x89\xae\xe1\xa1\xac.\xcf\x831-?"); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac.\xcf\x831-?", false); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac.\xcf\x831-?", true); } // [U1] test { try toUnicodeFail("<\xcc\xb8\xe1\xa1\xac.\xcf\x831-?"); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac.\xcf\x831-?", false); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac.\xcf\x831-?", true); } // [U1] test { try toUnicodeFail("xn--88e732c.xn--1-?-pzc"); } // [U1] +test { try toAsciiFail("xn--88e732c.xn--1-?-pzc", false); } // [U1] +test { try toAsciiFail("xn--88e732c.xn--1-?-pzc", true); } // [U1] test { try toUnicodeFail("xn--88e732c.xn--1-?-lzc"); } // [U1] +test { try toAsciiFail("xn--88e732c.xn--1-?-lzc", false); } // [U1] +test { try toAsciiFail("xn--88e732c.xn--1-?-lzc", true); } // [U1] test { try toUnicodeFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xce\xa3\xc2\xb9-?"); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xce\xa3\xc2\xb9-?", false); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xce\xa3\xc2\xb9-?", true); } // [U1] test { try toUnicodeFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xce\xa3\xc2\xb9-?"); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xce\xa3\xc2\xb9-?", false); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xce\xa3\xc2\xb9-?", true); } // [U1] test { try toUnicodeFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xcf\x83\xc2\xb9-?"); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xcf\x83\xc2\xb9-?", false); } // [U1] +test { try toAsciiFail("\xe2\x89\xae\xe1\xa1\xac\xef\xbc\x8e\xcf\x83\xc2\xb9-?", true); } // [U1] test { try toUnicodeFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xcf\x83\xc2\xb9-?"); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xcf\x83\xc2\xb9-?", false); } // [U1] +test { try toAsciiFail("<\xcc\xb8\xe1\xa1\xac\xef\xbc\x8e\xcf\x83\xc2\xb9-?", true); } // [U1] test { try toUnicodeFail("xn--88e732c.\xcf\x831-?"); } // [U1] +test { try toAsciiFail("xn--88e732c.\xcf\x831-?", false); } // [U1] +test { try toAsciiFail("xn--88e732c.\xcf\x831-?", true); } // [U1] test { try toUnicodeFail("XN--88E732C.\xce\xa31-?"); } // [U1] +test { try toAsciiFail("XN--88E732C.\xce\xa31-?", false); } // [U1] +test { try toAsciiFail("XN--88E732C.\xce\xa31-?", true); } // [U1] test { try toUnicodeFail("xn--88e732c.\xcf\x821-?"); } // [U1] +test { try toAsciiFail("xn--88e732c.\xcf\x821-?", false); } // [U1] +test { try toAsciiFail("xn--88e732c.\xcf\x821-?", true); } // [U1] test { try toUnicodeFail("Xn--88e732c.\xcf\x821-?"); } // [U1] +test { try toAsciiFail("Xn--88e732c.\xcf\x821-?", false); } // [U1] +test { try toAsciiFail("Xn--88e732c.\xcf\x821-?", true); } // [U1] test { try toUnicodeFail("Xn--88e732c.\xcf\x831-?"); } // [U1] +test { try toAsciiFail("Xn--88e732c.\xcf\x831-?", false); } // [U1] +test { try toAsciiFail("Xn--88e732c.\xcf\x831-?", true); } // [U1] test { try toUnicodeFail("\xe1\x89\xac\xf2\x94\xa0\xbc\xf1\x81\x97\xb6\xef\xbd\xa1\xf0\x90\xa8\xac\xf0\x9d\x9f\xa0"); } // [V7] +test { try toAsciiFail("\xe1\x89\xac\xf2\x94\xa0\xbc\xf1\x81\x97\xb6\xef\xbd\xa1\xf0\x90\xa8\xac\xf0\x9d\x9f\xa0", false); } // [V7] +test { try toAsciiFail("\xe1\x89\xac\xf2\x94\xa0\xbc\xf1\x81\x97\xb6\xef\xbd\xa1\xf0\x90\xa8\xac\xf0\x9d\x9f\xa0", true); } // [V7] test { try toUnicodeFail("\xe1\x89\xac\xf2\x94\xa0\xbc\xf1\x81\x97\xb6\xe3\x80\x82\xf0\x90\xa8\xac8"); } // [V7] +test { try toAsciiFail("\xe1\x89\xac\xf2\x94\xa0\xbc\xf1\x81\x97\xb6\xe3\x80\x82\xf0\x90\xa8\xac8", false); } // [V7] +test { try toAsciiFail("\xe1\x89\xac\xf2\x94\xa0\xbc\xf1\x81\x97\xb6\xe3\x80\x82\xf0\x90\xa8\xac8", true); } // [V7] test { try toUnicodeFail("xn--d0d41273c887z.xn--8-ob5i"); } // [V7] +test { try toAsciiFail("xn--d0d41273c887z.xn--8-ob5i", false); } // [V7] +test { try toAsciiFail("xn--d0d41273c887z.xn--8-ob5i", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xb1\xb2\xe3\x80\x82\xe8\x94\xab\xdd\xa6"); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\x90\xb1\xb2\xe3\x80\x82\xe8\x94\xab\xdd\xa6", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\x90\xb1\xb2\xe3\x80\x82\xe8\x94\xab\xdd\xa6", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--389c.xn--qpb7055d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--389c.xn--qpb7055d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--389c.xn--qpb7055d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\x92\xb2\xa7\xe2\x82\x83\xef\xbd\xa1\xea\xa1\x9a\xf0\x9b\x87\x91\xf3\xa0\x84\xb3\xd9\x87"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\x92\xb2\xa7\xe2\x82\x83\xef\xbd\xa1\xea\xa1\x9a\xf0\x9b\x87\x91\xf3\xa0\x84\xb3\xd9\x87", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\x92\xb2\xa7\xe2\x82\x83\xef\xbd\xa1\xea\xa1\x9a\xf0\x9b\x87\x91\xf3\xa0\x84\xb3\xd9\x87", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\x92\xb2\xa73\xe3\x80\x82\xea\xa1\x9a\xf0\x9b\x87\x91\xf3\xa0\x84\xb3\xd9\x87"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\x92\xb2\xa73\xe3\x80\x82\xea\xa1\x9a\xf0\x9b\x87\x91\xf3\xa0\x84\xb3\xd9\x87", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\x92\xb2\xa73\xe3\x80\x82\xea\xa1\x9a\xf0\x9b\x87\x91\xf3\xa0\x84\xb3\xd9\x87", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3-ep59g.xn--jhb5904fcp0h"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3-ep59g.xn--jhb5904fcp0h", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3-ep59g.xn--jhb5904fcp0h", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.\xc3\x9f"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.\xc3\x9f", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.\xc3\x9f", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.\xc3\x9f"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.\xc3\x9f", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.\xc3\x9f", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.SS"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.SS", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.SS", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.SS"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.SS", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.SS", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.ss"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.ss", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.ss", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.ss"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.ss", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.ss", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.Ss"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.Ss", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82=\xcc\xb8.Ss", true); } // [B5, B6] test { try toUnicodeFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.Ss"); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.Ss", false); } // [B5, B6] +test { try toAsciiFail("\xe8\x93\xb8\xd9\x82\xe2\x89\xa0.Ss", true); } // [B5, B6] test { try toUnicodeFail("xn--ehb015lnt1e.ss"); } // [B5, B6] +test { try toAsciiFail("xn--ehb015lnt1e.ss", false); } // [B5, B6] +test { try toAsciiFail("xn--ehb015lnt1e.ss", true); } // [B5, B6] test { try toUnicodeFail("xn--ehb015lnt1e.xn--zca"); } // [B5, B6] +test { try toAsciiFail("xn--ehb015lnt1e.xn--zca", false); } // [B5, B6] +test { try toAsciiFail("xn--ehb015lnt1e.xn--zca", true); } // [B5, B6] test { try toUnicodeFail("\xe0\xa1\x8e\xd9\xba\xe0\xb7\x93\xe2\x92\x8a.\xf0\x90\xb9\xb9\xf0\x9e\xb1\xa9\xf3\xa0\x83\xaa\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xe0\xa1\x8e\xd9\xba\xe0\xb7\x93\xe2\x92\x8a.\xf0\x90\xb9\xb9\xf0\x9e\xb1\xa9\xf3\xa0\x83\xaa\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe0\xa1\x8e\xd9\xba\xe0\xb7\x93\xe2\x92\x8a.\xf0\x90\xb9\xb9\xf0\x9e\xb1\xa9\xf3\xa0\x83\xaa\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa1\x8e\xd9\xba\xe0\xb7\x933..\xf0\x90\xb9\xb9\xf0\x9e\xb1\xa9\xf3\xa0\x83\xaa\xe2\x80\x8c"); } // [B1, C1, V7, X4_2] +test { try toAsciiFail("\xe0\xa1\x8e\xd9\xba\xe0\xb7\x933..\xf0\x90\xb9\xb9\xf0\x9e\xb1\xa9\xf3\xa0\x83\xaa\xe2\x80\x8c", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("\xe0\xa1\x8e\xd9\xba\xe0\xb7\x933..\xf0\x90\xb9\xb9\xf0\x9e\xb1\xa9\xf3\xa0\x83\xaa\xe2\x80\x8c", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--3-prc71ls9j..xn--xo0dw109an237f"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--3-prc71ls9j..xn--xo0dw109an237f", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--3-prc71ls9j..xn--xo0dw109an237f", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--3-prc71ls9j..xn--0ug3205g7eyf3c96h"); } // [B1, C1, V7, X4_2] +test { try toAsciiFail("xn--3-prc71ls9j..xn--0ug3205g7eyf3c96h", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("xn--3-prc71ls9j..xn--0ug3205g7eyf3c96h", true); } // [B1, C1, V7, A4_2] test { try toUnicodeFail("xn--zib94gfziuq1a.xn--xo0dw109an237f"); } // [B1, V7] +test { try toAsciiFail("xn--zib94gfziuq1a.xn--xo0dw109an237f", false); } // [B1, V7] +test { try toAsciiFail("xn--zib94gfziuq1a.xn--xo0dw109an237f", true); } // [B1, V7] test { try toUnicodeFail("xn--zib94gfziuq1a.xn--0ug3205g7eyf3c96h"); } // [B1, C1, V7] +test { try toAsciiFail("xn--zib94gfziuq1a.xn--0ug3205g7eyf3c96h", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--zib94gfziuq1a.xn--0ug3205g7eyf3c96h", true); } // [B1, C1, V7] test { try toUnicodeFail("\xcf\x82\xe2\x80\x8d-.\xe1\x83\x83\xf0\xa6\x9f\x99"); } // [C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d-.\xe1\x83\x83\xf0\xa6\x9f\x99", false); } // [C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d-.\xe1\x83\x83\xf0\xa6\x9f\x99", true); } // [V3] test { try toUnicodeFail("\xcf\x82\xe2\x80\x8d-.\xe2\xb4\xa3\xf0\xa6\x9f\x99"); } // [C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d-.\xe2\xb4\xa3\xf0\xa6\x9f\x99", false); } // [C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d-.\xe2\xb4\xa3\xf0\xa6\x9f\x99", true); } // [V3] test { try toUnicodeFail("\xce\xa3\xe2\x80\x8d-.\xe1\x83\x83\xf0\xa6\x9f\x99"); } // [C2, V3] +test { try toAsciiFail("\xce\xa3\xe2\x80\x8d-.\xe1\x83\x83\xf0\xa6\x9f\x99", false); } // [C2, V3] +test { try toAsciiFail("\xce\xa3\xe2\x80\x8d-.\xe1\x83\x83\xf0\xa6\x9f\x99", true); } // [V3] test { try toUnicodeFail("\xcf\x83\xe2\x80\x8d-.\xe2\xb4\xa3\xf0\xa6\x9f\x99"); } // [C2, V3] +test { try toAsciiFail("\xcf\x83\xe2\x80\x8d-.\xe2\xb4\xa3\xf0\xa6\x9f\x99", false); } // [C2, V3] +test { try toAsciiFail("\xcf\x83\xe2\x80\x8d-.\xe2\xb4\xa3\xf0\xa6\x9f\x99", true); } // [V3] test { try toUnicodeFail("xn----zmb.xn--rlj2573p"); } // [V3] +test { try toAsciiFail("xn----zmb.xn--rlj2573p", false); } // [V3] +test { try toAsciiFail("xn----zmb.xn--rlj2573p", true); } // [V3] test { try toUnicodeFail("xn----zmb048s.xn--rlj2573p"); } // [C2, V3] +test { try toAsciiFail("xn----zmb048s.xn--rlj2573p", false); } // [C2, V3] +test { try toAsciiFail("xn----zmb048s.xn--rlj2573p", true); } // [C2, V3] test { try toUnicodeFail("xn----xmb348s.xn--rlj2573p"); } // [C2, V3] +test { try toAsciiFail("xn----xmb348s.xn--rlj2573p", false); } // [C2, V3] +test { try toAsciiFail("xn----xmb348s.xn--rlj2573p", true); } // [C2, V3] test { try toUnicodeFail("xn----zmb.xn--7nd64871a"); } // [V3, V7] +test { try toAsciiFail("xn----zmb.xn--7nd64871a", false); } // [V3, V7] +test { try toAsciiFail("xn----zmb.xn--7nd64871a", true); } // [V3, V7] test { try toUnicodeFail("xn----zmb048s.xn--7nd64871a"); } // [C2, V3, V7] +test { try toAsciiFail("xn----zmb048s.xn--7nd64871a", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----zmb048s.xn--7nd64871a", true); } // [C2, V3, V7] test { try toUnicodeFail("xn----xmb348s.xn--7nd64871a"); } // [C2, V3, V7] +test { try toAsciiFail("xn----xmb348s.xn--7nd64871a", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----xmb348s.xn--7nd64871a", true); } // [C2, V3, V7] test { try toUnicodePass("\xe2\x89\xa0\xe3\x80\x82\xf0\x9f\x9e\xb3\xf0\x9d\x9f\xb2", "\xe2\x89\xa0.\xf0\x9f\x9e\xb36"); } test { try toAsciiPass("\xe2\x89\xa0\xe3\x80\x82\xf0\x9f\x9e\xb3\xf0\x9d\x9f\xb2", "xn--1ch.xn--6-dl4s", false); } test { try toAsciiPass("\xe2\x89\xa0\xe3\x80\x82\xf0\x9f\x9e\xb3\xf0\x9d\x9f\xb2", "xn--1ch.xn--6-dl4s", true); } @@ -3973,206 +9597,602 @@ test { try toUnicodePass("=\xcc\xb8.\xf0\x9f\x9e\xb36", "\xe2\x89\xa0.\xf0\x9f\x test { try toAsciiPass("=\xcc\xb8.\xf0\x9f\x9e\xb36", "xn--1ch.xn--6-dl4s", false); } test { try toAsciiPass("=\xcc\xb8.\xf0\x9f\x9e\xb36", "xn--1ch.xn--6-dl4s", true); } test { try toUnicodeFail("\xf3\x85\xac\xbd.\xe8\xa0\x94"); } // [V7] +test { try toAsciiFail("\xf3\x85\xac\xbd.\xe8\xa0\x94", false); } // [V7] +test { try toAsciiFail("\xf3\x85\xac\xbd.\xe8\xa0\x94", true); } // [V7] test { try toUnicodeFail("xn--g747d.xn--xl2a"); } // [V7] +test { try toAsciiFail("xn--g747d.xn--xl2a", false); } // [V7] +test { try toAsciiFail("xn--g747d.xn--xl2a", true); } // [V7] test { try toUnicodeFail("\xe0\xa3\xa6\xe2\x80\x8d\xef\xbc\x8e\xeb\xbc\xbd"); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d\xef\xbc\x8e\xeb\xbc\xbd", false); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d\xef\xbc\x8e\xeb\xbc\xbd", true); } // [V6] test { try toUnicodeFail("\xe0\xa3\xa6\xe2\x80\x8d\xef\xbc\x8e\xe1\x84\x88\xe1\x85\xa8\xe1\x87\x80"); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d\xef\xbc\x8e\xe1\x84\x88\xe1\x85\xa8\xe1\x87\x80", false); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d\xef\xbc\x8e\xe1\x84\x88\xe1\x85\xa8\xe1\x87\x80", true); } // [V6] test { try toUnicodeFail("\xe0\xa3\xa6\xe2\x80\x8d.\xeb\xbc\xbd"); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d.\xeb\xbc\xbd", false); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d.\xeb\xbc\xbd", true); } // [V6] test { try toUnicodeFail("\xe0\xa3\xa6\xe2\x80\x8d.\xe1\x84\x88\xe1\x85\xa8\xe1\x87\x80"); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d.\xe1\x84\x88\xe1\x85\xa8\xe1\x87\x80", false); } // [C2, V6] +test { try toAsciiFail("\xe0\xa3\xa6\xe2\x80\x8d.\xe1\x84\x88\xe1\x85\xa8\xe1\x87\x80", true); } // [V6] test { try toUnicodeFail("xn--p0b.xn--e43b"); } // [V6] +test { try toAsciiFail("xn--p0b.xn--e43b", false); } // [V6] +test { try toAsciiFail("xn--p0b.xn--e43b", true); } // [V6] test { try toUnicodeFail("xn--p0b869i.xn--e43b"); } // [C2, V6] +test { try toAsciiFail("xn--p0b869i.xn--e43b", false); } // [C2, V6] +test { try toAsciiFail("xn--p0b869i.xn--e43b", true); } // [C2, V6] test { try toUnicodeFail("\xe2\x82\x87\xe0\xaf\x8d\xf4\x83\x82\xb7\xdb\x92\xe3\x80\x82\xf0\x9f\x91\x96\xd9\xb5-\xf0\x9e\xaa\x91"); } // [B1, V7] +test { try toAsciiFail("\xe2\x82\x87\xe0\xaf\x8d\xf4\x83\x82\xb7\xdb\x92\xe3\x80\x82\xf0\x9f\x91\x96\xd9\xb5-\xf0\x9e\xaa\x91", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x82\x87\xe0\xaf\x8d\xf4\x83\x82\xb7\xdb\x92\xe3\x80\x82\xf0\x9f\x91\x96\xd9\xb5-\xf0\x9e\xaa\x91", true); } // [B1, V7] test { try toUnicodeFail("7\xe0\xaf\x8d\xf4\x83\x82\xb7\xdb\x92\xe3\x80\x82\xf0\x9f\x91\x96\xd8\xa7\xd9\xb4-\xf0\x9e\xaa\x91"); } // [B1, V7] +test { try toAsciiFail("7\xe0\xaf\x8d\xf4\x83\x82\xb7\xdb\x92\xe3\x80\x82\xf0\x9f\x91\x96\xd8\xa7\xd9\xb4-\xf0\x9e\xaa\x91", false); } // [B1, V7] +test { try toAsciiFail("7\xe0\xaf\x8d\xf4\x83\x82\xb7\xdb\x92\xe3\x80\x82\xf0\x9f\x91\x96\xd8\xa7\xd9\xb4-\xf0\x9e\xaa\x91", true); } // [B1, V7] test { try toUnicodeFail("xn--7-rwc839aj3073c.xn----ymc5uv818oghka"); } // [B1, V7] +test { try toAsciiFail("xn--7-rwc839aj3073c.xn----ymc5uv818oghka", false); } // [B1, V7] +test { try toAsciiFail("xn--7-rwc839aj3073c.xn----ymc5uv818oghka", true); } // [B1, V7] test { try toUnicodeFail("-\xef\xbd\xa1\xdd\xbb"); } // [B1, V3] +test { try toAsciiFail("-\xef\xbd\xa1\xdd\xbb", false); } // [B1, V3] +test { try toAsciiFail("-\xef\xbd\xa1\xdd\xbb", true); } // [B1, V3] test { try toUnicodeFail("-\xe3\x80\x82\xdd\xbb"); } // [B1, V3] +test { try toAsciiFail("-\xe3\x80\x82\xdd\xbb", false); } // [B1, V3] +test { try toAsciiFail("-\xe3\x80\x82\xdd\xbb", true); } // [B1, V3] test { try toUnicodeFail("-.xn--cqb"); } // [B1, V3] +test { try toAsciiFail("-.xn--cqb", false); } // [B1, V3] +test { try toAsciiFail("-.xn--cqb", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x91\x87\x8c\xf0\xb5\x9b\x93\xef\xbd\xa1-\xe2\x92\x88\xea\xa1\x8f\xdc\xab"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x87\x8c\xf0\xb5\x9b\x93\xef\xbd\xa1-\xe2\x92\x88\xea\xa1\x8f\xdc\xab", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x87\x8c\xf0\xb5\x9b\x93\xef\xbd\xa1-\xe2\x92\x88\xea\xa1\x8f\xdc\xab", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xf0\x91\x87\x8c\xf0\xb5\x9b\x93\xe3\x80\x82-1.\xea\xa1\x8f\xdc\xab"); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x87\x8c\xf0\xb5\x9b\x93\xe3\x80\x82-1.\xea\xa1\x8f\xdc\xab", false); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x87\x8c\xf0\xb5\x9b\x93\xe3\x80\x82-1.\xea\xa1\x8f\xdc\xab", true); } // [B1, B5, B6, V3, V6, V7] test { try toUnicodeFail("xn--8d1dg030h.-1.xn--1nb7163f"); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("xn--8d1dg030h.-1.xn--1nb7163f", false); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("xn--8d1dg030h.-1.xn--1nb7163f", true); } // [B1, B5, B6, V3, V6, V7] test { try toUnicodeFail("xn--8d1dg030h.xn----u1c466tp10j"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--8d1dg030h.xn----u1c466tp10j", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--8d1dg030h.xn----u1c466tp10j", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe7\x92\x9b\xe1\x9c\xb4\xda\xaf.-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe7\x92\x9b\xe1\x9c\xb4\xda\xaf.-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe7\x92\x9b\xe1\x9c\xb4\xda\xaf.-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn--ikb175frt4e.-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--ikb175frt4e.-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--ikb175frt4e.-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xec\x83\x95\xef\xbc\x8e\xf0\x90\xb9\xb2\xed\x9c\x81"); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xec\x83\x95\xef\xbc\x8e\xf0\x90\xb9\xb2\xed\x9c\x81", false); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xec\x83\x95\xef\xbc\x8e\xf0\x90\xb9\xb2\xed\x9c\x81", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xe1\x84\x89\xe1\x85\xa2\xe1\x86\xb4\xef\xbc\x8e\xf0\x90\xb9\xb2\xe1\x84\x92\xe1\x85\xb0\xe1\x86\xac"); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xe1\x84\x89\xe1\x85\xa2\xe1\x86\xb4\xef\xbc\x8e\xf0\x90\xb9\xb2\xe1\x84\x92\xe1\x85\xb0\xe1\x86\xac", false); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xe1\x84\x89\xe1\x85\xa2\xe1\x86\xb4\xef\xbc\x8e\xf0\x90\xb9\xb2\xe1\x84\x92\xe1\x85\xb0\xe1\x86\xac", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xec\x83\x95.\xf0\x90\xb9\xb2\xed\x9c\x81"); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xec\x83\x95.\xf0\x90\xb9\xb2\xed\x9c\x81", false); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xec\x83\x95.\xf0\x90\xb9\xb2\xed\x9c\x81", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xe1\x84\x89\xe1\x85\xa2\xe1\x86\xb4.\xf0\x90\xb9\xb2\xe1\x84\x92\xe1\x85\xb0\xe1\x86\xac"); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xe1\x84\x89\xe1\x85\xa2\xe1\x86\xb4.\xf0\x90\xb9\xb2\xe1\x84\x92\xe1\x85\xb0\xe1\x86\xac", false); } // [B1, B2, B3] +test { try toAsciiFail("\xf3\xa0\x86\xb0\xe0\xa2\xa1\xe0\xa9\x8d\xe1\x84\x89\xe1\x85\xa2\xe1\x86\xb4.\xf0\x90\xb9\xb2\xe1\x84\x92\xe1\x85\xb0\xe1\x86\xac", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--qyb07fj857a.xn--728bv72h"); } // [B1, B2, B3] +test { try toAsciiFail("xn--qyb07fj857a.xn--728bv72h", false); } // [B1, B2, B3] +test { try toAsciiFail("xn--qyb07fj857a.xn--728bv72h", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf1\x8d\xa8\xbd\xef\xbc\x8e\xf1\x8b\xb8\x95"); } // [V7] +test { try toAsciiFail("\xf1\x8d\xa8\xbd\xef\xbc\x8e\xf1\x8b\xb8\x95", false); } // [V7] +test { try toAsciiFail("\xf1\x8d\xa8\xbd\xef\xbc\x8e\xf1\x8b\xb8\x95", true); } // [V7] test { try toUnicodeFail("\xf1\x8d\xa8\xbd.\xf1\x8b\xb8\x95"); } // [V7] +test { try toAsciiFail("\xf1\x8d\xa8\xbd.\xf1\x8b\xb8\x95", false); } // [V7] +test { try toAsciiFail("\xf1\x8d\xa8\xbd.\xf1\x8b\xb8\x95", true); } // [V7] test { try toUnicodeFail("xn--pr3x.xn--rv7w"); } // [V7] +test { try toAsciiFail("xn--pr3x.xn--rv7w", false); } // [V7] +test { try toAsciiFail("xn--pr3x.xn--rv7w", true); } // [V7] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe1\x82\xad-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe1\x82\xad-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe1\x82\xad-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe1\x82\xad-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe1\x82\xad-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe1\x82\xad-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe2\xb4\x8d-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe2\xb4\x8d-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe2\xb4\x8d-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe1\x82\xad-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe1\x82\xad-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe1\x82\xad-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe2\xb4\x8d-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe2\xb4\x8d-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xe3\x80\x82\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe2\xb4\x8d-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--2ib0338v.xn----zvs0199fo91g"); } // [B1, V3, V6] +test { try toAsciiFail("xn--2ib0338v.xn----zvs0199fo91g", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--2ib0338v.xn----zvs0199fo91g", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe2\xb4\x8d-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe2\xb4\x8d-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\xb6\xe2\xb4\x8d-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe1\x82\xad-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe1\x82\xad-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe1\x82\xad-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe2\xb4\x8d-"); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe2\xb4\x8d-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xd9\xbd\xf0\x9e\xa5\x95\xef\xbd\xa1\xf0\x91\x91\x82\xf0\x9e\xa4\x94\xe2\xb4\x8d-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--2ib0338v.xn----w0g2740ro9vg"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--2ib0338v.xn----w0g2740ro9vg", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--2ib0338v.xn----w0g2740ro9vg", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa7\xe2\x82\x84\xe1\x82\xab\xf1\x82\xb9\xab"); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa7\xe2\x82\x84\xe1\x82\xab\xf1\x82\xb9\xab", false); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa7\xe2\x82\x84\xe1\x82\xab\xf1\x82\xb9\xab", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa74\xe1\x82\xab\xf1\x82\xb9\xab"); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa74\xe1\x82\xab\xf1\x82\xb9\xab", false); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa74\xe1\x82\xab\xf1\x82\xb9\xab", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa74\xe2\xb4\x8b\xf1\x82\xb9\xab"); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa74\xe2\xb4\x8b\xf1\x82\xb9\xab", false); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa74\xe2\xb4\x8b\xf1\x82\xb9\xab", true); } // [V7] test { try toUnicodeFail("xn--039c42bq865a.xn--4-wvs27840bnrzm"); } // [V7] +test { try toAsciiFail("xn--039c42bq865a.xn--4-wvs27840bnrzm", false); } // [V7] +test { try toAsciiFail("xn--039c42bq865a.xn--4-wvs27840bnrzm", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa7\xe2\x82\x84\xe2\xb4\x8b\xf1\x82\xb9\xab"); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa7\xe2\x82\x84\xe2\xb4\x8b\xf1\x82\xb9\xab", false); } // [V7] +test { try toAsciiFail("\xf0\x90\xaf\x80\xf0\x90\xb8\x89\xf0\x9e\xa7\x8f\xe3\x80\x82\xf1\xa2\x9a\xa7\xe2\x82\x84\xe2\xb4\x8b\xf1\x82\xb9\xab", true); } // [V7] test { try toUnicodeFail("xn--039c42bq865a.xn--4-t0g49302fnrzm"); } // [V7] +test { try toAsciiFail("xn--039c42bq865a.xn--4-t0g49302fnrzm", false); } // [V7] +test { try toAsciiFail("xn--039c42bq865a.xn--4-t0g49302fnrzm", true); } // [V7] test { try toUnicodeFail("4\xda\xbd\xef\xb8\x92\xf3\xa0\x91\xa5.\xe2\x89\xa0"); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xef\xb8\x92\xf3\xa0\x91\xa5.\xe2\x89\xa0", false); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xef\xb8\x92\xf3\xa0\x91\xa5.\xe2\x89\xa0", true); } // [B1, V7] test { try toUnicodeFail("4\xda\xbd\xef\xb8\x92\xf3\xa0\x91\xa5.=\xcc\xb8"); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xef\xb8\x92\xf3\xa0\x91\xa5.=\xcc\xb8", false); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xef\xb8\x92\xf3\xa0\x91\xa5.=\xcc\xb8", true); } // [B1, V7] test { try toUnicodeFail("4\xda\xbd\xe3\x80\x82\xf3\xa0\x91\xa5.\xe2\x89\xa0"); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xe3\x80\x82\xf3\xa0\x91\xa5.\xe2\x89\xa0", false); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xe3\x80\x82\xf3\xa0\x91\xa5.\xe2\x89\xa0", true); } // [B1, V7] test { try toUnicodeFail("4\xda\xbd\xe3\x80\x82\xf3\xa0\x91\xa5.=\xcc\xb8"); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xe3\x80\x82\xf3\xa0\x91\xa5.=\xcc\xb8", false); } // [B1, V7] +test { try toAsciiFail("4\xda\xbd\xe3\x80\x82\xf3\xa0\x91\xa5.=\xcc\xb8", true); } // [B1, V7] test { try toUnicodeFail("xn--4-kvc.xn--5136e.xn--1ch"); } // [B1, V7] +test { try toAsciiFail("xn--4-kvc.xn--5136e.xn--1ch", false); } // [B1, V7] +test { try toAsciiFail("xn--4-kvc.xn--5136e.xn--1ch", true); } // [B1, V7] test { try toUnicodeFail("xn--4-kvc5601q2h50i.xn--1ch"); } // [B1, V7] +test { try toAsciiFail("xn--4-kvc5601q2h50i.xn--1ch", false); } // [B1, V7] +test { try toAsciiFail("xn--4-kvc5601q2h50i.xn--1ch", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x93\xe3\x80\x82\xdb\x97"); } // [V6] +test { try toAsciiFail("\xf0\x9d\x9f\x93\xe3\x80\x82\xdb\x97", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\x9f\x93\xe3\x80\x82\xdb\x97", true); } // [V6] test { try toUnicodeFail("5\xe3\x80\x82\xdb\x97"); } // [V6] +test { try toAsciiFail("5\xe3\x80\x82\xdb\x97", false); } // [V6] +test { try toAsciiFail("5\xe3\x80\x82\xdb\x97", true); } // [V6] test { try toUnicodeFail("5.xn--nlb"); } // [V6] +test { try toAsciiFail("5.xn--nlb", false); } // [V6] +test { try toAsciiFail("5.xn--nlb", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8c\xf2\xba\xb8\xa9.\xe2\xbe\x95"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\xba\xb8\xa9.\xe2\xbe\x95", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\xba\xb8\xa9.\xe2\xbe\x95", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xf2\xba\xb8\xa9.\xe8\xb0\xb7"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\xba\xb8\xa9.\xe8\xb0\xb7", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf2\xba\xb8\xa9.\xe8\xb0\xb7", true); } // [V7] test { try toUnicodeFail("xn--i183d.xn--6g3a"); } // [V7] +test { try toAsciiFail("xn--i183d.xn--6g3a", false); } // [V7] +test { try toAsciiFail("xn--i183d.xn--6g3a", true); } // [V7] test { try toUnicodeFail("xn--0ug26167i.xn--6g3a"); } // [C1, V7] +test { try toAsciiFail("xn--0ug26167i.xn--6g3a", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug26167i.xn--6g3a", true); } // [C1, V7] test { try toUnicodeFail("\xef\xb8\x92\xf3\x8e\xb0\x87\xe2\x80\x8d.-\xdc\xbc\xe2\x80\x8c"); } // [C1, C2, V3, V7] +test { try toAsciiFail("\xef\xb8\x92\xf3\x8e\xb0\x87\xe2\x80\x8d.-\xdc\xbc\xe2\x80\x8c", false); } // [C1, C2, V3, V7] +test { try toAsciiFail("\xef\xb8\x92\xf3\x8e\xb0\x87\xe2\x80\x8d.-\xdc\xbc\xe2\x80\x8c", true); } // [V3, V7] test { try toUnicodeFail("\xe3\x80\x82\xf3\x8e\xb0\x87\xe2\x80\x8d.-\xdc\xbc\xe2\x80\x8c"); } // [C1, C2, V3, V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xf3\x8e\xb0\x87\xe2\x80\x8d.-\xdc\xbc\xe2\x80\x8c", false); } // [C1, C2, V3, V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xf3\x8e\xb0\x87\xe2\x80\x8d.-\xdc\xbc\xe2\x80\x8c", true); } // [V3, V7, A4_2] test { try toUnicodeFail(".xn--hh50e.xn----t2c"); } // [V3, V7, X4_2] +test { try toAsciiFail(".xn--hh50e.xn----t2c", false); } // [V3, V7, A4_2] +test { try toAsciiFail(".xn--hh50e.xn----t2c", true); } // [V3, V7, A4_2] test { try toUnicodeFail(".xn--1ug05310k.xn----t2c071q"); } // [C1, C2, V3, V7, X4_2] +test { try toAsciiFail(".xn--1ug05310k.xn----t2c071q", false); } // [C1, C2, V3, V7, A4_2] +test { try toAsciiFail(".xn--1ug05310k.xn----t2c071q", true); } // [C1, C2, V3, V7, A4_2] test { try toUnicodeFail("xn--y86c71305c.xn----t2c"); } // [V3, V7] +test { try toAsciiFail("xn--y86c71305c.xn----t2c", false); } // [V3, V7] +test { try toAsciiFail("xn--y86c71305c.xn----t2c", true); } // [V3, V7] test { try toUnicodeFail("xn--1ug1658ftw26f.xn----t2c071q"); } // [C1, C2, V3, V7] +test { try toAsciiFail("xn--1ug1658ftw26f.xn----t2c071q", false); } // [C1, C2, V3, V7] +test { try toAsciiFail("xn--1ug1658ftw26f.xn----t2c071q", true); } // [C1, C2, V3, V7] test { try toUnicodeFail("\xe2\x89\xaf\xf0\x9e\xa4\x9f\xe3\x80\x82\xe1\xa1\xa8"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xa4\x9f\xe3\x80\x82\xe1\xa1\xa8", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xa4\x9f\xe3\x80\x82\xe1\xa1\xa8", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xf0\x9e\xa4\x9f\xe3\x80\x82\xe1\xa1\xa8"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xa4\x9f\xe3\x80\x82\xe1\xa1\xa8", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xa4\x9f\xe3\x80\x82\xe1\xa1\xa8", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xf0\x9e\xa5\x81\xe3\x80\x82\xe1\xa1\xa8"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xa5\x81\xe3\x80\x82\xe1\xa1\xa8", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xf0\x9e\xa5\x81\xe3\x80\x82\xe1\xa1\xa8", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xaf\xf0\x9e\xa5\x81\xe3\x80\x82\xe1\xa1\xa8"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xa5\x81\xe3\x80\x82\xe1\xa1\xa8", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9e\xa5\x81\xe3\x80\x82\xe1\xa1\xa8", true); } // [B1] test { try toUnicodeFail("xn--hdhz520p.xn--48e"); } // [B1] +test { try toAsciiFail("xn--hdhz520p.xn--48e", false); } // [B1] +test { try toAsciiFail("xn--hdhz520p.xn--48e", true); } // [B1] test { try toUnicodeFail("\xe0\xbd\xb4\xf0\xab\xab\xb0\xf0\x9d\xa8\x84\xe3\x80\x82\xdc\x93\xf0\x90\xb9\xa6"); } // [B1, V6] +test { try toAsciiFail("\xe0\xbd\xb4\xf0\xab\xab\xb0\xf0\x9d\xa8\x84\xe3\x80\x82\xdc\x93\xf0\x90\xb9\xa6", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xbd\xb4\xf0\xab\xab\xb0\xf0\x9d\xa8\x84\xe3\x80\x82\xdc\x93\xf0\x90\xb9\xa6", true); } // [B1, V6] test { try toUnicodeFail("xn--ned8985uo92e.xn--dnb6395k"); } // [B1, V6] +test { try toAsciiFail("xn--ned8985uo92e.xn--dnb6395k", false); } // [B1, V6] +test { try toAsciiFail("xn--ned8985uo92e.xn--dnb6395k", true); } // [B1, V6] test { try toUnicodeFail("\xcc\xbc\xdf\x9b\xe2\x81\xb7\xf0\x9d\x9f\xb9\xef\xbd\xa1\xf0\x9d\x9f\xac"); } // [B1, V6] +test { try toAsciiFail("\xcc\xbc\xdf\x9b\xe2\x81\xb7\xf0\x9d\x9f\xb9\xef\xbd\xa1\xf0\x9d\x9f\xac", false); } // [B1, V6] +test { try toAsciiFail("\xcc\xbc\xdf\x9b\xe2\x81\xb7\xf0\x9d\x9f\xb9\xef\xbd\xa1\xf0\x9d\x9f\xac", true); } // [B1, V6] test { try toUnicodeFail("\xcc\xbc\xdf\x9b73\xe3\x80\x820"); } // [B1, V6] +test { try toAsciiFail("\xcc\xbc\xdf\x9b73\xe3\x80\x820", false); } // [B1, V6] +test { try toAsciiFail("\xcc\xbc\xdf\x9b73\xe3\x80\x820", true); } // [B1, V6] test { try toUnicodeFail("xn--73-9yb648b.a"); } // [B1, V6] +test { try toAsciiFail("xn--73-9yb648b.a", false); } // [B1, V6] +test { try toAsciiFail("xn--73-9yb648b.a", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbc\x8e\xf0\x9d\x9f\x97"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbc\x8e\xf0\x9d\x9f\x97", false); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbc\x8e\xf0\x9d\x9f\x97", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d.j"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.j", false); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.j", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d.J"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.J", false); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.J", true); } // [A4_2] test { try toUnicodeFail(".j"); } // [X4_2] +test { try toAsciiFail(".j", false); } // [A4_2] +test { try toAsciiFail(".j", true); } // [A4_2] test { try toUnicodeFail("xn--1ug.j"); } // [C2] +test { try toAsciiFail("xn--1ug.j", false); } // [C2] +test { try toAsciiFail("xn--1ug.j", true); } // [C2] test { try toUnicodePass("j", "j"); } test { try toAsciiPass("j", "j", false); } test { try toAsciiPass("j", "j", true); } test { try toUnicodeFail("\xdd\xb9\xe1\xa1\xad\xf0\xaa\x95\x88\xe3\x80\x82\xda\xb6\xe0\xa3\x99"); } // [B2, B3] +test { try toAsciiFail("\xdd\xb9\xe1\xa1\xad\xf0\xaa\x95\x88\xe3\x80\x82\xda\xb6\xe0\xa3\x99", false); } // [B2, B3] +test { try toAsciiFail("\xdd\xb9\xe1\xa1\xad\xf0\xaa\x95\x88\xe3\x80\x82\xda\xb6\xe0\xa3\x99", true); } // [B2, B3] test { try toUnicodeFail("xn--9pb497fs270c.xn--pkb80i"); } // [B2, B3] +test { try toAsciiFail("xn--9pb497fs270c.xn--pkb80i", false); } // [B2, B3] +test { try toAsciiFail("xn--9pb497fs270c.xn--pkb80i", true); } // [B2, B3] test { try toUnicodeFail("\xdc\xa6\xef\xbc\x95\xdf\xa2\xea\xb2\x99\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa6\xef\xbc\x95\xdf\xa2\xea\xb2\x99\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa6\xef\xbc\x95\xdf\xa2\xea\xb2\x99\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xdc\xa6\xef\xbc\x95\xdf\xa2\xe1\x84\x80\xe1\x85\xa6\xe1\x86\xb4\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa6\xef\xbc\x95\xdf\xa2\xe1\x84\x80\xe1\x85\xa6\xe1\x86\xb4\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa6\xef\xbc\x95\xdf\xa2\xe1\x84\x80\xe1\x85\xa6\xe1\x86\xb4\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xdc\xa65\xdf\xa2\xea\xb2\x99\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa65\xdf\xa2\xea\xb2\x99\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa65\xdf\xa2\xea\xb2\x99\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xdc\xa65\xdf\xa2\xe1\x84\x80\xe1\x85\xa6\xe1\x86\xb4\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa65\xdf\xa2\xe1\x84\x80\xe1\x85\xa6\xe1\x86\xb4\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdc\xa65\xdf\xa2\xe1\x84\x80\xe1\x85\xa6\xe1\x86\xb4\xe3\x80\x82\xe1\xb3\xb4\xf0\x90\xb7\x9a", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--5-j1c97c2483c.xn--e7f2093h"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--5-j1c97c2483c.xn--e7f2093h", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--5-j1c97c2483c.xn--e7f2093h", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xe1\x82\xad\xf0\xbf\xa3\x8d\xea\xa1\xa8\xd6\xae\xe3\x80\x82\xe1\x82\xbe\xe2\x80\x8c\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xad\xf0\xbf\xa3\x8d\xea\xa1\xa8\xd6\xae\xe3\x80\x82\xe1\x82\xbe\xe2\x80\x8c\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xad\xf0\xbf\xa3\x8d\xea\xa1\xa8\xd6\xae\xe3\x80\x82\xe1\x82\xbe\xe2\x80\x8c\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x8d\xf0\xbf\xa3\x8d\xea\xa1\xa8\xd6\xae\xe3\x80\x82\xe2\xb4\x9e\xe2\x80\x8c\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x8d\xf0\xbf\xa3\x8d\xea\xa1\xa8\xd6\xae\xe3\x80\x82\xe2\xb4\x9e\xe2\x80\x8c\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x8d\xf0\xbf\xa3\x8d\xea\xa1\xa8\xd6\xae\xe3\x80\x82\xe2\xb4\x9e\xe2\x80\x8c\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--5cb172r175fug38a.xn--mlj"); } // [V7] +test { try toAsciiFail("xn--5cb172r175fug38a.xn--mlj", false); } // [V7] +test { try toAsciiFail("xn--5cb172r175fug38a.xn--mlj", true); } // [V7] test { try toUnicodeFail("xn--5cb172r175fug38a.xn--0uga051h"); } // [C1, V7] +test { try toAsciiFail("xn--5cb172r175fug38a.xn--0uga051h", false); } // [C1, V7] +test { try toAsciiFail("xn--5cb172r175fug38a.xn--0uga051h", true); } // [C1, V7] test { try toUnicodeFail("xn--5cb347co96jug15a.xn--2nd"); } // [V7] +test { try toAsciiFail("xn--5cb347co96jug15a.xn--2nd", false); } // [V7] +test { try toAsciiFail("xn--5cb347co96jug15a.xn--2nd", true); } // [V7] test { try toUnicodeFail("xn--5cb347co96jug15a.xn--2nd059ea"); } // [C1, V7] +test { try toAsciiFail("xn--5cb347co96jug15a.xn--2nd059ea", false); } // [C1, V7] +test { try toAsciiFail("xn--5cb347co96jug15a.xn--2nd059ea", true); } // [C1, V7] test { try toUnicodeFail("\xf0\x90\x8b\xb0\xe3\x80\x82\xf3\x91\x93\xb1"); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb0\xe3\x80\x82\xf3\x91\x93\xb1", false); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb0\xe3\x80\x82\xf3\x91\x93\xb1", true); } // [V7] test { try toUnicodeFail("xn--k97c.xn--q031e"); } // [V7] +test { try toAsciiFail("xn--k97c.xn--q031e", false); } // [V7] +test { try toAsciiFail("xn--k97c.xn--q031e", true); } // [V7] test { try toUnicodeFail("\xf3\xa1\x8e\xa6\xe1\x9e\xb4\xe0\xad\x8d.\xf0\x90\xb9\xbe"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa1\x8e\xa6\xe1\x9e\xb4\xe0\xad\x8d.\xf0\x90\xb9\xbe", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa1\x8e\xa6\xe1\x9e\xb4\xe0\xad\x8d.\xf0\x90\xb9\xbe", true); } // [B1, V7] test { try toUnicodeFail("xn--9ic59305p.xn--2o0d"); } // [B1, V7] +test { try toAsciiFail("xn--9ic59305p.xn--2o0d", false); } // [B1, V7] +test { try toAsciiFail("xn--9ic59305p.xn--2o0d", true); } // [B1, V7] test { try toUnicodeFail("xn--9ic364dho91z.xn--2o0d"); } // [B1, V7] +test { try toAsciiFail("xn--9ic364dho91z.xn--2o0d", false); } // [B1, V7] +test { try toAsciiFail("xn--9ic364dho91z.xn--2o0d", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xea\xb7\xa4\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xed\x9c\xaa\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xea\xb7\xa4\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xed\x9c\xaa\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xea\xb7\xa4\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xed\x9c\xaa\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xea\xb7\xa4.\xf2\xa0\x85\xbc0\xed\x9c\xaa\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xea\xb7\xa4.\xf2\xa0\x85\xbc0\xed\x9c\xaa\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xea\xb7\xa4.\xf2\xa0\x85\xbc0\xed\x9c\xaa\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf.\xf2\xa0\x85\xbc0\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf.\xf2\xa0\x85\xbc0\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe1\x82\xab\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf.\xf2\xa0\x85\xbc0\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf.\xf2\xa0\x85\xbc0\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf.\xf2\xa0\x85\xbc0\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf.\xf2\xa0\x85\xbc0\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xea\xb7\xa4.\xf2\xa0\x85\xbc0\xed\x9c\xaa\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xea\xb7\xa4.\xf2\xa0\x85\xbc0\xed\x9c\xaa\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xea\xb7\xa4.\xf2\xa0\x85\xbc0\xed\x9c\xaa\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("xn--i0b436pkl2g2h42a.xn--0-8le8997mulr5f"); } // [V6, V7] +test { try toAsciiFail("xn--i0b436pkl2g2h42a.xn--0-8le8997mulr5f", false); } // [V6, V7] +test { try toAsciiFail("xn--i0b436pkl2g2h42a.xn--0-8le8997mulr5f", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xe1\x84\x80\xe1\x85\xb2\xe1\x86\xaf\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xe1\x84\x92\xe1\x85\xb1\xe1\x86\xb9\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xea\xb7\xa4\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xed\x9c\xaa\xe0\xab\xa3"); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xea\xb7\xa4\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xed\x9c\xaa\xe0\xab\xa3", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xa3\x9f\xe2\xb4\x8b\xf0\xb6\xbf\xb8\xea\xb7\xa4\xef\xbc\x8e\xf2\xa0\x85\xbc\xf0\x9d\x9f\xa2\xed\x9c\xaa\xe0\xab\xa3", true); } // [V6, V7] test { try toUnicodeFail("xn--i0b601b6r7l2hs0a.xn--0-8le8997mulr5f"); } // [V6, V7] +test { try toAsciiFail("xn--i0b601b6r7l2hs0a.xn--0-8le8997mulr5f", false); } // [V6, V7] +test { try toAsciiFail("xn--i0b601b6r7l2hs0a.xn--0-8le8997mulr5f", true); } // [V6, V7] test { try toUnicodeFail("\xde\x84\xef\xbc\x8e\xf0\x9e\xa1\x9d\xd8\x81"); } // [V7] +test { try toAsciiFail("\xde\x84\xef\xbc\x8e\xf0\x9e\xa1\x9d\xd8\x81", false); } // [V7] +test { try toAsciiFail("\xde\x84\xef\xbc\x8e\xf0\x9e\xa1\x9d\xd8\x81", true); } // [V7] test { try toUnicodeFail("\xde\x84.\xf0\x9e\xa1\x9d\xd8\x81"); } // [V7] +test { try toAsciiFail("\xde\x84.\xf0\x9e\xa1\x9d\xd8\x81", false); } // [V7] +test { try toAsciiFail("\xde\x84.\xf0\x9e\xa1\x9d\xd8\x81", true); } // [V7] test { try toUnicodeFail("xn--lqb.xn--jfb1808v"); } // [V7] +test { try toAsciiFail("xn--lqb.xn--jfb1808v", false); } // [V7] +test { try toAsciiFail("xn--lqb.xn--jfb1808v", true); } // [V7] test { try toUnicodeFail("\xe0\xab\x8d\xe2\x82\x83.8\xea\xa3\x84\xe2\x80\x8d\xf0\x9f\x83\xa4"); } // [V6] +test { try toAsciiFail("\xe0\xab\x8d\xe2\x82\x83.8\xea\xa3\x84\xe2\x80\x8d\xf0\x9f\x83\xa4", false); } // [V6] +test { try toAsciiFail("\xe0\xab\x8d\xe2\x82\x83.8\xea\xa3\x84\xe2\x80\x8d\xf0\x9f\x83\xa4", true); } // [V6] test { try toUnicodeFail("\xe0\xab\x8d3.8\xea\xa3\x84\xe2\x80\x8d\xf0\x9f\x83\xa4"); } // [V6] +test { try toAsciiFail("\xe0\xab\x8d3.8\xea\xa3\x84\xe2\x80\x8d\xf0\x9f\x83\xa4", false); } // [V6] +test { try toAsciiFail("\xe0\xab\x8d3.8\xea\xa3\x84\xe2\x80\x8d\xf0\x9f\x83\xa4", true); } // [V6] test { try toUnicodeFail("xn--3-yke.xn--8-sl4et308f"); } // [V6] +test { try toAsciiFail("xn--3-yke.xn--8-sl4et308f", false); } // [V6] +test { try toAsciiFail("xn--3-yke.xn--8-sl4et308f", true); } // [V6] test { try toUnicodeFail("xn--3-yke.xn--8-ugnv982dbkwm"); } // [V6] +test { try toAsciiFail("xn--3-yke.xn--8-ugnv982dbkwm", false); } // [V6] +test { try toAsciiFail("xn--3-yke.xn--8-ugnv982dbkwm", true); } // [V6] test { try toUnicodeFail("\xe2\x84\xbb\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("\xe2\x84\xbb\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("\xe2\x84\xbb\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("xn--fax-4c9a1676t.xn--6e6h"); } // [B6] +test { try toAsciiFail("xn--fax-4c9a1676t.xn--6e6h", false); } // [B6] +test { try toAsciiFail("xn--fax-4c9a1676t.xn--6e6h", true); } // [B6] test { try toUnicodeFail("\xe2\x84\xbb\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("\xe2\x84\xbb\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("\xe2\x84\xbb\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa5\x82\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c"); } // [B6] +test { try toAsciiFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", false); } // [B6] +test { try toAsciiFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86\xe3\x80\x82\xf0\x9e\xa4\xa0\xf3\xa0\x86\x81\xe1\xa0\x8c", true); } // [B6] test { try toUnicodeFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82"); } // [B6] +test { try toAsciiFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82", false); } // [B6] +test { try toAsciiFail("fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82", true); } // [B6] test { try toUnicodeFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa4\xa0"); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa4\xa0", false); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa4\xa0", true); } // [B6] test { try toUnicodeFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa4\xa0"); } // [B6] +test { try toAsciiFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa4\xa0", false); } // [B6] +test { try toAsciiFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa4\xa0", true); } // [B6] test { try toUnicodeFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82"); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82", false); } // [B6] +test { try toAsciiFail("FAX\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82", true); } // [B6] test { try toUnicodeFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82"); } // [B6] +test { try toAsciiFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82", false); } // [B6] +test { try toAsciiFail("Fax\xe2\xa9\xb7\xf0\x9d\x86\x86.\xf0\x9e\xa5\x82", true); } // [B6] test { try toUnicodeFail("\xea\xa1\x95\xe2\x89\xa0\xe1\x81\x9e\xf3\xae\xbf\xb1\xef\xbd\xa1\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xef\xbe\xa0"); } // [V7] +test { try toAsciiFail("\xea\xa1\x95\xe2\x89\xa0\xe1\x81\x9e\xf3\xae\xbf\xb1\xef\xbd\xa1\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xef\xbe\xa0", false); } // [V7] +test { try toAsciiFail("\xea\xa1\x95\xe2\x89\xa0\xe1\x81\x9e\xf3\xae\xbf\xb1\xef\xbd\xa1\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xef\xbe\xa0", true); } // [V7] test { try toUnicodeFail("\xea\xa1\x95=\xcc\xb8\xe1\x81\x9e\xf3\xae\xbf\xb1\xef\xbd\xa1\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xef\xbe\xa0"); } // [V7] +test { try toAsciiFail("\xea\xa1\x95=\xcc\xb8\xe1\x81\x9e\xf3\xae\xbf\xb1\xef\xbd\xa1\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xef\xbe\xa0", false); } // [V7] +test { try toAsciiFail("\xea\xa1\x95=\xcc\xb8\xe1\x81\x9e\xf3\xae\xbf\xb1\xef\xbd\xa1\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xef\xbe\xa0", true); } // [V7] test { try toUnicodeFail("\xea\xa1\x95\xe2\x89\xa0\xe1\x81\x9e\xf3\xae\xbf\xb1\xe3\x80\x82\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xe1\x85\xa0"); } // [V7] +test { try toAsciiFail("\xea\xa1\x95\xe2\x89\xa0\xe1\x81\x9e\xf3\xae\xbf\xb1\xe3\x80\x82\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xe1\x85\xa0", false); } // [V7] +test { try toAsciiFail("\xea\xa1\x95\xe2\x89\xa0\xe1\x81\x9e\xf3\xae\xbf\xb1\xe3\x80\x82\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xe1\x85\xa0", true); } // [V7] test { try toUnicodeFail("\xea\xa1\x95=\xcc\xb8\xe1\x81\x9e\xf3\xae\xbf\xb1\xe3\x80\x82\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xe1\x85\xa0"); } // [V7] +test { try toAsciiFail("\xea\xa1\x95=\xcc\xb8\xe1\x81\x9e\xf3\xae\xbf\xb1\xe3\x80\x82\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xe1\x85\xa0", false); } // [V7] +test { try toAsciiFail("\xea\xa1\x95=\xcc\xb8\xe1\x81\x9e\xf3\xae\xbf\xb1\xe3\x80\x82\xf0\x90\xb5\xa7\xf3\xa0\x84\xab\xe1\x85\xa0", true); } // [V7] test { try toUnicodeFail("xn--cld333gn31h0158l.xn--3g0d"); } // [V7] +test { try toAsciiFail("xn--cld333gn31h0158l.xn--3g0d", false); } // [V7] +test { try toAsciiFail("xn--cld333gn31h0158l.xn--3g0d", true); } // [V7] test { try toUnicodeFail("xn--cld333gn31h0158l.xn--psd1510k"); } // [B2, B3, V7] +test { try toAsciiFail("xn--cld333gn31h0158l.xn--psd1510k", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--cld333gn31h0158l.xn--psd1510k", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--cld333gn31h0158l.xn--cl7c96v"); } // [B2, B3, V7] +test { try toAsciiFail("xn--cld333gn31h0158l.xn--cl7c96v", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--cld333gn31h0158l.xn--cl7c96v", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe9\xb1\x8a\xe3\x80\x82\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("\xe9\xb1\x8a\xe3\x80\x82\xe2\x80\x8c", false); } // [C1] +test { try toAsciiFail("\xe9\xb1\x8a\xe3\x80\x82\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodePass("xn--rt6a.", "\xe9\xb1\x8a."); } +test { try toAsciiFail("xn--rt6a.", false); } // [A4_2] +test { try toAsciiFail("xn--rt6a.", true); } // [A4_2] test { try toUnicodePass("\xe9\xb1\x8a.", "\xe9\xb1\x8a."); } +test { try toAsciiFail("\xe9\xb1\x8a.", false); } // [A4_2] +test { try toAsciiFail("\xe9\xb1\x8a.", true); } // [A4_2] test { try toUnicodeFail("xn--rt6a.xn--0ug"); } // [C1] +test { try toAsciiFail("xn--rt6a.xn--0ug", false); } // [C1] +test { try toAsciiFail("xn--rt6a.xn--0ug", true); } // [C1] test { try toUnicodeFail("8\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x91\x8d\xa8"); } // [B1, V6] +test { try toAsciiFail("8\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x91\x8d\xa8", false); } // [B1, V6] +test { try toAsciiFail("8\xf0\x90\xb9\xa3\xef\xbc\x8e\xf0\x91\x8d\xa8", true); } // [B1, V6] test { try toUnicodeFail("8\xf0\x90\xb9\xa3.\xf0\x91\x8d\xa8"); } // [B1, V6] +test { try toAsciiFail("8\xf0\x90\xb9\xa3.\xf0\x91\x8d\xa8", false); } // [B1, V6] +test { try toAsciiFail("8\xf0\x90\xb9\xa3.\xf0\x91\x8d\xa8", true); } // [B1, V6] test { try toUnicodeFail("xn--8-d26i.xn--0p1d"); } // [B1, V6] +test { try toAsciiFail("xn--8-d26i.xn--0p1d", false); } // [B1, V6] +test { try toAsciiFail("xn--8-d26i.xn--0p1d", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x8f\xb9\xf0\x90\xa7\x80\xef\xbc\x8e\xf0\x90\xab\xaf"); } // [B1] +test { try toAsciiFail("\xe2\x8f\xb9\xf0\x90\xa7\x80\xef\xbc\x8e\xf0\x90\xab\xaf", false); } // [B1] +test { try toAsciiFail("\xe2\x8f\xb9\xf0\x90\xa7\x80\xef\xbc\x8e\xf0\x90\xab\xaf", true); } // [B1] test { try toUnicodeFail("\xe2\x8f\xb9\xf0\x90\xa7\x80.\xf0\x90\xab\xaf"); } // [B1] +test { try toAsciiFail("\xe2\x8f\xb9\xf0\x90\xa7\x80.\xf0\x90\xab\xaf", false); } // [B1] +test { try toAsciiFail("\xe2\x8f\xb9\xf0\x90\xa7\x80.\xf0\x90\xab\xaf", true); } // [B1] test { try toUnicodeFail("xn--qoh9161g.xn--1x9c"); } // [B1] +test { try toAsciiFail("xn--qoh9161g.xn--1x9c", false); } // [B1] +test { try toAsciiFail("xn--qoh9161g.xn--1x9c", true); } // [B1] test { try toUnicodeFail("\xf0\x9e\xa4\xba\xdf\x8c4\xef\xbc\x8e\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\xba\xdf\x8c4\xef\xbc\x8e\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\xba\xdf\x8c4\xef\xbc\x8e\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("\xf0\x9e\xa4\xba\xdf\x8c4.\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\xba\xdf\x8c4.\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\xba\xdf\x8c4.\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("\xf0\x9e\xa4\x98\xdf\x8c4.\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\x98\xdf\x8c4.\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\x98\xdf\x8c4.\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodePass("xn--4-0bd15808a.", "\xf0\x9e\xa4\xba\xdf\x8c4."); } +test { try toAsciiFail("xn--4-0bd15808a.", false); } // [A4_2] +test { try toAsciiFail("xn--4-0bd15808a.", true); } // [A4_2] test { try toUnicodePass("\xf0\x9e\xa4\xba\xdf\x8c4.", "\xf0\x9e\xa4\xba\xdf\x8c4."); } +test { try toAsciiFail("\xf0\x9e\xa4\xba\xdf\x8c4.", false); } // [A4_2] +test { try toAsciiFail("\xf0\x9e\xa4\xba\xdf\x8c4.", true); } // [A4_2] test { try toUnicodePass("\xf0\x9e\xa4\x98\xdf\x8c4.", "\xf0\x9e\xa4\xba\xdf\x8c4."); } +test { try toAsciiFail("\xf0\x9e\xa4\x98\xdf\x8c4.", false); } // [A4_2] +test { try toAsciiFail("\xf0\x9e\xa4\x98\xdf\x8c4.", true); } // [A4_2] test { try toUnicodeFail("xn--4-0bd15808a.xn--1ug"); } // [B1, C2] +test { try toAsciiFail("xn--4-0bd15808a.xn--1ug", false); } // [B1, C2] +test { try toAsciiFail("xn--4-0bd15808a.xn--1ug", true); } // [B1, C2] test { try toUnicodeFail("\xf0\x9e\xa4\x98\xdf\x8c4\xef\xbc\x8e\xe2\x80\x8d"); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\x98\xdf\x8c4\xef\xbc\x8e\xe2\x80\x8d", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\x98\xdf\x8c4\xef\xbc\x8e\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("\xe2\x92\x97\xe0\xa6\x81\xe2\x83\xaf-.\xe0\xa3\xa2\xe2\x80\xa2"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x97\xe0\xa6\x81\xe2\x83\xaf-.\xe0\xa3\xa2\xe2\x80\xa2", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x97\xe0\xa6\x81\xe2\x83\xaf-.\xe0\xa3\xa2\xe2\x80\xa2", true); } // [B1, V3, V7] test { try toUnicodeFail("16.\xe0\xa6\x81\xe2\x83\xaf-.\xe0\xa3\xa2\xe2\x80\xa2"); } // [B1, V3, V6, V7] +test { try toAsciiFail("16.\xe0\xa6\x81\xe2\x83\xaf-.\xe0\xa3\xa2\xe2\x80\xa2", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("16.\xe0\xa6\x81\xe2\x83\xaf-.\xe0\xa3\xa2\xe2\x80\xa2", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("16.xn----z0d801p.xn--l0b810j"); } // [B1, V3, V6, V7] +test { try toAsciiFail("16.xn----z0d801p.xn--l0b810j", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("16.xn----z0d801p.xn--l0b810j", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn----z0d801p6kd.xn--l0b810j"); } // [B1, V3, V7] +test { try toAsciiFail("xn----z0d801p6kd.xn--l0b810j", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----z0d801p6kd.xn--l0b810j", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xef\xbd\xa1\xe4\x8f\x9b"); } // [V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe4\x8f\x9b", false); } // [V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe4\x8f\x9b", true); } // [V3] test { try toUnicodeFail("-\xe3\x80\x82\xe4\x8f\x9b"); } // [V3] +test { try toAsciiFail("-\xe3\x80\x82\xe4\x8f\x9b", false); } // [V3] +test { try toAsciiFail("-\xe3\x80\x82\xe4\x8f\x9b", true); } // [V3] test { try toUnicodeFail("-.xn--xco"); } // [V3] +test { try toAsciiFail("-.xn--xco", false); } // [V3] +test { try toAsciiFail("-.xn--xco", true); } // [V3] test { try toUnicodeFail("\xe2\x80\x8c\xf1\x92\x83\xa0\xef\xbc\x8e\xe2\x80\x8d"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x92\x83\xa0\xef\xbc\x8e\xe2\x80\x8d", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x92\x83\xa0\xef\xbc\x8e\xe2\x80\x8d", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xf1\x92\x83\xa0.\xe2\x80\x8d"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x92\x83\xa0.\xe2\x80\x8d", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x92\x83\xa0.\xe2\x80\x8d", true); } // [V7, A4_2] test { try toUnicodeFail("xn--dj8y."); } // [V7] +test { try toAsciiFail("xn--dj8y.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--dj8y.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ugz7551c.xn--1ug"); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugz7551c.xn--1ug", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugz7551c.xn--1ug", true); } // [C1, C2, V7] test { try toUnicodeFail("\xe2\x92\x88\xe2\x93\xb0\xf3\xa5\xa3\x87\xef\xbd\xa1\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe1\x82\xb5"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x93\xb0\xf3\xa5\xa3\x87\xef\xbd\xa1\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe1\x82\xb5", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x93\xb0\xf3\xa5\xa3\x87\xef\xbd\xa1\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe1\x82\xb5", true); } // [B1, V7] test { try toUnicodeFail("1.\xe2\x93\xb0\xf3\xa5\xa3\x87\xe3\x80\x82\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe1\x82\xb5"); } // [B1, C2, V7] +test { try toAsciiFail("1.\xe2\x93\xb0\xf3\xa5\xa3\x87\xe3\x80\x82\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe1\x82\xb5", false); } // [B1, C2, V7] +test { try toAsciiFail("1.\xe2\x93\xb0\xf3\xa5\xa3\x87\xe3\x80\x82\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe1\x82\xb5", true); } // [B1, V7] test { try toUnicodeFail("1.\xe2\x93\xb0\xf3\xa5\xa3\x87\xe3\x80\x82\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe2\xb4\x95"); } // [B1, C2, V7] +test { try toAsciiFail("1.\xe2\x93\xb0\xf3\xa5\xa3\x87\xe3\x80\x82\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe2\xb4\x95", false); } // [B1, C2, V7] +test { try toAsciiFail("1.\xe2\x93\xb0\xf3\xa5\xa3\x87\xe3\x80\x82\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe2\xb4\x95", true); } // [B1, V7] test { try toUnicodeFail("1.xn--svh00804k.xn--dljv223ee5t2d"); } // [B1, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--dljv223ee5t2d", false); } // [B1, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--dljv223ee5t2d", true); } // [B1, V7] test { try toUnicodeFail("1.xn--svh00804k.xn--1ug352csp0psg45e"); } // [B1, C2, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--1ug352csp0psg45e", false); } // [B1, C2, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--1ug352csp0psg45e", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe2\x92\x88\xe2\x93\xb0\xf3\xa5\xa3\x87\xef\xbd\xa1\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe2\xb4\x95"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x93\xb0\xf3\xa5\xa3\x87\xef\xbd\xa1\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe2\xb4\x95", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x93\xb0\xf3\xa5\xa3\x87\xef\xbd\xa1\xf0\x90\xb9\xa0\xe2\x80\x8d\xf2\x97\xb7\xa6\xe2\xb4\x95", true); } // [B1, V7] test { try toUnicodeFail("xn--tsh0nz9380h.xn--dljv223ee5t2d"); } // [B1, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--dljv223ee5t2d", false); } // [B1, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--dljv223ee5t2d", true); } // [B1, V7] test { try toUnicodeFail("xn--tsh0nz9380h.xn--1ug352csp0psg45e"); } // [B1, C2, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--1ug352csp0psg45e", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--1ug352csp0psg45e", true); } // [B1, C2, V7] test { try toUnicodeFail("1.xn--svh00804k.xn--tnd1990ke579c"); } // [B1, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--tnd1990ke579c", false); } // [B1, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--tnd1990ke579c", true); } // [B1, V7] test { try toUnicodeFail("1.xn--svh00804k.xn--tnd969erj4psgl3e"); } // [B1, C2, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--tnd969erj4psgl3e", false); } // [B1, C2, V7] +test { try toAsciiFail("1.xn--svh00804k.xn--tnd969erj4psgl3e", true); } // [B1, C2, V7] test { try toUnicodeFail("xn--tsh0nz9380h.xn--tnd1990ke579c"); } // [B1, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--tnd1990ke579c", false); } // [B1, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--tnd1990ke579c", true); } // [B1, V7] test { try toUnicodeFail("xn--tsh0nz9380h.xn--tnd969erj4psgl3e"); } // [B1, C2, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--tnd969erj4psgl3e", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--tsh0nz9380h.xn--tnd969erj4psgl3e", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-\xc3\x9f\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-\xc3\x9f\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-\xc3\x9f\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-\xc3\x9f\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-\xc3\x9f\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-\xc3\x9f\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-SS\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-SS\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-SS\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-ss\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-ss\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-ss\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-Ss\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-Ss\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-Ss\xe3\x80\x82\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn---ss-21t18904a.xn--jfb197i791bi6x4c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn---ss-21t18904a.xn--jfb197i791bi6x4c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn---ss-21t18904a.xn--jfb197i791bi6x4c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn----qfa310pg973b.xn--jfb197i791bi6x4c"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn----qfa310pg973b.xn--jfb197i791bi6x4c", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn----qfa310pg973b.xn--jfb197i791bi6x4c", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-SS\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-SS\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-SS\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-ss\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-ss\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-ss\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-Ss\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-Ss\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\x8a\xe1\xa0\xae-Ss\xef\xbd\xa1\xe1\xb3\x90\xe5\x8a\xb9\xd8\x81\xf0\xb7\xa3\xad", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x91\x87\x80.\xf3\xa0\xa8\xb1"); } // [V6, V7] +test { try toAsciiFail("\xf0\x91\x87\x80.\xf3\xa0\xa8\xb1", false); } // [V6, V7] +test { try toAsciiFail("\xf0\x91\x87\x80.\xf3\xa0\xa8\xb1", true); } // [V6, V7] test { try toUnicodeFail("xn--wd1d.xn--k946e"); } // [V6, V7] +test { try toAsciiFail("xn--wd1d.xn--k946e", false); } // [V6, V7] +test { try toAsciiFail("xn--wd1d.xn--k946e", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x90\x923\xef\xae\x88\xef\xbd\xa1\xf0\x9d\x9f\x98\xf0\x90\xa8\xbf\xf0\x90\xb9\x86"); } // [B1, V7] +test { try toAsciiFail("\xe2\x90\x923\xef\xae\x88\xef\xbd\xa1\xf0\x9d\x9f\x98\xf0\x90\xa8\xbf\xf0\x90\xb9\x86", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x90\x923\xef\xae\x88\xef\xbd\xa1\xf0\x9d\x9f\x98\xf0\x90\xa8\xbf\xf0\x90\xb9\x86", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x90\x923\xda\x88\xe3\x80\x820\xf0\x90\xa8\xbf\xf0\x90\xb9\x86"); } // [B1, V7] +test { try toAsciiFail("\xe2\x90\x923\xda\x88\xe3\x80\x820\xf0\x90\xa8\xbf\xf0\x90\xb9\x86", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x90\x923\xda\x88\xe3\x80\x820\xf0\x90\xa8\xbf\xf0\x90\xb9\x86", true); } // [B1, V7] test { try toUnicodeFail("xn--3-jsc897t.xn--0-sc5iy3h"); } // [B1, V7] +test { try toAsciiFail("xn--3-jsc897t.xn--0-sc5iy3h", false); } // [B1, V7] +test { try toAsciiFail("xn--3-jsc897t.xn--0-sc5iy3h", true); } // [B1, V7] test { try toUnicodeFail("\xdd\xab\xef\xbc\x96\xe0\xaa\x81\xe0\xa2\xa6\xe3\x80\x82\xe1\xb7\xa3"); } // [B1, V6] +test { try toAsciiFail("\xdd\xab\xef\xbc\x96\xe0\xaa\x81\xe0\xa2\xa6\xe3\x80\x82\xe1\xb7\xa3", false); } // [B1, V6] +test { try toAsciiFail("\xdd\xab\xef\xbc\x96\xe0\xaa\x81\xe0\xa2\xa6\xe3\x80\x82\xe1\xb7\xa3", true); } // [B1, V6] test { try toUnicodeFail("\xdd\xab6\xe0\xaa\x81\xe0\xa2\xa6\xe3\x80\x82\xe1\xb7\xa3"); } // [B1, V6] +test { try toAsciiFail("\xdd\xab6\xe0\xaa\x81\xe0\xa2\xa6\xe3\x80\x82\xe1\xb7\xa3", false); } // [B1, V6] +test { try toAsciiFail("\xdd\xab6\xe0\xaa\x81\xe0\xa2\xa6\xe3\x80\x82\xe1\xb7\xa3", true); } // [B1, V6] test { try toUnicodeFail("xn--6-h5c06gj6c.xn--7eg"); } // [B1, V6] +test { try toAsciiFail("xn--6-h5c06gj6c.xn--7eg", false); } // [B1, V6] +test { try toAsciiFail("xn--6-h5c06gj6c.xn--7eg", true); } // [B1, V6] test { try toUnicodeFail("\xd8\x85-\xf0\xbd\xa4\x9e\xe1\x82\xa2\xe3\x80\x82\xf2\x85\xa4\xb6\xe2\x80\x8d"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xd8\x85-\xf0\xbd\xa4\x9e\xe1\x82\xa2\xe3\x80\x82\xf2\x85\xa4\xb6\xe2\x80\x8d", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xd8\x85-\xf0\xbd\xa4\x9e\xe1\x82\xa2\xe3\x80\x82\xf2\x85\xa4\xb6\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x85-\xf0\xbd\xa4\x9e\xe2\xb4\x82\xe3\x80\x82\xf2\x85\xa4\xb6\xe2\x80\x8d"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xd8\x85-\xf0\xbd\xa4\x9e\xe2\xb4\x82\xe3\x80\x82\xf2\x85\xa4\xb6\xe2\x80\x8d", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xd8\x85-\xf0\xbd\xa4\x9e\xe2\xb4\x82\xe3\x80\x82\xf2\x85\xa4\xb6\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("xn----0kc8501a5399e.xn--ss06b"); } // [B1, V7] +test { try toAsciiFail("xn----0kc8501a5399e.xn--ss06b", false); } // [B1, V7] +test { try toAsciiFail("xn----0kc8501a5399e.xn--ss06b", true); } // [B1, V7] test { try toUnicodeFail("xn----0kc8501a5399e.xn--1ugy3204f"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn----0kc8501a5399e.xn--1ugy3204f", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn----0kc8501a5399e.xn--1ugy3204f", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("xn----0kc662fc152h.xn--ss06b"); } // [B1, V7] +test { try toAsciiFail("xn----0kc662fc152h.xn--ss06b", false); } // [B1, V7] +test { try toAsciiFail("xn----0kc662fc152h.xn--ss06b", true); } // [B1, V7] test { try toUnicodeFail("xn----0kc662fc152h.xn--1ugy3204f"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn----0kc662fc152h.xn--1ugy3204f", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn----0kc662fc152h.xn--1ugy3204f", true); } // [B1, B6, C2, V7] test { try toUnicodePass("\xe2\xbe\x86\xef\xbc\x8e\xea\xa1\x88\xef\xbc\x95\xe2\x89\xaf\xc3\x9f", "\xe8\x88\x8c.\xea\xa1\x885\xe2\x89\xaf\xc3\x9f"); } test { try toAsciiPass("\xe2\xbe\x86\xef\xbc\x8e\xea\xa1\x88\xef\xbc\x95\xe2\x89\xaf\xc3\x9f", "xn--tc1a.xn--5-qfa988w745i", false); } test { try toAsciiPass("\xe2\xbe\x86\xef\xbc\x8e\xea\xa1\x88\xef\xbc\x95\xe2\x89\xaf\xc3\x9f", "xn--tc1a.xn--5ss-3m2a5009e", true); } @@ -4228,14 +10248,32 @@ test { try toUnicodePass("\xe2\xbe\x86\xef\xbc\x8e\xea\xa1\x88\xef\xbc\x95\xe2\x test { try toAsciiPass("\xe2\xbe\x86\xef\xbc\x8e\xea\xa1\x88\xef\xbc\x95\xe2\x89\xafSs", "xn--tc1a.xn--5ss-3m2a5009e", false); } test { try toAsciiPass("\xe2\xbe\x86\xef\xbc\x8e\xea\xa1\x88\xef\xbc\x95\xe2\x89\xafSs", "xn--tc1a.xn--5ss-3m2a5009e", true); } test { try toUnicodeFail("\xe0\xab\x8d8\xe2\x80\x8d\xef\xbc\x8e\xf2\xbe\x82\x88\xdd\x9c"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe0\xab\x8d8\xe2\x80\x8d\xef\xbc\x8e\xf2\xbe\x82\x88\xdd\x9c", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe0\xab\x8d8\xe2\x80\x8d\xef\xbc\x8e\xf2\xbe\x82\x88\xdd\x9c", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe0\xab\x8d8\xe2\x80\x8d.\xf2\xbe\x82\x88\xdd\x9c"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe0\xab\x8d8\xe2\x80\x8d.\xf2\xbe\x82\x88\xdd\x9c", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe0\xab\x8d8\xe2\x80\x8d.\xf2\xbe\x82\x88\xdd\x9c", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--8-yke.xn--gpb79046m"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--8-yke.xn--gpb79046m", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--8-yke.xn--gpb79046m", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--8-yke534n.xn--gpb79046m"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--8-yke534n.xn--gpb79046m", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--8-yke534n.xn--gpb79046m", true); } // [B1, B5, B6, C2, V6, V7] test { try toUnicodeFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0\xe2\x89\xae\xf2\xb9\x93\x99\xef\xbc\x8e\xf1\x9e\x8e\xa7\xe2\x81\xb7\xf3\xa0\xaf\x99\xda\xb6"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0\xe2\x89\xae\xf2\xb9\x93\x99\xef\xbc\x8e\xf1\x9e\x8e\xa7\xe2\x81\xb7\xf3\xa0\xaf\x99\xda\xb6", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0\xe2\x89\xae\xf2\xb9\x93\x99\xef\xbc\x8e\xf1\x9e\x8e\xa7\xe2\x81\xb7\xf3\xa0\xaf\x99\xda\xb6", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0<\xcc\xb8\xf2\xb9\x93\x99\xef\xbc\x8e\xf1\x9e\x8e\xa7\xe2\x81\xb7\xf3\xa0\xaf\x99\xda\xb6"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0<\xcc\xb8\xf2\xb9\x93\x99\xef\xbc\x8e\xf1\x9e\x8e\xa7\xe2\x81\xb7\xf3\xa0\xaf\x99\xda\xb6", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0<\xcc\xb8\xf2\xb9\x93\x99\xef\xbc\x8e\xf1\x9e\x8e\xa7\xe2\x81\xb7\xf3\xa0\xaf\x99\xda\xb6", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0\xe2\x89\xae\xf2\xb9\x93\x99.\xf1\x9e\x8e\xa77\xf3\xa0\xaf\x99\xda\xb6"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0\xe2\x89\xae\xf2\xb9\x93\x99.\xf1\x9e\x8e\xa77\xf3\xa0\xaf\x99\xda\xb6", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0\xe2\x89\xae\xf2\xb9\x93\x99.\xf1\x9e\x8e\xa77\xf3\xa0\xaf\x99\xda\xb6", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0<\xcc\xb8\xf2\xb9\x93\x99.\xf1\x9e\x8e\xa77\xf3\xa0\xaf\x99\xda\xb6"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0<\xcc\xb8\xf2\xb9\x93\x99.\xf1\x9e\x8e\xa77\xf3\xa0\xaf\x99\xda\xb6", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xb8\xb7\x86\xe0\xa9\xb0<\xcc\xb8\xf2\xb9\x93\x99.\xf1\x9e\x8e\xa77\xf3\xa0\xaf\x99\xda\xb6", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--ycc893jqh38rb6fa.xn--7-5uc53836ixt41c"); } // [B5, B6, V7] +test { try toAsciiFail("xn--ycc893jqh38rb6fa.xn--7-5uc53836ixt41c", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--ycc893jqh38rb6fa.xn--7-5uc53836ixt41c", true); } // [B5, B6, V7] test { try toUnicodePass("\xf0\x9e\xa4\xaa.\xcf\x82", "\xf0\x9e\xa4\xaa.\xcf\x82"); } test { try toAsciiPass("\xf0\x9e\xa4\xaa.\xcf\x82", "xn--ie6h.xn--3xa", false); } test { try toAsciiPass("\xf0\x9e\xa4\xaa.\xcf\x82", "xn--ie6h.xn--4xa", true); } @@ -4262,14 +10300,19 @@ test { try toAsciiPass("\xf0\x9e\xa4\xaa.\xce\xa3", "xn--ie6h.xn--4xa", false); test { try toAsciiPass("\xf0\x9e\xa4\xaa.\xce\xa3", "xn--ie6h.xn--4xa", true); } test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xba\xef\xbd\xa1\xcf\x82", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xba\xef\xbd\xa1\xcf\x82"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xba\xef\xbd\xa1\xcf\x82", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xba\xe3\x80\x82\xcf\x82", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xba\xe3\x80\x82\xcf\x82"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xba\xe3\x80\x82\xcf\x82", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x9a\xe3\x80\x82\xcf\x82", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x9a\xe3\x80\x82\xcf\x82"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x9a\xe3\x80\x82\xcf\x82", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xba\xe3\x80\x82\xce\xa3", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xba\xe3\x80\x82\xce\xa3"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xba\xe3\x80\x82\xce\xa3", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x9a\xe3\x80\x82\xcf\x83", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x9a\xe3\x80\x82\xcf\x83"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x9a\xe3\x80\x82\xcf\x83", false); } // [C1] test { try toUnicodePass("xn--ilj.xn--4xa", "\xe2\xb4\x9a.\xcf\x83"); } test { try toAsciiPass("xn--ilj.xn--4xa", "xn--ilj.xn--4xa", false); } test { try toAsciiPass("xn--ilj.xn--4xa", "xn--ilj.xn--4xa", true); } @@ -4292,48 +10335,125 @@ test { try toUnicodePass("\xe1\x82\xba.\xcf\x83", "\xe2\xb4\x9a.\xcf\x83"); } test { try toAsciiPass("\xe1\x82\xba.\xcf\x83", "xn--ilj.xn--4xa", false); } test { try toAsciiPass("\xe1\x82\xba.\xcf\x83", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("xn--0ug262c.xn--4xa"); } // [C1] +test { try toAsciiFail("xn--0ug262c.xn--4xa", false); } // [C1] +test { try toAsciiFail("xn--0ug262c.xn--4xa", true); } // [C1] test { try toUnicodeFail("xn--0ug262c.xn--3xa"); } // [C1] +test { try toAsciiFail("xn--0ug262c.xn--3xa", false); } // [C1] +test { try toAsciiFail("xn--0ug262c.xn--3xa", true); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x9a\xef\xbd\xa1\xcf\x82", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x9a\xef\xbd\xa1\xcf\x82"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x9a\xef\xbd\xa1\xcf\x82", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xba\xef\xbd\xa1\xce\xa3", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xba\xef\xbd\xa1\xce\xa3"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xba\xef\xbd\xa1\xce\xa3", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x9a\xef\xbd\xa1\xcf\x83", "xn--ilj.xn--4xa", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x9a\xef\xbd\xa1\xcf\x83"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x9a\xef\xbd\xa1\xcf\x83", false); } // [C1] test { try toUnicodeFail("xn--ynd.xn--4xa"); } // [V7] +test { try toAsciiFail("xn--ynd.xn--4xa", false); } // [V7] +test { try toAsciiFail("xn--ynd.xn--4xa", true); } // [V7] test { try toUnicodeFail("xn--ynd.xn--3xa"); } // [V7] +test { try toAsciiFail("xn--ynd.xn--3xa", false); } // [V7] +test { try toAsciiFail("xn--ynd.xn--3xa", true); } // [V7] test { try toUnicodeFail("xn--ynd759e.xn--4xa"); } // [C1, V7] +test { try toAsciiFail("xn--ynd759e.xn--4xa", false); } // [C1, V7] +test { try toAsciiFail("xn--ynd759e.xn--4xa", true); } // [C1, V7] test { try toUnicodeFail("xn--ynd759e.xn--3xa"); } // [C1, V7] +test { try toAsciiFail("xn--ynd759e.xn--3xa", false); } // [C1, V7] +test { try toAsciiFail("xn--ynd759e.xn--3xa", true); } // [C1, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x83\xef\xbc\x8e\xf0\x90\xb9\xa6"); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\x83\xef\xbc\x8e\xf0\x90\xb9\xa6", false); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\x83\xef\xbc\x8e\xf0\x90\xb9\xa6", true); } // [B1] test { try toUnicodeFail("\xf0\x9e\xa4\x83.\xf0\x90\xb9\xa6"); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\x83.\xf0\x90\xb9\xa6", false); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\x83.\xf0\x90\xb9\xa6", true); } // [B1] test { try toUnicodeFail("\xf0\x9e\xa4\xa5.\xf0\x90\xb9\xa6"); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\xa5.\xf0\x90\xb9\xa6", false); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\xa5.\xf0\x90\xb9\xa6", true); } // [B1] test { try toUnicodeFail("xn--de6h.xn--eo0d"); } // [B1] +test { try toAsciiFail("xn--de6h.xn--eo0d", false); } // [B1] +test { try toAsciiFail("xn--de6h.xn--eo0d", true); } // [B1] test { try toUnicodeFail("\xf0\x9e\xa4\xa5\xef\xbc\x8e\xf0\x90\xb9\xa6"); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\xa5\xef\xbc\x8e\xf0\x90\xb9\xa6", false); } // [B1] +test { try toAsciiFail("\xf0\x9e\xa4\xa5\xef\xbc\x8e\xf0\x90\xb9\xa6", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8d\xe2\xbe\x95\xe3\x80\x82\xe2\x80\x8c\xcc\x90\xea\xa5\x93\xea\xa1\x8e"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\xbe\x95\xe3\x80\x82\xe2\x80\x8c\xcc\x90\xea\xa5\x93\xea\xa1\x8e", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\xbe\x95\xe3\x80\x82\xe2\x80\x8c\xcc\x90\xea\xa5\x93\xea\xa1\x8e", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xe2\xbe\x95\xe3\x80\x82\xe2\x80\x8c\xea\xa5\x93\xcc\x90\xea\xa1\x8e"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\xbe\x95\xe3\x80\x82\xe2\x80\x8c\xea\xa5\x93\xcc\x90\xea\xa1\x8e", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\xbe\x95\xe3\x80\x82\xe2\x80\x8c\xea\xa5\x93\xcc\x90\xea\xa1\x8e", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xe8\xb0\xb7\xe3\x80\x82\xe2\x80\x8c\xea\xa5\x93\xcc\x90\xea\xa1\x8e"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe8\xb0\xb7\xe3\x80\x82\xe2\x80\x8c\xea\xa5\x93\xcc\x90\xea\xa1\x8e", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe8\xb0\xb7\xe3\x80\x82\xe2\x80\x8c\xea\xa5\x93\xcc\x90\xea\xa1\x8e", true); } // [V6] test { try toUnicodeFail("xn--6g3a.xn--0sa8175flwa"); } // [V6] +test { try toAsciiFail("xn--6g3a.xn--0sa8175flwa", false); } // [V6] +test { try toAsciiFail("xn--6g3a.xn--0sa8175flwa", true); } // [V6] test { try toUnicodeFail("xn--1ug0273b.xn--0sa359l6n7g13a"); } // [C1, C2] +test { try toAsciiFail("xn--1ug0273b.xn--0sa359l6n7g13a", false); } // [C1, C2] +test { try toAsciiFail("xn--1ug0273b.xn--0sa359l6n7g13a", true); } // [C1, C2] test { try toUnicodeFail("\xda\xaa-\xeb\x89\x94\xef\xbc\x8e\xf0\x9e\xa4\x90\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94\xef\xbc\x8e\xf0\x9e\xa4\x90\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94\xef\xbc\x8e\xf0\x9e\xa4\x90\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf\xef\xbc\x8e\xf0\x9e\xa4\x90\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf\xef\xbc\x8e\xf0\x9e\xa4\x90\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf\xef\xbc\x8e\xf0\x9e\xa4\x90\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\xaa-\xeb\x89\x94.\xf0\x9e\xa4\x90\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94.\xf0\x9e\xa4\x90\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94.\xf0\x9e\xa4\x90\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf.\xf0\x9e\xa4\x90\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf.\xf0\x9e\xa4\x90\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf.\xf0\x9e\xa4\x90\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf.\xf0\x9e\xa4\xb2\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf.\xf0\x9e\xa4\xb2\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf.\xf0\x9e\xa4\xb2\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\xaa-\xeb\x89\x94.\xf0\x9e\xa4\xb2\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94.\xf0\x9e\xa4\xb2\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94.\xf0\x9e\xa4\xb2\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("xn----guc3592k.xn--qe6h"); } // [B2, B3] +test { try toAsciiFail("xn----guc3592k.xn--qe6h", false); } // [B2, B3] +test { try toAsciiFail("xn----guc3592k.xn--qe6h", true); } // [B2, B3] test { try toUnicodeFail("xn----guc3592k.xn--0ug7611p"); } // [B2, B3, C1] +test { try toAsciiFail("xn----guc3592k.xn--0ug7611p", false); } // [B2, B3, C1] +test { try toAsciiFail("xn----guc3592k.xn--0ug7611p", true); } // [B2, B3, C1] test { try toUnicodeFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf\xef\xbc\x8e\xf0\x9e\xa4\xb2\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf\xef\xbc\x8e\xf0\x9e\xa4\xb2\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xe1\x84\x82\xe1\x85\xb0\xe1\x86\xbf\xef\xbc\x8e\xf0\x9e\xa4\xb2\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xda\xaa-\xeb\x89\x94\xef\xbc\x8e\xf0\x9e\xa4\xb2\xe2\x80\x8c"); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94\xef\xbc\x8e\xf0\x9e\xa4\xb2\xe2\x80\x8c", false); } // [B2, B3, C1] +test { try toAsciiFail("\xda\xaa-\xeb\x89\x94\xef\xbc\x8e\xf0\x9e\xa4\xb2\xe2\x80\x8c", true); } // [B2, B3] test { try toUnicodeFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xcf\x82.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb55\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--5-0mb988ng603j.xn--fob7kk44dl41k"); } // [B1, V6, V7] +test { try toAsciiFail("xn--5-0mb988ng603j.xn--fob7kk44dl41k", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--5-0mb988ng603j.xn--fob7kk44dl41k", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--5-ymb298ng603j.xn--fob7kk44dl41k"); } // [B1, V6, V7] +test { try toAsciiFail("xn--5-ymb298ng603j.xn--fob7kk44dl41k", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--5-ymb298ng603j.xn--fob7kk44dl41k", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xdc\xb8\xe1\xb3\x92", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xce\xa3.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x94\xb2\xb5\xef\xbc\x95\xe1\xa6\x9b\xcf\x83.\xea\xa3\x84\xdd\xbb\xe1\xb3\x92\xdc\xb8", true); } // [B1, V6, V7] test { try toUnicodePass("\xe6\xb7\xbd\xe3\x80\x82\xe1\xa0\xbe", "\xe6\xb7\xbd.\xe1\xa0\xbe"); } test { try toAsciiPass("\xe6\xb7\xbd\xe3\x80\x82\xe1\xa0\xbe", "xn--34w.xn--x7e", false); } test { try toAsciiPass("\xe6\xb7\xbd\xe3\x80\x82\xe1\xa0\xbe", "xn--34w.xn--x7e", true); } @@ -4344,236 +10464,698 @@ test { try toUnicodePass("\xe6\xb7\xbd.\xe1\xa0\xbe", "\xe6\xb7\xbd.\xe1\xa0\xbe test { try toAsciiPass("\xe6\xb7\xbd.\xe1\xa0\xbe", "xn--34w.xn--x7e", false); } test { try toAsciiPass("\xe6\xb7\xbd.\xe1\xa0\xbe", "xn--34w.xn--x7e", true); } test { try toUnicodeFail("\xf0\x90\xb9\xb4\xf0\x91\x98\xb7\xe3\x80\x82-"); } // [B1, V3] +test { try toAsciiFail("\xf0\x90\xb9\xb4\xf0\x91\x98\xb7\xe3\x80\x82-", false); } // [B1, V3] +test { try toAsciiFail("\xf0\x90\xb9\xb4\xf0\x91\x98\xb7\xe3\x80\x82-", true); } // [B1, V3] test { try toUnicodeFail("xn--so0do6k.-"); } // [B1, V3] +test { try toAsciiFail("xn--so0do6k.-", false); } // [B1, V3] +test { try toAsciiFail("xn--so0do6k.-", true); } // [B1, V3] test { try toUnicodeFail("\xf2\xac\xa8\xa9\xe1\x82\xb3\xe2\x9d\x93\xef\xbd\xa1\xf0\x91\x84\xa8"); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe1\x82\xb3\xe2\x9d\x93\xef\xbd\xa1\xf0\x91\x84\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe1\x82\xb3\xe2\x9d\x93\xef\xbd\xa1\xf0\x91\x84\xa8", true); } // [V6, V7] test { try toUnicodeFail("\xf2\xac\xa8\xa9\xe1\x82\xb3\xe2\x9d\x93\xe3\x80\x82\xf0\x91\x84\xa8"); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe1\x82\xb3\xe2\x9d\x93\xe3\x80\x82\xf0\x91\x84\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe1\x82\xb3\xe2\x9d\x93\xe3\x80\x82\xf0\x91\x84\xa8", true); } // [V6, V7] test { try toUnicodeFail("\xf2\xac\xa8\xa9\xe2\xb4\x93\xe2\x9d\x93\xe3\x80\x82\xf0\x91\x84\xa8"); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe2\xb4\x93\xe2\x9d\x93\xe3\x80\x82\xf0\x91\x84\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe2\xb4\x93\xe2\x9d\x93\xe3\x80\x82\xf0\x91\x84\xa8", true); } // [V6, V7] test { try toUnicodeFail("xn--8di78qvw32y.xn--k80d"); } // [V6, V7] +test { try toAsciiFail("xn--8di78qvw32y.xn--k80d", false); } // [V6, V7] +test { try toAsciiFail("xn--8di78qvw32y.xn--k80d", true); } // [V6, V7] test { try toUnicodeFail("\xf2\xac\xa8\xa9\xe2\xb4\x93\xe2\x9d\x93\xef\xbd\xa1\xf0\x91\x84\xa8"); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe2\xb4\x93\xe2\x9d\x93\xef\xbd\xa1\xf0\x91\x84\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xf2\xac\xa8\xa9\xe2\xb4\x93\xe2\x9d\x93\xef\xbd\xa1\xf0\x91\x84\xa8", true); } // [V6, V7] test { try toUnicodeFail("xn--rnd896i0j14q.xn--k80d"); } // [V6, V7] +test { try toAsciiFail("xn--rnd896i0j14q.xn--k80d", false); } // [V6, V7] +test { try toAsciiFail("xn--rnd896i0j14q.xn--k80d", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1\xc3\x9f\xe1\x82\xa3"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1\xc3\x9f\xe1\x82\xa3", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1\xc3\x9f\xe1\x82\xa3", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82\xc3\x9f\xe1\x82\xa3"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82\xc3\x9f\xe1\x82\xa3", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82\xc3\x9f\xe1\x82\xa3", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xe3\x80\x82\xc3\x9f\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xe3\x80\x82\xc3\x9f\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xe3\x80\x82\xc3\x9f\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82SS\xe1\x82\xa3"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82SS\xe1\x82\xa3", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82SS\xe1\x82\xa3", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xe3\x80\x82ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xe3\x80\x82ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xe3\x80\x82ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82Ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82Ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82Ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("xn--ykj9323eegwf.xn--ss-151a"); } // [B1] +test { try toAsciiFail("xn--ykj9323eegwf.xn--ss-151a", false); } // [B1] +test { try toAsciiFail("xn--ykj9323eegwf.xn--ss-151a", true); } // [B1] test { try toUnicodeFail("xn--0ug332c3q0pr56g.xn--ss-151a"); } // [B1, C1] +test { try toAsciiFail("xn--0ug332c3q0pr56g.xn--ss-151a", false); } // [B1, C1] +test { try toAsciiFail("xn--0ug332c3q0pr56g.xn--ss-151a", true); } // [B1, C1] test { try toUnicodeFail("xn--0ug332c3q0pr56g.xn--zca417t"); } // [B1, C1] +test { try toAsciiFail("xn--0ug332c3q0pr56g.xn--zca417t", false); } // [B1, C1] +test { try toAsciiFail("xn--0ug332c3q0pr56g.xn--zca417t", true); } // [B1, C1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xef\xbd\xa1\xc3\x9f\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xef\xbd\xa1\xc3\x9f\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xef\xbd\xa1\xc3\x9f\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1SS\xe1\x82\xa3"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1SS\xe1\x82\xa3", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1SS\xe1\x82\xa3", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xef\xbd\xa1ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xef\xbd\xa1ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\xae\xe2\xb4\x87\xef\xbd\xa1ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1Ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1Ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1Ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("xn--fnd1201kegrf.xn--ss-fek"); } // [B1, V7] +test { try toAsciiFail("xn--fnd1201kegrf.xn--ss-fek", false); } // [B1, V7] +test { try toAsciiFail("xn--fnd1201kegrf.xn--ss-fek", true); } // [B1, V7] test { try toUnicodeFail("xn--fnd599eyj4pr50g.xn--ss-fek"); } // [B1, C1, V7] +test { try toAsciiFail("xn--fnd599eyj4pr50g.xn--ss-fek", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--fnd599eyj4pr50g.xn--ss-fek", true); } // [B1, C1, V7] test { try toUnicodeFail("xn--fnd599eyj4pr50g.xn--zca681f"); } // [B1, C1, V7] +test { try toAsciiFail("xn--fnd599eyj4pr50g.xn--zca681f", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--fnd599eyj4pr50g.xn--zca681f", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82\xc3\x9f\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82\xc3\x9f\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82\xc3\x9f\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xe3\x80\x82ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82Ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82Ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xe3\x80\x82Ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("xn--fnd1201kegrf.xn--ss-151a"); } // [B1, V7] +test { try toAsciiFail("xn--fnd1201kegrf.xn--ss-151a", false); } // [B1, V7] +test { try toAsciiFail("xn--fnd1201kegrf.xn--ss-151a", true); } // [B1, V7] test { try toUnicodeFail("xn--fnd599eyj4pr50g.xn--ss-151a"); } // [B1, C1, V7] +test { try toAsciiFail("xn--fnd599eyj4pr50g.xn--ss-151a", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--fnd599eyj4pr50g.xn--ss-151a", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1\xc3\x9f\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1\xc3\x9f\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1\xc3\x9f\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe2\xb4\x87\xef\xbd\xa1ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1Ss\xe2\xb4\x83"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1Ss\xe2\xb4\x83", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xb9\xa1\xf0\x9e\xa4\x8c\xe1\x82\xa7\xef\xbd\xa1Ss\xe2\xb4\x83", true); } // [B1] test { try toUnicodeFail("\xe1\x9f\xbf\xef\xbd\xa1\xf0\x9e\xac\xb3"); } // [V7] +test { try toAsciiFail("\xe1\x9f\xbf\xef\xbd\xa1\xf0\x9e\xac\xb3", false); } // [V7] +test { try toAsciiFail("\xe1\x9f\xbf\xef\xbd\xa1\xf0\x9e\xac\xb3", true); } // [V7] test { try toUnicodeFail("\xe1\x9f\xbf\xe3\x80\x82\xf0\x9e\xac\xb3"); } // [V7] +test { try toAsciiFail("\xe1\x9f\xbf\xe3\x80\x82\xf0\x9e\xac\xb3", false); } // [V7] +test { try toAsciiFail("\xe1\x9f\xbf\xe3\x80\x82\xf0\x9e\xac\xb3", true); } // [V7] test { try toUnicodeFail("xn--45e.xn--et6h"); } // [V7] +test { try toAsciiFail("xn--45e.xn--et6h", false); } // [V7] +test { try toAsciiFail("xn--45e.xn--et6h", true); } // [V7] test { try toUnicodeFail("\xd9\x92\xe2\x80\x8d\xef\xbd\xa1\xe0\xb3\x8d\xf0\x91\x9a\xb3"); } // [C2, V6] +test { try toAsciiFail("\xd9\x92\xe2\x80\x8d\xef\xbd\xa1\xe0\xb3\x8d\xf0\x91\x9a\xb3", false); } // [C2, V6] +test { try toAsciiFail("\xd9\x92\xe2\x80\x8d\xef\xbd\xa1\xe0\xb3\x8d\xf0\x91\x9a\xb3", true); } // [V6] test { try toUnicodeFail("\xd9\x92\xe2\x80\x8d\xe3\x80\x82\xe0\xb3\x8d\xf0\x91\x9a\xb3"); } // [C2, V6] +test { try toAsciiFail("\xd9\x92\xe2\x80\x8d\xe3\x80\x82\xe0\xb3\x8d\xf0\x91\x9a\xb3", false); } // [C2, V6] +test { try toAsciiFail("\xd9\x92\xe2\x80\x8d\xe3\x80\x82\xe0\xb3\x8d\xf0\x91\x9a\xb3", true); } // [V6] test { try toUnicodeFail("xn--uhb.xn--8tc4527k"); } // [V6] +test { try toAsciiFail("xn--uhb.xn--8tc4527k", false); } // [V6] +test { try toAsciiFail("xn--uhb.xn--8tc4527k", true); } // [V6] test { try toUnicodeFail("xn--uhb882k.xn--8tc4527k"); } // [C2, V6] +test { try toAsciiFail("xn--uhb882k.xn--8tc4527k", false); } // [C2, V6] +test { try toAsciiFail("xn--uhb882k.xn--8tc4527k", true); } // [C2, V6] test { try toUnicodeFail("-\xe2\x89\xa0\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa5\x83\xe2\x89\xae\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa5\x83\xe2\x89\xae\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa5\x83\xe2\x89\xae\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-=\xcc\xb8\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa5\x83<\xcc\xb8\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa5\x83<\xcc\xb8\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa5\x83<\xcc\xb8\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-\xe2\x89\xa0\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa5\x83\xe2\x89\xae\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa5\x83\xe2\x89\xae\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa5\x83\xe2\x89\xae\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-=\xcc\xb8\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa5\x83<\xcc\xb8\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa5\x83<\xcc\xb8\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa5\x83<\xcc\xb8\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-=\xcc\xb8\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa4\xa1<\xcc\xb8\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa4\xa1<\xcc\xb8\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa4\xa1<\xcc\xb8\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-\xe2\x89\xa0\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa4\xa1\xe2\x89\xae\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa4\xa1\xe2\x89\xae\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb.\xdd\xad\xf0\x9e\xa4\xa1\xe2\x89\xae\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn----g6j886c.xn--xpb049kk353abj99f"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn----g6j886c.xn--xpb049kk353abj99f", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn----g6j886c.xn--xpb049kk353abj99f", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-=\xcc\xb8\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa4\xa1<\xcc\xb8\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa4\xa1<\xcc\xb8\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-=\xcc\xb8\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa4\xa1<\xcc\xb8\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("-\xe2\x89\xa0\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa4\xa1\xe2\x89\xae\xf3\x9f\xb7\xba"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa4\xa1\xe2\x89\xae\xf3\x9f\xb7\xba", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("-\xe2\x89\xa0\xe1\xa0\xbb\xef\xbc\x8e\xdd\xad\xf0\x9e\xa4\xa1\xe2\x89\xae\xf3\x9f\xb7\xba", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xf3\xa0\xb0\x86\xe2\x89\xaf\xde\xb5\xf0\x90\xbb\xaa\xef\xbc\x8e\xf2\x8a\xa5\x95\xe2\x89\xae\xf0\x91\x81\x86\xe0\xa1\x8c"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86\xe2\x89\xaf\xde\xb5\xf0\x90\xbb\xaa\xef\xbc\x8e\xf2\x8a\xa5\x95\xe2\x89\xae\xf0\x91\x81\x86\xe0\xa1\x8c", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86\xe2\x89\xaf\xde\xb5\xf0\x90\xbb\xaa\xef\xbc\x8e\xf2\x8a\xa5\x95\xe2\x89\xae\xf0\x91\x81\x86\xe0\xa1\x8c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\xb0\x86>\xcc\xb8\xde\xb5\xf0\x90\xbb\xaa\xef\xbc\x8e\xf2\x8a\xa5\x95<\xcc\xb8\xf0\x91\x81\x86\xe0\xa1\x8c"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86>\xcc\xb8\xde\xb5\xf0\x90\xbb\xaa\xef\xbc\x8e\xf2\x8a\xa5\x95<\xcc\xb8\xf0\x91\x81\x86\xe0\xa1\x8c", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86>\xcc\xb8\xde\xb5\xf0\x90\xbb\xaa\xef\xbc\x8e\xf2\x8a\xa5\x95<\xcc\xb8\xf0\x91\x81\x86\xe0\xa1\x8c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\xb0\x86\xe2\x89\xaf\xde\xb5\xf0\x90\xbb\xaa.\xf2\x8a\xa5\x95\xe2\x89\xae\xf0\x91\x81\x86\xe0\xa1\x8c"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86\xe2\x89\xaf\xde\xb5\xf0\x90\xbb\xaa.\xf2\x8a\xa5\x95\xe2\x89\xae\xf0\x91\x81\x86\xe0\xa1\x8c", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86\xe2\x89\xaf\xde\xb5\xf0\x90\xbb\xaa.\xf2\x8a\xa5\x95\xe2\x89\xae\xf0\x91\x81\x86\xe0\xa1\x8c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\xb0\x86>\xcc\xb8\xde\xb5\xf0\x90\xbb\xaa.\xf2\x8a\xa5\x95<\xcc\xb8\xf0\x91\x81\x86\xe0\xa1\x8c"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86>\xcc\xb8\xde\xb5\xf0\x90\xbb\xaa.\xf2\x8a\xa5\x95<\xcc\xb8\xf0\x91\x81\x86\xe0\xa1\x8c", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\x86>\xcc\xb8\xde\xb5\xf0\x90\xbb\xaa.\xf2\x8a\xa5\x95<\xcc\xb8\xf0\x91\x81\x86\xe0\xa1\x8c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--zrb797kdm1oes34i.xn--bwb394k8k2o25n6d"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--zrb797kdm1oes34i.xn--bwb394k8k2o25n6d", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--zrb797kdm1oes34i.xn--bwb394k8k2o25n6d", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x89\xa0\xf3\xa6\x8b\x82.\xd8\x80\xe0\xaf\x8d-\xda\xb9"); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xa0\xf3\xa6\x8b\x82.\xd8\x80\xe0\xaf\x8d-\xda\xb9", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xa0\xf3\xa6\x8b\x82.\xd8\x80\xe0\xaf\x8d-\xda\xb9", true); } // [B1, V7] test { try toUnicodeFail("=\xcc\xb8\xf3\xa6\x8b\x82.\xd8\x80\xe0\xaf\x8d-\xda\xb9"); } // [B1, V7] +test { try toAsciiFail("=\xcc\xb8\xf3\xa6\x8b\x82.\xd8\x80\xe0\xaf\x8d-\xda\xb9", false); } // [B1, V7] +test { try toAsciiFail("=\xcc\xb8\xf3\xa6\x8b\x82.\xd8\x80\xe0\xaf\x8d-\xda\xb9", true); } // [B1, V7] test { try toUnicodeFail("xn--1ch22084l.xn----qkc07co6n"); } // [B1, V7] +test { try toAsciiFail("xn--1ch22084l.xn----qkc07co6n", false); } // [B1, V7] +test { try toAsciiFail("xn--1ch22084l.xn----qkc07co6n", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3\xe2\x89\xa0\xef\xbd\xa1\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3\xe2\x89\xa0\xef\xbd\xa1\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3\xe2\x89\xa0\xef\xbd\xa1\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3=\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3=\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3=\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3\xe2\x89\xa0\xe3\x80\x82\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3\xe2\x89\xa0\xe3\x80\x82\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3\xe2\x89\xa0\xe3\x80\x82\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3=\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4"); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3=\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe1\x9f\x9d\xf3\xa0\x81\xa3=\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbc\xf0\x90\x8b\xa4", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--54e694cn389z.xn--787ct8r"); } // [B1, V6, V7] +test { try toAsciiFail("xn--54e694cn389z.xn--787ct8r", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--54e694cn389z.xn--787ct8r", true); } // [B1, V6, V7] test { try toUnicodeFail("\xc3\x9f\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xae\xc3\x9f"); } // [V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xae\xc3\x9f", false); } // [V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xae\xc3\x9f", true); } // [V6, V7] test { try toUnicodeFail("\xc3\x9f\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xae\xc3\x9f"); } // [V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xae\xc3\x9f", false); } // [V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xae\xc3\x9f", true); } // [V6, V7] test { try toUnicodeFail("SS\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSS"); } // [V6, V7] +test { try toAsciiFail("SS\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSS", false); } // [V6, V7] +test { try toAsciiFail("SS\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSS", true); } // [V6, V7] test { try toUnicodeFail("ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaess"); } // [V6, V7] +test { try toAsciiFail("ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaess", false); } // [V6, V7] +test { try toAsciiFail("ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaess", true); } // [V6, V7] test { try toUnicodeFail("Ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSs"); } // [V6, V7] +test { try toAsciiFail("Ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSs", false); } // [V6, V7] +test { try toAsciiFail("Ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xe3\x80\x82\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSs", true); } // [V6, V7] test { try toUnicodeFail("xn--ss-jl59biy67d.xn--ss-4d11aw87d"); } // [V6, V7] +test { try toAsciiFail("xn--ss-jl59biy67d.xn--ss-4d11aw87d", false); } // [V6, V7] +test { try toAsciiFail("xn--ss-jl59biy67d.xn--ss-4d11aw87d", true); } // [V6, V7] test { try toUnicodeFail("xn--zca20040bgrkh.xn--zca3653v86qa"); } // [V6, V7] +test { try toAsciiFail("xn--zca20040bgrkh.xn--zca3653v86qa", false); } // [V6, V7] +test { try toAsciiFail("xn--zca20040bgrkh.xn--zca3653v86qa", true); } // [V6, V7] test { try toUnicodeFail("SS\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSS"); } // [V6, V7] +test { try toAsciiFail("SS\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSS", false); } // [V6, V7] +test { try toAsciiFail("SS\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSS", true); } // [V6, V7] test { try toUnicodeFail("ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaess"); } // [V6, V7] +test { try toAsciiFail("ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaess", false); } // [V6, V7] +test { try toAsciiFail("ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaess", true); } // [V6, V7] test { try toUnicodeFail("Ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSs"); } // [V6, V7] +test { try toAsciiFail("Ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSs", false); } // [V6, V7] +test { try toAsciiFail("Ss\xf0\xb0\x80\xbb\xf1\x86\xac\x97\xef\xbd\xa1\xf0\x9d\xa9\xa8\xf0\x9f\x95\xaeSs", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xe2\x80\x8c"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xe2\x80\x8c", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xe2\x80\x8c", true); } // [A4_1, A4_2] test { try toUnicodeFail("xn--1ug.xn--0ug"); } // [C1, C2] +test { try toAsciiFail("xn--1ug.xn--0ug", false); } // [C1, C2] +test { try toAsciiFail("xn--1ug.xn--0ug", true); } // [C1, C2] test { try toUnicodeFail("\xd2\x83\xf0\x90\xad\x9e\xe2\x80\x8d.\xe1\x9e\xb9\xf0\x9e\xaf\x8c\xf2\x9f\xa9\x9a"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xd2\x83\xf0\x90\xad\x9e\xe2\x80\x8d.\xe1\x9e\xb9\xf0\x9e\xaf\x8c\xf2\x9f\xa9\x9a", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xd2\x83\xf0\x90\xad\x9e\xe2\x80\x8d.\xe1\x9e\xb9\xf0\x9e\xaf\x8c\xf2\x9f\xa9\x9a", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--m3a6965k.xn--43e8670vmd79b"); } // [B1, V6, V7] +test { try toAsciiFail("xn--m3a6965k.xn--43e8670vmd79b", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--m3a6965k.xn--43e8670vmd79b", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--m3a412lrr0o.xn--43e8670vmd79b"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--m3a412lrr0o.xn--43e8670vmd79b", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--m3a412lrr0o.xn--43e8670vmd79b", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xa0\xa8\xe2\x80\x8c\xe4\xb8\xb4\xe3\x80\x82\xea\xa1\xa2\xf2\x84\xb7\x9e\xe2\xb6\x8f\xf0\x90\xb9\xa3"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xa0\xa8\xe2\x80\x8c\xe4\xb8\xb4\xe3\x80\x82\xea\xa1\xa2\xf2\x84\xb7\x9e\xe2\xb6\x8f\xf0\x90\xb9\xa3", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xa0\xa8\xe2\x80\x8c\xe4\xb8\xb4\xe3\x80\x82\xea\xa1\xa2\xf2\x84\xb7\x9e\xe2\xb6\x8f\xf0\x90\xb9\xa3", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--miq9646b.xn--uojv340bk71c99u9f"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--miq9646b.xn--uojv340bk71c99u9f", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--miq9646b.xn--uojv340bk71c99u9f", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--0uga2656aop9k.xn--uojv340bk71c99u9f"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0uga2656aop9k.xn--uojv340bk71c99u9f", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0uga2656aop9k.xn--uojv340bk71c99u9f", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xf3\xa0\x91\x98\xef\xbc\x8e\xf3\xa0\x84\xae"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x91\x98\xef\xbc\x8e\xf3\xa0\x84\xae", false); } // [V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x91\x98\xef\xbc\x8e\xf3\xa0\x84\xae", true); } // [V7, A4_2] test { try toUnicodeFail("\xf3\xa0\x91\x98.\xf3\xa0\x84\xae"); } // [V7] +test { try toAsciiFail("\xf3\xa0\x91\x98.\xf3\xa0\x84\xae", false); } // [V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x91\x98.\xf3\xa0\x84\xae", true); } // [V7, A4_2] test { try toUnicodeFail("xn--s136e."); } // [V7] +test { try toAsciiFail("xn--s136e.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--s136e.", true); } // [V7, A4_2] test { try toUnicodeFail("\xf0\x90\xab\x84\xe0\xb5\x8d\xef\xbc\x8e\xea\xab\xb6"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xab\x84\xe0\xb5\x8d\xef\xbc\x8e\xea\xab\xb6", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xab\x84\xe0\xb5\x8d\xef\xbc\x8e\xea\xab\xb6", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x90\xab\x84\xe0\xb5\x8d.\xea\xab\xb6"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xab\x84\xe0\xb5\x8d.\xea\xab\xb6", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xab\x84\xe0\xb5\x8d.\xea\xab\xb6", true); } // [B1, V6] test { try toUnicodeFail("xn--wxc7880k.xn--2v9a"); } // [B1, V6] +test { try toAsciiFail("xn--wxc7880k.xn--2v9a", false); } // [B1, V6] +test { try toAsciiFail("xn--wxc7880k.xn--2v9a", true); } // [B1, V6] test { try toUnicodeFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xeb\xa9\xb9\xe3\x80\x82\xe2\x92\x9b\xf3\xa0\xa8\x87"); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xeb\xa9\xb9\xe3\x80\x82\xe2\x92\x9b\xf3\xa0\xa8\x87", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xeb\xa9\xb9\xe3\x80\x82\xe2\x92\x9b\xf3\xa0\xa8\x87", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xb0\xe3\x80\x82\xe2\x92\x9b\xf3\xa0\xa8\x87"); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xb0\xe3\x80\x82\xe2\x92\x9b\xf3\xa0\xa8\x87", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xb0\xe3\x80\x82\xe2\x92\x9b\xf3\xa0\xa8\x87", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xeb\xa9\xb9\xe3\x80\x8220.\xf3\xa0\xa8\x87"); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xeb\xa9\xb9\xe3\x80\x8220.\xf3\xa0\xa8\x87", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xeb\xa9\xb9\xe3\x80\x8220.\xf3\xa0\xa8\x87", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xb0\xe3\x80\x8220.\xf3\xa0\xa8\x87"); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xb0\xe3\x80\x8220.\xf3\xa0\xa8\x87", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa6\xb7\xf3\x9d\xb5\x99\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xb0\xe3\x80\x8220.\xf3\xa0\xa8\x87", true); } // [V6, V7] test { try toUnicodeFail("xn--ym9av13acp85w.20.xn--d846e"); } // [V6, V7] +test { try toAsciiFail("xn--ym9av13acp85w.20.xn--d846e", false); } // [V6, V7] +test { try toAsciiFail("xn--ym9av13acp85w.20.xn--d846e", true); } // [V6, V7] test { try toUnicodeFail("xn--ym9av13acp85w.xn--dth22121k"); } // [V6, V7] +test { try toAsciiFail("xn--ym9av13acp85w.xn--dth22121k", false); } // [V6, V7] +test { try toAsciiFail("xn--ym9av13acp85w.xn--dth22121k", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a"); } // [B4, B6, V7] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", false); } // [B4, B6, V7] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", true); } // [B4, B6, V7] test { try toUnicodeFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a"); } // [B4, B6, V7] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", false); } // [B4, B6, V7] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", true); } // [B4, B6, V7] test { try toUnicodeFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33."); } // [B4, B6, V7] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", false); } // [B4, B6, V7, A4_2] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", true); } // [B4, B6, V7, A4_2] test { try toUnicodeFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33."); } // [B4, B6, V7] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", false); } // [B4, B6, V7, A4_2] +test { try toAsciiFail("\xe1\x82\xa5\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", true); } // [B4, B6, V7, A4_2] test { try toUnicodeFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33."); } // [B4, B6, V7] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", false); } // [B4, B6, V7, A4_2] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", true); } // [B4, B6, V7, A4_2] test { try toUnicodeFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33."); } // [B4, B6, V7] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", false); } // [B4, B6, V7, A4_2] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb33.", true); } // [B4, B6, V7, A4_2] test { try toUnicodeFail("xn--wkj8016bne45io02g.xn--3-55c6803r."); } // [B4, B6, V7] +test { try toAsciiFail("xn--wkj8016bne45io02g.xn--3-55c6803r.", false); } // [B4, B6, V7, A4_2] +test { try toAsciiFail("xn--wkj8016bne45io02g.xn--3-55c6803r.", true); } // [B4, B6, V7, A4_2] test { try toUnicodeFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a"); } // [B4, B6, V7] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", false); } // [B4, B6, V7] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xe1\x84\x85\xe1\x85\xb4\xe1\x86\xad\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", true); } // [B4, B6, V7] test { try toUnicodeFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a"); } // [B4, B6, V7] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", false); } // [B4, B6, V7] +test { try toAsciiFail("\xe2\xb4\x85\xf3\xb2\xac\xb9\xeb\xa6\x96\xf3\xa0\xb6\x9a.\xdd\xb7\xf0\x90\xb9\xb3\xe2\x92\x8a", true); } // [B4, B6, V7] test { try toUnicodeFail("xn--wkj8016bne45io02g.xn--7pb000mwm4n"); } // [B4, B6, V7] +test { try toAsciiFail("xn--wkj8016bne45io02g.xn--7pb000mwm4n", false); } // [B4, B6, V7] +test { try toAsciiFail("xn--wkj8016bne45io02g.xn--7pb000mwm4n", true); } // [B4, B6, V7] test { try toUnicodeFail("xn--dnd2167fnet0io02g.xn--3-55c6803r."); } // [B4, B6, V7] +test { try toAsciiFail("xn--dnd2167fnet0io02g.xn--3-55c6803r.", false); } // [B4, B6, V7, A4_2] +test { try toAsciiFail("xn--dnd2167fnet0io02g.xn--3-55c6803r.", true); } // [B4, B6, V7, A4_2] test { try toUnicodeFail("xn--dnd2167fnet0io02g.xn--7pb000mwm4n"); } // [B4, B6, V7] +test { try toAsciiFail("xn--dnd2167fnet0io02g.xn--7pb000mwm4n", false); } // [B4, B6, V7] +test { try toAsciiFail("xn--dnd2167fnet0io02g.xn--7pb000mwm4n", true); } // [B4, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbd\xa1\xef\xb8\x92"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xef\xb8\x92", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbd\xa1\xef\xb8\x92", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe3\x80\x82\xe3\x80\x82"); } // [C1, X4_2] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xe3\x80\x82", false); } // [C1, A4_2] +test { try toAsciiFail("\xe2\x80\x8c\xe3\x80\x82\xe3\x80\x82", true); } // [A4_2] test { try toUnicodeFail(".."); } // [X4_2] +test { try toAsciiFail("..", false); } // [A4_2] +test { try toAsciiFail("..", true); } // [A4_2] test { try toUnicodeFail("xn--0ug.."); } // [C1, X4_2] +test { try toAsciiFail("xn--0ug..", false); } // [C1, A4_2] +test { try toAsciiFail("xn--0ug..", true); } // [C1, A4_2] test { try toUnicodeFail(".xn--y86c"); } // [V7, X4_2] +test { try toAsciiFail(".xn--y86c", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--y86c", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--y86c"); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--y86c", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--y86c", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x89\xaf\xdd\xad\xef\xbc\x8e\xe2\x82\x84"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xdd\xad\xef\xbc\x8e\xe2\x82\x84", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xdd\xad\xef\xbc\x8e\xe2\x82\x84", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xdd\xad\xef\xbc\x8e\xe2\x82\x84"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xdd\xad\xef\xbc\x8e\xe2\x82\x84", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xdd\xad\xef\xbc\x8e\xe2\x82\x84", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xaf\xdd\xad.e"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xdd\xad.e", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xdd\xad.e", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xdd\xad.e"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xdd\xad.e", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xdd\xad.e", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xdd\xad.E"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xdd\xad.E", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xdd\xad.E", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xaf\xdd\xad.E"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xdd\xad.E", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xdd\xad.E", true); } // [B1] test { try toUnicodeFail("xn--xpb149k.e"); } // [B1] +test { try toAsciiFail("xn--xpb149k.e", false); } // [B1] +test { try toAsciiFail("xn--xpb149k.e", true); } // [B1] test { try toUnicodeFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.\xc3\x9f-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.\xc3\x9f-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.\xc3\x9f-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xe1\xa1\xb2-3.\xc3\x9f-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.\xc3\x9f-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.\xc3\x9f-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xe1\xa1\xb2-3.SS-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.SS-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.SS-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xe1\xa1\xb2-3.ss-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.ss-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.ss-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xe1\xa1\xb2-3.Ss-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.Ss-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-3.Ss-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("xn---3-p9o.ss--"); } // [V2, V3] +test { try toAsciiFail("xn---3-p9o.ss--", false); } // [V2, V3] +test { try toAsciiFail("xn---3-p9o.ss--", true); } // [V2, V3] test { try toUnicodeFail("xn---3-p9o.xn--ss---276a"); } // [C1, V3] +test { try toAsciiFail("xn---3-p9o.xn--ss---276a", false); } // [C1, V3] +test { try toAsciiFail("xn---3-p9o.xn--ss---276a", true); } // [C1, V3] test { try toUnicodeFail("xn---3-p9o.xn-----fia9303a"); } // [C1, V3] +test { try toAsciiFail("xn---3-p9o.xn-----fia9303a", false); } // [C1, V3] +test { try toAsciiFail("xn---3-p9o.xn-----fia9303a", true); } // [C1, V3] test { try toUnicodeFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.SS-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.SS-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.SS-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.ss-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.ss-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.ss-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.Ss-\xe2\x80\x8c-"); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.Ss-\xe2\x80\x8c-", false); } // [C1, V3] +test { try toAsciiFail("\xe1\xa1\xb2-\xf0\x9d\x9f\xb9.Ss-\xe2\x80\x8c-", true); } // [V2, V3] test { try toUnicodeFail("\xef\xb4\x88\xf0\x9d\x9f\xa6\xd9\x87\xf3\x8e\x8a\xaf\xef\xbd\xa1\xd3\x80"); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb4\x88\xf0\x9d\x9f\xa6\xd9\x87\xf3\x8e\x8a\xaf\xef\xbd\xa1\xd3\x80", false); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb4\x88\xf0\x9d\x9f\xa6\xd9\x87\xf3\x8e\x8a\xaf\xef\xbd\xa1\xd3\x80", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd8\xb6\xd9\x8a4\xd9\x87\xf3\x8e\x8a\xaf\xe3\x80\x82\xd3\x80"); } // [B2, B3, V7] +test { try toAsciiFail("\xd8\xb6\xd9\x8a4\xd9\x87\xf3\x8e\x8a\xaf\xe3\x80\x82\xd3\x80", false); } // [B2, B3, V7] +test { try toAsciiFail("\xd8\xb6\xd9\x8a4\xd9\x87\xf3\x8e\x8a\xaf\xe3\x80\x82\xd3\x80", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd8\xb6\xd9\x8a4\xd9\x87\xf3\x8e\x8a\xaf\xe3\x80\x82\xd3\x8f"); } // [B2, B3, V7] +test { try toAsciiFail("\xd8\xb6\xd9\x8a4\xd9\x87\xf3\x8e\x8a\xaf\xe3\x80\x82\xd3\x8f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xd8\xb6\xd9\x8a4\xd9\x87\xf3\x8e\x8a\xaf\xe3\x80\x82\xd3\x8f", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--4-tnc6ck183523b.xn--s5a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--4-tnc6ck183523b.xn--s5a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--4-tnc6ck183523b.xn--s5a", true); } // [B2, B3, V7] test { try toUnicodeFail("\xef\xb4\x88\xf0\x9d\x9f\xa6\xd9\x87\xf3\x8e\x8a\xaf\xef\xbd\xa1\xd3\x8f"); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb4\x88\xf0\x9d\x9f\xa6\xd9\x87\xf3\x8e\x8a\xaf\xef\xbd\xa1\xd3\x8f", false); } // [B2, B3, V7] +test { try toAsciiFail("\xef\xb4\x88\xf0\x9d\x9f\xa6\xd9\x87\xf3\x8e\x8a\xaf\xef\xbd\xa1\xd3\x8f", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--4-tnc6ck183523b.xn--d5a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--4-tnc6ck183523b.xn--d5a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--4-tnc6ck183523b.xn--d5a", true); } // [B2, B3, V7] test { try toUnicodeFail("-.\xd8\x82\xd8\xa2\xf0\x91\x86\xbe\xf0\x9f\x90\xb9"); } // [B1, V3, V7] +test { try toAsciiFail("-.\xd8\x82\xd8\xa2\xf0\x91\x86\xbe\xf0\x9f\x90\xb9", false); } // [B1, V3, V7] +test { try toAsciiFail("-.\xd8\x82\xd8\xa2\xf0\x91\x86\xbe\xf0\x9f\x90\xb9", true); } // [B1, V3, V7] test { try toUnicodeFail("-.\xd8\x82\xd8\xa7\xd9\x93\xf0\x91\x86\xbe\xf0\x9f\x90\xb9"); } // [B1, V3, V7] +test { try toAsciiFail("-.\xd8\x82\xd8\xa7\xd9\x93\xf0\x91\x86\xbe\xf0\x9f\x90\xb9", false); } // [B1, V3, V7] +test { try toAsciiFail("-.\xd8\x82\xd8\xa7\xd9\x93\xf0\x91\x86\xbe\xf0\x9f\x90\xb9", true); } // [B1, V3, V7] test { try toUnicodeFail("-.xn--kfb8dy983hgl7g"); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--kfb8dy983hgl7g", false); } // [B1, V3, V7] +test { try toAsciiFail("-.xn--kfb8dy983hgl7g", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x99\xb6\x9c\xe1\xa2\x98\xe3\x80\x82\xe1\xa9\xbf\xe2\xba\xa2"); } // [V6, V7] +test { try toAsciiFail("\xf3\x99\xb6\x9c\xe1\xa2\x98\xe3\x80\x82\xe1\xa9\xbf\xe2\xba\xa2", false); } // [V6, V7] +test { try toAsciiFail("\xf3\x99\xb6\x9c\xe1\xa2\x98\xe3\x80\x82\xe1\xa9\xbf\xe2\xba\xa2", true); } // [V6, V7] test { try toUnicodeFail("xn--ibf35138o.xn--fpfz94g"); } // [V6, V7] +test { try toAsciiFail("xn--ibf35138o.xn--fpfz94g", false); } // [V6, V7] +test { try toAsciiFail("xn--ibf35138o.xn--fpfz94g", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe1\x82\xab\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("=\xcc\xb8\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("\xe2\x89\xa0\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xe3\x80\x82?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("xn--66e353ce0ilb.xn--?-7fb34t0u7s"); } // [B1, U1] +test { try toAsciiFail("xn--66e353ce0ilb.xn--?-7fb34t0u7s", false); } // [B1, U1] +test { try toAsciiFail("xn--66e353ce0ilb.xn--?-7fb34t0u7s", true); } // [B1, U1] test { try toUnicodeFail("=\xcc\xb8\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("\xe2\x89\xa0\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe2\xb4\x97\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xe1\x82\xb7\xe1\xa0\xa4\xe2\xb4\x8b\xef\xbd\xa1?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("xn--vnd619as6ig6k.xn--?-7fb34t0u7s"); } // [B1, V7, U1] +test { try toAsciiFail("xn--vnd619as6ig6k.xn--?-7fb34t0u7s", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--vnd619as6ig6k.xn--?-7fb34t0u7s", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--jndx718cnnl.xn--?-7fb34t0u7s"); } // [B1, V7, U1] +test { try toAsciiFail("xn--jndx718cnnl.xn--?-7fb34t0u7s", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--jndx718cnnl.xn--?-7fb34t0u7s", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--vnd619as6ig6k.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, V7, U1] +test { try toAsciiFail("xn--vnd619as6ig6k.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--vnd619as6ig6k.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, V7, U1] test { try toUnicodeFail("XN--VND619AS6IG6K.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, V7, U1] +test { try toAsciiFail("XN--VND619AS6IG6K.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, V7, U1] +test { try toAsciiFail("XN--VND619AS6IG6K.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, V7, U1] test { try toUnicodeFail("Xn--Vnd619as6ig6k.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, V7, U1] +test { try toAsciiFail("Xn--Vnd619as6ig6k.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, V7, U1] +test { try toAsciiFail("Xn--Vnd619as6ig6k.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--66e353ce0ilb.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("xn--66e353ce0ilb.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("xn--66e353ce0ilb.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("XN--66E353CE0ILB.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("XN--66E353CE0ILB.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("XN--66E353CE0ILB.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("Xn--66e353ce0ilb.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, U1] +test { try toAsciiFail("Xn--66e353ce0ilb.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, U1] +test { try toAsciiFail("Xn--66e353ce0ilb.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, U1] test { try toUnicodeFail("xn--jndx718cnnl.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, V7, U1] +test { try toAsciiFail("xn--jndx718cnnl.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--jndx718cnnl.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, V7, U1] test { try toUnicodeFail("XN--JNDX718CNNL.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, V7, U1] +test { try toAsciiFail("XN--JNDX718CNNL.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, V7, U1] +test { try toAsciiFail("XN--JNDX718CNNL.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, V7, U1] test { try toUnicodeFail("Xn--Jndx718cnnl.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4"); } // [B1, V7, U1] +test { try toAsciiFail("Xn--Jndx718cnnl.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", false); } // [B1, V7, U1] +test { try toAsciiFail("Xn--Jndx718cnnl.?\xcd\x8c\xd8\xb3\xe8\xa7\xb4", true); } // [B1, V7, U1] test { try toUnicodeFail("\xd9\xa7.\xf0\x90\xa5\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa7.\xf0\x90\xa5\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa7.\xf0\x90\xa5\xa8", true); } // [B1, V7] test { try toUnicodeFail("xn--gib.xn--vm9c"); } // [B1, V7] +test { try toAsciiFail("xn--gib.xn--vm9c", false); } // [B1, V7] +test { try toAsciiFail("xn--gib.xn--vm9c", true); } // [B1, V7] test { try toUnicodeFail("\xea\xa7\x80\xf0\x9d\x9f\xaf\xef\xbd\xa1\xe2\x80\x8d\xf1\xbc\x91\xa5\xf0\x90\xb9\xaa\xe1\xaf\xb3"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xea\xa7\x80\xf0\x9d\x9f\xaf\xef\xbd\xa1\xe2\x80\x8d\xf1\xbc\x91\xa5\xf0\x90\xb9\xaa\xe1\xaf\xb3", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xea\xa7\x80\xf0\x9d\x9f\xaf\xef\xbd\xa1\xe2\x80\x8d\xf1\xbc\x91\xa5\xf0\x90\xb9\xaa\xe1\xaf\xb3", true); } // [B5, V6, V7] test { try toUnicodeFail("\xea\xa7\x803\xe3\x80\x82\xe2\x80\x8d\xf1\xbc\x91\xa5\xf0\x90\xb9\xaa\xe1\xaf\xb3"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xea\xa7\x803\xe3\x80\x82\xe2\x80\x8d\xf1\xbc\x91\xa5\xf0\x90\xb9\xaa\xe1\xaf\xb3", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xea\xa7\x803\xe3\x80\x82\xe2\x80\x8d\xf1\xbc\x91\xa5\xf0\x90\xb9\xaa\xe1\xaf\xb3", true); } // [B5, V6, V7] test { try toUnicodeFail("xn--3-5z4e.xn--1zfz754hncv8b"); } // [B5, V6, V7] +test { try toAsciiFail("xn--3-5z4e.xn--1zfz754hncv8b", false); } // [B5, V6, V7] +test { try toAsciiFail("xn--3-5z4e.xn--1zfz754hncv8b", true); } // [B5, V6, V7] test { try toUnicodeFail("xn--3-5z4e.xn--1zf96ony8ygd68c"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--3-5z4e.xn--1zf96ony8ygd68c", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--3-5z4e.xn--1zf96ony8ygd68c", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xf2\xa3\x95\x844\xf1\xa0\x96\xbd.\xe2\x89\xaf\xd9\xa4\xf0\x91\x80\xbe\xf3\xa0\xb8\x8c"); } // [B1, V7] +test { try toAsciiFail("\xf2\xa3\x95\x844\xf1\xa0\x96\xbd.\xe2\x89\xaf\xd9\xa4\xf0\x91\x80\xbe\xf3\xa0\xb8\x8c", false); } // [B1, V7] +test { try toAsciiFail("\xf2\xa3\x95\x844\xf1\xa0\x96\xbd.\xe2\x89\xaf\xd9\xa4\xf0\x91\x80\xbe\xf3\xa0\xb8\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf2\xa3\x95\x844\xf1\xa0\x96\xbd.>\xcc\xb8\xd9\xa4\xf0\x91\x80\xbe\xf3\xa0\xb8\x8c"); } // [B1, V7] +test { try toAsciiFail("\xf2\xa3\x95\x844\xf1\xa0\x96\xbd.>\xcc\xb8\xd9\xa4\xf0\x91\x80\xbe\xf3\xa0\xb8\x8c", false); } // [B1, V7] +test { try toAsciiFail("\xf2\xa3\x95\x844\xf1\xa0\x96\xbd.>\xcc\xb8\xd9\xa4\xf0\x91\x80\xbe\xf3\xa0\xb8\x8c", true); } // [B1, V7] test { try toUnicodeFail("xn--4-fg85dl688i.xn--dib174li86ntdy0i"); } // [B1, V7] +test { try toAsciiFail("xn--4-fg85dl688i.xn--dib174li86ntdy0i", false); } // [B1, V7] +test { try toAsciiFail("xn--4-fg85dl688i.xn--dib174li86ntdy0i", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x97\x86\xa7\xf0\x9d\x9f\xaf\xe3\x80\x82\xe2\x92\x88\xe1\xa9\xb6\xf0\x9d\x9f\x9a\xf2\xa0\x98\x8c"); } // [V7] +test { try toAsciiFail("\xf2\x97\x86\xa7\xf0\x9d\x9f\xaf\xe3\x80\x82\xe2\x92\x88\xe1\xa9\xb6\xf0\x9d\x9f\x9a\xf2\xa0\x98\x8c", false); } // [V7] +test { try toAsciiFail("\xf2\x97\x86\xa7\xf0\x9d\x9f\xaf\xe3\x80\x82\xe2\x92\x88\xe1\xa9\xb6\xf0\x9d\x9f\x9a\xf2\xa0\x98\x8c", true); } // [V7] test { try toUnicodeFail("\xf2\x97\x86\xa73\xe3\x80\x821.\xe1\xa9\xb62\xf2\xa0\x98\x8c"); } // [V6, V7] +test { try toAsciiFail("\xf2\x97\x86\xa73\xe3\x80\x821.\xe1\xa9\xb62\xf2\xa0\x98\x8c", false); } // [V6, V7] +test { try toAsciiFail("\xf2\x97\x86\xa73\xe3\x80\x821.\xe1\xa9\xb62\xf2\xa0\x98\x8c", true); } // [V6, V7] test { try toUnicodeFail("xn--3-rj42h.1.xn--2-13k96240l"); } // [V6, V7] +test { try toAsciiFail("xn--3-rj42h.1.xn--2-13k96240l", false); } // [V6, V7] +test { try toAsciiFail("xn--3-rj42h.1.xn--2-13k96240l", true); } // [V6, V7] test { try toUnicodeFail("xn--3-rj42h.xn--2-13k746cq465x"); } // [V7] +test { try toAsciiFail("xn--3-rj42h.xn--2-13k746cq465x", false); } // [V7] +test { try toAsciiFail("xn--3-rj42h.xn--2-13k746cq465x", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x82\x85\xe2\x92\x88\xe3\x80\x82\xe2\x89\xaf\xf0\x9d\x9f\xb4\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x82\x85\xe2\x92\x88\xe3\x80\x82\xe2\x89\xaf\xf0\x9d\x9f\xb4\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x82\x85\xe2\x92\x88\xe3\x80\x82\xe2\x89\xaf\xf0\x9d\x9f\xb4\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x82\x85\xe2\x92\x88\xe3\x80\x82>\xcc\xb8\xf0\x9d\x9f\xb4\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x82\x85\xe2\x92\x88\xe3\x80\x82>\xcc\xb8\xf0\x9d\x9f\xb4\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x82\x85\xe2\x92\x88\xe3\x80\x82>\xcc\xb8\xf0\x9d\x9f\xb4\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d51.\xe3\x80\x82\xe2\x89\xaf8\xe2\x80\x8d"); } // [C2, X4_2] +test { try toAsciiFail("\xe2\x80\x8d51.\xe3\x80\x82\xe2\x89\xaf8\xe2\x80\x8d", false); } // [C2, A4_2] +test { try toAsciiFail("\xe2\x80\x8d51.\xe3\x80\x82\xe2\x89\xaf8\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d51.\xe3\x80\x82>\xcc\xb88\xe2\x80\x8d"); } // [C2, X4_2] +test { try toAsciiFail("\xe2\x80\x8d51.\xe3\x80\x82>\xcc\xb88\xe2\x80\x8d", false); } // [C2, A4_2] +test { try toAsciiFail("\xe2\x80\x8d51.\xe3\x80\x82>\xcc\xb88\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("51..xn--8-ogo"); } // [X4_2] +test { try toAsciiFail("51..xn--8-ogo", false); } // [A4_2] +test { try toAsciiFail("51..xn--8-ogo", true); } // [A4_2] test { try toUnicodeFail("xn--51-l1t..xn--8-ugn00i"); } // [C2, X4_2] +test { try toAsciiFail("xn--51-l1t..xn--8-ugn00i", false); } // [C2, A4_2] +test { try toAsciiFail("xn--51-l1t..xn--8-ugn00i", true); } // [C2, A4_2] test { try toUnicodeFail("xn--5-ecp.xn--8-ogo"); } // [V7] +test { try toAsciiFail("xn--5-ecp.xn--8-ogo", false); } // [V7] +test { try toAsciiFail("xn--5-ecp.xn--8-ogo", true); } // [V7] test { try toUnicodeFail("xn--5-tgnz5r.xn--8-ugn00i"); } // [C2, V7] +test { try toAsciiFail("xn--5-tgnz5r.xn--8-ugn00i", false); } // [C2, V7] +test { try toAsciiFail("xn--5-tgnz5r.xn--8-ugn00i", true); } // [C2, V7] test { try toUnicodeFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86\xef\xbc\x8e\xf2\xaa\x98\x99\xdc\xaf\xe2\x89\xa0\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86\xef\xbc\x8e\xf2\xaa\x98\x99\xdc\xaf\xe2\x89\xa0\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86\xef\xbc\x8e\xf2\xaa\x98\x99\xdc\xaf\xe2\x89\xa0\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86\xef\xbc\x8e\xf2\xaa\x98\x99\xdc\xaf=\xcc\xb8\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86\xef\xbc\x8e\xf2\xaa\x98\x99\xdc\xaf=\xcc\xb8\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86\xef\xbc\x8e\xf2\xaa\x98\x99\xdc\xaf=\xcc\xb8\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86.\xf2\xaa\x98\x99\xdc\xaf\xe2\x89\xa0\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86.\xf2\xaa\x98\x99\xdc\xaf\xe2\x89\xa0\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86.\xf2\xaa\x98\x99\xdc\xaf\xe2\x89\xa0\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86.\xf2\xaa\x98\x99\xdc\xaf=\xcc\xb8\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86.\xf2\xaa\x98\x99\xdc\xaf=\xcc\xb8\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xea\xa1\xb0\xda\x97\xe1\x82\x86.\xf2\xaa\x98\x99\xdc\xaf=\xcc\xb8\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tjb002cn51k.xn--5nb630lbj91q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--tjb002cn51k.xn--5nb630lbj91q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--tjb002cn51k.xn--5nb630lbj91q", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--tjb002cn51k.xn--5nb448jcubcz547b"); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn--tjb002cn51k.xn--5nb448jcubcz547b", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn--tjb002cn51k.xn--5nb448jcubcz547b", true); } // [B5, B6, C1, V7] test { try toUnicodeFail("\xf0\x91\x84\xb1\xef\xbd\xa1\xf2\xaa\x8c\xbf\xf0\x90\xb9\xb5"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb1\xef\xbd\xa1\xf2\xaa\x8c\xbf\xf0\x90\xb9\xb5", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb1\xef\xbd\xa1\xf2\xaa\x8c\xbf\xf0\x90\xb9\xb5", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x91\x84\xb1\xe3\x80\x82\xf2\xaa\x8c\xbf\xf0\x90\xb9\xb5"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb1\xe3\x80\x82\xf2\xaa\x8c\xbf\xf0\x90\xb9\xb5", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb1\xe3\x80\x82\xf2\xaa\x8c\xbf\xf0\x90\xb9\xb5", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--t80d.xn--to0d14792b"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--t80d.xn--to0d14792b", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--t80d.xn--to0d14792b", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x9d\x9f\xa5\xd8\x80\xe3\x80\x82\xdc\xbd"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xa5\xd8\x80\xe3\x80\x82\xdc\xbd", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xa5\xd8\x80\xe3\x80\x82\xdc\xbd", true); } // [B1, V6, V7] test { try toUnicodeFail("3\xd8\x80\xe3\x80\x82\xdc\xbd"); } // [B1, V6, V7] +test { try toAsciiFail("3\xd8\x80\xe3\x80\x82\xdc\xbd", false); } // [B1, V6, V7] +test { try toAsciiFail("3\xd8\x80\xe3\x80\x82\xdc\xbd", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--3-rkc.xn--kob"); } // [B1, V6, V7] +test { try toAsciiFail("xn--3-rkc.xn--kob", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--3-rkc.xn--kob", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd8\xb7\xf0\x90\xb9\xa3\xd9\xa6.\xdd\xad\xea\xb8\xb7"); } // [B2, B3] +test { try toAsciiFail("\xd8\xb7\xf0\x90\xb9\xa3\xd9\xa6.\xdd\xad\xea\xb8\xb7", false); } // [B2, B3] +test { try toAsciiFail("\xd8\xb7\xf0\x90\xb9\xa3\xd9\xa6.\xdd\xad\xea\xb8\xb7", true); } // [B2, B3] test { try toUnicodeFail("\xd8\xb7\xf0\x90\xb9\xa3\xd9\xa6.\xdd\xad\xe1\x84\x80\xe1\x85\xb5\xe1\x86\xae"); } // [B2, B3] +test { try toAsciiFail("\xd8\xb7\xf0\x90\xb9\xa3\xd9\xa6.\xdd\xad\xe1\x84\x80\xe1\x85\xb5\xe1\x86\xae", false); } // [B2, B3] +test { try toAsciiFail("\xd8\xb7\xf0\x90\xb9\xa3\xd9\xa6.\xdd\xad\xe1\x84\x80\xe1\x85\xb5\xe1\x86\xae", true); } // [B2, B3] test { try toUnicodeFail("xn--2gb8gu829f.xn--xpb0156f"); } // [B2, B3] +test { try toAsciiFail("xn--2gb8gu829f.xn--xpb0156f", false); } // [B2, B3] +test { try toAsciiFail("xn--2gb8gu829f.xn--xpb0156f", true); } // [B2, B3] test { try toUnicodeFail("\xef\xb8\x92\xe2\x86\x83\xe2\xb7\xa7\xf2\xbe\x80\x83\xef\xbc\x8e\xe1\x82\xb7\xf0\x90\xa3\x9e"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\x86\x83\xe2\xb7\xa7\xf2\xbe\x80\x83\xef\xbc\x8e\xe1\x82\xb7\xf0\x90\xa3\x9e", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\x86\x83\xe2\xb7\xa7\xf2\xbe\x80\x83\xef\xbc\x8e\xe1\x82\xb7\xf0\x90\xa3\x9e", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe3\x80\x82\xe2\x86\x83\xe2\xb7\xa7\xf2\xbe\x80\x83.\xe1\x82\xb7\xf0\x90\xa3\x9e"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\x86\x83\xe2\xb7\xa7\xf2\xbe\x80\x83.\xe1\x82\xb7\xf0\x90\xa3\x9e", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\x86\x83\xe2\xb7\xa7\xf2\xbe\x80\x83.\xe1\x82\xb7\xf0\x90\xa3\x9e", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe3\x80\x82\xe2\x86\x84\xe2\xb7\xa7\xf2\xbe\x80\x83.\xe2\xb4\x97\xf0\x90\xa3\x9e"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\x86\x84\xe2\xb7\xa7\xf2\xbe\x80\x83.\xe2\xb4\x97\xf0\x90\xa3\x9e", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\x86\x84\xe2\xb7\xa7\xf2\xbe\x80\x83.\xe2\xb4\x97\xf0\x90\xa3\x9e", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail(".xn--r5gy00cll06u.xn--flj4541e"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--r5gy00cll06u.xn--flj4541e", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--r5gy00cll06u.xn--flj4541e", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xef\xb8\x92\xe2\x86\x84\xe2\xb7\xa7\xf2\xbe\x80\x83\xef\xbc\x8e\xe2\xb4\x97\xf0\x90\xa3\x9e"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\x86\x84\xe2\xb7\xa7\xf2\xbe\x80\x83\xef\xbc\x8e\xe2\xb4\x97\xf0\x90\xa3\x9e", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\x86\x84\xe2\xb7\xa7\xf2\xbe\x80\x83\xef\xbc\x8e\xe2\xb4\x97\xf0\x90\xa3\x9e", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--r5gy00c056n0226g.xn--flj4541e"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--r5gy00c056n0226g.xn--flj4541e", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--r5gy00c056n0226g.xn--flj4541e", true); } // [B1, B5, B6, V7] test { try toUnicodeFail(".xn--q5g000cll06u.xn--vnd8618j"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--q5g000cll06u.xn--vnd8618j", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--q5g000cll06u.xn--vnd8618j", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--q5g000c056n0226g.xn--vnd8618j"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--q5g000c056n0226g.xn--vnd8618j", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--q5g000c056n0226g.xn--vnd8618j", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xd8\x80.\xd6\xb1"); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x80.\xd6\xb1", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\x80.\xd6\xb1", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--ifb.xn--8cb"); } // [B1, V6, V7] +test { try toAsciiFail("xn--ifb.xn--8cb", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--ifb.xn--8cb", true); } // [B1, V6, V7] test { try toUnicodeFail("\xcf\x82\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x82\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x82\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x82>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x82>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x82>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x82\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x82\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x82\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x82>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x82>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x82>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xce\xa3>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xce\xa3>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xce\xa3>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xce\xa3\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xce\xa3\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xce\xa3\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x83\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x83\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x83\xe2\x89\xaf\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x83>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x83>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x83>\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("xn--4xa818m.xn--1o0d"); } // [B1, B6] +test { try toAsciiFail("xn--4xa818m.xn--1o0d", false); } // [B1, B6] +test { try toAsciiFail("xn--4xa818m.xn--1o0d", true); } // [B1, B6] test { try toUnicodeFail("xn--3xa028m.xn--1o0d"); } // [B1, B6] +test { try toAsciiFail("xn--3xa028m.xn--1o0d", false); } // [B1, B6] +test { try toAsciiFail("xn--3xa028m.xn--1o0d", true); } // [B1, B6] test { try toUnicodeFail("\xce\xa3>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xce\xa3>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xce\xa3>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xce\xa3\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xce\xa3\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xce\xa3\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x83\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x83\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x83\xe2\x89\xaf\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xcf\x83>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B6] +test { try toAsciiFail("\xcf\x83>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B6] +test { try toAsciiFail("\xcf\x83>\xcc\xb8\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B6] test { try toUnicodeFail("\xe1\x9f\x92\xe2\x80\x8d\xdd\x9f\xe3\x80\x82\xf0\x90\xb9\xb6"); } // [B1, V6] +test { try toAsciiFail("\xe1\x9f\x92\xe2\x80\x8d\xdd\x9f\xe3\x80\x82\xf0\x90\xb9\xb6", false); } // [B1, V6] +test { try toAsciiFail("\xe1\x9f\x92\xe2\x80\x8d\xdd\x9f\xe3\x80\x82\xf0\x90\xb9\xb6", true); } // [B1, V6] test { try toUnicodeFail("xn--jpb535f.xn--uo0d"); } // [B1, V6] +test { try toAsciiFail("xn--jpb535f.xn--uo0d", false); } // [B1, V6] +test { try toAsciiFail("xn--jpb535f.xn--uo0d", true); } // [B1, V6] test { try toUnicodeFail("xn--jpb535fv9f.xn--uo0d"); } // [B1, V6] +test { try toAsciiFail("xn--jpb535fv9f.xn--uo0d", false); } // [B1, V6] +test { try toAsciiFail("xn--jpb535fv9f.xn--uo0d", true); } // [B1, V6] test { try toUnicodeFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe1\x82\xaa\xf1\x82\x82\x9f.\xe2\x89\xae"); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe1\x82\xaa\xf1\x82\x82\x9f.\xe2\x89\xae", false); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe1\x82\xaa\xf1\x82\x82\x9f.\xe2\x89\xae", true); } // [V7] test { try toUnicodeFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe1\x82\xaa\xf1\x82\x82\x9f.<\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe1\x82\xaa\xf1\x82\x82\x9f.<\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe1\x82\xaa\xf1\x82\x82\x9f.<\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe2\xb4\x8a\xf1\x82\x82\x9f.<\xcc\xb8"); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe2\xb4\x8a\xf1\x82\x82\x9f.<\xcc\xb8", false); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe2\xb4\x8a\xf1\x82\x82\x9f.<\xcc\xb8", true); } // [V7] test { try toUnicodeFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe2\xb4\x8a\xf1\x82\x82\x9f.\xe2\x89\xae"); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe2\xb4\x8a\xf1\x82\x82\x9f.\xe2\x89\xae", false); } // [V7] +test { try toAsciiFail("\xf0\xbe\xb7\x82\xe0\xa9\x82\xe2\xb4\x8a\xf1\x82\x82\x9f.\xe2\x89\xae", true); } // [V7] test { try toUnicodeFail("xn--nbc229o4y27dgskb.xn--gdh"); } // [V7] +test { try toAsciiFail("xn--nbc229o4y27dgskb.xn--gdh", false); } // [V7] +test { try toAsciiFail("xn--nbc229o4y27dgskb.xn--gdh", true); } // [V7] test { try toUnicodeFail("xn--nbc493aro75ggskb.xn--gdh"); } // [V7] +test { try toAsciiFail("xn--nbc493aro75ggskb.xn--gdh", false); } // [V7] +test { try toAsciiFail("xn--nbc493aro75ggskb.xn--gdh", true); } // [V7] test { try toUnicodePass("\xea\xa1\xa0\xef\xbc\x8e\xdb\xb2", "\xea\xa1\xa0.\xdb\xb2"); } test { try toAsciiPass("\xea\xa1\xa0\xef\xbc\x8e\xdb\xb2", "xn--5c9a.xn--fmb", false); } test { try toAsciiPass("\xea\xa1\xa0\xef\xbc\x8e\xdb\xb2", "xn--5c9a.xn--fmb", true); } @@ -4584,88 +11166,224 @@ test { try toUnicodePass("xn--5c9a.xn--fmb", "\xea\xa1\xa0.\xdb\xb2"); } test { try toAsciiPass("xn--5c9a.xn--fmb", "xn--5c9a.xn--fmb", false); } test { try toAsciiPass("xn--5c9a.xn--fmb", "xn--5c9a.xn--fmb", true); } test { try toUnicodeFail("\xf0\x90\xb9\xa3\xf1\x84\xb7\x84\xef\xbd\xa1\xea\xa1\xac\xf0\x9f\x84\x84"); } // [B1, B6, V7, U1] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xf1\x84\xb7\x84\xef\xbd\xa1\xea\xa1\xac\xf0\x9f\x84\x84", false); } // [B1, B6, V7, U1] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xf1\x84\xb7\x84\xef\xbd\xa1\xea\xa1\xac\xf0\x9f\x84\x84", true); } // [B1, B6, V7, U1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xf1\x84\xb7\x84\xe3\x80\x82\xea\xa1\xac3,"); } // [B1, B6, V7, U1] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xf1\x84\xb7\x84\xe3\x80\x82\xea\xa1\xac3,", false); } // [B1, B6, V7, U1] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xf1\x84\xb7\x84\xe3\x80\x82\xea\xa1\xac3,", true); } // [B1, B6, V7, U1] test { try toUnicodeFail("xn--bo0d0203l.xn--3,-yj9h"); } // [B1, B6, V7, U1] +test { try toAsciiFail("xn--bo0d0203l.xn--3,-yj9h", false); } // [B1, B6, V7, U1] +test { try toAsciiFail("xn--bo0d0203l.xn--3,-yj9h", true); } // [B1, B6, V7, U1] test { try toUnicodeFail("xn--bo0d0203l.xn--id9a4443d"); } // [B1, V7] +test { try toAsciiFail("xn--bo0d0203l.xn--id9a4443d", false); } // [B1, V7] +test { try toAsciiFail("xn--bo0d0203l.xn--id9a4443d", true); } // [B1, V7] test { try toUnicodeFail("-\xe0\xb1\x8d\xf0\x9e\xbe\x80\xf0\x91\xb2\x93\xef\xbd\xa1\xe2\x80\x8d\xe0\xb5\x8d"); } // [B1, C2, V3, V7] +test { try toAsciiFail("-\xe0\xb1\x8d\xf0\x9e\xbe\x80\xf0\x91\xb2\x93\xef\xbd\xa1\xe2\x80\x8d\xe0\xb5\x8d", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("-\xe0\xb1\x8d\xf0\x9e\xbe\x80\xf0\x91\xb2\x93\xef\xbd\xa1\xe2\x80\x8d\xe0\xb5\x8d", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("-\xe0\xb1\x8d\xf0\x9e\xbe\x80\xf0\x91\xb2\x93\xe3\x80\x82\xe2\x80\x8d\xe0\xb5\x8d"); } // [B1, C2, V3, V7] +test { try toAsciiFail("-\xe0\xb1\x8d\xf0\x9e\xbe\x80\xf0\x91\xb2\x93\xe3\x80\x82\xe2\x80\x8d\xe0\xb5\x8d", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("-\xe0\xb1\x8d\xf0\x9e\xbe\x80\xf0\x91\xb2\x93\xe3\x80\x82\xe2\x80\x8d\xe0\xb5\x8d", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn----x6e0220sclug.xn--wxc"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn----x6e0220sclug.xn--wxc", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn----x6e0220sclug.xn--wxc", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn----x6e0220sclug.xn--wxc317g"); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn----x6e0220sclug.xn--wxc317g", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn----x6e0220sclug.xn--wxc317g", true); } // [B1, C2, V3, V7] test { try toUnicodeFail("\xea\x99\xbd\xe2\x80\x8c\xf0\xaf\xa7\xb5\xf0\x9f\x84\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81"); } // [C1, V6, U1] +test { try toAsciiFail("\xea\x99\xbd\xe2\x80\x8c\xf0\xaf\xa7\xb5\xf0\x9f\x84\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81", false); } // [C1, V6, U1] +test { try toAsciiFail("\xea\x99\xbd\xe2\x80\x8c\xf0\xaf\xa7\xb5\xf0\x9f\x84\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81", true); } // [V6, U1] test { try toUnicodeFail("\xea\x99\xbd\xe2\x80\x8c\xe9\x9c\xa3\xf0\x9f\x84\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81"); } // [C1, V6, U1] +test { try toAsciiFail("\xea\x99\xbd\xe2\x80\x8c\xe9\x9c\xa3\xf0\x9f\x84\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81", false); } // [C1, V6, U1] +test { try toAsciiFail("\xea\x99\xbd\xe2\x80\x8c\xe9\x9c\xa3\xf0\x9f\x84\x86\xef\xbd\xa1\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81", true); } // [V6, U1] test { try toUnicodeFail("\xea\x99\xbd\xe2\x80\x8c\xe9\x9c\xa35,\xe3\x80\x82\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81"); } // [C1, V6, U1] +test { try toAsciiFail("\xea\x99\xbd\xe2\x80\x8c\xe9\x9c\xa35,\xe3\x80\x82\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81", false); } // [C1, V6, U1] +test { try toAsciiFail("\xea\x99\xbd\xe2\x80\x8c\xe9\x9c\xa35,\xe3\x80\x82\xe2\x80\x8c\xf0\x91\x81\x82\xe1\xac\x81", true); } // [V6, U1] test { try toUnicodeFail("xn--5,-op8g373c.xn--4sf0725i"); } // [V6, U1] +test { try toAsciiFail("xn--5,-op8g373c.xn--4sf0725i", false); } // [V6, U1] +test { try toAsciiFail("xn--5,-op8g373c.xn--4sf0725i", true); } // [V6, U1] test { try toUnicodeFail("xn--5,-i1tz135dnbqa.xn--4sf36u6u4w"); } // [C1, V6, U1] +test { try toAsciiFail("xn--5,-i1tz135dnbqa.xn--4sf36u6u4w", false); } // [C1, V6, U1] +test { try toAsciiFail("xn--5,-i1tz135dnbqa.xn--4sf36u6u4w", true); } // [C1, V6, U1] test { try toUnicodeFail("xn--2q5a751a653w.xn--4sf0725i"); } // [V6, V7] +test { try toAsciiFail("xn--2q5a751a653w.xn--4sf0725i", false); } // [V6, V7] +test { try toAsciiFail("xn--2q5a751a653w.xn--4sf0725i", true); } // [V6, V7] test { try toUnicodeFail("xn--0ug4208b2vjuk63a.xn--4sf36u6u4w"); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug4208b2vjuk63a.xn--4sf36u6u4w", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug4208b2vjuk63a.xn--4sf36u6u4w", true); } // [C1, V6, V7] test { try toUnicodeFail("\xe5\x85\x8e\xef\xbd\xa1\xe1\xa0\xbc\xf3\xa0\xb4\x9c\xf0\x91\x9a\xb6\xf0\x91\xb0\xbf"); } // [V7] +test { try toAsciiFail("\xe5\x85\x8e\xef\xbd\xa1\xe1\xa0\xbc\xf3\xa0\xb4\x9c\xf0\x91\x9a\xb6\xf0\x91\xb0\xbf", false); } // [V7] +test { try toAsciiFail("\xe5\x85\x8e\xef\xbd\xa1\xe1\xa0\xbc\xf3\xa0\xb4\x9c\xf0\x91\x9a\xb6\xf0\x91\xb0\xbf", true); } // [V7] test { try toUnicodeFail("\xe5\x85\x8e\xe3\x80\x82\xe1\xa0\xbc\xf3\xa0\xb4\x9c\xf0\x91\x9a\xb6\xf0\x91\xb0\xbf"); } // [V7] +test { try toAsciiFail("\xe5\x85\x8e\xe3\x80\x82\xe1\xa0\xbc\xf3\xa0\xb4\x9c\xf0\x91\x9a\xb6\xf0\x91\xb0\xbf", false); } // [V7] +test { try toAsciiFail("\xe5\x85\x8e\xe3\x80\x82\xe1\xa0\xbc\xf3\xa0\xb4\x9c\xf0\x91\x9a\xb6\xf0\x91\xb0\xbf", true); } // [V7] test { try toUnicodeFail("xn--b5q.xn--v7e6041kqqd4m251b"); } // [V7] +test { try toAsciiFail("xn--b5q.xn--v7e6041kqqd4m251b", false); } // [V7] +test { try toAsciiFail("xn--b5q.xn--v7e6041kqqd4m251b", true); } // [V7] test { try toAsciiPass("\xf0\x9d\x9f\x99\xef\xbd\xa1\xe2\x80\x8d\xf0\x9d\x9f\xb8\xe2\x80\x8d\xe2\x81\xb7", "1.27", true); } test { try toUnicodeFail("\xf0\x9d\x9f\x99\xef\xbd\xa1\xe2\x80\x8d\xf0\x9d\x9f\xb8\xe2\x80\x8d\xe2\x81\xb7"); } // [C2] +test { try toAsciiFail("\xf0\x9d\x9f\x99\xef\xbd\xa1\xe2\x80\x8d\xf0\x9d\x9f\xb8\xe2\x80\x8d\xe2\x81\xb7", false); } // [C2] test { try toAsciiPass("1\xe3\x80\x82\xe2\x80\x8d2\xe2\x80\x8d7", "1.27", true); } test { try toUnicodeFail("1\xe3\x80\x82\xe2\x80\x8d2\xe2\x80\x8d7"); } // [C2] +test { try toAsciiFail("1\xe3\x80\x82\xe2\x80\x8d2\xe2\x80\x8d7", false); } // [C2] test { try toUnicodePass("1.2h", "1.2h"); } test { try toAsciiPass("1.2h", "1.2h", false); } test { try toAsciiPass("1.2h", "1.2h", true); } test { try toUnicodeFail("1.xn--27-l1tb"); } // [C2] +test { try toAsciiFail("1.xn--27-l1tb", false); } // [C2] +test { try toAsciiFail("1.xn--27-l1tb", true); } // [C2] test { try toUnicodeFail("\xe1\xa1\xa8-\xef\xbd\xa1\xf3\xa0\xbb\x8b\xf0\x9d\x9f\xb7"); } // [V3, V7] +test { try toAsciiFail("\xe1\xa1\xa8-\xef\xbd\xa1\xf3\xa0\xbb\x8b\xf0\x9d\x9f\xb7", false); } // [V3, V7] +test { try toAsciiFail("\xe1\xa1\xa8-\xef\xbd\xa1\xf3\xa0\xbb\x8b\xf0\x9d\x9f\xb7", true); } // [V3, V7] test { try toUnicodeFail("\xe1\xa1\xa8-\xe3\x80\x82\xf3\xa0\xbb\x8b1"); } // [V3, V7] +test { try toAsciiFail("\xe1\xa1\xa8-\xe3\x80\x82\xf3\xa0\xbb\x8b1", false); } // [V3, V7] +test { try toAsciiFail("\xe1\xa1\xa8-\xe3\x80\x82\xf3\xa0\xbb\x8b1", true); } // [V3, V7] test { try toUnicodeFail("xn----z8j.xn--1-5671m"); } // [V3, V7] +test { try toAsciiFail("xn----z8j.xn--1-5671m", false); } // [V3, V7] +test { try toAsciiFail("xn----z8j.xn--1-5671m", true); } // [V3, V7] test { try toUnicodeFail("\xf0\x91\xb0\xbb\xf1\xb5\x80\x90\xf0\x90\xab\x9a\xef\xbc\x8e\xd9\xa8\xe2\x81\xb9"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\xb0\xbb\xf1\xb5\x80\x90\xf0\x90\xab\x9a\xef\xbc\x8e\xd9\xa8\xe2\x81\xb9", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\xb0\xbb\xf1\xb5\x80\x90\xf0\x90\xab\x9a\xef\xbc\x8e\xd9\xa8\xe2\x81\xb9", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x91\xb0\xbb\xf1\xb5\x80\x90\xf0\x90\xab\x9a.\xd9\xa89"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\xb0\xbb\xf1\xb5\x80\x90\xf0\x90\xab\x9a.\xd9\xa89", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\xb0\xbb\xf1\xb5\x80\x90\xf0\x90\xab\x9a.\xd9\xa89", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--gx9cr01aul57i.xn--9-oqc"); } // [B1, V6, V7] +test { try toAsciiFail("xn--gx9cr01aul57i.xn--9-oqc", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--gx9cr01aul57i.xn--9-oqc", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x82\xbc\xf2\x88\xb7\xad\xe0\xbe\x80\xe2\xbe\x87\xe3\x80\x82\xe1\x82\xaf\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xbc\xf2\x88\xb7\xad\xe0\xbe\x80\xe2\xbe\x87\xe3\x80\x82\xe1\x82\xaf\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xbc\xf2\x88\xb7\xad\xe0\xbe\x80\xe2\xbe\x87\xe3\x80\x82\xe1\x82\xaf\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xbc\xf2\x88\xb7\xad\xe0\xbe\x80\xe8\x88\x9b\xe3\x80\x82\xe1\x82\xaf\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xbc\xf2\x88\xb7\xad\xe0\xbe\x80\xe8\x88\x9b\xe3\x80\x82\xe1\x82\xaf\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xbc\xf2\x88\xb7\xad\xe0\xbe\x80\xe8\x88\x9b\xe3\x80\x82\xe1\x82\xaf\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x9c\xf2\x88\xb7\xad\xe0\xbe\x80\xe8\x88\x9b\xe3\x80\x82\xe2\xb4\x8f\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x9c\xf2\x88\xb7\xad\xe0\xbe\x80\xe8\x88\x9b\xe3\x80\x82\xe2\xb4\x8f\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x9c\xf2\x88\xb7\xad\xe0\xbe\x80\xe8\x88\x9b\xe3\x80\x82\xe2\xb4\x8f\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--zed372mdj2do3v4h.xn--e5h11w"); } // [V7] +test { try toAsciiFail("xn--zed372mdj2do3v4h.xn--e5h11w", false); } // [V7] +test { try toAsciiFail("xn--zed372mdj2do3v4h.xn--e5h11w", true); } // [V7] test { try toUnicodeFail("xn--zed372mdj2do3v4h.xn--0uga678bgyh"); } // [C1, V7] +test { try toAsciiFail("xn--zed372mdj2do3v4h.xn--0uga678bgyh", false); } // [C1, V7] +test { try toAsciiFail("xn--zed372mdj2do3v4h.xn--0uga678bgyh", true); } // [C1, V7] test { try toUnicodeFail("\xe2\xb4\x9c\xf2\x88\xb7\xad\xe0\xbe\x80\xe2\xbe\x87\xe3\x80\x82\xe2\xb4\x8f\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x9c\xf2\x88\xb7\xad\xe0\xbe\x80\xe2\xbe\x87\xe3\x80\x82\xe2\xb4\x8f\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x9c\xf2\x88\xb7\xad\xe0\xbe\x80\xe2\xbe\x87\xe3\x80\x82\xe2\xb4\x8f\xe2\x99\x80\xe2\x80\x8c\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--zed54dz10wo343g.xn--nnd651i"); } // [V7] +test { try toAsciiFail("xn--zed54dz10wo343g.xn--nnd651i", false); } // [V7] +test { try toAsciiFail("xn--zed54dz10wo343g.xn--nnd651i", true); } // [V7] test { try toUnicodeFail("xn--zed54dz10wo343g.xn--nnd089ea464d"); } // [C1, V7] +test { try toAsciiFail("xn--zed54dz10wo343g.xn--nnd089ea464d", false); } // [C1, V7] +test { try toAsciiFail("xn--zed54dz10wo343g.xn--nnd089ea464d", true); } // [C1, V7] test { try toUnicodeFail("\xf0\x91\x81\x86\xf0\x9d\x9f\xb0.\xe2\x80\x8d"); } // [C2, V6] +test { try toAsciiFail("\xf0\x91\x81\x86\xf0\x9d\x9f\xb0.\xe2\x80\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xf0\x91\x81\x86\xf0\x9d\x9f\xb0.\xe2\x80\x8d", true); } // [V6, A4_2] test { try toUnicodeFail("\xf0\x91\x81\x864.\xe2\x80\x8d"); } // [C2, V6] +test { try toAsciiFail("\xf0\x91\x81\x864.\xe2\x80\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xf0\x91\x81\x864.\xe2\x80\x8d", true); } // [V6, A4_2] test { try toUnicodeFail("xn--4-xu7i."); } // [V6] +test { try toAsciiFail("xn--4-xu7i.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--4-xu7i.", true); } // [V6, A4_2] test { try toUnicodeFail("xn--4-xu7i.xn--1ug"); } // [C2, V6] +test { try toAsciiFail("xn--4-xu7i.xn--1ug", false); } // [C2, V6] +test { try toAsciiFail("xn--4-xu7i.xn--1ug", true); } // [C2, V6] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", true); } // [V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", true); } // [V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", true); } // [V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe1\x82\xbe\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", true); } // [V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", true); } // [V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xe3\x80\x82\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", true); } // [V6, V7] test { try toUnicodeFail("xn--mlju35u7qx2f.xn--et3bn23n"); } // [V6, V7] +test { try toAsciiFail("xn--mlju35u7qx2f.xn--et3bn23n", false); } // [V6, V7] +test { try toAsciiFail("xn--mlju35u7qx2f.xn--et3bn23n", true); } // [V6, V7] test { try toUnicodeFail("xn--mlju35u7qx2f.xn--0ugb6122js83c"); } // [C1, V6, V7] +test { try toAsciiFail("xn--mlju35u7qx2f.xn--0ugb6122js83c", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--mlju35u7qx2f.xn--0ugb6122js83c", true); } // [C1, V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xe1\x84\x87\xe1\x85\xb0\xe1\x86\xab", true); } // [V6, V7] test { try toUnicodeFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc"); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf1\xae\xb4\x98\xe2\xb4\x9e\xe7\x99\x80\xef\xbd\xa1\xf0\x91\x98\xbf\xe2\x80\x8d\xe2\x80\x8c\xeb\xb6\xbc", true); } // [V6, V7] test { try toUnicodeFail("xn--2nd6803c7q37d.xn--et3bn23n"); } // [V6, V7] +test { try toAsciiFail("xn--2nd6803c7q37d.xn--et3bn23n", false); } // [V6, V7] +test { try toAsciiFail("xn--2nd6803c7q37d.xn--et3bn23n", true); } // [V6, V7] test { try toUnicodeFail("xn--2nd6803c7q37d.xn--0ugb6122js83c"); } // [C1, V6, V7] +test { try toAsciiFail("xn--2nd6803c7q37d.xn--0ugb6122js83c", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--2nd6803c7q37d.xn--0ugb6122js83c", true); } // [C1, V6, V7] test { try toUnicodeFail("\xf3\x9a\x80\x85-\xe0\xaf\x8d\xe3\x80\x82\xda\xb9"); } // [B6, V7] +test { try toAsciiFail("\xf3\x9a\x80\x85-\xe0\xaf\x8d\xe3\x80\x82\xda\xb9", false); } // [B6, V7] +test { try toAsciiFail("\xf3\x9a\x80\x85-\xe0\xaf\x8d\xe3\x80\x82\xda\xb9", true); } // [B6, V7] test { try toUnicodeFail("xn----mze84808x.xn--skb"); } // [B6, V7] +test { try toAsciiFail("xn----mze84808x.xn--skb", false); } // [B6, V7] +test { try toAsciiFail("xn----mze84808x.xn--skb", true); } // [B6, V7] test { try toUnicodeFail("\xe1\xa1\x83\xf0\x9d\x9f\xa7\xe2\x89\xaf\xe1\xa0\xa3\xef\xbc\x8e\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x83\xf0\x9d\x9f\xa7\xe2\x89\xaf\xe1\xa0\xa3\xef\xbc\x8e\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x83\xf0\x9d\x9f\xa7\xe2\x89\xaf\xe1\xa0\xa3\xef\xbc\x8e\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x83\xf0\x9d\x9f\xa7>\xcc\xb8\xe1\xa0\xa3\xef\xbc\x8e\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x83\xf0\x9d\x9f\xa7>\xcc\xb8\xe1\xa0\xa3\xef\xbc\x8e\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x83\xf0\x9d\x9f\xa7>\xcc\xb8\xe1\xa0\xa3\xef\xbc\x8e\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x835\xe2\x89\xaf\xe1\xa0\xa3.\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x835\xe2\x89\xaf\xe1\xa0\xa3.\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x835\xe2\x89\xaf\xe1\xa0\xa3.\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x835>\xcc\xb8\xe1\xa0\xa3.\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x835>\xcc\xb8\xe1\xa0\xa3.\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x835>\xcc\xb8\xe1\xa0\xa3.\xe6\xb0\x81\xf1\xa8\x8f\xb1\xea\x81\xab", true); } // [V7] test { try toUnicodeFail("xn--5-24jyf768b.xn--lqw213ime95g"); } // [V7] +test { try toAsciiFail("xn--5-24jyf768b.xn--lqw213ime95g", false); } // [V7] +test { try toAsciiFail("xn--5-24jyf768b.xn--lqw213ime95g", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87\xef\xbc\x8e\xe0\xbd\xb6"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87\xef\xbc\x8e\xe0\xbd\xb6", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87\xef\xbc\x8e\xe0\xbd\xb6", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87\xef\xbc\x8e\xe0\xbe\xb2\xe0\xbe\x80"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87\xef\xbc\x8e\xe0\xbe\xb2\xe0\xbe\x80", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87\xef\xbc\x8e\xe0\xbe\xb2\xe0\xbe\x80", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87.\xe0\xbe\xb2\xe0\xbe\x80"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87.\xe0\xbe\xb2\xe0\xbe\x80", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xb9\xac\xf0\x9d\xa9\x87.\xe0\xbe\xb2\xe0\xbe\x80", true); } // [B1, V6] test { try toUnicodeFail("xn--ko0d8295a.xn--zed3h"); } // [B1, V6] +test { try toAsciiFail("xn--ko0d8295a.xn--zed3h", false); } // [B1, V6] +test { try toAsciiFail("xn--ko0d8295a.xn--zed3h", true); } // [B1, V6] test { try toUnicodeFail("-\xf0\x91\x88\xb6\xe2\x92\x8f\xef\xbc\x8e\xe2\x92\x8e\xf0\xb0\x9b\xa2\xf3\xa0\x8e\xad"); } // [V3, V7] +test { try toAsciiFail("-\xf0\x91\x88\xb6\xe2\x92\x8f\xef\xbc\x8e\xe2\x92\x8e\xf0\xb0\x9b\xa2\xf3\xa0\x8e\xad", false); } // [V3, V7] +test { try toAsciiFail("-\xf0\x91\x88\xb6\xe2\x92\x8f\xef\xbc\x8e\xe2\x92\x8e\xf0\xb0\x9b\xa2\xf3\xa0\x8e\xad", true); } // [V3, V7] test { try toUnicodeFail("-\xf0\x91\x88\xb68..7.\xf0\xb0\x9b\xa2\xf3\xa0\x8e\xad"); } // [V3, V7, X4_2] +test { try toAsciiFail("-\xf0\x91\x88\xb68..7.\xf0\xb0\x9b\xa2\xf3\xa0\x8e\xad", false); } // [V3, V7, A4_2] +test { try toAsciiFail("-\xf0\x91\x88\xb68..7.\xf0\xb0\x9b\xa2\xf3\xa0\x8e\xad", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn---8-bv5o..7.xn--c35nf1622b"); } // [V3, V7, X4_2] +test { try toAsciiFail("xn---8-bv5o..7.xn--c35nf1622b", false); } // [V3, V7, A4_2] +test { try toAsciiFail("xn---8-bv5o..7.xn--c35nf1622b", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----scp6252h.xn--zshy411yzpx2d"); } // [V3, V7] +test { try toAsciiFail("xn----scp6252h.xn--zshy411yzpx2d", false); } // [V3, V7] +test { try toAsciiFail("xn----scp6252h.xn--zshy411yzpx2d", true); } // [V3, V7] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e\xe2\x89\xae", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e\xe2\x89\xae"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e\xe2\x89\xae", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e<\xcc\xb8", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e<\xcc\xb8"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e<\xcc\xb8", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d.\xe2\x89\xae", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d.\xe2\x89\xae"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d.\xe2\x89\xae", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d.<\xcc\xb8", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d.<\xcc\xb8"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x82\xa1\xe7\x95\x9d\xe2\x80\x8d.<\xcc\xb8", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d.<\xcc\xb8", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d.<\xcc\xb8"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d.<\xcc\xb8", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d.\xe2\x89\xae", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d.\xe2\x89\xae"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d.\xe2\x89\xae", false); } // [C1, C2] test { try toUnicodePass("xn--skjy82u.xn--gdh", "\xe2\xb4\x81\xe7\x95\x9d.\xe2\x89\xae"); } test { try toAsciiPass("xn--skjy82u.xn--gdh", "xn--skjy82u.xn--gdh", false); } test { try toAsciiPass("xn--skjy82u.xn--gdh", "xn--skjy82u.xn--gdh", true); } @@ -4682,163 +11400,473 @@ test { try toUnicodePass("\xe1\x82\xa1\xe7\x95\x9d.\xe2\x89\xae", "\xe2\xb4\x81\ test { try toAsciiPass("\xe1\x82\xa1\xe7\x95\x9d.\xe2\x89\xae", "xn--skjy82u.xn--gdh", false); } test { try toAsciiPass("\xe1\x82\xa1\xe7\x95\x9d.\xe2\x89\xae", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("xn--0ugc160hb36e.xn--gdh"); } // [C1, C2] +test { try toAsciiFail("xn--0ugc160hb36e.xn--gdh", false); } // [C1, C2] +test { try toAsciiFail("xn--0ugc160hb36e.xn--gdh", true); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e<\xcc\xb8", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e<\xcc\xb8"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e<\xcc\xb8", false); } // [C1, C2] test { try toAsciiPass("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e\xe2\x89\xae", "xn--skjy82u.xn--gdh", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e\xe2\x89\xae"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8c\xe2\xb4\x81\xe7\x95\x9d\xe2\x80\x8d\xef\xbc\x8e\xe2\x89\xae", false); } // [C1, C2] test { try toUnicodeFail("xn--8md0962c.xn--gdh"); } // [V7] +test { try toAsciiFail("xn--8md0962c.xn--gdh", false); } // [V7] +test { try toAsciiFail("xn--8md0962c.xn--gdh", true); } // [V7] test { try toUnicodeFail("xn--8md700fea3748f.xn--gdh"); } // [C1, C2, V7] +test { try toAsciiFail("xn--8md700fea3748f.xn--gdh", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--8md700fea3748f.xn--gdh", true); } // [C1, C2, V7] test { try toUnicodeFail("\xe6\xad\xb7\xef\xbd\xa1\xf0\x90\xb9\xbb\xe2\x89\xaf\xf3\xb3\x9b\xbd\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xef\xbd\xa1\xf0\x90\xb9\xbb\xe2\x89\xaf\xf3\xb3\x9b\xbd\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xef\xbd\xa1\xf0\x90\xb9\xbb\xe2\x89\xaf\xf3\xb3\x9b\xbd\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xe6\xad\xb7\xef\xbd\xa1\xf0\x90\xb9\xbb>\xcc\xb8\xf3\xb3\x9b\xbd\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xef\xbd\xa1\xf0\x90\xb9\xbb>\xcc\xb8\xf3\xb3\x9b\xbd\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xef\xbd\xa1\xf0\x90\xb9\xbb>\xcc\xb8\xf3\xb3\x9b\xbd\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xe6\xad\xb7\xe3\x80\x82\xf0\x90\xb9\xbb\xe2\x89\xaf\xf3\xb3\x9b\xbd\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xe3\x80\x82\xf0\x90\xb9\xbb\xe2\x89\xaf\xf3\xb3\x9b\xbd\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xe3\x80\x82\xf0\x90\xb9\xbb\xe2\x89\xaf\xf3\xb3\x9b\xbd\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xe6\xad\xb7\xe3\x80\x82\xf0\x90\xb9\xbb>\xcc\xb8\xf3\xb3\x9b\xbd\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xe3\x80\x82\xf0\x90\xb9\xbb>\xcc\xb8\xf3\xb3\x9b\xbd\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe6\xad\xb7\xe3\x80\x82\xf0\x90\xb9\xbb>\xcc\xb8\xf3\xb3\x9b\xbd\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("xn--nmw.xn--hdh7804gdms2h"); } // [B1, V7] +test { try toAsciiFail("xn--nmw.xn--hdh7804gdms2h", false); } // [B1, V7] +test { try toAsciiFail("xn--nmw.xn--hdh7804gdms2h", true); } // [B1, V7] test { try toUnicodeFail("xn--nmw.xn--1ugx6gs128a1134j"); } // [B1, C2, V7] +test { try toAsciiFail("xn--nmw.xn--1ugx6gs128a1134j", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--nmw.xn--1ugx6gs128a1134j", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe0\xbb\x8b\xe2\x80\x8d\xef\xbc\x8e\xe9\x8e\x81\xf3\xa0\xb0\x91"); } // [C2, V6, V7] +test { try toAsciiFail("\xe0\xbb\x8b\xe2\x80\x8d\xef\xbc\x8e\xe9\x8e\x81\xf3\xa0\xb0\x91", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe0\xbb\x8b\xe2\x80\x8d\xef\xbc\x8e\xe9\x8e\x81\xf3\xa0\xb0\x91", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xbb\x8b\xe2\x80\x8d.\xe9\x8e\x81\xf3\xa0\xb0\x91"); } // [C2, V6, V7] +test { try toAsciiFail("\xe0\xbb\x8b\xe2\x80\x8d.\xe9\x8e\x81\xf3\xa0\xb0\x91", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe0\xbb\x8b\xe2\x80\x8d.\xe9\x8e\x81\xf3\xa0\xb0\x91", true); } // [V6, V7] test { try toUnicodeFail("xn--t8c.xn--iz4a43209d"); } // [V6, V7] +test { try toAsciiFail("xn--t8c.xn--iz4a43209d", false); } // [V6, V7] +test { try toAsciiFail("xn--t8c.xn--iz4a43209d", true); } // [V6, V7] test { try toUnicodeFail("xn--t8c059f.xn--iz4a43209d"); } // [C2, V6, V7] +test { try toAsciiFail("xn--t8c059f.xn--iz4a43209d", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--t8c059f.xn--iz4a43209d", true); } // [C2, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb6\x83"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb6\x83", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb6\x83", true); } // [B5, B6] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb6\x83"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb6\x83", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb6\x83", true); } // [B5, B6] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\xa2\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb6\x83"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\xa2\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb6\x83", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\xa2\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb6\x83", true); } // [B5, B6] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb5\xa3"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb5\xa3", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xe3\x80\x82\xf0\xb1\x98\x85\xf0\x90\xb5\xa3", true); } // [B5, B6] test { try toUnicodeFail("xn--9d6h.xn--wh0dj799f"); } // [B5, B6] +test { try toAsciiFail("xn--9d6h.xn--wh0dj799f", false); } // [B5, B6] +test { try toAsciiFail("xn--9d6h.xn--wh0dj799f", true); } // [B5, B6] test { try toUnicodeFail("xn--0ugb45126a.xn--wh0dj799f"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("xn--0ugb45126a.xn--wh0dj799f", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("xn--0ugb45126a.xn--wh0dj799f", true); } // [B1, B5, B6, C1, C2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\xa2\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb6\x83"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\xa2\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb6\x83", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\xa2\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb6\x83", true); } // [B5, B6] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb5\xa3"); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb5\xa3", false); } // [B1, B5, B6, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf0\x9e\xa4\x80\xef\xbd\xa1\xf0\xb1\x98\x85\xf0\x90\xb5\xa3", true); } // [B5, B6] test { try toUnicodeFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xcf\x82\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xcf\x82\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xcf\x82\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xcf\x82\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xcf\x82\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xcf\x82\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("\xd8\xa8\xe2\x89\xa09-.\xcf\x826.\xf0\x90\xb9\xa6\xe2\x89\xa0"); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa09-.\xcf\x826.\xf0\x90\xb9\xa6\xe2\x89\xa0", false); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa09-.\xcf\x826.\xf0\x90\xb9\xa6\xe2\x89\xa0", true); } // [B1, B3, V3] test { try toUnicodeFail("\xd8\xa8=\xcc\xb89-.\xcf\x826.\xf0\x90\xb9\xa6=\xcc\xb8"); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8=\xcc\xb89-.\xcf\x826.\xf0\x90\xb9\xa6=\xcc\xb8", false); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8=\xcc\xb89-.\xcf\x826.\xf0\x90\xb9\xa6=\xcc\xb8", true); } // [B1, B3, V3] test { try toUnicodeFail("\xd8\xa8=\xcc\xb89-.\xce\xa36.\xf0\x90\xb9\xa6=\xcc\xb8"); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8=\xcc\xb89-.\xce\xa36.\xf0\x90\xb9\xa6=\xcc\xb8", false); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8=\xcc\xb89-.\xce\xa36.\xf0\x90\xb9\xa6=\xcc\xb8", true); } // [B1, B3, V3] test { try toUnicodeFail("\xd8\xa8\xe2\x89\xa09-.\xce\xa36.\xf0\x90\xb9\xa6\xe2\x89\xa0"); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa09-.\xce\xa36.\xf0\x90\xb9\xa6\xe2\x89\xa0", false); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa09-.\xce\xa36.\xf0\x90\xb9\xa6\xe2\x89\xa0", true); } // [B1, B3, V3] test { try toUnicodeFail("\xd8\xa8\xe2\x89\xa09-.\xcf\x836.\xf0\x90\xb9\xa6\xe2\x89\xa0"); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa09-.\xcf\x836.\xf0\x90\xb9\xa6\xe2\x89\xa0", false); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa09-.\xcf\x836.\xf0\x90\xb9\xa6\xe2\x89\xa0", true); } // [B1, B3, V3] test { try toUnicodeFail("\xd8\xa8=\xcc\xb89-.\xcf\x836.\xf0\x90\xb9\xa6=\xcc\xb8"); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8=\xcc\xb89-.\xcf\x836.\xf0\x90\xb9\xa6=\xcc\xb8", false); } // [B1, B3, V3] +test { try toAsciiFail("\xd8\xa8=\xcc\xb89-.\xcf\x836.\xf0\x90\xb9\xa6=\xcc\xb8", true); } // [B1, B3, V3] test { try toUnicodeFail("xn--9--etd0100a.xn--6-zmb.xn--1ch8704g"); } // [B1, B3, V3] +test { try toAsciiFail("xn--9--etd0100a.xn--6-zmb.xn--1ch8704g", false); } // [B1, B3, V3] +test { try toAsciiFail("xn--9--etd0100a.xn--6-zmb.xn--1ch8704g", true); } // [B1, B3, V3] test { try toUnicodeFail("xn--9--etd0100a.xn--6-xmb.xn--1ch8704g"); } // [B1, B3, V3] +test { try toAsciiFail("xn--9--etd0100a.xn--6-xmb.xn--1ch8704g", false); } // [B1, B3, V3] +test { try toAsciiFail("xn--9--etd0100a.xn--6-xmb.xn--1ch8704g", true); } // [B1, B3, V3] test { try toUnicodeFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xce\xa3\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xce\xa3\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xce\xa3\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xce\xa3\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xce\xa3\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xce\xa3\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xcf\x83\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xcf\x83\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8\xe2\x89\xa0\xf0\x9d\x9f\xab-.\xcf\x83\xe2\x92\x8d\xf0\x90\xb9\xa6\xe2\x89\xa0", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xcf\x83\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xcf\x83\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("\xd8\xa8=\xcc\xb8\xf0\x9d\x9f\xab-.\xcf\x83\xe2\x92\x8d\xf0\x90\xb9\xa6=\xcc\xb8", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("xn--9--etd0100a.xn--4xa887mzpbzz04b"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("xn--9--etd0100a.xn--4xa887mzpbzz04b", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("xn--9--etd0100a.xn--4xa887mzpbzz04b", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("xn--9--etd0100a.xn--3xa097mzpbzz04b"); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("xn--9--etd0100a.xn--3xa097mzpbzz04b", false); } // [B3, B5, B6, V3, V7] +test { try toAsciiFail("xn--9--etd0100a.xn--3xa097mzpbzz04b", true); } // [B3, B5, B6, V3, V7] test { try toUnicodeFail("\xf2\x89\x9b\xb4.-\xe1\xa1\xa2\xd6\x92\xf0\x9d\xa8\xa0"); } // [V3, V7] +test { try toAsciiFail("\xf2\x89\x9b\xb4.-\xe1\xa1\xa2\xd6\x92\xf0\x9d\xa8\xa0", false); } // [V3, V7] +test { try toAsciiFail("\xf2\x89\x9b\xb4.-\xe1\xa1\xa2\xd6\x92\xf0\x9d\xa8\xa0", true); } // [V3, V7] test { try toUnicodeFail("xn--ep37b.xn----hec165lho83b"); } // [V3, V7] +test { try toAsciiFail("xn--ep37b.xn----hec165lho83b", false); } // [V3, V7] +test { try toAsciiFail("xn--ep37b.xn----hec165lho83b", true); } // [V3, V7] test { try toUnicodeFail("\xdb\x8b\xe2\x92\x88\xc3\x9f\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88\xc3\x9f\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88\xc3\x9f\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B2, B3, B6, V3, V7] test { try toUnicodeFail("\xdb\x8b1.\xc3\x9f\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.\xc3\x9f\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.\xc3\x9f\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B6, V3, V7] test { try toUnicodeFail("\xdb\x8b1.SS\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.SS\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.SS\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B6, V3, V7] test { try toUnicodeFail("\xdb\x8b1.ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B6, V3, V7] test { try toUnicodeFail("\xdb\x8b1.Ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.Ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B6, V3, V7] +test { try toAsciiFail("\xdb\x8b1.Ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B6, V3, V7] test { try toUnicodeFail("xn--1-cwc.ss.xn----q001f"); } // [B6, V3, V7] +test { try toAsciiFail("xn--1-cwc.ss.xn----q001f", false); } // [B6, V3, V7] +test { try toAsciiFail("xn--1-cwc.ss.xn----q001f", true); } // [B6, V3, V7] test { try toUnicodeFail("xn--1-cwc.xn--zca.xn----q001f"); } // [B6, V3, V7] +test { try toAsciiFail("xn--1-cwc.xn--zca.xn----q001f", false); } // [B6, V3, V7] +test { try toAsciiFail("xn--1-cwc.xn--zca.xn----q001f", true); } // [B6, V3, V7] test { try toUnicodeFail("\xdb\x8b\xe2\x92\x88SS\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88SS\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88SS\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B2, B3, B6, V3, V7] test { try toUnicodeFail("\xdb\x8b\xe2\x92\x88ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B2, B3, B6, V3, V7] test { try toUnicodeFail("\xdb\x8b\xe2\x92\x88Ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-"); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88Ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", false); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("\xdb\x8b\xe2\x92\x88Ss\xf3\xa0\x84\xbd\xe3\x80\x82\xf1\xb7\x8b\x8d-", true); } // [B2, B3, B6, V3, V7] test { try toUnicodeFail("xn--ss-d7d6651a.xn----q001f"); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("xn--ss-d7d6651a.xn----q001f", false); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("xn--ss-d7d6651a.xn----q001f", true); } // [B2, B3, B6, V3, V7] test { try toUnicodeFail("xn--zca541ato3a.xn----q001f"); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("xn--zca541ato3a.xn----q001f", false); } // [B2, B3, B6, V3, V7] +test { try toAsciiFail("xn--zca541ato3a.xn----q001f", true); } // [B2, B3, B6, V3, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x82\xe1\x82\xa6\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x82\xe1\x82\xa6\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x82\xe1\x82\xa6\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x82\xe1\x82\xa6\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x82\xe1\x82\xa6\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x82\xe1\x82\xa6\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x82\xe2\xb4\x86\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x82\xe2\xb4\x86\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x82\xe2\xb4\x86\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xce\xa3\xe1\x82\xa6\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xce\xa3\xe1\x82\xa6\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xce\xa3\xe1\x82\xa6\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x83\xe2\xb4\x86\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x83\xe2\xb4\x86\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xcf\x83\xe2\xb4\x86\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xce\xa3\xe2\xb4\x86\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xce\xa3\xe2\xb4\x86\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab.\xe1\xae\xaa\xce\xa3\xe2\xb4\x86\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("xn--nu4s.xn--4xa153j7im"); } // [V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa153j7im", false); } // [V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa153j7im", true); } // [V6, V7] test { try toUnicodeFail("xn--nu4s.xn--4xa153jk8cs1q"); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa153jk8cs1q", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa153jk8cs1q", true); } // [C2, V6, V7] test { try toUnicodeFail("xn--nu4s.xn--3xa353jk8cs1q"); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--3xa353jk8cs1q", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--3xa353jk8cs1q", true); } // [C2, V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x82\xe2\xb4\x86\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x82\xe2\xb4\x86\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x82\xe2\xb4\x86\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xce\xa3\xe1\x82\xa6\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xce\xa3\xe1\x82\xa6\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xce\xa3\xe1\x82\xa6\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x83\xe2\xb4\x86\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x83\xe2\xb4\x86\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xcf\x83\xe2\xb4\x86\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xce\xa3\xe2\xb4\x86\xe2\x80\x8d"); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xce\xa3\xe2\xb4\x86\xe2\x80\x8d", false); } // [C2, V6, V7] +test { try toAsciiFail("\xf0\xbf\x80\xab\xef\xbc\x8e\xe1\xae\xaa\xce\xa3\xe2\xb4\x86\xe2\x80\x8d", true); } // [V6, V7] test { try toUnicodeFail("xn--nu4s.xn--4xa217dxri"); } // [V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa217dxri", false); } // [V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa217dxri", true); } // [V6, V7] test { try toUnicodeFail("xn--nu4s.xn--4xa217dxriome"); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa217dxriome", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--4xa217dxriome", true); } // [C2, V6, V7] test { try toUnicodeFail("xn--nu4s.xn--3xa417dxriome"); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--3xa417dxriome", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--nu4s.xn--3xa417dxriome", true); } // [C2, V6, V7] test { try toUnicodeFail("\xe2\xbe\x86\xe0\xa3\xa2.\xf0\x9d\x88\xb4"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xe2\xbe\x86\xe0\xa3\xa2.\xf0\x9d\x88\xb4", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xe2\xbe\x86\xe0\xa3\xa2.\xf0\x9d\x88\xb4", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe8\x88\x8c\xe0\xa3\xa2.\xf0\x9d\x88\xb4"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xe8\x88\x8c\xe0\xa3\xa2.\xf0\x9d\x88\xb4", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xe8\x88\x8c\xe0\xa3\xa2.\xf0\x9d\x88\xb4", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--l0b9413d.xn--kl1h"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--l0b9413d.xn--kl1h", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--l0b9413d.xn--kl1h", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\xab\x9e\xf0\x90\xb9\xb6\xf0\x96\xab\xb4\xe3\x80\x82\xe2\xad\xa0\xe2\x92\x88"); } // [B1, V7] +test { try toAsciiFail("\xe2\xab\x9e\xf0\x90\xb9\xb6\xf0\x96\xab\xb4\xe3\x80\x82\xe2\xad\xa0\xe2\x92\x88", false); } // [B1, V7] +test { try toAsciiFail("\xe2\xab\x9e\xf0\x90\xb9\xb6\xf0\x96\xab\xb4\xe3\x80\x82\xe2\xad\xa0\xe2\x92\x88", true); } // [B1, V7] test { try toUnicodeFail("\xe2\xab\x9e\xf0\x90\xb9\xb6\xf0\x96\xab\xb4\xe3\x80\x82\xe2\xad\xa01."); } // [B1] +test { try toAsciiFail("\xe2\xab\x9e\xf0\x90\xb9\xb6\xf0\x96\xab\xb4\xe3\x80\x82\xe2\xad\xa01.", false); } // [B1, A4_2] +test { try toAsciiFail("\xe2\xab\x9e\xf0\x90\xb9\xb6\xf0\x96\xab\xb4\xe3\x80\x82\xe2\xad\xa01.", true); } // [B1, A4_2] test { try toUnicodeFail("xn--53ix188et88b.xn--1-h6r."); } // [B1] +test { try toAsciiFail("xn--53ix188et88b.xn--1-h6r.", false); } // [B1, A4_2] +test { try toAsciiFail("xn--53ix188et88b.xn--1-h6r.", true); } // [B1, A4_2] test { try toUnicodeFail("xn--53ix188et88b.xn--tsh52w"); } // [B1, V7] +test { try toAsciiFail("xn--53ix188et88b.xn--tsh52w", false); } // [B1, V7] +test { try toAsciiFail("xn--53ix188et88b.xn--tsh52w", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x92\x88\xe2\x80\x8c\xea\xab\xac\xef\xb8\x92\xef\xbc\x8e\xe0\xab\x8d"); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x80\x8c\xea\xab\xac\xef\xb8\x92\xef\xbc\x8e\xe0\xab\x8d", false); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x80\x8c\xea\xab\xac\xef\xb8\x92\xef\xbc\x8e\xe0\xab\x8d", true); } // [V6, V7] test { try toUnicodeFail("1.\xe2\x80\x8c\xea\xab\xac\xe3\x80\x82.\xe0\xab\x8d"); } // [C1, V6, X4_2] +test { try toAsciiFail("1.\xe2\x80\x8c\xea\xab\xac\xe3\x80\x82.\xe0\xab\x8d", false); } // [C1, V6, A4_2] +test { try toAsciiFail("1.\xe2\x80\x8c\xea\xab\xac\xe3\x80\x82.\xe0\xab\x8d", true); } // [V6, A4_2] test { try toUnicodeFail("1.xn--sv9a..xn--mfc"); } // [V6, X4_2] +test { try toAsciiFail("1.xn--sv9a..xn--mfc", false); } // [V6, A4_2] +test { try toAsciiFail("1.xn--sv9a..xn--mfc", true); } // [V6, A4_2] test { try toUnicodeFail("1.xn--0ug7185c..xn--mfc"); } // [C1, V6, X4_2] +test { try toAsciiFail("1.xn--0ug7185c..xn--mfc", false); } // [C1, V6, A4_2] +test { try toAsciiFail("1.xn--0ug7185c..xn--mfc", true); } // [C1, V6, A4_2] test { try toUnicodeFail("xn--tsh0720cse8b.xn--mfc"); } // [V6, V7] +test { try toAsciiFail("xn--tsh0720cse8b.xn--mfc", false); } // [V6, V7] +test { try toAsciiFail("xn--tsh0720cse8b.xn--mfc", true); } // [V6, V7] test { try toUnicodeFail("xn--0ug78o720myr1c.xn--mfc"); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug78o720myr1c.xn--mfc", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--0ug78o720myr1c.xn--mfc", true); } // [C1, V6, V7] test { try toUnicodeFail("\xe0\xb1\x86\xe3\x80\x82\xe4\xb0\x80\xd9\xa8\xf0\x9e\xad\x85\xf3\xa0\x85\xbc"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb1\x86\xe3\x80\x82\xe4\xb0\x80\xd9\xa8\xf0\x9e\xad\x85\xf3\xa0\x85\xbc", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe0\xb1\x86\xe3\x80\x82\xe4\xb0\x80\xd9\xa8\xf0\x9e\xad\x85\xf3\xa0\x85\xbc", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--eqc.xn--hib5476aim6t"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--eqc.xn--hib5476aim6t", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--eqc.xn--hib5476aim6t", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc"); } // [C2, V6, V7] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", false); } // [C2, V6, V7] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", true); } // [V6, V7] test { try toUnicodeFail("SS\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc"); } // [C2, V6, V7] +test { try toAsciiFail("SS\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", false); } // [C2, V6, V7] +test { try toAsciiFail("SS\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", true); } // [V6, V7] test { try toUnicodeFail("ss\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc"); } // [C2, V6, V7] +test { try toAsciiFail("ss\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", false); } // [C2, V6, V7] +test { try toAsciiFail("ss\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", true); } // [V6, V7] test { try toUnicodeFail("Ss\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc"); } // [C2, V6, V7] +test { try toAsciiFail("Ss\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", false); } // [C2, V6, V7] +test { try toAsciiFail("Ss\xe2\x80\x8d.\xe1\xaf\xb2\xf1\x84\xbe\xbc", true); } // [V6, V7] test { try toUnicodeFail("ss.xn--0zf22107b"); } // [V6, V7] +test { try toAsciiFail("ss.xn--0zf22107b", false); } // [V6, V7] +test { try toAsciiFail("ss.xn--0zf22107b", true); } // [V6, V7] test { try toUnicodeFail("xn--ss-n1t.xn--0zf22107b"); } // [C2, V6, V7] +test { try toAsciiFail("xn--ss-n1t.xn--0zf22107b", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--ss-n1t.xn--0zf22107b", true); } // [C2, V6, V7] test { try toUnicodeFail("xn--zca870n.xn--0zf22107b"); } // [C2, V6, V7] +test { try toAsciiFail("xn--zca870n.xn--0zf22107b", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--zca870n.xn--0zf22107b", true); } // [C2, V6, V7] test { try toUnicodeFail("\xf0\x91\x93\x82\xe2\x80\x8c\xe2\x89\xae.\xe2\x89\xae"); } // [V6] +test { try toAsciiFail("\xf0\x91\x93\x82\xe2\x80\x8c\xe2\x89\xae.\xe2\x89\xae", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x93\x82\xe2\x80\x8c\xe2\x89\xae.\xe2\x89\xae", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x93\x82\xe2\x80\x8c<\xcc\xb8.<\xcc\xb8"); } // [V6] +test { try toAsciiFail("\xf0\x91\x93\x82\xe2\x80\x8c<\xcc\xb8.<\xcc\xb8", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x93\x82\xe2\x80\x8c<\xcc\xb8.<\xcc\xb8", true); } // [V6] test { try toUnicodeFail("xn--gdhz656g.xn--gdh"); } // [V6] +test { try toAsciiFail("xn--gdhz656g.xn--gdh", false); } // [V6] +test { try toAsciiFail("xn--gdhz656g.xn--gdh", true); } // [V6] test { try toUnicodeFail("xn--0ugy6glz29a.xn--gdh"); } // [V6] +test { try toAsciiFail("xn--0ugy6glz29a.xn--gdh", false); } // [V6] +test { try toAsciiFail("xn--0ugy6glz29a.xn--gdh", true); } // [V6] test { try toUnicodePass("\xf0\x9f\x95\xbc\xef\xbc\x8e\xef\xbe\xa0", "\xf0\x9f\x95\xbc."); } +test { try toAsciiFail("\xf0\x9f\x95\xbc\xef\xbc\x8e\xef\xbe\xa0", false); } // [A4_2] +test { try toAsciiFail("\xf0\x9f\x95\xbc\xef\xbc\x8e\xef\xbe\xa0", true); } // [A4_2] test { try toUnicodePass("\xf0\x9f\x95\xbc.\xe1\x85\xa0", "\xf0\x9f\x95\xbc."); } +test { try toAsciiFail("\xf0\x9f\x95\xbc.\xe1\x85\xa0", false); } // [A4_2] +test { try toAsciiFail("\xf0\x9f\x95\xbc.\xe1\x85\xa0", true); } // [A4_2] test { try toUnicodePass("xn--my8h.", "\xf0\x9f\x95\xbc."); } +test { try toAsciiFail("xn--my8h.", false); } // [A4_2] +test { try toAsciiFail("xn--my8h.", true); } // [A4_2] test { try toUnicodePass("\xf0\x9f\x95\xbc.", "\xf0\x9f\x95\xbc."); } +test { try toAsciiFail("\xf0\x9f\x95\xbc.", false); } // [A4_2] +test { try toAsciiFail("\xf0\x9f\x95\xbc.", true); } // [A4_2] test { try toUnicodeFail("xn--my8h.xn--psd"); } // [V7] +test { try toAsciiFail("xn--my8h.xn--psd", false); } // [V7] +test { try toAsciiFail("xn--my8h.xn--psd", true); } // [V7] test { try toUnicodeFail("xn--my8h.xn--cl7c"); } // [V7] +test { try toAsciiFail("xn--my8h.xn--cl7c", false); } // [V7] +test { try toAsciiFail("xn--my8h.xn--cl7c", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x94\xef\xb6\x82\xe3\x80\x82\xf1\xb7\x98\x8e"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x94\xef\xb6\x82\xe3\x80\x82\xf1\xb7\x98\x8e", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x94\xef\xb6\x82\xe3\x80\x82\xf1\xb7\x98\x8e", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe1\xa1\x94\xd9\x84\xd8\xad\xd9\x89\xe3\x80\x82\xf1\xb7\x98\x8e"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x94\xd9\x84\xd8\xad\xd9\x89\xe3\x80\x82\xf1\xb7\x98\x8e", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x94\xd9\x84\xd8\xad\xd9\x89\xe3\x80\x82\xf1\xb7\x98\x8e", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--sgb9bq785p.xn--bc31b"); } // [B5, B6, V7] +test { try toAsciiFail("xn--sgb9bq785p.xn--bc31b", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--sgb9bq785p.xn--bc31b", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe7\x88\x95\xf2\xb3\x99\x91\xef\xbc\x8e\xf0\x9d\x9f\xb0\xe6\xb0\x97"); } // [V7] +test { try toAsciiFail("\xe7\x88\x95\xf2\xb3\x99\x91\xef\xbc\x8e\xf0\x9d\x9f\xb0\xe6\xb0\x97", false); } // [V7] +test { try toAsciiFail("\xe7\x88\x95\xf2\xb3\x99\x91\xef\xbc\x8e\xf0\x9d\x9f\xb0\xe6\xb0\x97", true); } // [V7] test { try toUnicodeFail("\xe7\x88\x95\xf2\xb3\x99\x91.4\xe6\xb0\x97"); } // [V7] +test { try toAsciiFail("\xe7\x88\x95\xf2\xb3\x99\x91.4\xe6\xb0\x97", false); } // [V7] +test { try toAsciiFail("\xe7\x88\x95\xf2\xb3\x99\x91.4\xe6\xb0\x97", true); } // [V7] test { try toUnicodeFail("xn--1zxq3199c.xn--4-678b"); } // [V7] +test { try toAsciiFail("xn--1zxq3199c.xn--4-678b", false); } // [V7] +test { try toAsciiFail("xn--1zxq3199c.xn--4-678b", true); } // [V7] test { try toUnicodeFail("\xe2\x92\x8b\xf0\x91\x8d\x8d\xe1\x82\xbd-\xef\xbc\x8e\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x8b\xf0\x91\x8d\x8d\xe1\x82\xbd-\xef\xbc\x8e\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x8b\xf0\x91\x8d\x8d\xe1\x82\xbd-\xef\xbc\x8e\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", true); } // [B1, V3, V7] test { try toUnicodeFail("4.\xf0\x91\x8d\x8d\xe1\x82\xbd-.\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5"); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.\xf0\x91\x8d\x8d\xe1\x82\xbd-.\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", false); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.\xf0\x91\x8d\x8d\xe1\x82\xbd-.\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", true); } // [B1, B6, V3, V6, V7] test { try toUnicodeFail("4.\xf0\x91\x8d\x8d\xe2\xb4\x9d-.\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5"); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.\xf0\x91\x8d\x8d\xe2\xb4\x9d-.\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", false); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.\xf0\x91\x8d\x8d\xe2\xb4\x9d-.\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", true); } // [B1, B6, V3, V6, V7] test { try toUnicodeFail("4.xn----wwsx259f.xn--ddb152b7y23b"); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.xn----wwsx259f.xn--ddb152b7y23b", false); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.xn----wwsx259f.xn--ddb152b7y23b", true); } // [B1, B6, V3, V6, V7] test { try toUnicodeFail("\xe2\x92\x8b\xf0\x91\x8d\x8d\xe2\xb4\x9d-\xef\xbc\x8e\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x8b\xf0\x91\x8d\x8d\xe2\xb4\x9d-\xef\xbc\x8e\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x92\x8b\xf0\x91\x8d\x8d\xe2\xb4\x9d-\xef\xbc\x8e\xf0\x9e\xac\xaa\xe0\xb7\x8a\xd6\xb5", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----jcp487avl3w.xn--ddb152b7y23b"); } // [B1, V3, V7] +test { try toAsciiFail("xn----jcp487avl3w.xn--ddb152b7y23b", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----jcp487avl3w.xn--ddb152b7y23b", true); } // [B1, V3, V7] test { try toUnicodeFail("4.xn----t1g9869q.xn--ddb152b7y23b"); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.xn----t1g9869q.xn--ddb152b7y23b", false); } // [B1, B6, V3, V6, V7] +test { try toAsciiFail("4.xn----t1g9869q.xn--ddb152b7y23b", true); } // [B1, B6, V3, V6, V7] test { try toUnicodeFail("xn----t1g323mnk9t.xn--ddb152b7y23b"); } // [B1, V3, V7] +test { try toAsciiFail("xn----t1g323mnk9t.xn--ddb152b7y23b", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----t1g323mnk9t.xn--ddb152b7y23b", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\x9e\x9d\x83\xe3\x80\x82\xf2\x91\x86\x83\xf1\x89\xa2\x97--"); } // [V2, V3, V7] +test { try toAsciiFail("\xf3\x9e\x9d\x83\xe3\x80\x82\xf2\x91\x86\x83\xf1\x89\xa2\x97--", false); } // [V2, V3, V7] +test { try toAsciiFail("\xf3\x9e\x9d\x83\xe3\x80\x82\xf2\x91\x86\x83\xf1\x89\xa2\x97--", true); } // [V2, V3, V7] test { try toUnicodeFail("xn--2y75e.xn-----1l15eer88n"); } // [V2, V3, V7] +test { try toAsciiFail("xn--2y75e.xn-----1l15eer88n", false); } // [V2, V3, V7] +test { try toAsciiFail("xn--2y75e.xn-----1l15eer88n", true); } // [V2, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xdf\x9f\xef\xbd\xa1\xe2\x80\x8c\xea\xaf\xad"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xdf\x9f\xef\xbd\xa1\xe2\x80\x8c\xea\xaf\xad", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xdf\x9f\xef\xbd\xa1\xe2\x80\x8c\xea\xaf\xad", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x80\x8d\xdf\x9f\xe3\x80\x82\xe2\x80\x8c\xea\xaf\xad"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xdf\x9f\xe3\x80\x82\xe2\x80\x8c\xea\xaf\xad", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xdf\x9f\xe3\x80\x82\xe2\x80\x8c\xea\xaf\xad", true); } // [B1, V6] test { try toUnicodeFail("xn--6sb.xn--429a"); } // [B1, V6] +test { try toAsciiFail("xn--6sb.xn--429a", false); } // [B1, V6] +test { try toAsciiFail("xn--6sb.xn--429a", true); } // [B1, V6] test { try toUnicodeFail("xn--6sb394j.xn--0ug1126c"); } // [B1, C1, C2] +test { try toAsciiFail("xn--6sb394j.xn--0ug1126c", false); } // [B1, C1, C2] +test { try toAsciiFail("xn--6sb394j.xn--0ug1126c", true); } // [B1, C1, C2] test { try toUnicodeFail("\xf0\x9e\xae\xbd\xdf\xbf\xe0\xa1\x8e\xef\xbd\xa1\xe1\xa2\x8d\xf2\x9d\xb9\x81\xf0\x90\xab\x98"); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\x9e\xae\xbd\xdf\xbf\xe0\xa1\x8e\xef\xbd\xa1\xe1\xa2\x8d\xf2\x9d\xb9\x81\xf0\x90\xab\x98", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\x9e\xae\xbd\xdf\xbf\xe0\xa1\x8e\xef\xbd\xa1\xe1\xa2\x8d\xf2\x9d\xb9\x81\xf0\x90\xab\x98", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x9e\xae\xbd\xdf\xbf\xe0\xa1\x8e\xe3\x80\x82\xe1\xa2\x8d\xf2\x9d\xb9\x81\xf0\x90\xab\x98"); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\x9e\xae\xbd\xdf\xbf\xe0\xa1\x8e\xe3\x80\x82\xe1\xa2\x8d\xf2\x9d\xb9\x81\xf0\x90\xab\x98", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf0\x9e\xae\xbd\xdf\xbf\xe0\xa1\x8e\xe3\x80\x82\xe1\xa2\x8d\xf2\x9d\xb9\x81\xf0\x90\xab\x98", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3tb2nz468k.xn--69e8615j5rn5d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3tb2nz468k.xn--69e8615j5rn5d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3tb2nz468k.xn--69e8615j5rn5d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xdb\xad\xf0\x9e\xba\x8c\xf0\x91\x84\x9a\xe1\x9c\x94.\xea\xa1\x9e\xe0\xa2\xb7"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xdb\xad\xf0\x9e\xba\x8c\xf0\x91\x84\x9a\xe1\x9c\x94.\xea\xa1\x9e\xe0\xa2\xb7", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xdb\xad\xf0\x9e\xba\x8c\xf0\x91\x84\x9a\xe1\x9c\x94.\xea\xa1\x9e\xe0\xa2\xb7", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xdb\xad\xd9\x85\xf0\x91\x84\x9a\xe1\x9c\x94.\xea\xa1\x9e\xe0\xa2\xb7"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xdb\xad\xd9\x85\xf0\x91\x84\x9a\xe1\x9c\x94.\xea\xa1\x9e\xe0\xa2\xb7", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xdb\xad\xd9\x85\xf0\x91\x84\x9a\xe1\x9c\x94.\xea\xa1\x9e\xe0\xa2\xb7", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--hhb94ag41b739u.xn--dzb5582f"); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--hhb94ag41b739u.xn--dzb5582f", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--hhb94ag41b739u.xn--dzb5582f", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x82\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x82\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x82\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x82\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x82\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x82\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x82\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x82\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x82\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x82\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x82\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x82\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xce\xa3"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xce\xa3", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xce\xa3", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xce\xa3"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xce\xa3", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xce\xa3", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3sb7483hoyvbbe76g.xn--4xaa21q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3sb7483hoyvbbe76g.xn--4xaa21q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3sb7483hoyvbbe76g.xn--4xaa21q", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xce\xa3\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xe3\x80\x82\xcf\x83\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3sb7483hoyvbbe76g.xn--3xab31q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3sb7483hoyvbbe76g.xn--3xab31q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3sb7483hoyvbbe76g.xn--3xab31q", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3sb7483hoyvbbe76g.xn--3xaa51q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3sb7483hoyvbbe76g.xn--3xaa51q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3sb7483hoyvbbe76g.xn--3xaa51q", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xce\xa3"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xce\xa3", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xce\xa3", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xce\xa3"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xce\xa3", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xce\xa3", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x83"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x83", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x83", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xce\xa3\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xed\x82\x83\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xbb\x82\xb5\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xbe\xf0\x91\x98\xb6\xdf\x9c\xef\xbd\xa1\xcf\x83\xd8\xbc\xcf\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe8\x94\xb0\xe3\x80\x82\xf3\xa0\x81\xb9\xe0\xa3\x9d-\xf0\x91\x88\xb5"); } // [V7] +test { try toAsciiFail("\xe8\x94\xb0\xe3\x80\x82\xf3\xa0\x81\xb9\xe0\xa3\x9d-\xf0\x91\x88\xb5", false); } // [V7] +test { try toAsciiFail("\xe8\x94\xb0\xe3\x80\x82\xf3\xa0\x81\xb9\xe0\xa3\x9d-\xf0\x91\x88\xb5", true); } // [V7] test { try toUnicodeFail("xn--sz1a.xn----mrd9984r3dl0i"); } // [V7] +test { try toAsciiFail("xn--sz1a.xn----mrd9984r3dl0i", false); } // [V7] +test { try toAsciiFail("xn--sz1a.xn----mrd9984r3dl0i", true); } // [V7] test { try toUnicodePass("\xcf\x82\xe1\x83\x85\xe3\x80\x82\xdd\x9a", "\xcf\x82\xe2\xb4\xa5.\xdd\x9a"); } test { try toAsciiPass("\xcf\x82\xe1\x83\x85\xe3\x80\x82\xdd\x9a", "xn--3xa403s.xn--epb", false); } test { try toAsciiPass("\xcf\x82\xe1\x83\x85\xe3\x80\x82\xdd\x9a", "xn--4xa203s.xn--epb", true); } @@ -4873,28 +11901,56 @@ test { try toUnicodePass("\xcf\x82\xe2\xb4\xa5.\xdd\x9a", "\xcf\x82\xe2\xb4\xa5. test { try toAsciiPass("\xcf\x82\xe2\xb4\xa5.\xdd\x9a", "xn--3xa403s.xn--epb", false); } test { try toAsciiPass("\xcf\x82\xe2\xb4\xa5.\xdd\x9a", "xn--4xa203s.xn--epb", true); } test { try toUnicodeFail("xn--4xa477d.xn--epb"); } // [V7] +test { try toAsciiFail("xn--4xa477d.xn--epb", false); } // [V7] +test { try toAsciiFail("xn--4xa477d.xn--epb", true); } // [V7] test { try toUnicodeFail("xn--3xa677d.xn--epb"); } // [V7] +test { try toAsciiFail("xn--3xa677d.xn--epb", false); } // [V7] +test { try toAsciiFail("xn--3xa677d.xn--epb", true); } // [V7] test { try toUnicodeFail("\xe0\xb1\x8d\xe1\x82\xa9\xf0\x9e\xb0\x93\xef\xbc\x8e\xe1\xad\xb2"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe1\x82\xa9\xf0\x9e\xb0\x93\xef\xbc\x8e\xe1\xad\xb2", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe1\x82\xa9\xf0\x9e\xb0\x93\xef\xbc\x8e\xe1\xad\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb1\x8d\xe1\x82\xa9\xf0\x9e\xb0\x93.\xe1\xad\xb2"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe1\x82\xa9\xf0\x9e\xb0\x93.\xe1\xad\xb2", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe1\x82\xa9\xf0\x9e\xb0\x93.\xe1\xad\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb1\x8d\xe2\xb4\x89\xf0\x9e\xb0\x93.\xe1\xad\xb2"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe2\xb4\x89\xf0\x9e\xb0\x93.\xe1\xad\xb2", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe2\xb4\x89\xf0\x9e\xb0\x93.\xe1\xad\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--lqc478nlr02a.xn--dwf"); } // [B1, V6, V7] +test { try toAsciiFail("xn--lqc478nlr02a.xn--dwf", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--lqc478nlr02a.xn--dwf", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb1\x8d\xe2\xb4\x89\xf0\x9e\xb0\x93\xef\xbc\x8e\xe1\xad\xb2"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe2\xb4\x89\xf0\x9e\xb0\x93\xef\xbc\x8e\xe1\xad\xb2", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x8d\xe2\xb4\x89\xf0\x9e\xb0\x93\xef\xbc\x8e\xe1\xad\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--lqc64t7t26c.xn--dwf"); } // [B1, V6, V7] +test { try toAsciiFail("xn--lqc64t7t26c.xn--dwf", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--lqc64t7t26c.xn--dwf", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\xae\xb7\xe2\x89\xae\xf1\x8e\x88\xb4\xf3\xa0\x84\x9f\xe3\x80\x82\xf0\x90\xa0\x84"); } // [B1, V7] +test { try toAsciiFail("\xe2\xae\xb7\xe2\x89\xae\xf1\x8e\x88\xb4\xf3\xa0\x84\x9f\xe3\x80\x82\xf0\x90\xa0\x84", false); } // [B1, V7] +test { try toAsciiFail("\xe2\xae\xb7\xe2\x89\xae\xf1\x8e\x88\xb4\xf3\xa0\x84\x9f\xe3\x80\x82\xf0\x90\xa0\x84", true); } // [B1, V7] test { try toUnicodeFail("\xe2\xae\xb7<\xcc\xb8\xf1\x8e\x88\xb4\xf3\xa0\x84\x9f\xe3\x80\x82\xf0\x90\xa0\x84"); } // [B1, V7] +test { try toAsciiFail("\xe2\xae\xb7<\xcc\xb8\xf1\x8e\x88\xb4\xf3\xa0\x84\x9f\xe3\x80\x82\xf0\x90\xa0\x84", false); } // [B1, V7] +test { try toAsciiFail("\xe2\xae\xb7<\xcc\xb8\xf1\x8e\x88\xb4\xf3\xa0\x84\x9f\xe3\x80\x82\xf0\x90\xa0\x84", true); } // [B1, V7] test { try toUnicodeFail("xn--gdh877a3513h.xn--pc9c"); } // [B1, V7] +test { try toAsciiFail("xn--gdh877a3513h.xn--pc9c", false); } // [B1, V7] +test { try toAsciiFail("xn--gdh877a3513h.xn--pc9c", true); } // [B1, V7] test { try toAsciiPass("\xda\xbc\xef\xbd\xa1\xe2\x80\x8d\xe1\xba\x8f\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8d\xe1\xba\x8f\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8d\xe1\xba\x8f\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xef\xbd\xa1\xe2\x80\x8dy\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8dy\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8dy\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xe3\x80\x82\xe2\x80\x8d\xe1\xba\x8f\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8d\xe1\xba\x8f\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8d\xe1\xba\x8f\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xe3\x80\x82\xe2\x80\x8dy\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8dy\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8dy\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xe3\x80\x82\xe2\x80\x8dY\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8dY\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8dY\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xe3\x80\x82\xe2\x80\x8d\xe1\xba\x8e\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8d\xe1\xba\x8e\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xe3\x80\x82\xe2\x80\x8d\xe1\xba\x8e\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toUnicodePass("xn--vkb.xn--08e172a", "\xda\xbc.\xe1\xba\x8f\xe1\xa1\xa4"); } test { try toAsciiPass("xn--vkb.xn--08e172a", "xn--vkb.xn--08e172a", false); } test { try toAsciiPass("xn--vkb.xn--08e172a", "xn--vkb.xn--08e172a", true); } @@ -4911,37 +11967,83 @@ test { try toUnicodePass("\xda\xbc.\xe1\xba\x8e\xe1\xa1\xa4", "\xda\xbc.\xe1\xba test { try toAsciiPass("\xda\xbc.\xe1\xba\x8e\xe1\xa1\xa4", "xn--vkb.xn--08e172a", false); } test { try toAsciiPass("\xda\xbc.\xe1\xba\x8e\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("xn--vkb.xn--08e172ax6aca"); } // [B1, C1, C2] +test { try toAsciiFail("xn--vkb.xn--08e172ax6aca", false); } // [B1, C1, C2] +test { try toAsciiFail("xn--vkb.xn--08e172ax6aca", true); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xef\xbd\xa1\xe2\x80\x8dY\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8dY\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8dY\xcc\x87\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toAsciiPass("\xda\xbc\xef\xbd\xa1\xe2\x80\x8d\xe1\xba\x8e\xe2\x80\x8c\xe1\xa1\xa4", "xn--vkb.xn--08e172a", true); } test { try toUnicodeFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8d\xe1\xba\x8e\xe2\x80\x8c\xe1\xa1\xa4"); } // [B1, C1, C2] +test { try toAsciiFail("\xda\xbc\xef\xbd\xa1\xe2\x80\x8d\xe1\xba\x8e\xe2\x80\x8c\xe1\xa1\xa4", false); } // [B1, C1, C2] test { try toUnicodeFail("\xf0\x90\xb9\xb9\xf0\x91\xb2\x9b\xe3\x80\x82\xf1\x91\x82\x90\xe0\xb7\x8a"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb9\xf0\x91\xb2\x9b\xe3\x80\x82\xf1\x91\x82\x90\xe0\xb7\x8a", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb9\xf0\x91\xb2\x9b\xe3\x80\x82\xf1\x91\x82\x90\xe0\xb7\x8a", true); } // [B1, V7] test { try toUnicodeFail("xn--xo0dg5v.xn--h1c39876d"); } // [B1, V7] +test { try toAsciiFail("xn--xo0dg5v.xn--h1c39876d", false); } // [B1, V7] +test { try toAsciiFail("xn--xo0dg5v.xn--h1c39876d", true); } // [B1, V7] test { try toUnicodeFail("-\xe2\x89\xa0\xf0\x91\x88\xb5\xef\xbd\xa1\xe5\xb5\x95\xef\xbb\xb1\xdb\xb4\xea\xa5\x93"); } // [B1, B5, V3] +test { try toAsciiFail("-\xe2\x89\xa0\xf0\x91\x88\xb5\xef\xbd\xa1\xe5\xb5\x95\xef\xbb\xb1\xdb\xb4\xea\xa5\x93", false); } // [B1, B5, V3] +test { try toAsciiFail("-\xe2\x89\xa0\xf0\x91\x88\xb5\xef\xbd\xa1\xe5\xb5\x95\xef\xbb\xb1\xdb\xb4\xea\xa5\x93", true); } // [B1, B5, V3] test { try toUnicodeFail("-=\xcc\xb8\xf0\x91\x88\xb5\xef\xbd\xa1\xe5\xb5\x95\xef\xbb\xb1\xdb\xb4\xea\xa5\x93"); } // [B1, B5, V3] +test { try toAsciiFail("-=\xcc\xb8\xf0\x91\x88\xb5\xef\xbd\xa1\xe5\xb5\x95\xef\xbb\xb1\xdb\xb4\xea\xa5\x93", false); } // [B1, B5, V3] +test { try toAsciiFail("-=\xcc\xb8\xf0\x91\x88\xb5\xef\xbd\xa1\xe5\xb5\x95\xef\xbb\xb1\xdb\xb4\xea\xa5\x93", true); } // [B1, B5, V3] test { try toUnicodeFail("-\xe2\x89\xa0\xf0\x91\x88\xb5\xe3\x80\x82\xe5\xb5\x95\xd9\x8a\xdb\xb4\xea\xa5\x93"); } // [B1, B5, V3] +test { try toAsciiFail("-\xe2\x89\xa0\xf0\x91\x88\xb5\xe3\x80\x82\xe5\xb5\x95\xd9\x8a\xdb\xb4\xea\xa5\x93", false); } // [B1, B5, V3] +test { try toAsciiFail("-\xe2\x89\xa0\xf0\x91\x88\xb5\xe3\x80\x82\xe5\xb5\x95\xd9\x8a\xdb\xb4\xea\xa5\x93", true); } // [B1, B5, V3] test { try toUnicodeFail("-=\xcc\xb8\xf0\x91\x88\xb5\xe3\x80\x82\xe5\xb5\x95\xd9\x8a\xdb\xb4\xea\xa5\x93"); } // [B1, B5, V3] +test { try toAsciiFail("-=\xcc\xb8\xf0\x91\x88\xb5\xe3\x80\x82\xe5\xb5\x95\xd9\x8a\xdb\xb4\xea\xa5\x93", false); } // [B1, B5, V3] +test { try toAsciiFail("-=\xcc\xb8\xf0\x91\x88\xb5\xe3\x80\x82\xe5\xb5\x95\xd9\x8a\xdb\xb4\xea\xa5\x93", true); } // [B1, B5, V3] test { try toUnicodeFail("xn----ufo4749h.xn--mhb45a235sns3c"); } // [B1, B5, V3] +test { try toAsciiFail("xn----ufo4749h.xn--mhb45a235sns3c", false); } // [B1, B5, V3] +test { try toAsciiFail("xn----ufo4749h.xn--mhb45a235sns3c", true); } // [B1, B5, V3] test { try toUnicodeFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae\xef\xbc\x8e\xdb\x81\xe2\x80\x8d\xe2\x89\xaf\xe2\x80\x8d"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae\xef\xbc\x8e\xdb\x81\xe2\x80\x8d\xe2\x89\xaf\xe2\x80\x8d", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae\xef\xbc\x8e\xdb\x81\xe2\x80\x8d\xe2\x89\xaf\xe2\x80\x8d", true); } // [B3, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae\xef\xbc\x8e\xdb\x81\xe2\x80\x8d>\xcc\xb8\xe2\x80\x8d"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae\xef\xbc\x8e\xdb\x81\xe2\x80\x8d>\xcc\xb8\xe2\x80\x8d", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae\xef\xbc\x8e\xdb\x81\xe2\x80\x8d>\xcc\xb8\xe2\x80\x8d", true); } // [B3, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae.\xdb\x81\xe2\x80\x8d\xe2\x89\xaf\xe2\x80\x8d"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae.\xdb\x81\xe2\x80\x8d\xe2\x89\xaf\xe2\x80\x8d", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae.\xdb\x81\xe2\x80\x8d\xe2\x89\xaf\xe2\x80\x8d", true); } // [B3, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae.\xdb\x81\xe2\x80\x8d>\xcc\xb8\xe2\x80\x8d"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae.\xdb\x81\xe2\x80\x8d>\xcc\xb8\xe2\x80\x8d", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf1\x8d\xb8\xb0\xf0\x90\xb9\xb6\xdd\xae.\xdb\x81\xe2\x80\x8d>\xcc\xb8\xe2\x80\x8d", true); } // [B3, B5, B6, V7] test { try toUnicodeFail("xn--ypb5875khz9y.xn--0kb682l"); } // [B3, B5, B6, V7] +test { try toAsciiFail("xn--ypb5875khz9y.xn--0kb682l", false); } // [B3, B5, B6, V7] +test { try toAsciiFail("xn--ypb5875khz9y.xn--0kb682l", true); } // [B3, B5, B6, V7] test { try toUnicodeFail("xn--ypb717jrx2o7v94a.xn--0kb660ka35v"); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("xn--ypb717jrx2o7v94a.xn--0kb660ka35v", false); } // [B1, B3, C1, C2, V7] +test { try toAsciiFail("xn--ypb717jrx2o7v94a.xn--0kb660ka35v", true); } // [B1, B3, C1, C2, V7] test { try toUnicodeFail("\xe2\x89\xae\xef\xbc\x8e\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94"); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xef\xbc\x8e\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xef\xbc\x8e\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", true); } // [B1] test { try toUnicodeFail("<\xcc\xb8\xef\xbc\x8e\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94"); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xef\xbc\x8e\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", false); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xef\xbc\x8e\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xae.\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94"); } // [B1] +test { try toAsciiFail("\xe2\x89\xae.\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xae.\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", true); } // [B1] test { try toUnicodeFail("<\xcc\xb8.\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94"); } // [B1] +test { try toAsciiFail("<\xcc\xb8.\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", false); } // [B1] +test { try toAsciiFail("<\xcc\xb8.\xe1\x9e\xb5\xe0\xa1\x95\xf0\x90\xab\x94", true); } // [B1] test { try toUnicodeFail("xn--gdh.xn--kwb4643k"); } // [B1] +test { try toAsciiFail("xn--gdh.xn--kwb4643k", false); } // [B1] +test { try toAsciiFail("xn--gdh.xn--kwb4643k", true); } // [B1] test { try toUnicodeFail("xn--gdh.xn--kwb589e217p"); } // [B1, V6, V7] +test { try toAsciiFail("xn--gdh.xn--kwb589e217p", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--gdh.xn--kwb589e217p", true); } // [B1, V6, V7] test { try toAsciiPass("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe1\x82\xa9\xe1\x82\xb5", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe1\x82\xa9\xe1\x82\xb5"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe1\x82\xa9\xe1\x82\xb5", false); } // [B3, C2] test { try toAsciiPass("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe1\x82\xa9\xe1\x82\xb5", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe1\x82\xa9\xe1\x82\xb5"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe1\x82\xa9\xe1\x82\xb5", false); } // [B3, C2] test { try toAsciiPass("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe2\xb4\x89\xe2\xb4\x95", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe2\xb4\x89\xe2\xb4\x95"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe2\xb4\x89\xe2\xb4\x95", false); } // [B3, C2] test { try toAsciiPass("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe1\x82\xa9\xe2\xb4\x95", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe1\x82\xa9\xe2\xb4\x95"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xe3\x80\x82\xe1\x82\xa9\xe2\xb4\x95", false); } // [B3, C2] test { try toUnicodePass("xn--pt9c.xn--0kjya", "\xf0\x90\xa9\x97.\xe2\xb4\x89\xe2\xb4\x95"); } test { try toAsciiPass("xn--pt9c.xn--0kjya", "xn--pt9c.xn--0kjya", false); } test { try toAsciiPass("xn--pt9c.xn--0kjya", "xn--pt9c.xn--0kjya", true); } @@ -4955,114 +12057,326 @@ test { try toUnicodePass("\xf0\x90\xa9\x97.\xe1\x82\xa9\xe2\xb4\x95", "\xf0\x90\ test { try toAsciiPass("\xf0\x90\xa9\x97.\xe1\x82\xa9\xe2\xb4\x95", "xn--pt9c.xn--0kjya", false); } test { try toAsciiPass("\xf0\x90\xa9\x97.\xe1\x82\xa9\xe2\xb4\x95", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("xn--1ug4933g.xn--0kjya"); } // [B3, C2] +test { try toAsciiFail("xn--1ug4933g.xn--0kjya", false); } // [B3, C2] +test { try toAsciiFail("xn--1ug4933g.xn--0kjya", true); } // [B3, C2] test { try toAsciiPass("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe2\xb4\x89\xe2\xb4\x95", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe2\xb4\x89\xe2\xb4\x95"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe2\xb4\x89\xe2\xb4\x95", false); } // [B3, C2] test { try toAsciiPass("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe1\x82\xa9\xe2\xb4\x95", "xn--pt9c.xn--0kjya", true); } test { try toUnicodeFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe1\x82\xa9\xe2\xb4\x95"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xa9\x97\xe2\x80\x8d\xef\xbd\xa1\xe1\x82\xa9\xe2\xb4\x95", false); } // [B3, C2] test { try toUnicodeFail("xn--pt9c.xn--hnd666l"); } // [V7] +test { try toAsciiFail("xn--pt9c.xn--hnd666l", false); } // [V7] +test { try toAsciiFail("xn--pt9c.xn--hnd666l", true); } // [V7] test { try toUnicodeFail("xn--1ug4933g.xn--hnd666l"); } // [B3, C2, V7] +test { try toAsciiFail("xn--1ug4933g.xn--hnd666l", false); } // [B3, C2, V7] +test { try toAsciiFail("xn--1ug4933g.xn--hnd666l", true); } // [B3, C2, V7] test { try toUnicodeFail("xn--pt9c.xn--hndy"); } // [V7] +test { try toAsciiFail("xn--pt9c.xn--hndy", false); } // [V7] +test { try toAsciiFail("xn--pt9c.xn--hndy", true); } // [V7] test { try toUnicodeFail("xn--1ug4933g.xn--hndy"); } // [B3, C2, V7] +test { try toAsciiFail("xn--1ug4933g.xn--hndy", false); } // [B3, C2, V7] +test { try toAsciiFail("xn--1ug4933g.xn--hndy", true); } // [B3, C2, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x84\xa4\xef\xbc\x8e\xcc\xae\xf3\x95\xa8\x91\xe0\xa7\x82"); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x84\xa4\xef\xbc\x8e\xcc\xae\xf3\x95\xa8\x91\xe0\xa7\x82", false); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x84\xa4\xef\xbc\x8e\xcc\xae\xf3\x95\xa8\x91\xe0\xa7\x82", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x84\xa4.\xcc\xae\xf3\x95\xa8\x91\xe0\xa7\x82"); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x84\xa4.\xcc\xae\xf3\x95\xa8\x91\xe0\xa7\x82", false); } // [C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x84\xa4.\xcc\xae\xf3\x95\xa8\x91\xe0\xa7\x82", true); } // [V6, V7] test { try toUnicodeFail("xn--1fk.xn--vta284a9o563a"); } // [V6, V7] +test { try toAsciiFail("xn--1fk.xn--vta284a9o563a", false); } // [V6, V7] +test { try toAsciiFail("xn--1fk.xn--vta284a9o563a", true); } // [V6, V7] test { try toUnicodeFail("xn--0uga242k.xn--vta284a9o563a"); } // [C1, V6, V7] +test { try toAsciiFail("xn--0uga242k.xn--vta284a9o563a", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--0uga242k.xn--vta284a9o563a", true); } // [C1, V6, V7] test { try toUnicodeFail("\xf0\x90\x8b\xbb\xef\xbd\xa1-\xe2\x80\x8c\xf0\x90\xab\x84\xe1\x82\xb7"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xef\xbd\xa1-\xe2\x80\x8c\xf0\x90\xab\x84\xe1\x82\xb7", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xef\xbd\xa1-\xe2\x80\x8c\xf0\x90\xab\x84\xe1\x82\xb7", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x90\x8b\xbb\xe3\x80\x82-\xe2\x80\x8c\xf0\x90\xab\x84\xe1\x82\xb7"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xe3\x80\x82-\xe2\x80\x8c\xf0\x90\xab\x84\xe1\x82\xb7", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xe3\x80\x82-\xe2\x80\x8c\xf0\x90\xab\x84\xe1\x82\xb7", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x90\x8b\xbb\xe3\x80\x82-\xe2\x80\x8c\xf0\x90\xab\x84\xe2\xb4\x97"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xe3\x80\x82-\xe2\x80\x8c\xf0\x90\xab\x84\xe2\xb4\x97", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xe3\x80\x82-\xe2\x80\x8c\xf0\x90\xab\x84\xe2\xb4\x97", true); } // [B1, V3] test { try toUnicodeFail("xn--v97c.xn----lws0526f"); } // [B1, V3] +test { try toAsciiFail("xn--v97c.xn----lws0526f", false); } // [B1, V3] +test { try toAsciiFail("xn--v97c.xn----lws0526f", true); } // [B1, V3] test { try toUnicodeFail("xn--v97c.xn----sgnv20du99s"); } // [B1, C1, V3] +test { try toAsciiFail("xn--v97c.xn----sgnv20du99s", false); } // [B1, C1, V3] +test { try toAsciiFail("xn--v97c.xn----sgnv20du99s", true); } // [B1, C1, V3] test { try toUnicodeFail("\xf0\x90\x8b\xbb\xef\xbd\xa1-\xe2\x80\x8c\xf0\x90\xab\x84\xe2\xb4\x97"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xef\xbd\xa1-\xe2\x80\x8c\xf0\x90\xab\x84\xe2\xb4\x97", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x90\x8b\xbb\xef\xbd\xa1-\xe2\x80\x8c\xf0\x90\xab\x84\xe2\xb4\x97", true); } // [B1, V3] test { try toUnicodeFail("xn--v97c.xn----i1g2513q"); } // [B1, V3, V7] +test { try toAsciiFail("xn--v97c.xn----i1g2513q", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--v97c.xn----i1g2513q", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--v97c.xn----i1g888ih12u"); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--v97c.xn----i1g888ih12u", false); } // [B1, C1, V3, V7] +test { try toAsciiFail("xn--v97c.xn----i1g888ih12u", true); } // [B1, C1, V3, V7] test { try toUnicodeFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba\xef\xbc\x8e\xe2\x89\xa0\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba\xef\xbc\x8e=\xcc\xb8\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba\xef\xbc\x8e=\xcc\xb8\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba\xef\xbc\x8e=\xcc\xb8\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba.\xe2\x89\xa0\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba.\xe2\x89\xa0\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba.\xe2\x89\xa0\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba.=\xcc\xb8\xe2\x80\x8c"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba.=\xcc\xb8\xe2\x80\x8c", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9f\x99\x91\xf0\x90\xb7\xba.=\xcc\xb8\xe2\x80\x8c", true); } // [B1, V7] test { try toUnicodeFail("xn--bl0dh970b.xn--1ch"); } // [B1, V7] +test { try toAsciiFail("xn--bl0dh970b.xn--1ch", false); } // [B1, V7] +test { try toAsciiFail("xn--bl0dh970b.xn--1ch", true); } // [B1, V7] test { try toUnicodeFail("xn--bl0dh970b.xn--0ug83g"); } // [B1, C1, V7] +test { try toAsciiFail("xn--bl0dh970b.xn--0ug83g", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--bl0dh970b.xn--0ug83g", true); } // [B1, C1, V7] test { try toUnicodeFail("\xd9\x8c\xe1\xb3\x92\xef\xbd\xa1\xf0\x9e\xae\x9e\xe2\xb5\xbf\xe2\xa7\x8e"); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xd9\x8c\xe1\xb3\x92\xef\xbd\xa1\xf0\x9e\xae\x9e\xe2\xb5\xbf\xe2\xa7\x8e", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xd9\x8c\xe1\xb3\x92\xef\xbd\xa1\xf0\x9e\xae\x9e\xe2\xb5\xbf\xe2\xa7\x8e", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("\xd9\x8c\xe1\xb3\x92\xe3\x80\x82\xf0\x9e\xae\x9e\xe2\xb5\xbf\xe2\xa7\x8e"); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xd9\x8c\xe1\xb3\x92\xe3\x80\x82\xf0\x9e\xae\x9e\xe2\xb5\xbf\xe2\xa7\x8e", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xd9\x8c\xe1\xb3\x92\xe3\x80\x82\xf0\x9e\xae\x9e\xe2\xb5\xbf\xe2\xa7\x8e", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("xn--ohb646i.xn--ewi38jf765c"); } // [B1, B3, V6, V7] +test { try toAsciiFail("xn--ohb646i.xn--ewi38jf765c", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("xn--ohb646i.xn--ewi38jf765c", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("\xe1\x82\xb4\xf0\x9d\xa8\xa8\xe2\x82\x83\xf3\xa0\x81\xa6\xef\xbc\x8e\xf0\x9d\x9f\xb3\xf0\x91\x82\xb9\xe0\xae\x82"); } // [V7] +test { try toAsciiFail("\xe1\x82\xb4\xf0\x9d\xa8\xa8\xe2\x82\x83\xf3\xa0\x81\xa6\xef\xbc\x8e\xf0\x9d\x9f\xb3\xf0\x91\x82\xb9\xe0\xae\x82", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xb4\xf0\x9d\xa8\xa8\xe2\x82\x83\xf3\xa0\x81\xa6\xef\xbc\x8e\xf0\x9d\x9f\xb3\xf0\x91\x82\xb9\xe0\xae\x82", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xb4\xf0\x9d\xa8\xa83\xf3\xa0\x81\xa6.7\xf0\x91\x82\xb9\xe0\xae\x82"); } // [V7] +test { try toAsciiFail("\xe1\x82\xb4\xf0\x9d\xa8\xa83\xf3\xa0\x81\xa6.7\xf0\x91\x82\xb9\xe0\xae\x82", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xb4\xf0\x9d\xa8\xa83\xf3\xa0\x81\xa6.7\xf0\x91\x82\xb9\xe0\xae\x82", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x94\xf0\x9d\xa8\xa83\xf3\xa0\x81\xa6.7\xf0\x91\x82\xb9\xe0\xae\x82"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x94\xf0\x9d\xa8\xa83\xf3\xa0\x81\xa6.7\xf0\x91\x82\xb9\xe0\xae\x82", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x94\xf0\x9d\xa8\xa83\xf3\xa0\x81\xa6.7\xf0\x91\x82\xb9\xe0\xae\x82", true); } // [V7] test { try toUnicodeFail("xn--3-ews6985n35s3g.xn--7-cve6271r"); } // [V7] +test { try toAsciiFail("xn--3-ews6985n35s3g.xn--7-cve6271r", false); } // [V7] +test { try toAsciiFail("xn--3-ews6985n35s3g.xn--7-cve6271r", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x94\xf0\x9d\xa8\xa8\xe2\x82\x83\xf3\xa0\x81\xa6\xef\xbc\x8e\xf0\x9d\x9f\xb3\xf0\x91\x82\xb9\xe0\xae\x82"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x94\xf0\x9d\xa8\xa8\xe2\x82\x83\xf3\xa0\x81\xa6\xef\xbc\x8e\xf0\x9d\x9f\xb3\xf0\x91\x82\xb9\xe0\xae\x82", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x94\xf0\x9d\xa8\xa8\xe2\x82\x83\xf3\xa0\x81\xa6\xef\xbc\x8e\xf0\x9d\x9f\xb3\xf0\x91\x82\xb9\xe0\xae\x82", true); } // [V7] test { try toUnicodeFail("xn--3-b1g83426a35t0g.xn--7-cve6271r"); } // [V7] +test { try toAsciiFail("xn--3-b1g83426a35t0g.xn--7-cve6271r", false); } // [V7] +test { try toAsciiFail("xn--3-b1g83426a35t0g.xn--7-cve6271r", true); } // [V7] test { try toUnicodeFail("\xe4\x8f\x88\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xe2\x92\x88\xf1\xb1\xa2\x95"); } // [C1, V7] +test { try toAsciiFail("\xe4\x8f\x88\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xe2\x92\x88\xf1\xb1\xa2\x95", false); } // [C1, V7] +test { try toAsciiFail("\xe4\x8f\x88\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c\xe2\x92\x88\xf1\xb1\xa2\x95", true); } // [V7] test { try toUnicodeFail("\xe4\x8f\x88\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c1.\xf1\xb1\xa2\x95"); } // [C1, V7] +test { try toAsciiFail("\xe4\x8f\x88\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c1.\xf1\xb1\xa2\x95", false); } // [C1, V7] +test { try toAsciiFail("\xe4\x8f\x88\xe2\x80\x8c\xe3\x80\x82\xe2\x80\x8c1.\xf1\xb1\xa2\x95", true); } // [V7] test { try toUnicodeFail("xn--eco.1.xn--ms39a"); } // [V7] +test { try toAsciiFail("xn--eco.1.xn--ms39a", false); } // [V7] +test { try toAsciiFail("xn--eco.1.xn--ms39a", true); } // [V7] test { try toUnicodeFail("xn--0ug491l.xn--1-rgn.xn--ms39a"); } // [C1, V7] +test { try toAsciiFail("xn--0ug491l.xn--1-rgn.xn--ms39a", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug491l.xn--1-rgn.xn--ms39a", true); } // [C1, V7] test { try toUnicodeFail("xn--eco.xn--tsh21126d"); } // [V7] +test { try toAsciiFail("xn--eco.xn--tsh21126d", false); } // [V7] +test { try toAsciiFail("xn--eco.xn--tsh21126d", true); } // [V7] test { try toUnicodeFail("xn--0ug491l.xn--0ug88oot66q"); } // [C1, V7] +test { try toAsciiFail("xn--0ug491l.xn--0ug88oot66q", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug491l.xn--0ug88oot66q", true); } // [C1, V7] test { try toUnicodeFail("\xef\xbc\x91\xea\xab\xb6\xc3\x9f\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6\xc3\x9f\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6\xc3\x9f\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("1\xea\xab\xb6\xc3\x9f\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6\xc3\x9f\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6\xc3\x9f\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("1\xea\xab\xb6SS\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6SS\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6SS\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("1\xea\xab\xb6ss\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6ss\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6ss\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("xn--1ss-ir6ln166b.xn--weg"); } // [V6] +test { try toAsciiFail("xn--1ss-ir6ln166b.xn--weg", false); } // [V6] +test { try toAsciiFail("xn--1ss-ir6ln166b.xn--weg", true); } // [V6] test { try toUnicodeFail("xn--1-qfa2471kdb0d.xn--weg"); } // [V6] +test { try toAsciiFail("xn--1-qfa2471kdb0d.xn--weg", false); } // [V6] +test { try toAsciiFail("xn--1-qfa2471kdb0d.xn--weg", true); } // [V6] test { try toUnicodeFail("\xef\xbc\x91\xea\xab\xb6SS\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6SS\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6SS\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("\xef\xbc\x91\xea\xab\xb6ss\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6ss\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6ss\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("1\xea\xab\xb6Ss\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6Ss\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("1\xea\xab\xb6Ss\xf0\x91\xb2\xa5\xe3\x80\x82\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("\xef\xbc\x91\xea\xab\xb6Ss\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98"); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6Ss\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", false); } // [V6] +test { try toAsciiFail("\xef\xbc\x91\xea\xab\xb6Ss\xf0\x91\xb2\xa5\xef\xbd\xa1\xe1\xb7\x98", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xf1\xab\xb6\xa9\xf0\x9e\xaa\xaf\xe0\xb3\x8d\xef\xbd\xa1\xdd\xbc\xe2\x92\x88"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\xab\xb6\xa9\xf0\x9e\xaa\xaf\xe0\xb3\x8d\xef\xbd\xa1\xdd\xbc\xe2\x92\x88", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\xab\xb6\xa9\xf0\x9e\xaa\xaf\xe0\xb3\x8d\xef\xbd\xa1\xdd\xbc\xe2\x92\x88", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf1\xab\xb6\xa9\xf0\x9e\xaa\xaf\xe0\xb3\x8d\xe3\x80\x82\xdd\xbc1."); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf1\xab\xb6\xa9\xf0\x9e\xaa\xaf\xe0\xb3\x8d\xe3\x80\x82\xdd\xbc1.", false); } // [B1, C2, V7, A4_2] +test { try toAsciiFail("\xe2\x80\x8d\xf1\xab\xb6\xa9\xf0\x9e\xaa\xaf\xe0\xb3\x8d\xe3\x80\x82\xdd\xbc1.", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--8tc9875v5is1a.xn--1-g6c."); } // [B5, B6, V7] +test { try toAsciiFail("xn--8tc9875v5is1a.xn--1-g6c.", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail("xn--8tc9875v5is1a.xn--1-g6c.", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--8tc969gzn94a4lm8a.xn--1-g6c."); } // [B1, C2, V7] +test { try toAsciiFail("xn--8tc969gzn94a4lm8a.xn--1-g6c.", false); } // [B1, C2, V7, A4_2] +test { try toAsciiFail("xn--8tc969gzn94a4lm8a.xn--1-g6c.", true); } // [B1, C2, V7, A4_2] test { try toUnicodeFail("xn--8tc9875v5is1a.xn--dqb689l"); } // [B5, B6, V7] +test { try toAsciiFail("xn--8tc9875v5is1a.xn--dqb689l", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--8tc9875v5is1a.xn--dqb689l", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--8tc969gzn94a4lm8a.xn--dqb689l"); } // [B1, C2, V7] +test { try toAsciiFail("xn--8tc969gzn94a4lm8a.xn--dqb689l", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--8tc969gzn94a4lm8a.xn--dqb689l", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe1\xaa\xb6\xef\xbc\x8e\xf0\x9e\xa4\xb3\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6\xef\xbc\x8e\xf0\x9e\xa4\xb3\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6\xef\xbc\x8e\xf0\x9e\xa4\xb3\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xe1\xaa\xb6.\xf0\x9e\xa4\xb3\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6.\xf0\x9e\xa4\xb3\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6.\xf0\x9e\xa4\xb3\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xe1\xaa\xb6.\xf0\x9e\xa4\x91\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6.\xf0\x9e\xa4\x91\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6.\xf0\x9e\xa4\x91\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("xn--zqf.xn--ysb9657vuiz5bj0ep"); } // [B1, B2, V6, V7] +test { try toAsciiFail("xn--zqf.xn--ysb9657vuiz5bj0ep", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("xn--zqf.xn--ysb9657vuiz5bj0ep", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xe1\xaa\xb6\xef\xbc\x8e\xf0\x9e\xa4\x91\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6\xef\xbc\x8e\xf0\x9e\xa4\x91\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xe1\xaa\xb6\xef\xbc\x8e\xf0\x9e\xa4\x91\xf2\x93\xa2\x96\xf2\xbb\x89\x92\xdf\x97", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xe0\xa1\x82\xf0\x9e\xa9\x9a\xe2\x92\x88\xef\xbc\x8e\xf3\xa0\xac\x8c\xef\xbc\x98\xf2\x8f\xb3\x8f\xdd\xb0"); } // [B1, V7] +test { try toAsciiFail("\xe0\xa1\x82\xf0\x9e\xa9\x9a\xe2\x92\x88\xef\xbc\x8e\xf3\xa0\xac\x8c\xef\xbc\x98\xf2\x8f\xb3\x8f\xdd\xb0", false); } // [B1, V7] +test { try toAsciiFail("\xe0\xa1\x82\xf0\x9e\xa9\x9a\xe2\x92\x88\xef\xbc\x8e\xf3\xa0\xac\x8c\xef\xbc\x98\xf2\x8f\xb3\x8f\xdd\xb0", true); } // [B1, V7] test { try toUnicodeFail("\xe0\xa1\x82\xf0\x9e\xa9\x9a1..\xf3\xa0\xac\x8c8\xf2\x8f\xb3\x8f\xdd\xb0"); } // [B1, V7, X4_2] +test { try toAsciiFail("\xe0\xa1\x82\xf0\x9e\xa9\x9a1..\xf3\xa0\xac\x8c8\xf2\x8f\xb3\x8f\xdd\xb0", false); } // [B1, V7, A4_2] +test { try toAsciiFail("\xe0\xa1\x82\xf0\x9e\xa9\x9a1..\xf3\xa0\xac\x8c8\xf2\x8f\xb3\x8f\xdd\xb0", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--1-rid26318a..xn--8-s5c22427ox454a"); } // [B1, V7, X4_2] +test { try toAsciiFail("xn--1-rid26318a..xn--8-s5c22427ox454a", false); } // [B1, V7, A4_2] +test { try toAsciiFail("xn--1-rid26318a..xn--8-s5c22427ox454a", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--0vb095ldg52a.xn--8-s5c22427ox454a"); } // [B1, V7] +test { try toAsciiFail("xn--0vb095ldg52a.xn--8-s5c22427ox454a", false); } // [B1, V7] +test { try toAsciiFail("xn--0vb095ldg52a.xn--8-s5c22427ox454a", true); } // [B1, V7] test { try toUnicodeFail("\xcd\xa1\xf0\x90\xab\xab\xcd\xa9\xe1\xa1\xb7\xe3\x80\x82-\xf3\xa0\xb0\x9b\xe9\x9e\xb0"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xcd\xa1\xf0\x90\xab\xab\xcd\xa9\xe1\xa1\xb7\xe3\x80\x82-\xf3\xa0\xb0\x9b\xe9\x9e\xb0", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xcd\xa1\xf0\x90\xab\xab\xcd\xa9\xe1\xa1\xb7\xe3\x80\x82-\xf3\xa0\xb0\x9b\xe9\x9e\xb0", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--cvaq482npv5t.xn----yg7dt1332g"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--cvaq482npv5t.xn----yg7dt1332g", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--cvaq482npv5t.xn----yg7dt1332g", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("-.\xe0\xab\x8d\xe5\x89\x98\xc3\x9f\xf0\x90\xab\x83"); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98\xc3\x9f\xf0\x90\xab\x83", false); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98\xc3\x9f\xf0\x90\xab\x83", true); } // [B1, V3, V6] test { try toUnicodeFail("-.\xe0\xab\x8d\xe5\x89\x98SS\xf0\x90\xab\x83"); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98SS\xf0\x90\xab\x83", false); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98SS\xf0\x90\xab\x83", true); } // [B1, V3, V6] test { try toUnicodeFail("-.\xe0\xab\x8d\xe5\x89\x98ss\xf0\x90\xab\x83"); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98ss\xf0\x90\xab\x83", false); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98ss\xf0\x90\xab\x83", true); } // [B1, V3, V6] test { try toUnicodeFail("-.\xe0\xab\x8d\xe5\x89\x98Ss\xf0\x90\xab\x83"); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98Ss\xf0\x90\xab\x83", false); } // [B1, V3, V6] +test { try toAsciiFail("-.\xe0\xab\x8d\xe5\x89\x98Ss\xf0\x90\xab\x83", true); } // [B1, V3, V6] test { try toUnicodeFail("-.xn--ss-bqg4734erywk"); } // [B1, V3, V6] +test { try toAsciiFail("-.xn--ss-bqg4734erywk", false); } // [B1, V3, V6] +test { try toAsciiFail("-.xn--ss-bqg4734erywk", true); } // [B1, V3, V6] test { try toUnicodeFail("-.xn--zca791c493duf8i"); } // [B1, V3, V6] +test { try toAsciiFail("-.xn--zca791c493duf8i", false); } // [B1, V3, V6] +test { try toAsciiFail("-.xn--zca791c493duf8i", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe0\xa3\xbb\xf0\x9e\xb5\xb8\xef\xbd\xa1-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe0\xa3\xbb\xf0\x9e\xb5\xb8\xef\xbd\xa1-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe0\xa3\xbb\xf0\x9e\xb5\xb8\xef\xbd\xa1-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe0\xa3\xbb\xf0\x9e\xb5\xb8\xe3\x80\x82-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe0\xa3\xbb\xf0\x9e\xb5\xb8\xe3\x80\x82-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe0\xa3\xbb\xf0\x9e\xb5\xb8\xe3\x80\x82-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--b1b2719v.-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--b1b2719v.-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--b1b2719v.-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe2\x92\x88\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xef\xbd\xa1\xe2\x89\xa0\xd8\x83\xf0\x90\xb9\xbd"); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xef\xbd\xa1\xe2\x89\xa0\xd8\x83\xf0\x90\xb9\xbd", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xef\xbd\xa1\xe2\x89\xa0\xd8\x83\xf0\x90\xb9\xbd", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x92\x88\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xef\xbd\xa1=\xcc\xb8\xd8\x83\xf0\x90\xb9\xbd"); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xef\xbd\xa1=\xcc\xb8\xd8\x83\xf0\x90\xb9\xbd", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xef\xbd\xa1=\xcc\xb8\xd8\x83\xf0\x90\xb9\xbd", true); } // [B1, V7] test { try toUnicodeFail("1.\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xe3\x80\x82\xe2\x89\xa0\xd8\x83\xf0\x90\xb9\xbd"); } // [B1, V7] +test { try toAsciiFail("1.\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xe3\x80\x82\xe2\x89\xa0\xd8\x83\xf0\x90\xb9\xbd", false); } // [B1, V7] +test { try toAsciiFail("1.\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xe3\x80\x82\xe2\x89\xa0\xd8\x83\xf0\x90\xb9\xbd", true); } // [B1, V7] test { try toUnicodeFail("1.\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xe3\x80\x82=\xcc\xb8\xd8\x83\xf0\x90\xb9\xbd"); } // [B1, V7] +test { try toAsciiFail("1.\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xe3\x80\x82=\xcc\xb8\xd8\x83\xf0\x90\xb9\xbd", false); } // [B1, V7] +test { try toAsciiFail("1.\xf3\xa0\x88\xbb\xf0\x90\xb9\xb2\xe3\x80\x82=\xcc\xb8\xd8\x83\xf0\x90\xb9\xbd", true); } // [B1, V7] test { try toUnicodeFail("1.xn--qo0dl3077c.xn--lfb536lb35n"); } // [B1, V7] +test { try toAsciiFail("1.xn--qo0dl3077c.xn--lfb536lb35n", false); } // [B1, V7] +test { try toAsciiFail("1.xn--qo0dl3077c.xn--lfb536lb35n", true); } // [B1, V7] test { try toUnicodeFail("xn--tshw766f1153g.xn--lfb536lb35n"); } // [B1, V7] +test { try toAsciiFail("xn--tshw766f1153g.xn--lfb536lb35n", false); } // [B1, V7] +test { try toAsciiFail("xn--tshw766f1153g.xn--lfb536lb35n", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa2\xf3\xa0\x88\x9a\xe1\x82\xae\xe2\x80\x8c.\xe3\x96\xbe\xf0\x90\xb9\xa1"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xf3\xa0\x88\x9a\xe1\x82\xae\xe2\x80\x8c.\xe3\x96\xbe\xf0\x90\xb9\xa1", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xf3\xa0\x88\x9a\xe1\x82\xae\xe2\x80\x8c.\xe3\x96\xbe\xf0\x90\xb9\xa1", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa2\xf3\xa0\x88\x9a\xe2\xb4\x8e\xe2\x80\x8c.\xe3\x96\xbe\xf0\x90\xb9\xa1"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xf3\xa0\x88\x9a\xe2\xb4\x8e\xe2\x80\x8c.\xe3\x96\xbe\xf0\x90\xb9\xa1", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xf3\xa0\x88\x9a\xe2\xb4\x8e\xe2\x80\x8c.\xe3\x96\xbe\xf0\x90\xb9\xa1", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--5kjx323em053g.xn--pelu572d"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--5kjx323em053g.xn--pelu572d", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--5kjx323em053g.xn--pelu572d", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--0ug342clq0pqxv4i.xn--pelu572d"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug342clq0pqxv4i.xn--pelu572d", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug342clq0pqxv4i.xn--pelu572d", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("xn--mnd9001km0o0g.xn--pelu572d"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--mnd9001km0o0g.xn--pelu572d", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--mnd9001km0o0g.xn--pelu572d", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--mnd289ezj4pqxp0i.xn--pelu572d"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--mnd289ezj4pqxp0i.xn--pelu572d", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--mnd289ezj4pqxp0i.xn--pelu572d", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe1\x82\xa7"); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe1\x82\xa7", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe1\x82\xa7", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe1\x82\xa7"); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe1\x82\xa7", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe1\x82\xa7", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe2\xb4\x93\xe2\xb4\x87"); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe2\xb4\x93\xe2\xb4\x87", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe2\xb4\x93\xe2\xb4\x87", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--te28c.xn--isb295fbtpmb"); } // [B2, B3, V7] +test { try toAsciiFail("xn--te28c.xn--isb295fbtpmb", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--te28c.xn--isb295fbtpmb", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe2\xb4\x93\xe2\xb4\x87"); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe2\xb4\x93\xe2\xb4\x87", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe2\xb4\x93\xe2\xb4\x87", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--te28c.xn--isb856b9a631d"); } // [B2, B3, V7] +test { try toAsciiFail("xn--te28c.xn--isb856b9a631d", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--te28c.xn--isb856b9a631d", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe2\xb4\x87"); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe2\xb4\x87", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97.\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe2\xb4\x87", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--te28c.xn--isb286btrgo7w"); } // [B2, B3, V7] +test { try toAsciiFail("xn--te28c.xn--isb286btrgo7w", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--te28c.xn--isb286btrgo7w", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe2\xb4\x87"); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe2\xb4\x87", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf2\xa9\xbc\x97\xef\xbc\x8e\xdf\x87\xe1\xa1\x96\xe1\x82\xb3\xe2\xb4\x87", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xf4\x85\x8d\x89.\xda\xb3\xdd\xb5"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf4\x85\x8d\x89.\xda\xb3\xdd\xb5", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xf4\x85\x8d\x89.\xda\xb3\xdd\xb5", true); } // [V7] test { try toUnicodeFail("xn--3j78f.xn--mkb20b"); } // [V7] +test { try toAsciiFail("xn--3j78f.xn--mkb20b", false); } // [V7] +test { try toAsciiFail("xn--3j78f.xn--mkb20b", true); } // [V7] test { try toUnicodeFail("xn--1ug39444n.xn--mkb20b"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ug39444n.xn--mkb20b", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ug39444n.xn--mkb20b", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf0\xb2\xa4\xb1\xe2\x92\x9b\xe2\xbe\xb3\xef\xbc\x8e\xea\xa1\xa6\xe2\x92\x88"); } // [V7] +test { try toAsciiFail("\xf0\xb2\xa4\xb1\xe2\x92\x9b\xe2\xbe\xb3\xef\xbc\x8e\xea\xa1\xa6\xe2\x92\x88", false); } // [V7] +test { try toAsciiFail("\xf0\xb2\xa4\xb1\xe2\x92\x9b\xe2\xbe\xb3\xef\xbc\x8e\xea\xa1\xa6\xe2\x92\x88", true); } // [V7] test { try toUnicodePass("\xf0\xb2\xa4\xb120.\xe9\x9f\xb3.\xea\xa1\xa61.", "\xf0\xb2\xa4\xb120.\xe9\x9f\xb3.\xea\xa1\xa61."); } +test { try toAsciiFail("\xf0\xb2\xa4\xb120.\xe9\x9f\xb3.\xea\xa1\xa61.", false); } // [A4_2] +test { try toAsciiFail("\xf0\xb2\xa4\xb120.\xe9\x9f\xb3.\xea\xa1\xa61.", true); } // [A4_2] test { try toUnicodePass("xn--20-9802c.xn--0w5a.xn--1-eg4e.", "\xf0\xb2\xa4\xb120.\xe9\x9f\xb3.\xea\xa1\xa61."); } +test { try toAsciiFail("xn--20-9802c.xn--0w5a.xn--1-eg4e.", false); } // [A4_2] +test { try toAsciiFail("xn--20-9802c.xn--0w5a.xn--1-eg4e.", true); } // [A4_2] test { try toUnicodeFail("xn--dth6033bzbvx.xn--tsh9439b"); } // [V7] +test { try toAsciiFail("xn--dth6033bzbvx.xn--tsh9439b", false); } // [V7] +test { try toAsciiFail("xn--dth6033bzbvx.xn--tsh9439b", true); } // [V7] test { try toUnicodeFail("\xdf\x9c\xef\xbc\x98\xf1\xb3\xa6\x93-\xef\xbd\xa1\xf2\x9e\xb2\x99\xf0\x91\x81\xbf\xf0\x90\xa9\xa5\xe0\xa7\x8d"); } // [B2, B3, B5, B6, V3, V7] +test { try toAsciiFail("\xdf\x9c\xef\xbc\x98\xf1\xb3\xa6\x93-\xef\xbd\xa1\xf2\x9e\xb2\x99\xf0\x91\x81\xbf\xf0\x90\xa9\xa5\xe0\xa7\x8d", false); } // [B2, B3, B5, B6, V3, V7] +test { try toAsciiFail("\xdf\x9c\xef\xbc\x98\xf1\xb3\xa6\x93-\xef\xbd\xa1\xf2\x9e\xb2\x99\xf0\x91\x81\xbf\xf0\x90\xa9\xa5\xe0\xa7\x8d", true); } // [B2, B3, B5, B6, V3, V7] test { try toUnicodeFail("\xdf\x9c8\xf1\xb3\xa6\x93-\xe3\x80\x82\xf2\x9e\xb2\x99\xf0\x91\x81\xbf\xf0\x90\xa9\xa5\xe0\xa7\x8d"); } // [B2, B3, B5, B6, V3, V7] +test { try toAsciiFail("\xdf\x9c8\xf1\xb3\xa6\x93-\xe3\x80\x82\xf2\x9e\xb2\x99\xf0\x91\x81\xbf\xf0\x90\xa9\xa5\xe0\xa7\x8d", false); } // [B2, B3, B5, B6, V3, V7] +test { try toAsciiFail("\xdf\x9c8\xf1\xb3\xa6\x93-\xe3\x80\x82\xf2\x9e\xb2\x99\xf0\x91\x81\xbf\xf0\x90\xa9\xa5\xe0\xa7\x8d", true); } // [B2, B3, B5, B6, V3, V7] test { try toUnicodeFail("xn--8--rve13079p.xn--b7b9842k42df776x"); } // [B2, B3, B5, B6, V3, V7] +test { try toAsciiFail("xn--8--rve13079p.xn--b7b9842k42df776x", false); } // [B2, B3, B5, B6, V3, V7] +test { try toAsciiFail("xn--8--rve13079p.xn--b7b9842k42df776x", true); } // [B2, B3, B5, B6, V3, V7] test { try toUnicodePass("\xe1\x82\xb5\xe3\x80\x82\xdb\xb0\xe2\x89\xae\xc3\x9f\xdd\x85", "\xe2\xb4\x95.\xdb\xb0\xe2\x89\xae\xc3\x9f\xdd\x85"); } test { try toAsciiPass("\xe1\x82\xb5\xe3\x80\x82\xdb\xb0\xe2\x89\xae\xc3\x9f\xdd\x85", "xn--dlj.xn--zca912alh227g", false); } test { try toAsciiPass("\xe1\x82\xb5\xe3\x80\x82\xdb\xb0\xe2\x89\xae\xc3\x9f\xdd\x85", "xn--dlj.xn--ss-jbe65aw27i", true); } @@ -5124,37 +12438,92 @@ test { try toUnicodePass("\xe2\xb4\x95.\xdb\xb0<\xcc\xb8\xc3\x9f\xdd\x85", "\xe2 test { try toAsciiPass("\xe2\xb4\x95.\xdb\xb0<\xcc\xb8\xc3\x9f\xdd\x85", "xn--dlj.xn--zca912alh227g", false); } test { try toAsciiPass("\xe2\xb4\x95.\xdb\xb0<\xcc\xb8\xc3\x9f\xdd\x85", "xn--dlj.xn--ss-jbe65aw27i", true); } test { try toUnicodeFail("xn--tnd.xn--ss-jbe65aw27i"); } // [V7] +test { try toAsciiFail("xn--tnd.xn--ss-jbe65aw27i", false); } // [V7] +test { try toAsciiFail("xn--tnd.xn--ss-jbe65aw27i", true); } // [V7] test { try toUnicodeFail("xn--tnd.xn--zca912alh227g"); } // [V7] +test { try toAsciiFail("xn--tnd.xn--zca912alh227g", false); } // [V7] +test { try toAsciiFail("xn--tnd.xn--zca912alh227g", true); } // [V7] test { try toUnicodeFail("\xdf\xa9-.\xf0\x9d\xa8\x97\xea\x92\xb1\xe1\xad\xb2"); } // [B1, B3, V3, V6] +test { try toAsciiFail("\xdf\xa9-.\xf0\x9d\xa8\x97\xea\x92\xb1\xe1\xad\xb2", false); } // [B1, B3, V3, V6] +test { try toAsciiFail("\xdf\xa9-.\xf0\x9d\xa8\x97\xea\x92\xb1\xe1\xad\xb2", true); } // [B1, B3, V3, V6] test { try toUnicodeFail("xn----odd.xn--dwf8994dc8wj"); } // [B1, B3, V3, V6] +test { try toAsciiFail("xn----odd.xn--dwf8994dc8wj", false); } // [B1, B3, V3, V6] +test { try toAsciiFail("xn----odd.xn--dwf8994dc8wj", true); } // [B1, B3, V3, V6] test { try toUnicodeFail("\xf0\x9e\xbc\xb8\xe2\x80\x8c.\xe2\x89\xaf\xe4\x95\xb5\xe2\xab\xa7"); } // [B1, B3, C1, V7] +test { try toAsciiFail("\xf0\x9e\xbc\xb8\xe2\x80\x8c.\xe2\x89\xaf\xe4\x95\xb5\xe2\xab\xa7", false); } // [B1, B3, C1, V7] +test { try toAsciiFail("\xf0\x9e\xbc\xb8\xe2\x80\x8c.\xe2\x89\xaf\xe4\x95\xb5\xe2\xab\xa7", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9e\xbc\xb8\xe2\x80\x8c.>\xcc\xb8\xe4\x95\xb5\xe2\xab\xa7"); } // [B1, B3, C1, V7] +test { try toAsciiFail("\xf0\x9e\xbc\xb8\xe2\x80\x8c.>\xcc\xb8\xe4\x95\xb5\xe2\xab\xa7", false); } // [B1, B3, C1, V7] +test { try toAsciiFail("\xf0\x9e\xbc\xb8\xe2\x80\x8c.>\xcc\xb8\xe4\x95\xb5\xe2\xab\xa7", true); } // [B1, V7] test { try toUnicodeFail("xn--sn7h.xn--hdh754ax6w"); } // [B1, V7] +test { try toAsciiFail("xn--sn7h.xn--hdh754ax6w", false); } // [B1, V7] +test { try toAsciiFail("xn--sn7h.xn--hdh754ax6w", true); } // [B1, V7] test { try toUnicodeFail("xn--0ugx453p.xn--hdh754ax6w"); } // [B1, B3, C1, V7] +test { try toAsciiFail("xn--0ugx453p.xn--hdh754ax6w", false); } // [B1, B3, C1, V7] +test { try toAsciiFail("xn--0ugx453p.xn--hdh754ax6w", true); } // [B1, B3, C1, V7] test { try toUnicodeFail("\xf0\x90\xa8\x85\xc3\x9f\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92"); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85\xc3\x9f\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85\xc3\x9f\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("\xf0\x90\xa8\x85\xc3\x9f\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xa8\x85\xc3\x9f\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", false); } // [B1, V6, A4_2] +test { try toAsciiFail("\xf0\x90\xa8\x85\xc3\x9f\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", true); } // [B1, V6, A4_2] test { try toUnicodeFail("\xf0\x90\xa8\x85SS\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xa8\x85SS\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", false); } // [B1, V6, A4_2] +test { try toAsciiFail("\xf0\x90\xa8\x85SS\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", true); } // [B1, V6, A4_2] test { try toUnicodeFail("\xf0\x90\xa8\x85ss\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xa8\x85ss\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", false); } // [B1, V6, A4_2] +test { try toAsciiFail("\xf0\x90\xa8\x85ss\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", true); } // [B1, V6, A4_2] test { try toUnicodeFail("\xf0\x90\xa8\x85Ss\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82"); } // [B1, V6] +test { try toAsciiFail("\xf0\x90\xa8\x85Ss\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", false); } // [B1, V6, A4_2] +test { try toAsciiFail("\xf0\x90\xa8\x85Ss\xd9\x8a\xd8\xae.\xda\xac\xdb\xb3\xe3\x80\x82", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--ss-ytd5i7765l.xn--fkb6l."); } // [B1, V6] +test { try toAsciiFail("xn--ss-ytd5i7765l.xn--fkb6l.", false); } // [B1, V6, A4_2] +test { try toAsciiFail("xn--ss-ytd5i7765l.xn--fkb6l.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--zca23yncs877j.xn--fkb6l."); } // [B1, V6] +test { try toAsciiFail("xn--zca23yncs877j.xn--fkb6l.", false); } // [B1, V6, A4_2] +test { try toAsciiFail("xn--zca23yncs877j.xn--fkb6l.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("\xf0\x90\xa8\x85SS\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92"); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85SS\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85SS\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("\xf0\x90\xa8\x85ss\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92"); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85ss\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85ss\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("\xf0\x90\xa8\x85Ss\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92"); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85Ss\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("\xf0\x90\xa8\x85Ss\xef\xb1\x97.\xda\xac\xdb\xb3\xef\xb8\x92", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("xn--ss-ytd5i7765l.xn--fkb6lp314e"); } // [B1, B3, V6, V7] +test { try toAsciiFail("xn--ss-ytd5i7765l.xn--fkb6lp314e", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("xn--ss-ytd5i7765l.xn--fkb6lp314e", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("xn--zca23yncs877j.xn--fkb6lp314e"); } // [B1, B3, V6, V7] +test { try toAsciiFail("xn--zca23yncs877j.xn--fkb6lp314e", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("xn--zca23yncs877j.xn--fkb6lp314e", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("-\xe2\x89\xae\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe1\x82\xa1\xdc\x94"); } // [B1, V3, V7] +test { try toAsciiFail("-\xe2\x89\xae\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe1\x82\xa1\xdc\x94", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xe2\x89\xae\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe1\x82\xa1\xdc\x94", true); } // [B1, V3, V7] test { try toUnicodeFail("-<\xcc\xb8\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe1\x82\xa1\xdc\x94"); } // [B1, V3, V7] +test { try toAsciiFail("-<\xcc\xb8\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe1\x82\xa1\xdc\x94", false); } // [B1, V3, V7] +test { try toAsciiFail("-<\xcc\xb8\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe1\x82\xa1\xdc\x94", true); } // [B1, V3, V7] test { try toUnicodeFail("-<\xcc\xb8\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe2\xb4\x81\xdc\x94"); } // [B1, V3, V7] +test { try toAsciiFail("-<\xcc\xb8\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe2\xb4\x81\xdc\x94", false); } // [B1, V3, V7] +test { try toAsciiFail("-<\xcc\xb8\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe2\xb4\x81\xdc\x94", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe2\x89\xae\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe2\xb4\x81\xdc\x94"); } // [B1, V3, V7] +test { try toAsciiFail("-\xe2\x89\xae\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe2\xb4\x81\xdc\x94", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xe2\x89\xae\xf0\x9f\xa1\x92\xe1\xb3\xad.\xf1\x8f\xbf\xbe\xe2\xb4\x81\xdc\x94", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----44l04zxt68c.xn--enb135qf106f"); } // [B1, V3, V7] +test { try toAsciiFail("xn----44l04zxt68c.xn--enb135qf106f", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----44l04zxt68c.xn--enb135qf106f", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----44l04zxt68c.xn--enb300c1597h"); } // [B1, V3, V7] +test { try toAsciiFail("xn----44l04zxt68c.xn--enb300c1597h", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----44l04zxt68c.xn--enb300c1597h", true); } // [B1, V3, V7] test { try toAsciiPass("\xf0\x9e\xa4\xa8\xef\xbd\xa1\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", "xn--ge6h.xn--oc9a", true); } test { try toUnicodeFail("\xf0\x9e\xa4\xa8\xef\xbd\xa1\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c"); } // [B6, C1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\xa8\xef\xbd\xa1\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", false); } // [B6, C1, C2] test { try toAsciiPass("\xf0\x9e\xa4\xa8\xe3\x80\x82\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", "xn--ge6h.xn--oc9a", true); } test { try toUnicodeFail("\xf0\x9e\xa4\xa8\xe3\x80\x82\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c"); } // [B6, C1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\xa8\xe3\x80\x82\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", false); } // [B6, C1, C2] test { try toAsciiPass("\xf0\x9e\xa4\x86\xe3\x80\x82\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", "xn--ge6h.xn--oc9a", true); } test { try toUnicodeFail("\xf0\x9e\xa4\x86\xe3\x80\x82\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c"); } // [B6, C1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\x86\xe3\x80\x82\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", false); } // [B6, C1, C2] test { try toUnicodePass("xn--ge6h.xn--oc9a", "\xf0\x9e\xa4\xa8.\xea\xa1\x8f"); } test { try toAsciiPass("xn--ge6h.xn--oc9a", "xn--ge6h.xn--oc9a", false); } test { try toAsciiPass("xn--ge6h.xn--oc9a", "xn--ge6h.xn--oc9a", true); } @@ -5165,59 +12534,164 @@ test { try toUnicodePass("\xf0\x9e\xa4\x86.\xea\xa1\x8f", "\xf0\x9e\xa4\xa8.\xea test { try toAsciiPass("\xf0\x9e\xa4\x86.\xea\xa1\x8f", "xn--ge6h.xn--oc9a", false); } test { try toAsciiPass("\xf0\x9e\xa4\x86.\xea\xa1\x8f", "xn--ge6h.xn--oc9a", true); } test { try toUnicodeFail("xn--ge6h.xn--0ugb9575h"); } // [B6, C1, C2] +test { try toAsciiFail("xn--ge6h.xn--0ugb9575h", false); } // [B6, C1, C2] +test { try toAsciiFail("xn--ge6h.xn--0ugb9575h", true); } // [B6, C1, C2] test { try toAsciiPass("\xf0\x9e\xa4\x86\xef\xbd\xa1\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", "xn--ge6h.xn--oc9a", true); } test { try toUnicodeFail("\xf0\x9e\xa4\x86\xef\xbd\xa1\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c"); } // [B6, C1, C2] +test { try toAsciiFail("\xf0\x9e\xa4\x86\xef\xbd\xa1\xea\xa1\x8f\xe2\x80\x8d\xe2\x80\x8c", false); } // [B6, C1, C2] test { try toUnicodeFail("\xf3\xa0\x85\xb9\xf0\x91\x82\xb6\xef\xbc\x8e\xe1\xa2\x8c\xf0\x91\x82\xb9\xd9\xa9"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf3\xa0\x85\xb9\xf0\x91\x82\xb6\xef\xbc\x8e\xe1\xa2\x8c\xf0\x91\x82\xb9\xd9\xa9", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf3\xa0\x85\xb9\xf0\x91\x82\xb6\xef\xbc\x8e\xe1\xa2\x8c\xf0\x91\x82\xb9\xd9\xa9", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf3\xa0\x85\xb9\xf0\x91\x82\xb6.\xe1\xa2\x8c\xf0\x91\x82\xb9\xd9\xa9"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf3\xa0\x85\xb9\xf0\x91\x82\xb6.\xe1\xa2\x8c\xf0\x91\x82\xb9\xd9\xa9", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf3\xa0\x85\xb9\xf0\x91\x82\xb6.\xe1\xa2\x8c\xf0\x91\x82\xb9\xd9\xa9", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--b50d.xn--iib993gyp5p"); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--b50d.xn--iib993gyp5p", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--b50d.xn--iib993gyp5p", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe2\xbe\x91"); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe2\xbe\x91", false); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe2\xbe\x91", true); } // [V7] test { try toUnicodeFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe2\xbe\x91"); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe2\xbe\x91", false); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe2\xbe\x91", true); } // [V7] test { try toUnicodeFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe8\xa5\xbe"); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe8\xa5\xbe", false); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe8\xa5\xbe", true); } // [V7] test { try toUnicodeFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe8\xa5\xbe"); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe8\xa5\xbe", false); } // [V7] +test { try toAsciiFail("\xe2\x84\xb2\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe8\xa5\xbe", true); } // [V7] test { try toUnicodeFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe8\xa5\xbe"); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe8\xa5\xbe", false); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe8\xa5\xbe", true); } // [V7] test { try toUnicodeFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe8\xa5\xbe"); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe8\xa5\xbe", false); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe8\xa5\xbe", true); } // [V7] test { try toUnicodeFail("xn--73g39298c.xn--hdhz171b"); } // [V7] +test { try toAsciiFail("xn--73g39298c.xn--hdhz171b", false); } // [V7] +test { try toAsciiFail("xn--73g39298c.xn--hdhz171b", true); } // [V7] test { try toUnicodeFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe2\xbe\x91"); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe2\xbe\x91", false); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82>\xcc\xb8\xe2\xbe\x91", true); } // [V7] test { try toUnicodeFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe2\xbe\x91"); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe2\xbe\x91", false); } // [V7] +test { try toAsciiFail("\xe2\x85\x8e\xf3\xa0\x85\xba\xf1\x9d\xb5\x92\xe3\x80\x82\xe2\x89\xaf\xe2\xbe\x91", true); } // [V7] test { try toUnicodeFail("xn--f3g73398c.xn--hdhz171b"); } // [V7] +test { try toAsciiFail("xn--f3g73398c.xn--hdhz171b", false); } // [V7] +test { try toAsciiFail("xn--f3g73398c.xn--hdhz171b", true); } // [V7] test { try toUnicodeFail("\xcf\x82\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xcf\x82\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x82\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xce\xa3\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xce\xa3\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xce\xa3\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xcf\x83\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x83\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x83\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn--4xa25ks2j.-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--4xa25ks2j.-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--4xa25ks2j.-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn--4xa25ks2jenu.-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("xn--4xa25ks2jenu.-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("xn--4xa25ks2jenu.-", true); } // [B1, B5, B6, C2, V3] test { try toUnicodeFail("xn--3xa45ks2jenu.-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("xn--3xa45ks2jenu.-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("xn--3xa45ks2jenu.-", true); } // [B1, B5, B6, C2, V3] test { try toUnicodeFail("\xce\xa3\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xce\xa3\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xce\xa3\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xcf\x83\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-"); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x83\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-", false); } // [B1, B5, B6, C2, V3] +test { try toAsciiFail("\xcf\x83\xe2\x80\x8d\xe0\xb7\x94\xd9\xa0\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\x80\x8c.\xc3\x9f\xe1\x82\xa9-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.\xc3\x9f\xe1\x82\xa9-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.\xc3\x9f\xe1\x82\xa9-", true); } // [V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.\xc3\x9f\xe2\xb4\x89-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.\xc3\x9f\xe2\xb4\x89-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.\xc3\x9f\xe2\xb4\x89-", true); } // [V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.SS\xe1\x82\xa9-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.SS\xe1\x82\xa9-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.SS\xe1\x82\xa9-", true); } // [V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.ss\xe2\xb4\x89-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.ss\xe2\xb4\x89-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.ss\xe2\xb4\x89-", true); } // [V3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.Ss\xe2\xb4\x89-"); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.Ss\xe2\xb4\x89-", false); } // [C1, V3] +test { try toAsciiFail("\xe2\x80\x8c.Ss\xe2\xb4\x89-", true); } // [V3, A4_2] test { try toUnicodeFail(".xn--ss--bi1b"); } // [V3, X4_2] +test { try toAsciiFail(".xn--ss--bi1b", false); } // [V3, A4_2] +test { try toAsciiFail(".xn--ss--bi1b", true); } // [V3, A4_2] test { try toUnicodeFail("xn--0ug.xn--ss--bi1b"); } // [C1, V3] +test { try toAsciiFail("xn--0ug.xn--ss--bi1b", false); } // [C1, V3] +test { try toAsciiFail("xn--0ug.xn--ss--bi1b", true); } // [C1, V3] test { try toUnicodeFail("xn--0ug.xn----pfa2305a"); } // [C1, V3] +test { try toAsciiFail("xn--0ug.xn----pfa2305a", false); } // [C1, V3] +test { try toAsciiFail("xn--0ug.xn----pfa2305a", true); } // [C1, V3] test { try toUnicodeFail(".xn--ss--4rn"); } // [V3, V7, X4_2] +test { try toAsciiFail(".xn--ss--4rn", false); } // [V3, V7, A4_2] +test { try toAsciiFail(".xn--ss--4rn", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--ss--4rn"); } // [C1, V3, V7] +test { try toAsciiFail("xn--0ug.xn--ss--4rn", false); } // [C1, V3, V7] +test { try toAsciiFail("xn--0ug.xn--ss--4rn", true); } // [C1, V3, V7] test { try toUnicodeFail("xn--0ug.xn----pfa042j"); } // [C1, V3, V7] +test { try toAsciiFail("xn--0ug.xn----pfa042j", false); } // [C1, V3, V7] +test { try toAsciiFail("xn--0ug.xn----pfa042j", true); } // [C1, V3, V7] test { try toUnicodeFail("\xf3\x8d\xad\xb2\xf0\x90\xab\x8d\xe3\x93\xb1\xe3\x80\x82\xe2\xbe\x91"); } // [B5, V7] +test { try toAsciiFail("\xf3\x8d\xad\xb2\xf0\x90\xab\x8d\xe3\x93\xb1\xe3\x80\x82\xe2\xbe\x91", false); } // [B5, V7] +test { try toAsciiFail("\xf3\x8d\xad\xb2\xf0\x90\xab\x8d\xe3\x93\xb1\xe3\x80\x82\xe2\xbe\x91", true); } // [B5, V7] test { try toUnicodeFail("\xf3\x8d\xad\xb2\xf0\x90\xab\x8d\xe3\x93\xb1\xe3\x80\x82\xe8\xa5\xbe"); } // [B5, V7] +test { try toAsciiFail("\xf3\x8d\xad\xb2\xf0\x90\xab\x8d\xe3\x93\xb1\xe3\x80\x82\xe8\xa5\xbe", false); } // [B5, V7] +test { try toAsciiFail("\xf3\x8d\xad\xb2\xf0\x90\xab\x8d\xe3\x93\xb1\xe3\x80\x82\xe8\xa5\xbe", true); } // [B5, V7] test { try toUnicodeFail("xn--u7kt691dlj09f.xn--9v2a"); } // [B5, V7] +test { try toAsciiFail("xn--u7kt691dlj09f.xn--9v2a", false); } // [B5, V7] +test { try toAsciiFail("xn--u7kt691dlj09f.xn--9v2a", true); } // [B5, V7] test { try toUnicodeFail("\xda\xa0\xf0\x90\xae\x8b\xf0\x90\xb9\xb0\xe2\x89\xae\xe3\x80\x82\xe2\x89\xaf\xf3\xa0\xa6\x97\xe2\x80\x8d"); } // [B1, B3, C2, V7] +test { try toAsciiFail("\xda\xa0\xf0\x90\xae\x8b\xf0\x90\xb9\xb0\xe2\x89\xae\xe3\x80\x82\xe2\x89\xaf\xf3\xa0\xa6\x97\xe2\x80\x8d", false); } // [B1, B3, C2, V7] +test { try toAsciiFail("\xda\xa0\xf0\x90\xae\x8b\xf0\x90\xb9\xb0\xe2\x89\xae\xe3\x80\x82\xe2\x89\xaf\xf3\xa0\xa6\x97\xe2\x80\x8d", true); } // [B1, B3, V7] test { try toUnicodeFail("\xda\xa0\xf0\x90\xae\x8b\xf0\x90\xb9\xb0<\xcc\xb8\xe3\x80\x82>\xcc\xb8\xf3\xa0\xa6\x97\xe2\x80\x8d"); } // [B1, B3, C2, V7] +test { try toAsciiFail("\xda\xa0\xf0\x90\xae\x8b\xf0\x90\xb9\xb0<\xcc\xb8\xe3\x80\x82>\xcc\xb8\xf3\xa0\xa6\x97\xe2\x80\x8d", false); } // [B1, B3, C2, V7] +test { try toAsciiFail("\xda\xa0\xf0\x90\xae\x8b\xf0\x90\xb9\xb0<\xcc\xb8\xe3\x80\x82>\xcc\xb8\xf3\xa0\xa6\x97\xe2\x80\x8d", true); } // [B1, B3, V7] test { try toUnicodeFail("xn--2jb053lf13nyoc.xn--hdh08821l"); } // [B1, B3, V7] +test { try toAsciiFail("xn--2jb053lf13nyoc.xn--hdh08821l", false); } // [B1, B3, V7] +test { try toAsciiFail("xn--2jb053lf13nyoc.xn--hdh08821l", true); } // [B1, B3, V7] test { try toUnicodeFail("xn--2jb053lf13nyoc.xn--1ugx6gc8096c"); } // [B1, B3, C2, V7] +test { try toAsciiFail("xn--2jb053lf13nyoc.xn--1ugx6gc8096c", false); } // [B1, B3, C2, V7] +test { try toAsciiFail("xn--2jb053lf13nyoc.xn--1ugx6gc8096c", true); } // [B1, B3, C2, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x9e\xef\xbd\xa1\xf1\x83\xb0\xb6\xdd\xb7\xe0\xa2\xb0\xe2\xa9\x8b"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x9e\xef\xbd\xa1\xf1\x83\xb0\xb6\xdd\xb7\xe0\xa2\xb0\xe2\xa9\x8b", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x9e\xef\xbd\xa1\xf1\x83\xb0\xb6\xdd\xb7\xe0\xa2\xb0\xe2\xa9\x8b", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("6\xe3\x80\x82\xf1\x83\xb0\xb6\xdd\xb7\xe0\xa2\xb0\xe2\xa9\x8b"); } // [B1, B5, B6, V7] +test { try toAsciiFail("6\xe3\x80\x82\xf1\x83\xb0\xb6\xdd\xb7\xe0\xa2\xb0\xe2\xa9\x8b", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("6\xe3\x80\x82\xf1\x83\xb0\xb6\xdd\xb7\xe0\xa2\xb0\xe2\xa9\x8b", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("6.xn--7pb04do15eq748f"); } // [B1, B5, B6, V7] +test { try toAsciiFail("6.xn--7pb04do15eq748f", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("6.xn--7pb04do15eq748f", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("-\xef\xb3\xbd\xe3\x80\x82\xf0\x91\x8d\xb4\xf0\x91\x87\x80"); } // [B1, V3, V6] +test { try toAsciiFail("-\xef\xb3\xbd\xe3\x80\x82\xf0\x91\x8d\xb4\xf0\x91\x87\x80", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xef\xb3\xbd\xe3\x80\x82\xf0\x91\x8d\xb4\xf0\x91\x87\x80", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xef\xb3\xbd\xe3\x80\x82\xf0\x91\x87\x80\xf0\x91\x8d\xb4"); } // [B1, V3, V6] +test { try toAsciiFail("-\xef\xb3\xbd\xe3\x80\x82\xf0\x91\x87\x80\xf0\x91\x8d\xb4", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xef\xb3\xbd\xe3\x80\x82\xf0\x91\x87\x80\xf0\x91\x8d\xb4", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xd8\xb4\xd9\x89\xe3\x80\x82\xf0\x91\x87\x80\xf0\x91\x8d\xb4"); } // [B1, V3, V6] +test { try toAsciiFail("-\xd8\xb4\xd9\x89\xe3\x80\x82\xf0\x91\x87\x80\xf0\x91\x8d\xb4", false); } // [B1, V3, V6] +test { try toAsciiFail("-\xd8\xb4\xd9\x89\xe3\x80\x82\xf0\x91\x87\x80\xf0\x91\x8d\xb4", true); } // [B1, V3, V6] test { try toUnicodeFail("xn----qnc7d.xn--wd1d62a"); } // [B1, V3, V6] +test { try toAsciiFail("xn----qnc7d.xn--wd1d62a", false); } // [B1, V3, V6] +test { try toAsciiFail("xn----qnc7d.xn--wd1d62a", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x8a\xb6\xf0\x9d\x9f\x8f.\xe0\xb5\x83\xf2\xaa\xa5\x90\xf0\x90\xb9\xac\xf3\x8a\x93\xb6"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x8a\xb6\xf0\x9d\x9f\x8f.\xe0\xb5\x83\xf2\xaa\xa5\x90\xf0\x90\xb9\xac\xf3\x8a\x93\xb6", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x8a\xb6\xf0\x9d\x9f\x8f.\xe0\xb5\x83\xf2\xaa\xa5\x90\xf0\x90\xb9\xac\xf3\x8a\x93\xb6", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x8a\xb61.\xe0\xb5\x83\xf2\xaa\xa5\x90\xf0\x90\xb9\xac\xf3\x8a\x93\xb6"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x8a\xb61.\xe0\xb5\x83\xf2\xaa\xa5\x90\xf0\x90\xb9\xac\xf3\x8a\x93\xb6", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x8a\xb61.\xe0\xb5\x83\xf2\xaa\xa5\x90\xf0\x90\xb9\xac\xf3\x8a\x93\xb6", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--1-f521m.xn--mxc0872kcu37dnmem"); } // [B1, V6, V7] +test { try toAsciiFail("xn--1-f521m.xn--mxc0872kcu37dnmem", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--1-f521m.xn--mxc0872kcu37dnmem", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--1-rgnu0071n.xn--mxc0872kcu37dnmem"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--1-rgnu0071n.xn--mxc0872kcu37dnmem", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--1-rgnu0071n.xn--mxc0872kcu37dnmem", true); } // [B1, C1, V6, V7] test { try toUnicodePass("\xe9\xbd\x99--\xf0\x9d\x9f\xb0.\xc3\x9f", "\xe9\xbd\x99--4.\xc3\x9f"); } test { try toAsciiPass("\xe9\xbd\x99--\xf0\x9d\x9f\xb0.\xc3\x9f", "xn----4-p16k.xn--zca", false); } test { try toAsciiPass("\xe9\xbd\x99--\xf0\x9d\x9f\xb0.\xc3\x9f", "xn----4-p16k.ss", true); } @@ -5249,74 +12723,200 @@ test { try toUnicodePass("\xe9\xbd\x99--\xf0\x9d\x9f\xb0.Ss", "\xe9\xbd\x99--4.s test { try toAsciiPass("\xe9\xbd\x99--\xf0\x9d\x9f\xb0.Ss", "xn----4-p16k.ss", false); } test { try toAsciiPass("\xe9\xbd\x99--\xf0\x9d\x9f\xb0.Ss", "xn----4-p16k.ss", true); } test { try toUnicodeFail("\xe1\xaf\xb2.\xf0\x90\xb9\xa2\xf0\x9e\x80\x96\xe2\x80\x8c"); } // [B1, C1, V6] +test { try toAsciiFail("\xe1\xaf\xb2.\xf0\x90\xb9\xa2\xf0\x9e\x80\x96\xe2\x80\x8c", false); } // [B1, C1, V6] +test { try toAsciiFail("\xe1\xaf\xb2.\xf0\x90\xb9\xa2\xf0\x9e\x80\x96\xe2\x80\x8c", true); } // [B1, V6] test { try toUnicodeFail("xn--0zf.xn--9n0d2296a"); } // [B1, V6] +test { try toAsciiFail("xn--0zf.xn--9n0d2296a", false); } // [B1, V6] +test { try toAsciiFail("xn--0zf.xn--9n0d2296a", true); } // [B1, V6] test { try toUnicodeFail("xn--0zf.xn--0ug9894grqqf"); } // [B1, C1, V6] +test { try toAsciiFail("xn--0zf.xn--0ug9894grqqf", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--0zf.xn--0ug9894grqqf", true); } // [B1, C1, V6] test { try toUnicodeFail("\xf3\x83\xb2\x99\xf3\xa0\x8b\x98\xef\xbd\xa1?-\xe2\x80\x8d"); } // [C2, V7, U1] +test { try toAsciiFail("\xf3\x83\xb2\x99\xf3\xa0\x8b\x98\xef\xbd\xa1?-\xe2\x80\x8d", false); } // [C2, V7, U1] +test { try toAsciiFail("\xf3\x83\xb2\x99\xf3\xa0\x8b\x98\xef\xbd\xa1?-\xe2\x80\x8d", true); } // [V3, V7, U1] test { try toUnicodeFail("\xf3\x83\xb2\x99\xf3\xa0\x8b\x98\xe3\x80\x82?-\xe2\x80\x8d"); } // [C2, V7, U1] +test { try toAsciiFail("\xf3\x83\xb2\x99\xf3\xa0\x8b\x98\xe3\x80\x82?-\xe2\x80\x8d", false); } // [C2, V7, U1] +test { try toAsciiFail("\xf3\x83\xb2\x99\xf3\xa0\x8b\x98\xe3\x80\x82?-\xe2\x80\x8d", true); } // [V3, V7, U1] test { try toUnicodeFail("xn--ct86d8w51a.?-"); } // [V3, V7, U1] +test { try toAsciiFail("xn--ct86d8w51a.?-", false); } // [V3, V7, U1] +test { try toAsciiFail("xn--ct86d8w51a.?-", true); } // [V3, V7, U1] test { try toUnicodeFail("xn--ct86d8w51a.xn--?--n1t"); } // [C2, V7, U1] +test { try toAsciiFail("xn--ct86d8w51a.xn--?--n1t", false); } // [C2, V7, U1] +test { try toAsciiFail("xn--ct86d8w51a.xn--?--n1t", true); } // [C2, V7, U1] test { try toUnicodeFail("xn--ct86d8w51a.?-\xe2\x80\x8d"); } // [C2, V7, U1] +test { try toAsciiFail("xn--ct86d8w51a.?-\xe2\x80\x8d", false); } // [C2, V7, U1] +test { try toAsciiFail("xn--ct86d8w51a.?-\xe2\x80\x8d", true); } // [V3, V7, U1] test { try toUnicodeFail("XN--CT86D8W51A.?-\xe2\x80\x8d"); } // [C2, V7, U1] +test { try toAsciiFail("XN--CT86D8W51A.?-\xe2\x80\x8d", false); } // [C2, V7, U1] +test { try toAsciiFail("XN--CT86D8W51A.?-\xe2\x80\x8d", true); } // [V3, V7, U1] test { try toUnicodeFail("Xn--Ct86d8w51a.?-\xe2\x80\x8d"); } // [C2, V7, U1] +test { try toAsciiFail("Xn--Ct86d8w51a.?-\xe2\x80\x8d", false); } // [C2, V7, U1] +test { try toAsciiFail("Xn--Ct86d8w51a.?-\xe2\x80\x8d", true); } // [V3, V7, U1] test { try toUnicodeFail("\xe1\xa9\xa0\xef\xbc\x8e\xf0\x9e\xb5\xb7-\xf0\x9d\xaa\xa9\xe6\x82\x8e"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xe1\xa9\xa0\xef\xbc\x8e\xf0\x9e\xb5\xb7-\xf0\x9d\xaa\xa9\xe6\x82\x8e", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xe1\xa9\xa0\xef\xbc\x8e\xf0\x9e\xb5\xb7-\xf0\x9d\xaa\xa9\xe6\x82\x8e", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xe1\xa9\xa0.\xf0\x9e\xb5\xb7-\xf0\x9d\xaa\xa9\xe6\x82\x8e"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xe1\xa9\xa0.\xf0\x9e\xb5\xb7-\xf0\x9d\xaa\xa9\xe6\x82\x8e", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xe1\xa9\xa0.\xf0\x9e\xb5\xb7-\xf0\x9d\xaa\xa9\xe6\x82\x8e", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--jof.xn----gf4bq282iezpa"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--jof.xn----gf4bq282iezpa", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--jof.xn----gf4bq282iezpa", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b\xef\xbc\x8e\xf0\x9e\xa4\xb3\xf1\x8f\xa5\xbe"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b\xef\xbc\x8e\xf0\x9e\xa4\xb3\xf1\x8f\xa5\xbe", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b\xef\xbc\x8e\xf0\x9e\xa4\xb3\xf1\x8f\xa5\xbe", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b.\xf0\x9e\xa4\xb3\xf1\x8f\xa5\xbe"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b.\xf0\x9e\xa4\xb3\xf1\x8f\xa5\xbe", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b.\xf0\x9e\xa4\xb3\xf1\x8f\xa5\xbe", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b.\xf0\x9e\xa4\x91\xf1\x8f\xa5\xbe"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b.\xf0\x9e\xa4\x91\xf1\x8f\xa5\xbe", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b.\xf0\x9e\xa4\x91\xf1\x8f\xa5\xbe", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("xn--xx5gy2741c.xn--re6hw266j"); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn--xx5gy2741c.xn--re6hw266j", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn--xx5gy2741c.xn--re6hw266j", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b\xef\xbc\x8e\xf0\x9e\xa4\x91\xf1\x8f\xa5\xbe"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b\xef\xbc\x8e\xf0\x9e\xa4\x91\xf1\x8f\xa5\xbe", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf0\x9b\x9c\xaf\xf3\xa0\x8a\x9b\xef\xbc\x8e\xf0\x9e\xa4\x91\xf1\x8f\xa5\xbe", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xdc\x9c\xf0\x90\xab\x92\xd8\xae.\xf0\x90\x8b\xb2"); } // [B1] +test { try toAsciiFail("\xdc\x9c\xf0\x90\xab\x92\xd8\xae.\xf0\x90\x8b\xb2", false); } // [B1] +test { try toAsciiFail("\xdc\x9c\xf0\x90\xab\x92\xd8\xae.\xf0\x90\x8b\xb2", true); } // [B1] test { try toUnicodeFail("xn--tgb98b8643d.xn--m97c"); } // [B1] +test { try toAsciiFail("xn--tgb98b8643d.xn--m97c", false); } // [B1] +test { try toAsciiFail("xn--tgb98b8643d.xn--m97c", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xbc\x91\xf0\x9e\xa4\x93\xd8\xb7\xe0\xa3\xa2.?"); } // [B1, V7, U1] +test { try toAsciiFail("\xf0\x90\xbc\x91\xf0\x9e\xa4\x93\xd8\xb7\xe0\xa3\xa2.?", false); } // [B1, V7, U1] +test { try toAsciiFail("\xf0\x90\xbc\x91\xf0\x9e\xa4\x93\xd8\xb7\xe0\xa3\xa2.?", true); } // [B1, V7, U1] test { try toUnicodeFail("\xf0\x90\xbc\x91\xf0\x9e\xa4\xb5\xd8\xb7\xe0\xa3\xa2.?"); } // [B1, V7, U1] +test { try toAsciiFail("\xf0\x90\xbc\x91\xf0\x9e\xa4\xb5\xd8\xb7\xe0\xa3\xa2.?", false); } // [B1, V7, U1] +test { try toAsciiFail("\xf0\x90\xbc\x91\xf0\x9e\xa4\xb5\xd8\xb7\xe0\xa3\xa2.?", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--2gb08k9w69agm0g.?"); } // [B1, V7, U1] +test { try toAsciiFail("xn--2gb08k9w69agm0g.?", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--2gb08k9w69agm0g.?", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe2\x86\x83\xe3\x80\x82\xe0\xa9\x8d\xe1\xb3\x94\xf0\x9e\xb7\xa3"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x83\xe3\x80\x82\xe0\xa9\x8d\xe1\xb3\x94\xf0\x9e\xb7\xa3", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x83\xe3\x80\x82\xe0\xa9\x8d\xe1\xb3\x94\xf0\x9e\xb7\xa3", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x86\x83\xe3\x80\x82\xe1\xb3\x94\xe0\xa9\x8d\xf0\x9e\xb7\xa3"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x83\xe3\x80\x82\xe1\xb3\x94\xe0\xa9\x8d\xf0\x9e\xb7\xa3", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x83\xe3\x80\x82\xe1\xb3\x94\xe0\xa9\x8d\xf0\x9e\xb7\xa3", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x86\x84\xe3\x80\x82\xe1\xb3\x94\xe0\xa9\x8d\xf0\x9e\xb7\xa3"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x84\xe3\x80\x82\xe1\xb3\x94\xe0\xa9\x8d\xf0\x9e\xb7\xa3", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x84\xe3\x80\x82\xe1\xb3\x94\xe0\xa9\x8d\xf0\x9e\xb7\xa3", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--r5g.xn--ybc995g0835a"); } // [B1, V6, V7] +test { try toAsciiFail("xn--r5g.xn--ybc995g0835a", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--r5g.xn--ybc995g0835a", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x86\x84\xe3\x80\x82\xe0\xa9\x8d\xe1\xb3\x94\xf0\x9e\xb7\xa3"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x84\xe3\x80\x82\xe0\xa9\x8d\xe1\xb3\x94\xf0\x9e\xb7\xa3", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x86\x84\xe3\x80\x82\xe0\xa9\x8d\xe1\xb3\x94\xf0\x9e\xb7\xa3", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--q5g.xn--ybc995g0835a"); } // [B1, V6, V7] +test { try toAsciiFail("xn--q5g.xn--ybc995g0835a", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--q5g.xn--ybc995g0835a", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf3\xa0\xaa\xa2-\xe3\x80\x82\xf2\x9b\x82\x8f\xe2\x89\xae\xf0\x91\x9c\xab"); } // [V3, V7] +test { try toAsciiFail("\xf3\xa0\xaa\xa2-\xe3\x80\x82\xf2\x9b\x82\x8f\xe2\x89\xae\xf0\x91\x9c\xab", false); } // [V3, V7] +test { try toAsciiFail("\xf3\xa0\xaa\xa2-\xe3\x80\x82\xf2\x9b\x82\x8f\xe2\x89\xae\xf0\x91\x9c\xab", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xa0\xaa\xa2-\xe3\x80\x82\xf2\x9b\x82\x8f<\xcc\xb8\xf0\x91\x9c\xab"); } // [V3, V7] +test { try toAsciiFail("\xf3\xa0\xaa\xa2-\xe3\x80\x82\xf2\x9b\x82\x8f<\xcc\xb8\xf0\x91\x9c\xab", false); } // [V3, V7] +test { try toAsciiFail("\xf3\xa0\xaa\xa2-\xe3\x80\x82\xf2\x9b\x82\x8f<\xcc\xb8\xf0\x91\x9c\xab", true); } // [V3, V7] test { try toUnicodeFail("xn----bh61m.xn--gdhz157g0em1d"); } // [V3, V7] +test { try toAsciiFail("xn----bh61m.xn--gdhz157g0em1d", false); } // [V3, V7] +test { try toAsciiFail("xn----bh61m.xn--gdhz157g0em1d", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7\xe2\x89\xae\xe1\x82\xa9"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7\xe2\x89\xae\xe1\x82\xa9", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7\xe2\x89\xae\xe1\x82\xa9", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7<\xcc\xb8\xe1\x82\xa9"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7<\xcc\xb8\xe1\x82\xa9", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7<\xcc\xb8\xe1\x82\xa9", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7<\xcc\xb8\xe2\xb4\x89"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7<\xcc\xb8\xe2\xb4\x89", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7<\xcc\xb8\xe2\xb4\x89", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7\xe2\x89\xae\xe2\xb4\x89"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7\xe2\x89\xae\xe2\xb4\x89", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\x89\xb9\xe2\x80\x8d\xe3\x80\x82\xf2\x8c\xbf\xa7\xe2\x89\xae\xe2\xb4\x89", true); } // [V7] test { try toUnicodeFail("xn--3n36e.xn--gdh992byu01p"); } // [V7] +test { try toAsciiFail("xn--3n36e.xn--gdh992byu01p", false); } // [V7] +test { try toAsciiFail("xn--3n36e.xn--gdh992byu01p", true); } // [V7] test { try toUnicodeFail("xn--0ugc90904y.xn--gdh992byu01p"); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugc90904y.xn--gdh992byu01p", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugc90904y.xn--gdh992byu01p", true); } // [C1, C2, V7] test { try toUnicodeFail("xn--3n36e.xn--hnd112gpz83n"); } // [V7] +test { try toAsciiFail("xn--3n36e.xn--hnd112gpz83n", false); } // [V7] +test { try toAsciiFail("xn--3n36e.xn--hnd112gpz83n", true); } // [V7] test { try toUnicodeFail("xn--0ugc90904y.xn--hnd112gpz83n"); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugc90904y.xn--hnd112gpz83n", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugc90904y.xn--hnd112gpz83n", true); } // [C1, C2, V7] test { try toUnicodeFail("\xf0\x90\xb9\xaf-\xf0\x91\x84\xb4\xe0\xa2\xbc\xe3\x80\x82\xef\xb8\x92\xe4\x96\x90\xe2\xbe\x86"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xaf-\xf0\x91\x84\xb4\xe0\xa2\xbc\xe3\x80\x82\xef\xb8\x92\xe4\x96\x90\xe2\xbe\x86", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xaf-\xf0\x91\x84\xb4\xe0\xa2\xbc\xe3\x80\x82\xef\xb8\x92\xe4\x96\x90\xe2\xbe\x86", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xaf-\xf0\x91\x84\xb4\xe0\xa2\xbc\xe3\x80\x82\xe3\x80\x82\xe4\x96\x90\xe8\x88\x8c"); } // [B1, X4_2] +test { try toAsciiFail("\xf0\x90\xb9\xaf-\xf0\x91\x84\xb4\xe0\xa2\xbc\xe3\x80\x82\xe3\x80\x82\xe4\x96\x90\xe8\x88\x8c", false); } // [B1, A4_2] +test { try toAsciiFail("\xf0\x90\xb9\xaf-\xf0\x91\x84\xb4\xe0\xa2\xbc\xe3\x80\x82\xe3\x80\x82\xe4\x96\x90\xe8\x88\x8c", true); } // [B1, A4_2] test { try toUnicodeFail("xn----rpd7902rclc..xn--fpo216m"); } // [B1, X4_2] +test { try toAsciiFail("xn----rpd7902rclc..xn--fpo216m", false); } // [B1, A4_2] +test { try toAsciiFail("xn----rpd7902rclc..xn--fpo216m", true); } // [B1, A4_2] test { try toUnicodeFail("xn----rpd7902rclc.xn--fpo216mn07e"); } // [B1, V7] +test { try toAsciiFail("xn----rpd7902rclc.xn--fpo216mn07e", false); } // [B1, V7] +test { try toAsciiFail("xn----rpd7902rclc.xn--fpo216mn07e", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xef\xbd\xa1\xec\xaa\xa1"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xef\xbd\xa1\xec\xaa\xa1", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xef\xbd\xa1\xec\xaa\xa1", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xef\xbd\xa1\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xef\xbd\xa1\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xef\xbd\xa1\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xe3\x80\x82\xec\xaa\xa1"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xe3\x80\x82\xec\xaa\xa1", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xe3\x80\x82\xec\xaa\xa1", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe1\x82\xb0\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xe3\x80\x82\xec\xaa\xa1"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xe3\x80\x82\xec\xaa\xa1", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xe3\x80\x82\xec\xaa\xa1", true); } // [V6] test { try toUnicodeFail("xn--7kj1858k.xn--pi6b"); } // [V6] +test { try toAsciiFail("xn--7kj1858k.xn--pi6b", false); } // [V6] +test { try toAsciiFail("xn--7kj1858k.xn--pi6b", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xef\xbd\xa1\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xef\xbd\xa1\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xef\xbd\xa1\xe1\x84\x8d\xe1\x85\xa8\xe1\x86\xa8", true); } // [V6] test { try toUnicodeFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xef\xbd\xa1\xec\xaa\xa1"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xef\xbd\xa1\xec\xaa\xa1", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xaa\x9e\xe2\xb4\x90\xef\xbd\xa1\xec\xaa\xa1", true); } // [V6] test { try toUnicodeFail("xn--ond3755u.xn--pi6b"); } // [V6, V7] +test { try toAsciiFail("xn--ond3755u.xn--pi6b", false); } // [V6, V7] +test { try toAsciiFail("xn--ond3755u.xn--pi6b", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xb8\xba\xec\xa9\x81\xf0\x90\xb9\xac.\xf4\x8b\x89\xb3"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb8\xba\xec\xa9\x81\xf0\x90\xb9\xac.\xf4\x8b\x89\xb3", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb8\xba\xec\xa9\x81\xf0\x90\xb9\xac.\xf4\x8b\x89\xb3", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb8\xba\xe1\x84\x8d\xe1\x85\xa4\xe1\x86\xb8\xf0\x90\xb9\xac.\xf4\x8b\x89\xb3"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb8\xba\xe1\x84\x8d\xe1\x85\xa4\xe1\x86\xb8\xf0\x90\xb9\xac.\xf4\x8b\x89\xb3", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb8\xba\xe1\x84\x8d\xe1\x85\xa4\xe1\x86\xb8\xf0\x90\xb9\xac.\xf4\x8b\x89\xb3", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--o4c4837g2zvb.xn--5f70g"); } // [B1, V6, V7] +test { try toAsciiFail("xn--o4c4837g2zvb.xn--5f70g", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--o4c4837g2zvb.xn--5f70g", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xa1\x85\xef\xbc\x90\xe2\x80\x8c\xef\xbd\xa1\xe2\x8e\xa2\xf3\xa4\xa8\x84"); } // [C1, V7] +test { try toAsciiFail("\xe1\xa1\x85\xef\xbc\x90\xe2\x80\x8c\xef\xbd\xa1\xe2\x8e\xa2\xf3\xa4\xa8\x84", false); } // [C1, V7] +test { try toAsciiFail("\xe1\xa1\x85\xef\xbc\x90\xe2\x80\x8c\xef\xbd\xa1\xe2\x8e\xa2\xf3\xa4\xa8\x84", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x850\xe2\x80\x8c\xe3\x80\x82\xe2\x8e\xa2\xf3\xa4\xa8\x84"); } // [C1, V7] +test { try toAsciiFail("\xe1\xa1\x850\xe2\x80\x8c\xe3\x80\x82\xe2\x8e\xa2\xf3\xa4\xa8\x84", false); } // [C1, V7] +test { try toAsciiFail("\xe1\xa1\x850\xe2\x80\x8c\xe3\x80\x82\xe2\x8e\xa2\xf3\xa4\xa8\x84", true); } // [V7] test { try toUnicodeFail("xn--0-z6j.xn--8lh28773l"); } // [V7] +test { try toAsciiFail("xn--0-z6j.xn--8lh28773l", false); } // [V7] +test { try toAsciiFail("xn--0-z6j.xn--8lh28773l", true); } // [V7] test { try toUnicodeFail("xn--0-z6jy93b.xn--8lh28773l"); } // [C1, V7] +test { try toAsciiFail("xn--0-z6jy93b.xn--8lh28773l", false); } // [C1, V7] +test { try toAsciiFail("xn--0-z6jy93b.xn--8lh28773l", true); } // [C1, V7] test { try toAsciiPass("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8d\xc3\x9f", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8d\xc3\x9f"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8d\xc3\x9f", false); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8d\xc3\x9f", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8d\xc3\x9f"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8d\xc3\x9f", false); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dSS", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dSS"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dSS", false); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dss", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dss"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dss", false); } // [C2] test { try toUnicodePass("xn--9-i0j5967eg3qz.ss", "\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.ss"); } test { try toAsciiPass("xn--9-i0j5967eg3qz.ss", "xn--9-i0j5967eg3qz.ss", false); } test { try toAsciiPass("xn--9-i0j5967eg3qz.ss", "xn--9-i0j5967eg3qz.ss", true); } @@ -5327,15 +12927,23 @@ test { try toUnicodePass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.SS", "\xf0\x test { try toAsciiPass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.SS", "xn--9-i0j5967eg3qz.ss", false); } test { try toAsciiPass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.SS", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("xn--9-i0j5967eg3qz.xn--ss-l1t"); } // [C2] +test { try toAsciiFail("xn--9-i0j5967eg3qz.xn--ss-l1t", false); } // [C2] +test { try toAsciiFail("xn--9-i0j5967eg3qz.xn--ss-l1t", true); } // [C2] test { try toUnicodeFail("xn--9-i0j5967eg3qz.xn--zca770n"); } // [C2] +test { try toAsciiFail("xn--9-i0j5967eg3qz.xn--zca770n", false); } // [C2] +test { try toAsciiFail("xn--9-i0j5967eg3qz.xn--zca770n", true); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dSS", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dSS"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dSS", false); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dss", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dss"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dss", false); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dSs", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dSs"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a9\xea\x8d\xa9\xe1\x9f\x93.\xe2\x80\x8dSs", false); } // [C2] test { try toAsciiPass("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dSs", "xn--9-i0j5967eg3qz.ss", true); } test { try toUnicodeFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dSs"); } // [C2] +test { try toAsciiFail("\xf0\xb2\xae\x9a\xef\xbc\x99\xea\x8d\xa9\xe1\x9f\x93\xef\xbc\x8e\xe2\x80\x8dSs", false); } // [C2] test { try toUnicodePass("\xea\x97\xb7\xf0\x91\x86\x80.\xdd\x9d\xf0\x90\xa9\x92", "\xea\x97\xb7\xf0\x91\x86\x80.\xdd\x9d\xf0\x90\xa9\x92"); } test { try toAsciiPass("\xea\x97\xb7\xf0\x91\x86\x80.\xdd\x9d\xf0\x90\xa9\x92", "xn--ju8a625r.xn--hpb0073k", false); } test { try toAsciiPass("\xea\x97\xb7\xf0\x91\x86\x80.\xdd\x9d\xf0\x90\xa9\x92", "xn--ju8a625r.xn--hpb0073k", true); } @@ -5343,240 +12951,701 @@ test { try toUnicodePass("xn--ju8a625r.xn--hpb0073k", "\xea\x97\xb7\xf0\x91\x86\ test { try toAsciiPass("xn--ju8a625r.xn--hpb0073k", "xn--ju8a625r.xn--hpb0073k", false); } test { try toAsciiPass("xn--ju8a625r.xn--hpb0073k", "xn--ju8a625r.xn--hpb0073k", true); } test { try toUnicodeFail("\xe2\x92\x90\xe2\x89\xaf-\xe3\x80\x82\xef\xb8\x92\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0"); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x89\xaf-\xe3\x80\x82\xef\xb8\x92\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", false); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x90\xe2\x89\xaf-\xe3\x80\x82\xef\xb8\x92\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x92\x90>\xcc\xb8-\xe3\x80\x82\xef\xb8\x92\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0"); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x90>\xcc\xb8-\xe3\x80\x82\xef\xb8\x92\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", false); } // [V3, V7] +test { try toAsciiFail("\xe2\x92\x90>\xcc\xb8-\xe3\x80\x82\xef\xb8\x92\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", true); } // [V3, V7] test { try toUnicodeFail("9.\xe2\x89\xaf-\xe3\x80\x82\xe3\x80\x82\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0"); } // [V3, V7, X4_2] +test { try toAsciiFail("9.\xe2\x89\xaf-\xe3\x80\x82\xe3\x80\x82\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", false); } // [V3, V7, A4_2] +test { try toAsciiFail("9.\xe2\x89\xaf-\xe3\x80\x82\xe3\x80\x82\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", true); } // [V3, V7, A4_2] test { try toUnicodeFail("9.>\xcc\xb8-\xe3\x80\x82\xe3\x80\x82\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0"); } // [V3, V7, X4_2] +test { try toAsciiFail("9.>\xcc\xb8-\xe3\x80\x82\xe3\x80\x82\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", false); } // [V3, V7, A4_2] +test { try toAsciiFail("9.>\xcc\xb8-\xe3\x80\x82\xe3\x80\x82\xf2\xa9\x91\xa3-\xf1\x9e\x9b\xa0", true); } // [V3, V7, A4_2] test { try toUnicodeFail("9.xn----ogo..xn----xj54d1s69k"); } // [V3, V7, X4_2] +test { try toAsciiFail("9.xn----ogo..xn----xj54d1s69k", false); } // [V3, V7, A4_2] +test { try toAsciiFail("9.xn----ogo..xn----xj54d1s69k", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----ogot9g.xn----n89hl0522az9u2a"); } // [V3, V7] +test { try toAsciiFail("xn----ogot9g.xn----n89hl0522az9u2a", false); } // [V3, V7] +test { try toAsciiFail("xn----ogot9g.xn----n89hl0522az9u2a", true); } // [V3, V7] test { try toUnicodeFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe1\x83\x81\xf3\xa0\xa2\x8f\xef\xbc\x8e\xd8\x9d"); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe1\x83\x81\xf3\xa0\xa2\x8f\xef\xbc\x8e\xd8\x9d", false); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe1\x83\x81\xf3\xa0\xa2\x8f\xef\xbc\x8e\xd8\x9d", true); } // [B6, V7] test { try toUnicodeFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe1\x83\x81\xf3\xa0\xa2\x8f.\xd8\x9d"); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe1\x83\x81\xf3\xa0\xa2\x8f.\xd8\x9d", false); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe1\x83\x81\xf3\xa0\xa2\x8f.\xd8\x9d", true); } // [B6, V7] test { try toUnicodeFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe2\xb4\xa1\xf3\xa0\xa2\x8f.\xd8\x9d"); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe2\xb4\xa1\xf3\xa0\xa2\x8f.\xd8\x9d", false); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe2\xb4\xa1\xf3\xa0\xa2\x8f.\xd8\x9d", true); } // [B6, V7] test { try toUnicodeFail("xn--vuc226n8n28lmju7a.xn--cgb"); } // [B6, V7] +test { try toAsciiFail("xn--vuc226n8n28lmju7a.xn--cgb", false); } // [B6, V7] +test { try toAsciiFail("xn--vuc226n8n28lmju7a.xn--cgb", true); } // [B6, V7] test { try toUnicodeFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe2\xb4\xa1\xf3\xa0\xa2\x8f\xef\xbc\x8e\xd8\x9d"); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe2\xb4\xa1\xf3\xa0\xa2\x8f\xef\xbc\x8e\xd8\x9d", false); } // [B6, V7] +test { try toAsciiFail("\xf2\x88\xaa\x9a\xe0\xb3\xa3\xe2\xb4\xa1\xf3\xa0\xa2\x8f\xef\xbc\x8e\xd8\x9d", true); } // [B6, V7] test { try toUnicodeFail("xn--vuc49qvu85xmju7a.xn--cgb"); } // [B6, V7] +test { try toAsciiFail("xn--vuc49qvu85xmju7a.xn--cgb", false); } // [B6, V7] +test { try toAsciiFail("xn--vuc49qvu85xmju7a.xn--cgb", true); } // [B6, V7] test { try toUnicodeFail("\xe1\xb7\xab\xe3\x80\x82\xf0\x90\x8b\xa9\xd8\xb8-\xf0\x90\xab\xae"); } // [B1, V6] +test { try toAsciiFail("\xe1\xb7\xab\xe3\x80\x82\xf0\x90\x8b\xa9\xd8\xb8-\xf0\x90\xab\xae", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xb7\xab\xe3\x80\x82\xf0\x90\x8b\xa9\xd8\xb8-\xf0\x90\xab\xae", true); } // [B1, V6] test { try toUnicodeFail("xn--gfg.xn----xnc0815qyyg"); } // [B1, V6] +test { try toAsciiFail("xn--gfg.xn----xnc0815qyyg", false); } // [B1, V6] +test { try toAsciiFail("xn--gfg.xn----xnc0815qyyg", true); } // [B1, V6] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb3\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe8\x88\x9b\xf0\x90\xb2\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("xn--9u4b.xn--llj123yh74e"); } // [B5] +test { try toAsciiFail("xn--9u4b.xn--llj123yh74e", false); } // [B5] +test { try toAsciiFail("xn--9u4b.xn--llj123yh74e", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb3\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe1\x82\xbd"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe1\x82\xbd", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe1\x82\xbd", true); } // [B5] test { try toUnicodeFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xe1\x84\x89\xe1\x85\xb4\xe1\x86\xae\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe2\xb4\x9d"); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe2\xb4\x9d", false); } // [B5] +test { try toAsciiFail("\xec\x8b\x87\xe3\x80\x82\xe2\xbe\x87\xf0\x90\xb2\x8b\xe2\xb4\x9d", true); } // [B5] test { try toUnicodeFail("xn--9u4b.xn--1nd7519ch79d"); } // [B5, V7] +test { try toAsciiFail("xn--9u4b.xn--1nd7519ch79d", false); } // [B5, V7] +test { try toAsciiFail("xn--9u4b.xn--1nd7519ch79d", true); } // [B5, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa0\xcf\x82\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe1\x83\x80"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xcf\x82\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe1\x83\x80", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xcf\x82\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe1\x83\x80", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf0\x90\xb9\xa0\xcf\x82\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xcf\x82\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xcf\x82\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf0\x90\xb9\xa0\xce\xa3\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe1\x83\x80"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xce\xa3\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe1\x83\x80", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xce\xa3\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe1\x83\x80", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf0\x90\xb9\xa0\xcf\x83\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xcf\x83\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xcf\x83\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0", true); } // [B1, B2, B3] test { try toUnicodeFail("\xf0\x90\xb9\xa0\xce\xa3\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0"); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xce\xa3\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0", false); } // [B1, C1] +test { try toAsciiFail("\xf0\x90\xb9\xa0\xce\xa3\xe3\x80\x82\xe2\x80\x8c\xda\xbf\xe2\xb4\xa0", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--4xa9167k.xn--ykb467q"); } // [B1, B2, B3] +test { try toAsciiFail("xn--4xa9167k.xn--ykb467q", false); } // [B1, B2, B3] +test { try toAsciiFail("xn--4xa9167k.xn--ykb467q", true); } // [B1, B2, B3] test { try toUnicodeFail("xn--4xa9167k.xn--ykb760k9hj"); } // [B1, C1] +test { try toAsciiFail("xn--4xa9167k.xn--ykb760k9hj", false); } // [B1, C1] +test { try toAsciiFail("xn--4xa9167k.xn--ykb760k9hj", true); } // [B1, C1] test { try toUnicodeFail("xn--3xa1267k.xn--ykb760k9hj"); } // [B1, C1] +test { try toAsciiFail("xn--3xa1267k.xn--ykb760k9hj", false); } // [B1, C1] +test { try toAsciiFail("xn--3xa1267k.xn--ykb760k9hj", true); } // [B1, C1] test { try toUnicodeFail("xn--4xa9167k.xn--ykb632c"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--4xa9167k.xn--ykb632c", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--4xa9167k.xn--ykb632c", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--4xa9167k.xn--ykb632cvxm"); } // [B1, C1, V7] +test { try toAsciiFail("xn--4xa9167k.xn--ykb632cvxm", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--4xa9167k.xn--ykb632cvxm", true); } // [B1, C1, V7] test { try toUnicodeFail("xn--3xa1267k.xn--ykb632cvxm"); } // [B1, C1, V7] +test { try toAsciiFail("xn--3xa1267k.xn--ykb632cvxm", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--3xa1267k.xn--ykb632cvxm", true); } // [B1, C1, V7] test { try toUnicodeFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-\xc3\x9f"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-\xc3\x9f", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-\xc3\x9f", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-SS"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-SS", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-SS", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-ss"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-ss", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-ss", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-Ss"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-Ss", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\x87\x92\x90\xe2\x80\x8c\xd8\x84.\xda\x9a-Ss", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--mfb98261i.xn---ss-sdf"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--mfb98261i.xn---ss-sdf", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--mfb98261i.xn---ss-sdf", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--mfb144kqo32m.xn---ss-sdf"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("xn--mfb144kqo32m.xn---ss-sdf", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("xn--mfb144kqo32m.xn---ss-sdf", true); } // [B2, B3, B5, B6, C1, V7] test { try toUnicodeFail("xn--mfb144kqo32m.xn----qfa315b"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("xn--mfb144kqo32m.xn----qfa315b", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("xn--mfb144kqo32m.xn----qfa315b", true); } // [B2, B3, B5, B6, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xef\xae\xb0\xf3\x85\x84\x9e\xf0\x90\xb8\x9a"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xef\xae\xb0\xf3\x85\x84\x9e\xf0\x90\xb8\x9a", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xef\xae\xb0\xf3\x85\x84\x9e\xf0\x90\xb8\x9a", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xdb\x93\xf3\x85\x84\x9e\xf0\x90\xb8\x9a"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xdb\x93\xf3\x85\x84\x9e\xf0\x90\xb8\x9a", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xdb\x93\xf3\x85\x84\x9e\xf0\x90\xb8\x9a", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xdb\x92\xd9\x94\xf3\x85\x84\x9e\xf0\x90\xb8\x9a"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xdb\x92\xd9\x94\xf3\x85\x84\x9e\xf0\x90\xb8\x9a", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8d\xe1\x9e\xb5\xd9\xba.-\xdb\x92\xd9\x94\xf3\x85\x84\x9e\xf0\x90\xb8\x9a", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--zib.xn----twc1133r17r6g"); } // [B1, V3, V7] +test { try toAsciiFail("xn--zib.xn----twc1133r17r6g", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--zib.xn----twc1133r17r6g", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--zib502kda.xn----twc1133r17r6g"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn--zib502kda.xn----twc1133r17r6g", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn--zib502kda.xn----twc1133r17r6g", true); } // [B1, C1, C2, V3, V7] test { try toUnicodeFail("xn--zib539f.xn----twc1133r17r6g"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--zib539f.xn----twc1133r17r6g", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--zib539f.xn----twc1133r17r6g", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--zib539f8igea.xn----twc1133r17r6g"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn--zib539f8igea.xn----twc1133r17r6g", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn--zib539f8igea.xn----twc1133r17r6g", true); } // [B1, C1, C2, V3, V7] test { try toUnicodeFail("\xf2\xa1\xb6\xb1\xef\xbd\xa1\xf0\x90\xae\xac\xe2\x89\xa0"); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xef\xbd\xa1\xf0\x90\xae\xac\xe2\x89\xa0", false); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xef\xbd\xa1\xf0\x90\xae\xac\xe2\x89\xa0", true); } // [B3, V7] test { try toUnicodeFail("\xf2\xa1\xb6\xb1\xef\xbd\xa1\xf0\x90\xae\xac=\xcc\xb8"); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xef\xbd\xa1\xf0\x90\xae\xac=\xcc\xb8", false); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xef\xbd\xa1\xf0\x90\xae\xac=\xcc\xb8", true); } // [B3, V7] test { try toUnicodeFail("\xf2\xa1\xb6\xb1\xe3\x80\x82\xf0\x90\xae\xac\xe2\x89\xa0"); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xe3\x80\x82\xf0\x90\xae\xac\xe2\x89\xa0", false); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xe3\x80\x82\xf0\x90\xae\xac\xe2\x89\xa0", true); } // [B3, V7] test { try toUnicodeFail("\xf2\xa1\xb6\xb1\xe3\x80\x82\xf0\x90\xae\xac=\xcc\xb8"); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xe3\x80\x82\xf0\x90\xae\xac=\xcc\xb8", false); } // [B3, V7] +test { try toAsciiFail("\xf2\xa1\xb6\xb1\xe3\x80\x82\xf0\x90\xae\xac=\xcc\xb8", true); } // [B3, V7] test { try toUnicodeFail("xn--dd55c.xn--1ch3003g"); } // [B3, V7] +test { try toAsciiFail("xn--dd55c.xn--1ch3003g", false); } // [B3, V7] +test { try toAsciiFail("xn--dd55c.xn--1ch3003g", true); } // [B3, V7] test { try toUnicodeFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xef\xbd\xa1\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xeb\x8d\x9d\xdb\xb5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xef\xbd\xa1\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xeb\x8d\x9d\xdb\xb5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xef\xbd\xa1\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xeb\x8d\x9d\xdb\xb5", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xef\xbd\xa1\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xe1\x84\x83\xe1\x85\xa5\xe1\x86\xb0\xdb\xb5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xef\xbd\xa1\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xe1\x84\x83\xe1\x85\xa5\xe1\x86\xb0\xdb\xb5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xef\xbd\xa1\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xe1\x84\x83\xe1\x85\xa5\xe1\x86\xb0\xdb\xb5", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xe3\x80\x82\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xeb\x8d\x9d\xdb\xb5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xe3\x80\x82\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xeb\x8d\x9d\xdb\xb5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xe3\x80\x82\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xeb\x8d\x9d\xdb\xb5", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xe3\x80\x82\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xe1\x84\x83\xe1\x85\xa5\xe1\x86\xb0\xdb\xb5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xe3\x80\x82\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xe1\x84\x83\xe1\x85\xa5\xe1\x86\xb0\xdb\xb5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xbe\xb2\xf0\x9e\xb6\x85\xe3\x80\x82\xf0\x90\xb9\xae\xf0\x90\xb9\xb7\xe1\x84\x83\xe1\x85\xa5\xe1\x86\xb0\xdb\xb5", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--fgd0675v.xn--imb5839fidpcbba"); } // [B1, V6, V7] +test { try toAsciiFail("xn--fgd0675v.xn--imb5839fidpcbba", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--fgd0675v.xn--imb5839fidpcbba", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\x82\xaf\xf3\xa0\x85\x8b-\xef\xbc\x8e\xe2\x80\x8d\xe1\x82\xa9"); } // [C2, V3] +test { try toAsciiFail("\xe1\x82\xaf\xf3\xa0\x85\x8b-\xef\xbc\x8e\xe2\x80\x8d\xe1\x82\xa9", false); } // [C2, V3] +test { try toAsciiFail("\xe1\x82\xaf\xf3\xa0\x85\x8b-\xef\xbc\x8e\xe2\x80\x8d\xe1\x82\xa9", true); } // [V3] test { try toUnicodeFail("\xe1\x82\xaf\xf3\xa0\x85\x8b-.\xe2\x80\x8d\xe1\x82\xa9"); } // [C2, V3] +test { try toAsciiFail("\xe1\x82\xaf\xf3\xa0\x85\x8b-.\xe2\x80\x8d\xe1\x82\xa9", false); } // [C2, V3] +test { try toAsciiFail("\xe1\x82\xaf\xf3\xa0\x85\x8b-.\xe2\x80\x8d\xe1\x82\xa9", true); } // [V3] test { try toUnicodeFail("\xe2\xb4\x8f\xf3\xa0\x85\x8b-.\xe2\x80\x8d\xe2\xb4\x89"); } // [C2, V3] +test { try toAsciiFail("\xe2\xb4\x8f\xf3\xa0\x85\x8b-.\xe2\x80\x8d\xe2\xb4\x89", false); } // [C2, V3] +test { try toAsciiFail("\xe2\xb4\x8f\xf3\xa0\x85\x8b-.\xe2\x80\x8d\xe2\xb4\x89", true); } // [V3] test { try toUnicodeFail("xn----3vs.xn--0kj"); } // [V3] +test { try toAsciiFail("xn----3vs.xn--0kj", false); } // [V3] +test { try toAsciiFail("xn----3vs.xn--0kj", true); } // [V3] test { try toUnicodeFail("xn----3vs.xn--1ug532c"); } // [C2, V3] +test { try toAsciiFail("xn----3vs.xn--1ug532c", false); } // [C2, V3] +test { try toAsciiFail("xn----3vs.xn--1ug532c", true); } // [C2, V3] test { try toUnicodeFail("\xe2\xb4\x8f\xf3\xa0\x85\x8b-\xef\xbc\x8e\xe2\x80\x8d\xe2\xb4\x89"); } // [C2, V3] +test { try toAsciiFail("\xe2\xb4\x8f\xf3\xa0\x85\x8b-\xef\xbc\x8e\xe2\x80\x8d\xe2\xb4\x89", false); } // [C2, V3] +test { try toAsciiFail("\xe2\xb4\x8f\xf3\xa0\x85\x8b-\xef\xbc\x8e\xe2\x80\x8d\xe2\xb4\x89", true); } // [V3] test { try toUnicodeFail("xn----00g.xn--hnd"); } // [V3, V7] +test { try toAsciiFail("xn----00g.xn--hnd", false); } // [V3, V7] +test { try toAsciiFail("xn----00g.xn--hnd", true); } // [V3, V7] test { try toUnicodeFail("xn----00g.xn--hnd399e"); } // [C2, V3, V7] +test { try toAsciiFail("xn----00g.xn--hnd399e", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----00g.xn--hnd399e", true); } // [C2, V3, V7] test { try toUnicodeFail("\xe2\x87\xa7\xf0\x90\xa8\x8f\xf3\xa0\xbe\x88\xf3\xaf\xb6\x85\xe3\x80\x82\xd8\x80\xf3\xa0\x88\xb5\xf3\xa0\x86\x89"); } // [B1, V7] +test { try toAsciiFail("\xe2\x87\xa7\xf0\x90\xa8\x8f\xf3\xa0\xbe\x88\xf3\xaf\xb6\x85\xe3\x80\x82\xd8\x80\xf3\xa0\x88\xb5\xf3\xa0\x86\x89", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x87\xa7\xf0\x90\xa8\x8f\xf3\xa0\xbe\x88\xf3\xaf\xb6\x85\xe3\x80\x82\xd8\x80\xf3\xa0\x88\xb5\xf3\xa0\x86\x89", true); } // [B1, V7] test { try toUnicodeFail("xn--l8g5552g64t4g46xf.xn--ifb08144p"); } // [B1, V7] +test { try toAsciiFail("xn--l8g5552g64t4g46xf.xn--ifb08144p", false); } // [B1, V7] +test { try toAsciiFail("xn--l8g5552g64t4g46xf.xn--ifb08144p", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xa0\xf0\x90\xae\x82.\xe2\x86\x91\xf0\x9f\x84\x87\xe2\x92\x88"); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xae\x82.\xe2\x86\x91\xf0\x9f\x84\x87\xe2\x92\x88", false); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xae\x82.\xe2\x86\x91\xf0\x9f\x84\x87\xe2\x92\x88", true); } // [B1, V7, U1] test { try toUnicodeFail("=\xcc\xb8\xf0\x90\xae\x82.\xe2\x86\x91\xf0\x9f\x84\x87\xe2\x92\x88"); } // [B1, V7, U1] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xae\x82.\xe2\x86\x91\xf0\x9f\x84\x87\xe2\x92\x88", false); } // [B1, V7, U1] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xae\x82.\xe2\x86\x91\xf0\x9f\x84\x87\xe2\x92\x88", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe2\x89\xa0\xf0\x90\xae\x82.\xe2\x86\x916,1."); } // [B1, U1] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xae\x82.\xe2\x86\x916,1.", false); } // [B1, U1, A4_2] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xae\x82.\xe2\x86\x916,1.", true); } // [B1, U1, A4_2] test { try toUnicodeFail("=\xcc\xb8\xf0\x90\xae\x82.\xe2\x86\x916,1."); } // [B1, U1] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xae\x82.\xe2\x86\x916,1.", false); } // [B1, U1, A4_2] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xae\x82.\xe2\x86\x916,1.", true); } // [B1, U1, A4_2] test { try toUnicodeFail("xn--1chy492g.xn--6,1-pw1a."); } // [B1, U1] +test { try toAsciiFail("xn--1chy492g.xn--6,1-pw1a.", false); } // [B1, U1, A4_2] +test { try toAsciiFail("xn--1chy492g.xn--6,1-pw1a.", true); } // [B1, U1, A4_2] test { try toUnicodeFail("xn--1chy492g.xn--6,-uzus5m"); } // [B1, V7, U1] +test { try toAsciiFail("xn--1chy492g.xn--6,-uzus5m", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--1chy492g.xn--6,-uzus5m", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--1chy492g.xn--45gx9iuy44d"); } // [B1, V7] +test { try toAsciiFail("xn--1chy492g.xn--45gx9iuy44d", false); } // [B1, V7] +test { try toAsciiFail("xn--1chy492g.xn--45gx9iuy44d", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89\xc3\x9f.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89\xc3\x9f.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89\xc3\x9f.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89SS.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89SS.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89SS.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89ss.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89ss.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89ss.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89Ss.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89Ss.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa9\x8f\xf3\xa0\xb2\x89Ss.\xe1\xa2\xa4\xf2\x84\xa6\x8c\xe2\x80\x8c\xf0\x90\xb9\xab", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--ss-zb11ap1427e.xn--ubf2596jbt61c"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ss-zb11ap1427e.xn--ubf2596jbt61c", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ss-zb11ap1427e.xn--ubf2596jbt61c", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--ss-zb11ap1427e.xn--ubf609atw1tynn3d"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--ss-zb11ap1427e.xn--ubf609atw1tynn3d", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--ss-zb11ap1427e.xn--ubf609atw1tynn3d", true); } // [B1, B5, B6, C1, V6, V7] test { try toUnicodeFail("xn--zca3153vupz3e.xn--ubf609atw1tynn3d"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--zca3153vupz3e.xn--ubf609atw1tynn3d", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--zca3153vupz3e.xn--ubf609atw1tynn3d", true); } // [B1, B5, B6, C1, V6, V7] test { try toUnicodeFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xe3\x80\x82\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xe3\x80\x82\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xe3\x80\x82\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("SS\xf0\x90\xb5\x93\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\x93\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\x93\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xe3\x80\x82\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xe3\x80\x82\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xe3\x80\x82\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("Ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("Ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("Ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("xn--ss-e61ar955h4hs7b.xn--9x8a"); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--ss-e61ar955h4hs7b.xn--9x8a", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--ss-e61ar955h4hs7b.xn--9x8a", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("xn--zca227tpy4lkns1b.xn--9x8a"); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--zca227tpy4lkns1b.xn--9x8a", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--zca227tpy4lkns1b.xn--9x8a", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xef\xbd\xa1\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xef\xbd\xa1\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("\xc3\x9f\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xef\xbd\xa1\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("SS\xf0\x90\xb5\x93\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\x93\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\x93\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xef\xbd\xa1\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xef\xbd\xa1\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe2\xb4\x87\xef\xbd\xa1\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("Ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("Ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("Ss\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("SS\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xe3\x80\x82\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("xn--ss-rek7420r4hs7b.xn--9x8a"); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--ss-rek7420r4hs7b.xn--9x8a", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--ss-rek7420r4hs7b.xn--9x8a", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("xn--zca491fci5qkn79a.xn--9x8a"); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--zca491fci5qkn79a.xn--9x8a", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--zca491fci5qkn79a.xn--9x8a", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("SS\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba"); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("SS\xf0\x90\xb5\xb3\xf1\x97\x98\x81\xe1\x82\xa7\xef\xbd\xa1\xea\x99\xba", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("\xe1\x9c\x94\xe3\x80\x82\xf3\xa0\x86\xa3-\xf0\x91\x8b\xaa"); } // [V3, V6] +test { try toAsciiFail("\xe1\x9c\x94\xe3\x80\x82\xf3\xa0\x86\xa3-\xf0\x91\x8b\xaa", false); } // [V3, V6] +test { try toAsciiFail("\xe1\x9c\x94\xe3\x80\x82\xf3\xa0\x86\xa3-\xf0\x91\x8b\xaa", true); } // [V3, V6] test { try toUnicodeFail("xn--fze.xn----ly8i"); } // [V3, V6] +test { try toAsciiFail("xn--fze.xn----ly8i", false); } // [V3, V6] +test { try toAsciiFail("xn--fze.xn----ly8i", true); } // [V3, V6] test { try toUnicodeFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbd\xc3\x9f"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbd\xc3\x9f", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbd\xc3\x9f", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbd\xc3\x9f"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbd\xc3\x9f", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbd\xc3\x9f", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdSS"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdSS", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdSS", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdss"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdss", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdss", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdSs"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdSs", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-.\xf2\xa8\x8f\x9c\xd6\xbdSs", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----pw5e.xn--ss-7jd10716y"); } // [V3, V6, V7] +test { try toAsciiFail("xn----pw5e.xn--ss-7jd10716y", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----pw5e.xn--ss-7jd10716y", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----pw5e.xn--zca50wfv060a"); } // [V3, V6, V7] +test { try toAsciiFail("xn----pw5e.xn--zca50wfv060a", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----pw5e.xn--zca50wfv060a", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdSS"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdSS", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdSS", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdss"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdss", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdss", true); } // [V3, V6, V7] test { try toUnicodeFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdSs"); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdSs", false); } // [V3, V6, V7] +test { try toAsciiFail("\xea\xaf\xa8-\xef\xbc\x8e\xf2\xa8\x8f\x9c\xd6\xbdSs", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe1\xa1\x93-\xe2\x89\xae\xe3\x80\x82\xd9\xab\xf3\xa0\x85\xb1\xe1\xa1\x84"); } // [B1, B6] +test { try toAsciiFail("\xe1\xa1\x93-\xe2\x89\xae\xe3\x80\x82\xd9\xab\xf3\xa0\x85\xb1\xe1\xa1\x84", false); } // [B1, B6] +test { try toAsciiFail("\xe1\xa1\x93-\xe2\x89\xae\xe3\x80\x82\xd9\xab\xf3\xa0\x85\xb1\xe1\xa1\x84", true); } // [B1, B6] test { try toUnicodeFail("\xe1\xa1\x93-<\xcc\xb8\xe3\x80\x82\xd9\xab\xf3\xa0\x85\xb1\xe1\xa1\x84"); } // [B1, B6] +test { try toAsciiFail("\xe1\xa1\x93-<\xcc\xb8\xe3\x80\x82\xd9\xab\xf3\xa0\x85\xb1\xe1\xa1\x84", false); } // [B1, B6] +test { try toAsciiFail("\xe1\xa1\x93-<\xcc\xb8\xe3\x80\x82\xd9\xab\xf3\xa0\x85\xb1\xe1\xa1\x84", true); } // [B1, B6] test { try toUnicodeFail("xn----s7j866c.xn--kib252g"); } // [B1, B6] +test { try toAsciiFail("xn----s7j866c.xn--kib252g", false); } // [B1, B6] +test { try toAsciiFail("xn----s7j866c.xn--kib252g", true); } // [B1, B6] test { try toUnicodeFail("\xf0\x9d\x9f\xa5\xe2\x99\xae\xf0\x91\x9c\xab\xe0\xa3\xad\xef\xbc\x8e\xe1\x9f\x92\xf0\x91\x9c\xab8\xf3\xa0\x86\x8f"); } // [V6] +test { try toAsciiFail("\xf0\x9d\x9f\xa5\xe2\x99\xae\xf0\x91\x9c\xab\xe0\xa3\xad\xef\xbc\x8e\xe1\x9f\x92\xf0\x91\x9c\xab8\xf3\xa0\x86\x8f", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\x9f\xa5\xe2\x99\xae\xf0\x91\x9c\xab\xe0\xa3\xad\xef\xbc\x8e\xe1\x9f\x92\xf0\x91\x9c\xab8\xf3\xa0\x86\x8f", true); } // [V6] test { try toUnicodeFail("3\xe2\x99\xae\xf0\x91\x9c\xab\xe0\xa3\xad.\xe1\x9f\x92\xf0\x91\x9c\xab8\xf3\xa0\x86\x8f"); } // [V6] +test { try toAsciiFail("3\xe2\x99\xae\xf0\x91\x9c\xab\xe0\xa3\xad.\xe1\x9f\x92\xf0\x91\x9c\xab8\xf3\xa0\x86\x8f", false); } // [V6] +test { try toAsciiFail("3\xe2\x99\xae\xf0\x91\x9c\xab\xe0\xa3\xad.\xe1\x9f\x92\xf0\x91\x9c\xab8\xf3\xa0\x86\x8f", true); } // [V6] test { try toUnicodeFail("xn--3-ksd277tlo7s.xn--8-f0jx021l"); } // [V6] +test { try toAsciiFail("xn--3-ksd277tlo7s.xn--8-f0jx021l", false); } // [V6] +test { try toAsciiFail("xn--3-ksd277tlo7s.xn--8-f0jx021l", true); } // [V6] test { try toUnicodeFail("-\xef\xbd\xa1\xf2\x95\x8c\x80\xe2\x80\x8d\xe2\x9d\xa1"); } // [C2, V3, V7] +test { try toAsciiFail("-\xef\xbd\xa1\xf2\x95\x8c\x80\xe2\x80\x8d\xe2\x9d\xa1", false); } // [C2, V3, V7] +test { try toAsciiFail("-\xef\xbd\xa1\xf2\x95\x8c\x80\xe2\x80\x8d\xe2\x9d\xa1", true); } // [V3, V7] test { try toUnicodeFail("-\xe3\x80\x82\xf2\x95\x8c\x80\xe2\x80\x8d\xe2\x9d\xa1"); } // [C2, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xf2\x95\x8c\x80\xe2\x80\x8d\xe2\x9d\xa1", false); } // [C2, V3, V7] +test { try toAsciiFail("-\xe3\x80\x82\xf2\x95\x8c\x80\xe2\x80\x8d\xe2\x9d\xa1", true); } // [V3, V7] test { try toUnicodeFail("-.xn--nei54421f"); } // [V3, V7] +test { try toAsciiFail("-.xn--nei54421f", false); } // [V3, V7] +test { try toAsciiFail("-.xn--nei54421f", true); } // [V3, V7] test { try toUnicodeFail("-.xn--1ug800aq795s"); } // [C2, V3, V7] +test { try toAsciiFail("-.xn--1ug800aq795s", false); } // [C2, V3, V7] +test { try toAsciiFail("-.xn--1ug800aq795s", true); } // [C2, V3, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x93\xe2\x98\xb1\xf0\x9d\x9f\x90\xf2\xa5\xb0\xb5\xef\xbd\xa1\xf0\x9d\xaa\xae\xf1\x90\xa1\xb3"); } // [V6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x93\xe2\x98\xb1\xf0\x9d\x9f\x90\xf2\xa5\xb0\xb5\xef\xbd\xa1\xf0\x9d\xaa\xae\xf1\x90\xa1\xb3", false); } // [V6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\x93\xe2\x98\xb1\xf0\x9d\x9f\x90\xf2\xa5\xb0\xb5\xef\xbd\xa1\xf0\x9d\xaa\xae\xf1\x90\xa1\xb3", true); } // [V6, V7] test { try toUnicodeFail("5\xe2\x98\xb12\xf2\xa5\xb0\xb5\xe3\x80\x82\xf0\x9d\xaa\xae\xf1\x90\xa1\xb3"); } // [V6, V7] +test { try toAsciiFail("5\xe2\x98\xb12\xf2\xa5\xb0\xb5\xe3\x80\x82\xf0\x9d\xaa\xae\xf1\x90\xa1\xb3", false); } // [V6, V7] +test { try toAsciiFail("5\xe2\x98\xb12\xf2\xa5\xb0\xb5\xe3\x80\x82\xf0\x9d\xaa\xae\xf1\x90\xa1\xb3", true); } // [V6, V7] test { try toUnicodeFail("xn--52-dwx47758j.xn--kd3hk431k"); } // [V6, V7] +test { try toAsciiFail("xn--52-dwx47758j.xn--kd3hk431k", false); } // [V6, V7] +test { try toAsciiFail("xn--52-dwx47758j.xn--kd3hk431k", true); } // [V6, V7] test { try toUnicodeFail("-.-\xe2\x94\x9c\xf2\x96\xa6\xa3"); } // [V3, V7] +test { try toAsciiFail("-.-\xe2\x94\x9c\xf2\x96\xa6\xa3", false); } // [V3, V7] +test { try toAsciiFail("-.-\xe2\x94\x9c\xf2\x96\xa6\xa3", true); } // [V3, V7] test { try toUnicodeFail("-.xn----ukp70432h"); } // [V3, V7] +test { try toAsciiFail("-.xn----ukp70432h", false); } // [V3, V7] +test { try toAsciiFail("-.xn----ukp70432h", true); } // [V3, V7] test { try toUnicodeFail("\xd6\xa5\xdd\xad\xef\xbd\xa1\xe2\x80\x8d\xf3\xa0\x80\x98"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xd6\xa5\xdd\xad\xef\xbd\xa1\xe2\x80\x8d\xf3\xa0\x80\x98", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xd6\xa5\xdd\xad\xef\xbd\xa1\xe2\x80\x8d\xf3\xa0\x80\x98", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd6\xa5\xdd\xad\xe3\x80\x82\xe2\x80\x8d\xf3\xa0\x80\x98"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xd6\xa5\xdd\xad\xe3\x80\x82\xe2\x80\x8d\xf3\xa0\x80\x98", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xd6\xa5\xdd\xad\xe3\x80\x82\xe2\x80\x8d\xf3\xa0\x80\x98", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--wcb62g.xn--p526e"); } // [B1, V6, V7] +test { try toAsciiFail("xn--wcb62g.xn--p526e", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--wcb62g.xn--p526e", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--wcb62g.xn--1ugy8001l"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--wcb62g.xn--1ugy8001l", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--wcb62g.xn--1ugy8001l", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe1\x82\xae\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe1\x82\xae\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe1\x82\xae\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe1\x82\xae\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe1\x82\xae\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe1\x82\xae\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe1\x82\xae.\xe2\x80\x8c1.1.\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe1\x82\xae.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe1\x82\xae.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe1\x82\xae.\xe2\x80\x8c1.1.\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe1\x82\xae.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe1\x82\xae.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe2\xb4\x8e.\xe2\x80\x8c1.1.\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe2\xb4\x8e.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe2\xb4\x8e.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe2\xb4\x8e.\xe2\x80\x8c1.1.\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe2\xb4\x8e.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe2\xb4\x8e.\xe2\x80\x8c1.1.\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("xn--5kj3511ccyw3h.1.1.xn--7w9c"); } // [B1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.1.1.xn--7w9c", false); } // [B1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.1.1.xn--7w9c", true); } // [B1, V7] test { try toUnicodeFail("xn--5kj3511ccyw3h.xn--1-rgn.1.xn--7w9c"); } // [B1, C1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.xn--1-rgn.1.xn--7w9c", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.xn--1-rgn.1.xn--7w9c", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe2\xb4\x8e\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe2\xb4\x8e\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe1\x84\x8c\xe1\x85\xb1\xe1\x86\xbc\xf3\x94\x8f\x89\xe2\xb4\x8e\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe2\xb4\x8e\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92"); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe2\xb4\x8e\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", false); } // [B1, C1, V7] +test { try toAsciiFail("\xec\xa5\xa5\xf3\x94\x8f\x89\xe2\xb4\x8e\xef\xbc\x8e\xe2\x80\x8c\xe2\x92\x88\xe2\x92\x88\xf0\x90\xab\x92", true); } // [B1, V7] test { try toUnicodeFail("xn--5kj3511ccyw3h.xn--tsha6797o"); } // [B1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.xn--tsha6797o", false); } // [B1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.xn--tsha6797o", true); } // [B1, V7] test { try toUnicodeFail("xn--5kj3511ccyw3h.xn--0ug88oa0396u"); } // [B1, C1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.xn--0ug88oa0396u", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--5kj3511ccyw3h.xn--0ug88oa0396u", true); } // [B1, C1, V7] test { try toUnicodeFail("xn--mnd7865gcy28g.1.1.xn--7w9c"); } // [B1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.1.1.xn--7w9c", false); } // [B1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.1.1.xn--7w9c", true); } // [B1, V7] test { try toUnicodeFail("xn--mnd7865gcy28g.xn--1-rgn.1.xn--7w9c"); } // [B1, C1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.xn--1-rgn.1.xn--7w9c", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.xn--1-rgn.1.xn--7w9c", true); } // [B1, C1, V7] test { try toUnicodeFail("xn--mnd7865gcy28g.xn--tsha6797o"); } // [B1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.xn--tsha6797o", false); } // [B1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.xn--tsha6797o", true); } // [B1, V7] test { try toUnicodeFail("xn--mnd7865gcy28g.xn--0ug88oa0396u"); } // [B1, C1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.xn--0ug88oa0396u", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--mnd7865gcy28g.xn--0ug88oa0396u", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe0\xa0\xa7\xf0\x9d\x9f\xb6\xda\xa0-\xe3\x80\x82\xf0\x91\x84\xb3"); } // [B1, V3, V6] +test { try toAsciiFail("\xe0\xa0\xa7\xf0\x9d\x9f\xb6\xda\xa0-\xe3\x80\x82\xf0\x91\x84\xb3", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe0\xa0\xa7\xf0\x9d\x9f\xb6\xda\xa0-\xe3\x80\x82\xf0\x91\x84\xb3", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe0\xa0\xa70\xda\xa0-\xe3\x80\x82\xf0\x91\x84\xb3"); } // [B1, V3, V6] +test { try toAsciiFail("\xe0\xa0\xa70\xda\xa0-\xe3\x80\x82\xf0\x91\x84\xb3", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe0\xa0\xa70\xda\xa0-\xe3\x80\x82\xf0\x91\x84\xb3", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--0--p3d67m.xn--v80d"); } // [B1, V3, V6] +test { try toAsciiFail("xn--0--p3d67m.xn--v80d", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--0--p3d67m.xn--v80d", true); } // [B1, V3, V6] test { try toUnicodeFail("\xcf\x82\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88"); } // [V7] +test { try toAsciiFail("\xcf\x82\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88", false); } // [V7] +test { try toAsciiFail("\xcf\x82\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88", true); } // [V7] test { try toUnicodePass("\xcf\x82.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", "\xcf\x82.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1."); } +test { try toAsciiFail("\xcf\x82.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", false); } // [A4_2] +test { try toAsciiFail("\xcf\x82.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", true); } // [A4_2] test { try toUnicodePass("\xce\xa3.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", "\xcf\x83.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1."); } +test { try toAsciiFail("\xce\xa3.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", false); } // [A4_2] +test { try toAsciiFail("\xce\xa3.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", true); } // [A4_2] test { try toUnicodePass("\xcf\x83.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", "\xcf\x83.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1."); } +test { try toAsciiFail("\xcf\x83.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", false); } // [A4_2] +test { try toAsciiFail("\xcf\x83.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1.", true); } // [A4_2] test { try toUnicodePass("xn--4xa.xn--1-gocmu97674d.", "\xcf\x83.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1."); } +test { try toAsciiFail("xn--4xa.xn--1-gocmu97674d.", false); } // [A4_2] +test { try toAsciiFail("xn--4xa.xn--1-gocmu97674d.", true); } // [A4_2] test { try toUnicodePass("xn--3xa.xn--1-gocmu97674d.", "\xcf\x82.\xd9\x81\xd9\x85\xd9\x8a\xf0\x9f\x9e\x9b1."); } +test { try toAsciiFail("xn--3xa.xn--1-gocmu97674d.", false); } // [A4_2] +test { try toAsciiFail("xn--3xa.xn--1-gocmu97674d.", true); } // [A4_2] test { try toUnicodeFail("\xce\xa3\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88"); } // [V7] +test { try toAsciiFail("\xce\xa3\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88", false); } // [V7] +test { try toAsciiFail("\xce\xa3\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("\xcf\x83\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88"); } // [V7] +test { try toAsciiFail("\xcf\x83\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88", false); } // [V7] +test { try toAsciiFail("\xcf\x83\xef\xbc\x8e\xef\xb7\x81\xf0\x9f\x9e\x9b\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("xn--4xa.xn--dhbip2802atb20c"); } // [V7] +test { try toAsciiFail("xn--4xa.xn--dhbip2802atb20c", false); } // [V7] +test { try toAsciiFail("xn--4xa.xn--dhbip2802atb20c", true); } // [V7] test { try toUnicodeFail("xn--3xa.xn--dhbip2802atb20c"); } // [V7] +test { try toAsciiFail("xn--3xa.xn--dhbip2802atb20c", false); } // [V7] +test { try toAsciiFail("xn--3xa.xn--dhbip2802atb20c", true); } // [V7] test { try toUnicodeFail("\xf0\x9f\x97\xa9-\xef\xbd\xa1\xf0\x90\xb9\xbb\xf3\x90\x9e\x86\xf1\xa5\x89\xae"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9f\x97\xa9-\xef\xbd\xa1\xf0\x90\xb9\xbb\xf3\x90\x9e\x86\xf1\xa5\x89\xae", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9f\x97\xa9-\xef\xbd\xa1\xf0\x90\xb9\xbb\xf3\x90\x9e\x86\xf1\xa5\x89\xae", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x9f\x97\xa9-\xe3\x80\x82\xf0\x90\xb9\xbb\xf3\x90\x9e\x86\xf1\xa5\x89\xae"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9f\x97\xa9-\xe3\x80\x82\xf0\x90\xb9\xbb\xf3\x90\x9e\x86\xf1\xa5\x89\xae", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9f\x97\xa9-\xe3\x80\x82\xf0\x90\xb9\xbb\xf3\x90\x9e\x86\xf1\xa5\x89\xae", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----6t3s.xn--zo0d4811u6ru6a"); } // [B1, V3, V7] +test { try toAsciiFail("xn----6t3s.xn--zo0d4811u6ru6a", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----6t3s.xn--zo0d4811u6ru6a", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x90\xa1\x9c-\xf0\x9f\x94\xaa\xef\xbd\xa1\xf0\x9d\x9f\xbb\xe2\x80\x8c\xf0\x90\xbf\x80"); } // [B1, B3, C1] +test { try toAsciiFail("\xf0\x90\xa1\x9c-\xf0\x9f\x94\xaa\xef\xbd\xa1\xf0\x9d\x9f\xbb\xe2\x80\x8c\xf0\x90\xbf\x80", false); } // [B1, B3, C1] +test { try toAsciiFail("\xf0\x90\xa1\x9c-\xf0\x9f\x94\xaa\xef\xbd\xa1\xf0\x9d\x9f\xbb\xe2\x80\x8c\xf0\x90\xbf\x80", true); } // [B1, B3] test { try toUnicodeFail("\xf0\x90\xa1\x9c-\xf0\x9f\x94\xaa\xe3\x80\x825\xe2\x80\x8c\xf0\x90\xbf\x80"); } // [B1, B3, C1] +test { try toAsciiFail("\xf0\x90\xa1\x9c-\xf0\x9f\x94\xaa\xe3\x80\x825\xe2\x80\x8c\xf0\x90\xbf\x80", false); } // [B1, B3, C1] +test { try toAsciiFail("\xf0\x90\xa1\x9c-\xf0\x9f\x94\xaa\xe3\x80\x825\xe2\x80\x8c\xf0\x90\xbf\x80", true); } // [B1, B3] test { try toUnicodeFail("xn----5j4iv089c.xn--5-bn7i"); } // [B1, B3] +test { try toAsciiFail("xn----5j4iv089c.xn--5-bn7i", false); } // [B1, B3] +test { try toAsciiFail("xn----5j4iv089c.xn--5-bn7i", true); } // [B1, B3] test { try toUnicodeFail("xn----5j4iv089c.xn--5-sgn7149h"); } // [B1, B3, C1] +test { try toAsciiFail("xn----5j4iv089c.xn--5-sgn7149h", false); } // [B1, B3, C1] +test { try toAsciiFail("xn----5j4iv089c.xn--5-sgn7149h", true); } // [B1, B3, C1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8d\xc3\x9f\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8d\xc3\x9f\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8d\xc3\x9f\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8d\xc3\x9f\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8d\xc3\x9f\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8d\xc3\x9f\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8d\xc3\x9f.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8d\xc3\x9f.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8d\xc3\x9f.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8d\xc3\x9f.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8d\xc3\x9f.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8d\xc3\x9f.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSS.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSS.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSS.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSS.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSS.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSS.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dss.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dss.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dss.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dss.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dss.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dss.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("xn--ss-i05i7041a.xn--0-vgc50n"); } // [B1] +test { try toAsciiFail("xn--ss-i05i7041a.xn--0-vgc50n", false); } // [B1] +test { try toAsciiFail("xn--ss-i05i7041a.xn--0-vgc50n", true); } // [B1] test { try toUnicodeFail("xn--ss-l1tu910fo0xd.xn--0-vgc50n"); } // [B1, C2] +test { try toAsciiFail("xn--ss-l1tu910fo0xd.xn--0-vgc50n", false); } // [B1, C2] +test { try toAsciiFail("xn--ss-l1tu910fo0xd.xn--0-vgc50n", true); } // [B1, C2] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSs.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSs.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSs.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSs.\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSs.\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSs.\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("xn--zca770n5s4hev6c.xn--0-vgc50n"); } // [B1, C2] +test { try toAsciiFail("xn--zca770n5s4hev6c.xn--0-vgc50n", false); } // [B1, C2] +test { try toAsciiFail("xn--zca770n5s4hev6c.xn--0-vgc50n", true); } // [B1, C2] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSS\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSS\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSS\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSS\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSS\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSS\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dss\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dss\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dss\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dss\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dss\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dss\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSs\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSs\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xeb\x8a\xbf\xe2\x80\x8dSs\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSs\xef\xbc\x8e\xdf\x8f0\xd6\xbc"); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSs\xef\xbc\x8e\xdf\x8f0\xd6\xbc", false); } // [B1, C2] +test { try toAsciiFail("\xf0\x90\xb9\xa3\xe1\x84\x82\xe1\x85\xb4\xe1\x86\xba\xe2\x80\x8dSs\xef\xbc\x8e\xdf\x8f0\xd6\xbc", true); } // [B1] test { try toUnicodeFail("9\xf3\xa0\x87\xa5\xef\xbc\x8e\xf3\xaa\xb4\xb4\xe1\xa2\x93"); } // [V7] +test { try toAsciiFail("9\xf3\xa0\x87\xa5\xef\xbc\x8e\xf3\xaa\xb4\xb4\xe1\xa2\x93", false); } // [V7] +test { try toAsciiFail("9\xf3\xa0\x87\xa5\xef\xbc\x8e\xf3\xaa\xb4\xb4\xe1\xa2\x93", true); } // [V7] test { try toUnicodeFail("9\xf3\xa0\x87\xa5.\xf3\xaa\xb4\xb4\xe1\xa2\x93"); } // [V7] +test { try toAsciiFail("9\xf3\xa0\x87\xa5.\xf3\xaa\xb4\xb4\xe1\xa2\x93", false); } // [V7] +test { try toAsciiFail("9\xf3\xa0\x87\xa5.\xf3\xaa\xb4\xb4\xe1\xa2\x93", true); } // [V7] test { try toUnicodeFail("9.xn--dbf91222q"); } // [V7] +test { try toAsciiFail("9.xn--dbf91222q", false); } // [V7] +test { try toAsciiFail("9.xn--dbf91222q", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97\xc3\x9f\xe2\xbd\x9f"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97\xc3\x9f\xe2\xbd\x9f", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97\xc3\x9f\xe2\xbd\x9f", true); } // [B2, B3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97\xc3\x9f\xe7\x8e\x89"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97\xc3\x9f\xe7\x8e\x89", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97\xc3\x9f\xe7\x8e\x89", true); } // [B2, B3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97SS\xe7\x8e\x89"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97SS\xe7\x8e\x89", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97SS\xe7\x8e\x89", true); } // [B2, B3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97ss\xe7\x8e\x89"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97ss\xe7\x8e\x89", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97ss\xe7\x8e\x89", true); } // [B2, B3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97Ss\xe7\x8e\x89"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97Ss\xe7\x8e\x89", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xe1\x85\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97Ss\xe7\x8e\x89", true); } // [B2, B3, A4_2] test { try toUnicodeFail(".xn--ss-je6eq954cp25j"); } // [B2, B3, X4_2] +test { try toAsciiFail(".xn--ss-je6eq954cp25j", false); } // [B2, B3, A4_2] +test { try toAsciiFail(".xn--ss-je6eq954cp25j", true); } // [B2, B3, A4_2] test { try toUnicodeFail("xn--0ug.xn--ss-je6eq954cp25j"); } // [B1, B2, B3, C1] +test { try toAsciiFail("xn--0ug.xn--ss-je6eq954cp25j", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("xn--0ug.xn--ss-je6eq954cp25j", true); } // [B1, B2, B3, C1] test { try toUnicodeFail("xn--0ug.xn--zca2289c550e0iwi"); } // [B1, B2, B3, C1] +test { try toAsciiFail("xn--0ug.xn--zca2289c550e0iwi", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("xn--0ug.xn--zca2289c550e0iwi", true); } // [B1, B2, B3, C1] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97SS\xe2\xbd\x9f"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97SS\xe2\xbd\x9f", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97SS\xe2\xbd\x9f", true); } // [B2, B3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97ss\xe2\xbd\x9f"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97ss\xe2\xbd\x9f", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97ss\xe2\xbd\x9f", true); } // [B2, B3, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97Ss\xe2\xbd\x9f"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97Ss\xe2\xbd\x9f", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbe\xa0.\xf0\x90\xab\xad\xf0\x9f\xa0\x97Ss\xe2\xbd\x9f", true); } // [B2, B3, A4_2] test { try toUnicodeFail("xn--psd.xn--ss-je6eq954cp25j"); } // [B2, B3, V7] +test { try toAsciiFail("xn--psd.xn--ss-je6eq954cp25j", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--psd.xn--ss-je6eq954cp25j", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--psd526e.xn--ss-je6eq954cp25j"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--psd526e.xn--ss-je6eq954cp25j", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--psd526e.xn--ss-je6eq954cp25j", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("xn--psd526e.xn--zca2289c550e0iwi"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--psd526e.xn--zca2289c550e0iwi", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--psd526e.xn--zca2289c550e0iwi", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("xn--cl7c.xn--ss-je6eq954cp25j"); } // [B2, B3, V7] +test { try toAsciiFail("xn--cl7c.xn--ss-je6eq954cp25j", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--cl7c.xn--ss-je6eq954cp25j", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--0ug7719f.xn--ss-je6eq954cp25j"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug7719f.xn--ss-je6eq954cp25j", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug7719f.xn--ss-je6eq954cp25j", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("xn--0ug7719f.xn--zca2289c550e0iwi"); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug7719f.xn--zca2289c550e0iwi", false); } // [B1, B2, B3, C1, V7] +test { try toAsciiFail("xn--0ug7719f.xn--zca2289c550e0iwi", true); } // [B1, B2, B3, C1, V7] test { try toUnicodeFail("\xef\xb8\x92\xe1\x82\xb6\xcd\xa6\xef\xbc\x8e\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xef\xb8\x92\xe1\x82\xb6\xcd\xa6\xef\xbc\x8e\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xef\xb8\x92\xe1\x82\xb6\xcd\xa6\xef\xbc\x8e\xe2\x80\x8c", true); } // [V7, A4_2] test { try toUnicodeFail("\xe3\x80\x82\xe1\x82\xb6\xcd\xa6.\xe2\x80\x8c"); } // [C1, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe1\x82\xb6\xcd\xa6.\xe2\x80\x8c", false); } // [C1, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe1\x82\xb6\xcd\xa6.\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodeFail("\xe3\x80\x82\xe2\xb4\x96\xcd\xa6.\xe2\x80\x8c"); } // [C1, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\xb4\x96\xcd\xa6.\xe2\x80\x8c", false); } // [C1, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\xb4\x96\xcd\xa6.\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodeFail(".xn--hva754s."); } // [X4_2] +test { try toAsciiFail(".xn--hva754s.", false); } // [A4_2] +test { try toAsciiFail(".xn--hva754s.", true); } // [A4_2] test { try toUnicodeFail(".xn--hva754s.xn--0ug"); } // [C1, X4_2] +test { try toAsciiFail(".xn--hva754s.xn--0ug", false); } // [C1, A4_2] +test { try toAsciiFail(".xn--hva754s.xn--0ug", true); } // [C1, A4_2] test { try toUnicodeFail("\xef\xb8\x92\xe2\xb4\x96\xcd\xa6\xef\xbc\x8e\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\xb4\x96\xcd\xa6\xef\xbc\x8e\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\xb4\x96\xcd\xa6\xef\xbc\x8e\xe2\x80\x8c", true); } // [V7, A4_2] test { try toUnicodeFail("xn--hva754sy94k."); } // [V7] +test { try toAsciiFail("xn--hva754sy94k.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--hva754sy94k.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--hva754sy94k.xn--0ug"); } // [C1, V7] +test { try toAsciiFail("xn--hva754sy94k.xn--0ug", false); } // [C1, V7] +test { try toAsciiFail("xn--hva754sy94k.xn--0ug", true); } // [C1, V7] test { try toUnicodeFail(".xn--hva929d."); } // [V7, X4_2] +test { try toAsciiFail(".xn--hva929d.", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--hva929d.", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--hva929d.xn--0ug"); } // [C1, V7, X4_2] +test { try toAsciiFail(".xn--hva929d.xn--0ug", false); } // [C1, V7, A4_2] +test { try toAsciiFail(".xn--hva929d.xn--0ug", true); } // [C1, V7, A4_2] test { try toUnicodeFail("xn--hva929dl29p."); } // [V7] +test { try toAsciiFail("xn--hva929dl29p.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--hva929dl29p.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--hva929dl29p.xn--0ug"); } // [C1, V7] +test { try toAsciiFail("xn--hva929dl29p.xn--0ug", false); } // [C1, V7] +test { try toAsciiFail("xn--hva929dl29p.xn--0ug", true); } // [C1, V7] test { try toUnicodePass("xn--hva754s.", "\xe2\xb4\x96\xcd\xa6."); } +test { try toAsciiFail("xn--hva754s.", false); } // [A4_2] +test { try toAsciiFail("xn--hva754s.", true); } // [A4_2] test { try toUnicodePass("\xe2\xb4\x96\xcd\xa6.", "\xe2\xb4\x96\xcd\xa6."); } +test { try toAsciiFail("\xe2\xb4\x96\xcd\xa6.", false); } // [A4_2] +test { try toAsciiFail("\xe2\xb4\x96\xcd\xa6.", true); } // [A4_2] test { try toUnicodePass("\xe1\x82\xb6\xcd\xa6.", "\xe2\xb4\x96\xcd\xa6."); } +test { try toAsciiFail("\xe1\x82\xb6\xcd\xa6.", false); } // [A4_2] +test { try toAsciiFail("\xe1\x82\xb6\xcd\xa6.", true); } // [A4_2] test { try toUnicodeFail("xn--hva929d."); } // [V7] +test { try toAsciiFail("xn--hva929d.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--hva929d.", true); } // [V7, A4_2] test { try toAsciiPass("\xe0\xa2\xbb\xef\xbc\x8e\xe2\x80\x8c\xe1\x82\xa3\xf0\x9e\x80\x92", "xn--hzb.xn--ukj4430l", true); } test { try toUnicodeFail("\xe0\xa2\xbb\xef\xbc\x8e\xe2\x80\x8c\xe1\x82\xa3\xf0\x9e\x80\x92"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa2\xbb\xef\xbc\x8e\xe2\x80\x8c\xe1\x82\xa3\xf0\x9e\x80\x92", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa2\xbb.\xe2\x80\x8c\xe1\x82\xa3\xf0\x9e\x80\x92", "xn--hzb.xn--ukj4430l", true); } test { try toUnicodeFail("\xe0\xa2\xbb.\xe2\x80\x8c\xe1\x82\xa3\xf0\x9e\x80\x92"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa2\xbb.\xe2\x80\x8c\xe1\x82\xa3\xf0\x9e\x80\x92", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa2\xbb.\xe2\x80\x8c\xe2\xb4\x83\xf0\x9e\x80\x92", "xn--hzb.xn--ukj4430l", true); } test { try toUnicodeFail("\xe0\xa2\xbb.\xe2\x80\x8c\xe2\xb4\x83\xf0\x9e\x80\x92"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa2\xbb.\xe2\x80\x8c\xe2\xb4\x83\xf0\x9e\x80\x92", false); } // [B1, C1] test { try toUnicodePass("xn--hzb.xn--ukj4430l", "\xe0\xa2\xbb.\xe2\xb4\x83\xf0\x9e\x80\x92"); } test { try toAsciiPass("xn--hzb.xn--ukj4430l", "xn--hzb.xn--ukj4430l", false); } test { try toAsciiPass("xn--hzb.xn--ukj4430l", "xn--hzb.xn--ukj4430l", true); } @@ -5587,104 +13656,293 @@ test { try toUnicodePass("\xe0\xa2\xbb.\xe1\x82\xa3\xf0\x9e\x80\x92", "\xe0\xa2\ test { try toAsciiPass("\xe0\xa2\xbb.\xe1\x82\xa3\xf0\x9e\x80\x92", "xn--hzb.xn--ukj4430l", false); } test { try toAsciiPass("\xe0\xa2\xbb.\xe1\x82\xa3\xf0\x9e\x80\x92", "xn--hzb.xn--ukj4430l", true); } test { try toUnicodeFail("xn--hzb.xn--0ug822cp045a"); } // [B1, C1] +test { try toAsciiFail("xn--hzb.xn--0ug822cp045a", false); } // [B1, C1] +test { try toAsciiFail("xn--hzb.xn--0ug822cp045a", true); } // [B1, C1] test { try toAsciiPass("\xe0\xa2\xbb\xef\xbc\x8e\xe2\x80\x8c\xe2\xb4\x83\xf0\x9e\x80\x92", "xn--hzb.xn--ukj4430l", true); } test { try toUnicodeFail("\xe0\xa2\xbb\xef\xbc\x8e\xe2\x80\x8c\xe2\xb4\x83\xf0\x9e\x80\x92"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa2\xbb\xef\xbc\x8e\xe2\x80\x8c\xe2\xb4\x83\xf0\x9e\x80\x92", false); } // [B1, C1] test { try toUnicodeFail("xn--hzb.xn--bnd2938u"); } // [V7] +test { try toAsciiFail("xn--hzb.xn--bnd2938u", false); } // [V7] +test { try toAsciiFail("xn--hzb.xn--bnd2938u", true); } // [V7] test { try toUnicodeFail("xn--hzb.xn--bnd300f7225a"); } // [B1, C1, V7] +test { try toAsciiFail("xn--hzb.xn--bnd300f7225a", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--hzb.xn--bnd300f7225a", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xef\xbc\x92\xe4\xab\xb7\xf3\xa0\xa7\xb7"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xef\xbc\x92\xe4\xab\xb7\xf3\xa0\xa7\xb7", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xef\xbc\x92\xe4\xab\xb7\xf3\xa0\xa7\xb7", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x822\xe4\xab\xb7\xf3\xa0\xa7\xb7"); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x822\xe4\xab\xb7\xf3\xa0\xa7\xb7", false); } // [C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x822\xe4\xab\xb7\xf3\xa0\xa7\xb7", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--2-me5ay1273i"); } // [V7, X4_2] +test { try toAsciiFail(".xn--2-me5ay1273i", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--2-me5ay1273i", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ugb.xn--2-me5ay1273i"); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugb.xn--2-me5ay1273i", false); } // [C1, C2, V7] +test { try toAsciiFail("xn--0ugb.xn--2-me5ay1273i", true); } // [C1, C2, V7] test { try toUnicodeFail("-\xf0\x9e\x80\xa4\xf3\x9c\xa0\x90\xe3\x80\x82\xf2\x88\xac\x96"); } // [V3, V7] +test { try toAsciiFail("-\xf0\x9e\x80\xa4\xf3\x9c\xa0\x90\xe3\x80\x82\xf2\x88\xac\x96", false); } // [V3, V7] +test { try toAsciiFail("-\xf0\x9e\x80\xa4\xf3\x9c\xa0\x90\xe3\x80\x82\xf2\x88\xac\x96", true); } // [V3, V7] test { try toUnicodeFail("xn----rq4re4997d.xn--l707b"); } // [V3, V7] +test { try toAsciiFail("xn----rq4re4997d.xn--l707b", false); } // [V3, V7] +test { try toAsciiFail("xn----rq4re4997d.xn--l707b", true); } // [V3, V7] test { try toUnicodeFail("\xf3\xb3\x9b\x82\xef\xb8\x92\xe2\x80\x8c\xe3\x9f\x80\xef\xbc\x8e\xd8\xa4\xe2\x92\x88"); } // [C1, V7] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xef\xb8\x92\xe2\x80\x8c\xe3\x9f\x80\xef\xbc\x8e\xd8\xa4\xe2\x92\x88", false); } // [C1, V7] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xef\xb8\x92\xe2\x80\x8c\xe3\x9f\x80\xef\xbc\x8e\xd8\xa4\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("\xf3\xb3\x9b\x82\xef\xb8\x92\xe2\x80\x8c\xe3\x9f\x80\xef\xbc\x8e\xd9\x88\xd9\x94\xe2\x92\x88"); } // [C1, V7] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xef\xb8\x92\xe2\x80\x8c\xe3\x9f\x80\xef\xbc\x8e\xd9\x88\xd9\x94\xe2\x92\x88", false); } // [C1, V7] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xef\xb8\x92\xe2\x80\x8c\xe3\x9f\x80\xef\xbc\x8e\xd9\x88\xd9\x94\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("\xf3\xb3\x9b\x82\xe3\x80\x82\xe2\x80\x8c\xe3\x9f\x80.\xd8\xa41."); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xe3\x80\x82\xe2\x80\x8c\xe3\x9f\x80.\xd8\xa41.", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xe3\x80\x82\xe2\x80\x8c\xe3\x9f\x80.\xd8\xa41.", true); } // [V7, A4_2] test { try toUnicodeFail("\xf3\xb3\x9b\x82\xe3\x80\x82\xe2\x80\x8c\xe3\x9f\x80.\xd9\x88\xd9\x941."); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xe3\x80\x82\xe2\x80\x8c\xe3\x9f\x80.\xd9\x88\xd9\x941.", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("\xf3\xb3\x9b\x82\xe3\x80\x82\xe2\x80\x8c\xe3\x9f\x80.\xd9\x88\xd9\x941.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--z272f.xn--etl.xn--1-smc."); } // [V7] +test { try toAsciiFail("xn--z272f.xn--etl.xn--1-smc.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--z272f.xn--etl.xn--1-smc.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--z272f.xn--0ug754g.xn--1-smc."); } // [B1, C1, V7] +test { try toAsciiFail("xn--z272f.xn--0ug754g.xn--1-smc.", false); } // [B1, C1, V7, A4_2] +test { try toAsciiFail("xn--z272f.xn--0ug754g.xn--1-smc.", true); } // [B1, C1, V7, A4_2] test { try toUnicodeFail("xn--etlt457ccrq7h.xn--jgb476m"); } // [V7] +test { try toAsciiFail("xn--etlt457ccrq7h.xn--jgb476m", false); } // [V7] +test { try toAsciiFail("xn--etlt457ccrq7h.xn--jgb476m", true); } // [V7] test { try toUnicodeFail("xn--0ug754gxl4ldlt0k.xn--jgb476m"); } // [C1, V7] +test { try toAsciiFail("xn--0ug754gxl4ldlt0k.xn--jgb476m", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug754gxl4ldlt0k.xn--jgb476m", true); } // [C1, V7] test { try toUnicodeFail("\xf0\x91\xb2\x9c\xdf\x8a\xf0\x9d\x85\xbc\xe3\x80\x82-\xe2\x80\x8d"); } // [B1, C2, V3, V6] +test { try toAsciiFail("\xf0\x91\xb2\x9c\xdf\x8a\xf0\x9d\x85\xbc\xe3\x80\x82-\xe2\x80\x8d", false); } // [B1, C2, V3, V6] +test { try toAsciiFail("\xf0\x91\xb2\x9c\xdf\x8a\xf0\x9d\x85\xbc\xe3\x80\x82-\xe2\x80\x8d", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--lsb5482l7nre.-"); } // [B1, V3, V6] +test { try toAsciiFail("xn--lsb5482l7nre.-", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--lsb5482l7nre.-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--lsb5482l7nre.xn----ugn"); } // [B1, C2, V3, V6] +test { try toAsciiFail("xn--lsb5482l7nre.xn----ugn", false); } // [B1, C2, V3, V6] +test { try toAsciiFail("xn--lsb5482l7nre.xn----ugn", true); } // [B1, C2, V3, V6] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbc\x8e\xe1\x82\xa9\xe2\x89\xa0\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe1\x82\xa9\xe2\x89\xa0\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe1\x82\xa9\xe2\x89\xa0\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbc\x8e\xe1\x82\xa9=\xcc\xb8\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe1\x82\xa9=\xcc\xb8\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe1\x82\xa9=\xcc\xb8\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.\xe1\x82\xa9\xe2\x89\xa0\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe1\x82\xa9\xe2\x89\xa0\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe1\x82\xa9\xe2\x89\xa0\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.\xe1\x82\xa9=\xcc\xb8\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe1\x82\xa9=\xcc\xb8\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe1\x82\xa9=\xcc\xb8\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.\xe2\xb4\x89=\xcc\xb8\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\xb4\x89=\xcc\xb8\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\xb4\x89=\xcc\xb8\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.\xe2\xb4\x89\xe2\x89\xa0\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\xb4\x89\xe2\x89\xa0\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\xb4\x89\xe2\x89\xa0\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail(".xn--1chx23bzj4p"); } // [B5, B6, X4_2] +test { try toAsciiFail(".xn--1chx23bzj4p", false); } // [B5, B6, A4_2] +test { try toAsciiFail(".xn--1chx23bzj4p", true); } // [B5, B6, A4_2] test { try toUnicodeFail("xn--0ug.xn--1chx23bzj4p"); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn--0ug.xn--1chx23bzj4p", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn--0ug.xn--1chx23bzj4p", true); } // [B1, B5, B6, C1] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbc\x8e\xe2\xb4\x89=\xcc\xb8\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe2\xb4\x89=\xcc\xb8\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe2\xb4\x89=\xcc\xb8\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xef\xbc\x8e\xe2\xb4\x89\xe2\x89\xa0\xf0\x90\xab\xb6"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe2\xb4\x89\xe2\x89\xa0\xf0\x90\xab\xb6", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\x80\x8c\xef\xbc\x8e\xe2\xb4\x89\xe2\x89\xa0\xf0\x90\xab\xb6", true); } // [B5, B6, A4_2] test { try toUnicodeFail(".xn--hnd481gv73o"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--hnd481gv73o", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--hnd481gv73o", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--hnd481gv73o"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug.xn--hnd481gv73o", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug.xn--hnd481gv73o", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xcf\x82"); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xcf\x82", false); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xcf\x82", true); } // [B1] test { try toUnicodeFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xcf\x82"); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xcf\x82", false); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xcf\x82", true); } // [B1] test { try toUnicodeFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xce\xa3"); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xce\xa3", false); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xce\xa3", true); } // [B1] test { try toUnicodeFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xce\xa3"); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xce\xa3", false); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xce\xa3", true); } // [B1] test { try toUnicodeFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xcf\x83"); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xcf\x83", false); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82\xe2\x89\xaf\xcf\x83", true); } // [B1] test { try toUnicodeFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xcf\x83"); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xcf\x83", false); } // [B1] +test { try toAsciiFail("\xdd\x90\xe3\x80\x82>\xcc\xb8\xcf\x83", true); } // [B1] test { try toUnicodeFail("xn--3ob.xn--4xa718m"); } // [B1] +test { try toAsciiFail("xn--3ob.xn--4xa718m", false); } // [B1] +test { try toAsciiFail("xn--3ob.xn--4xa718m", true); } // [B1] test { try toUnicodeFail("xn--3ob.xn--3xa918m"); } // [B1] +test { try toAsciiFail("xn--3ob.xn--3xa918m", false); } // [B1] +test { try toAsciiFail("xn--3ob.xn--3xa918m", true); } // [B1] test { try toUnicodeFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xef\xb8\x92\xf1\x8a\xa8\xa9\xe1\x82\xb0"); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xef\xb8\x92\xf1\x8a\xa8\xa9\xe1\x82\xb0", false); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xef\xb8\x92\xf1\x8a\xa8\xa9\xe1\x82\xb0", true); } // [V7] test { try toUnicodeFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xe3\x80\x82\xf1\x8a\xa8\xa9\xe1\x82\xb0"); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xe3\x80\x82\xf1\x8a\xa8\xa9\xe1\x82\xb0", false); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xe3\x80\x82\xf1\x8a\xa8\xa9\xe1\x82\xb0", true); } // [V7] test { try toUnicodeFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xe3\x80\x82\xf1\x8a\xa8\xa9\xe2\xb4\x90"); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xe3\x80\x82\xf1\x8a\xa8\xa9\xe2\xb4\x90", false); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xe3\x80\x82\xf1\x8a\xa8\xa9\xe2\xb4\x90", true); } // [V7] test { try toUnicodeFail("xn--0tb8725k.xn--tu8d.xn--7kj73887a"); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--tu8d.xn--7kj73887a", false); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--tu8d.xn--7kj73887a", true); } // [V7] test { try toUnicodeFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xef\xb8\x92\xf1\x8a\xa8\xa9\xe2\xb4\x90"); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xef\xb8\x92\xf1\x8a\xa8\xa9\xe2\xb4\x90", false); } // [V7] +test { try toAsciiFail("\xdf\xbc\xf0\x90\xb8\x86.\xf0\x93\x96\x8f\xef\xb8\x92\xf1\x8a\xa8\xa9\xe2\xb4\x90", true); } // [V7] test { try toUnicodeFail("xn--0tb8725k.xn--7kj9008dt18a7py9c"); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--7kj9008dt18a7py9c", false); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--7kj9008dt18a7py9c", true); } // [V7] test { try toUnicodeFail("xn--0tb8725k.xn--tu8d.xn--ond97931d"); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--tu8d.xn--ond97931d", false); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--tu8d.xn--ond97931d", true); } // [V7] test { try toUnicodeFail("xn--0tb8725k.xn--ond3562jt18a7py9c"); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--ond3562jt18a7py9c", false); } // [V7] +test { try toAsciiFail("xn--0tb8725k.xn--ond3562jt18a7py9c", true); } // [V7] test { try toUnicodeFail("\xe1\x83\x85\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xef\xbd\xa1\xf0\x91\x8c\xbc"); } // [V6, V7] +test { try toAsciiFail("\xe1\x83\x85\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xef\xbd\xa1\xf0\x91\x8c\xbc", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x83\x85\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xef\xbd\xa1\xf0\x91\x8c\xbc", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x83\x85\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xe3\x80\x82\xf0\x91\x8c\xbc"); } // [V6, V7] +test { try toAsciiFail("\xe1\x83\x85\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xe3\x80\x82\xf0\x91\x8c\xbc", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x83\x85\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xe3\x80\x82\xf0\x91\x8c\xbc", true); } // [V6, V7] test { try toUnicodeFail("\xe2\xb4\xa5\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xe3\x80\x82\xf0\x91\x8c\xbc"); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\xa5\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xe3\x80\x82\xf0\x91\x8c\xbc", false); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\xa5\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xe3\x80\x82\xf0\x91\x8c\xbc", true); } // [V6, V7] test { try toUnicodeFail("xn--vfh16m67gx1162b.xn--ro1d"); } // [V6, V7] +test { try toAsciiFail("xn--vfh16m67gx1162b.xn--ro1d", false); } // [V6, V7] +test { try toAsciiFail("xn--vfh16m67gx1162b.xn--ro1d", true); } // [V6, V7] test { try toUnicodeFail("\xe2\xb4\xa5\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xef\xbd\xa1\xf0\x91\x8c\xbc"); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\xa5\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xef\xbd\xa1\xf0\x91\x8c\xbc", false); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\xa5\xe2\x9a\xad\xf3\xa0\x96\xab\xe2\x8b\x83\xef\xbd\xa1\xf0\x91\x8c\xbc", true); } // [V6, V7] test { try toUnicodeFail("xn--9nd623g4zc5z060c.xn--ro1d"); } // [V6, V7] +test { try toAsciiFail("xn--9nd623g4zc5z060c.xn--ro1d", false); } // [V6, V7] +test { try toAsciiFail("xn--9nd623g4zc5z060c.xn--ro1d", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x9f\x84\x88\xe3\x80\x82\xf3\xa0\xb7\xb3\xe0\xa1\x84"); } // [B1, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x88\xe3\x80\x82\xf3\xa0\xb7\xb3\xe0\xa1\x84", false); } // [B1, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x88\xe3\x80\x82\xf3\xa0\xb7\xb3\xe0\xa1\x84", true); } // [B1, V7, U1] test { try toUnicodeFail("7,\xe3\x80\x82\xf3\xa0\xb7\xb3\xe0\xa1\x84"); } // [B1, V7, U1] +test { try toAsciiFail("7,\xe3\x80\x82\xf3\xa0\xb7\xb3\xe0\xa1\x84", false); } // [B1, V7, U1] +test { try toAsciiFail("7,\xe3\x80\x82\xf3\xa0\xb7\xb3\xe0\xa1\x84", true); } // [B1, V7, U1] test { try toUnicodeFail("7,.xn--2vb13094p"); } // [B1, V7, U1] +test { try toAsciiFail("7,.xn--2vb13094p", false); } // [B1, V7, U1] +test { try toAsciiFail("7,.xn--2vb13094p", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--107h.xn--2vb13094p"); } // [B1, V7] +test { try toAsciiFail("xn--107h.xn--2vb13094p", false); } // [B1, V7] +test { try toAsciiFail("xn--107h.xn--2vb13094p", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96\xc3\x9f"); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96\xc3\x9f", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96\xc3\x9f", true); } // [B1] test { try toUnicodeFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbd\xc3\x9f"); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbd\xc3\x9f", false); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbd\xc3\x9f", true); } // [B1] test { try toUnicodeFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdSS"); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdSS", false); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdSS", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96SS"); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96SS", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96SS", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96ss"); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96ss", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96ss", true); } // [B1] test { try toUnicodeFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdss"); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdss", false); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdss", true); } // [B1] test { try toUnicodeFail("xn--4vb505k.xn--ss-5z4j006a"); } // [B1] +test { try toAsciiFail("xn--4vb505k.xn--ss-5z4j006a", false); } // [B1] +test { try toAsciiFail("xn--4vb505k.xn--ss-5z4j006a", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96Ss"); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96Ss", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xae\xe0\xa1\x86\xe3\x80\x82\xec\x84\x96\xec\xae\x96Ss", true); } // [B1] test { try toUnicodeFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdSs"); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdSs", false); } // [B1] +test { try toAsciiFail("<\xcc\xb8\xe0\xa1\x86\xe3\x80\x82\xe1\x84\x89\xe1\x85\xa4\xe1\x86\xbd\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xbdSs", true); } // [B1] test { try toUnicodeFail("xn--4vb505k.xn--zca7259goug"); } // [B1] +test { try toAsciiFail("xn--4vb505k.xn--zca7259goug", false); } // [B1] +test { try toAsciiFail("xn--4vb505k.xn--zca7259goug", true); } // [B1] test { try toUnicodeFail("\xf3\xa0\x86\x93\xe2\x9b\x8f-\xe3\x80\x82\xea\xa1\x92"); } // [V3] +test { try toAsciiFail("\xf3\xa0\x86\x93\xe2\x9b\x8f-\xe3\x80\x82\xea\xa1\x92", false); } // [V3] +test { try toAsciiFail("\xf3\xa0\x86\x93\xe2\x9b\x8f-\xe3\x80\x82\xea\xa1\x92", true); } // [V3] test { try toUnicodeFail("xn----o9p.xn--rc9a"); } // [V3] +test { try toAsciiFail("xn----o9p.xn--rc9a", false); } // [V3] +test { try toAsciiFail("xn----o9p.xn--rc9a", true); } // [V3] test { try toUnicodeFail("\xde\xbb\xf0\x90\xb9\xb3\xd8\xa6\xf0\x91\x81\x86\xe3\x80\x82\xe0\xa2\xa7\xda\xb0\xe2\x80\x8c\xe1\xa2\x92"); } // [B2, B3, V7] +test { try toAsciiFail("\xde\xbb\xf0\x90\xb9\xb3\xd8\xa6\xf0\x91\x81\x86\xe3\x80\x82\xe0\xa2\xa7\xda\xb0\xe2\x80\x8c\xe1\xa2\x92", false); } // [B2, B3, V7] +test { try toAsciiFail("\xde\xbb\xf0\x90\xb9\xb3\xd8\xa6\xf0\x91\x81\x86\xe3\x80\x82\xe0\xa2\xa7\xda\xb0\xe2\x80\x8c\xe1\xa2\x92", true); } // [B2, B3, V7] test { try toUnicodeFail("\xde\xbb\xf0\x90\xb9\xb3\xd9\x8a\xf0\x91\x81\x86\xd9\x94\xe3\x80\x82\xe0\xa2\xa7\xda\xb0\xe2\x80\x8c\xe1\xa2\x92"); } // [B2, B3, V7] +test { try toAsciiFail("\xde\xbb\xf0\x90\xb9\xb3\xd9\x8a\xf0\x91\x81\x86\xd9\x94\xe3\x80\x82\xe0\xa2\xa7\xda\xb0\xe2\x80\x8c\xe1\xa2\x92", false); } // [B2, B3, V7] +test { try toAsciiFail("\xde\xbb\xf0\x90\xb9\xb3\xd9\x8a\xf0\x91\x81\x86\xd9\x94\xe3\x80\x82\xe0\xa2\xa7\xda\xb0\xe2\x80\x8c\xe1\xa2\x92", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--lgb32f2753cosb.xn--jkb91hlz1a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--lgb32f2753cosb.xn--jkb91hlz1a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--lgb32f2753cosb.xn--jkb91hlz1a", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--lgb32f2753cosb.xn--jkb91hlz1azih"); } // [B2, B3, V7] +test { try toAsciiFail("xn--lgb32f2753cosb.xn--jkb91hlz1azih", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--lgb32f2753cosb.xn--jkb91hlz1azih", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe0\xa0\x96.\xf0\x90\xa8\x95\xf0\x9a\x9a\x95"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xe0\xa0\x96.\xf0\x90\xa8\x95\xf0\x9a\x9a\x95", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xe0\xa0\x96.\xf0\x90\xa8\x95\xf0\x9a\x9a\x95", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--rub.xn--tr9c248x"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--rub.xn--tr9c248x", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--rub.xn--tr9c248x", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("--\xe3\x80\x82\xf0\xbd\x8a\x86\xdd\xa7\xf0\x90\xbd\x8b\xf0\x9e\xa0\xac"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("--\xe3\x80\x82\xf0\xbd\x8a\x86\xdd\xa7\xf0\x90\xbd\x8b\xf0\x9e\xa0\xac", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("--\xe3\x80\x82\xf0\xbd\x8a\x86\xdd\xa7\xf0\x90\xbd\x8b\xf0\x9e\xa0\xac", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("--.xn--rpb6226k77pfh58p"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("--.xn--rpb6226k77pfh58p", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("--.xn--rpb6226k77pfh58p", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xf2\x9b\xad\xa6\xf0\x90\x8b\xa5\xf0\xb9\xb8\x90.\xe2\x89\xaf\xe0\xa2\xb0\xe0\xa2\xa6\xf3\x94\x9b\xa3"); } // [B1, V7] +test { try toAsciiFail("\xf2\x9b\xad\xa6\xf0\x90\x8b\xa5\xf0\xb9\xb8\x90.\xe2\x89\xaf\xe0\xa2\xb0\xe0\xa2\xa6\xf3\x94\x9b\xa3", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x9b\xad\xa6\xf0\x90\x8b\xa5\xf0\xb9\xb8\x90.\xe2\x89\xaf\xe0\xa2\xb0\xe0\xa2\xa6\xf3\x94\x9b\xa3", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x9b\xad\xa6\xf0\x90\x8b\xa5\xf0\xb9\xb8\x90.>\xcc\xb8\xe0\xa2\xb0\xe0\xa2\xa6\xf3\x94\x9b\xa3"); } // [B1, V7] +test { try toAsciiFail("\xf2\x9b\xad\xa6\xf0\x90\x8b\xa5\xf0\xb9\xb8\x90.>\xcc\xb8\xe0\xa2\xb0\xe0\xa2\xa6\xf3\x94\x9b\xa3", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x9b\xad\xa6\xf0\x90\x8b\xa5\xf0\xb9\xb8\x90.>\xcc\xb8\xe0\xa2\xb0\xe0\xa2\xa6\xf3\x94\x9b\xa3", true); } // [B1, V7] test { try toUnicodeFail("xn--887c2298i5mv6a.xn--vybt688qm8981a"); } // [B1, V7] +test { try toAsciiFail("xn--887c2298i5mv6a.xn--vybt688qm8981a", false); } // [B1, V7] +test { try toAsciiFail("xn--887c2298i5mv6a.xn--vybt688qm8981a", true); } // [B1, V7] test { try toUnicodeFail("\xe4\x94\x9b\xf3\xa0\x87\x92\xf2\xa4\xb8\x9e\xf0\x90\xb9\xa7\xef\xbc\x8e-\xe4\xa4\xb7"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("\xe4\x94\x9b\xf3\xa0\x87\x92\xf2\xa4\xb8\x9e\xf0\x90\xb9\xa7\xef\xbc\x8e-\xe4\xa4\xb7", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("\xe4\x94\x9b\xf3\xa0\x87\x92\xf2\xa4\xb8\x9e\xf0\x90\xb9\xa7\xef\xbc\x8e-\xe4\xa4\xb7", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xe4\x94\x9b\xf3\xa0\x87\x92\xf2\xa4\xb8\x9e\xf0\x90\xb9\xa7.-\xe4\xa4\xb7"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("\xe4\x94\x9b\xf3\xa0\x87\x92\xf2\xa4\xb8\x9e\xf0\x90\xb9\xa7.-\xe4\xa4\xb7", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("\xe4\x94\x9b\xf3\xa0\x87\x92\xf2\xa4\xb8\x9e\xf0\x90\xb9\xa7.-\xe4\xa4\xb7", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("xn--2loy662coo60e.xn----0n4a"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn--2loy662coo60e.xn----0n4a", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn--2loy662coo60e.xn----0n4a", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa9\xef\xbc\x8e\xe2\x80\x8d-"); } // [B1, C2, V3] +test { try toAsciiFail("\xf0\x90\xb9\xa9\xef\xbc\x8e\xe2\x80\x8d-", false); } // [B1, C2, V3] +test { try toAsciiFail("\xf0\x90\xb9\xa9\xef\xbc\x8e\xe2\x80\x8d-", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x90\xb9\xa9.\xe2\x80\x8d-"); } // [B1, C2, V3] +test { try toAsciiFail("\xf0\x90\xb9\xa9.\xe2\x80\x8d-", false); } // [B1, C2, V3] +test { try toAsciiFail("\xf0\x90\xb9\xa9.\xe2\x80\x8d-", true); } // [B1, V3] test { try toUnicodeFail("xn--ho0d.-"); } // [B1, V3] +test { try toAsciiFail("xn--ho0d.-", false); } // [B1, V3] +test { try toAsciiFail("xn--ho0d.-", true); } // [B1, V3] test { try toUnicodeFail("xn--ho0d.xn----tgn"); } // [B1, C2, V3] +test { try toAsciiFail("xn--ho0d.xn----tgn", false); } // [B1, C2, V3] +test { try toAsciiFail("xn--ho0d.xn----tgn", true); } // [B1, C2, V3] test { try toUnicodeFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xef\xbd\xa1\xe2\x89\xaf\xe8\x90\xba\xe1\xb7\x88-"); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xef\xbd\xa1\xe2\x89\xaf\xe8\x90\xba\xe1\xb7\x88-", false); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xef\xbd\xa1\xe2\x89\xaf\xe8\x90\xba\xe1\xb7\x88-", true); } // [V3, V7] test { try toUnicodeFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xef\xbd\xa1>\xcc\xb8\xe8\x90\xba\xe1\xb7\x88-"); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xef\xbd\xa1>\xcc\xb8\xe8\x90\xba\xe1\xb7\x88-", false); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xef\xbd\xa1>\xcc\xb8\xe8\x90\xba\xe1\xb7\x88-", true); } // [V3, V7] test { try toUnicodeFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xe3\x80\x82\xe2\x89\xaf\xe8\x90\xba\xe1\xb7\x88-"); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xe3\x80\x82\xe2\x89\xaf\xe8\x90\xba\xe1\xb7\x88-", false); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xe3\x80\x82\xe2\x89\xaf\xe8\x90\xba\xe1\xb7\x88-", true); } // [V3, V7] test { try toUnicodeFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xe3\x80\x82>\xcc\xb8\xe8\x90\xba\xe1\xb7\x88-"); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xe3\x80\x82>\xcc\xb8\xe8\x90\xba\xe1\xb7\x88-", false); } // [V3, V7] +test { try toAsciiFail("\xf1\x82\x88\xa6\xe5\xb8\xb7\xe3\x80\x82>\xcc\xb8\xe8\x90\xba\xe1\xb7\x88-", true); } // [V3, V7] test { try toUnicodeFail("xn--qutw175s.xn----mimu6tf67j"); } // [V3, V7] +test { try toAsciiFail("xn--qutw175s.xn----mimu6tf67j", false); } // [V3, V7] +test { try toAsciiFail("xn--qutw175s.xn----mimu6tf67j", true); } // [V3, V7] test { try toAsciiPass("\xe2\x80\x8d\xe6\x94\x8c\xea\xaf\xad\xe3\x80\x82\xe1\xa2\x96-\xe1\x82\xb8", "xn--p9ut19m.xn----mck373i", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe6\x94\x8c\xea\xaf\xad\xe3\x80\x82\xe1\xa2\x96-\xe1\x82\xb8"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe6\x94\x8c\xea\xaf\xad\xe3\x80\x82\xe1\xa2\x96-\xe1\x82\xb8", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe6\x94\x8c\xea\xaf\xad\xe3\x80\x82\xe1\xa2\x96-\xe2\xb4\x98", "xn--p9ut19m.xn----mck373i", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe6\x94\x8c\xea\xaf\xad\xe3\x80\x82\xe1\xa2\x96-\xe2\xb4\x98"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe6\x94\x8c\xea\xaf\xad\xe3\x80\x82\xe1\xa2\x96-\xe2\xb4\x98", false); } // [C2] test { try toUnicodePass("xn--p9ut19m.xn----mck373i", "\xe6\x94\x8c\xea\xaf\xad.\xe1\xa2\x96-\xe2\xb4\x98"); } test { try toAsciiPass("xn--p9ut19m.xn----mck373i", "xn--p9ut19m.xn----mck373i", false); } test { try toAsciiPass("xn--p9ut19m.xn----mck373i", "xn--p9ut19m.xn----mck373i", true); } @@ -5695,14 +13953,26 @@ test { try toUnicodePass("\xe6\x94\x8c\xea\xaf\xad.\xe1\xa2\x96-\xe1\x82\xb8", " test { try toAsciiPass("\xe6\x94\x8c\xea\xaf\xad.\xe1\xa2\x96-\xe1\x82\xb8", "xn--p9ut19m.xn----mck373i", false); } test { try toAsciiPass("\xe6\x94\x8c\xea\xaf\xad.\xe1\xa2\x96-\xe1\x82\xb8", "xn--p9ut19m.xn----mck373i", true); } test { try toUnicodeFail("xn--1ug592ykp6b.xn----mck373i"); } // [C2] +test { try toAsciiFail("xn--1ug592ykp6b.xn----mck373i", false); } // [C2] +test { try toAsciiFail("xn--1ug592ykp6b.xn----mck373i", true); } // [C2] test { try toUnicodeFail("xn--p9ut19m.xn----k1g451d"); } // [V7] +test { try toAsciiFail("xn--p9ut19m.xn----k1g451d", false); } // [V7] +test { try toAsciiFail("xn--p9ut19m.xn----k1g451d", true); } // [V7] test { try toUnicodeFail("xn--1ug592ykp6b.xn----k1g451d"); } // [C2, V7] +test { try toAsciiFail("xn--1ug592ykp6b.xn----k1g451d", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug592ykp6b.xn----k1g451d", true); } // [C2, V7] test { try toUnicodeFail("\xe2\x80\x8c\xea\x96\xa8\xef\xbc\x8e\xe2\x92\x97\xef\xbc\x93\xed\x88\x92\xdb\xb3"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xea\x96\xa8\xef\xbc\x8e\xe2\x92\x97\xef\xbc\x93\xed\x88\x92\xdb\xb3", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xea\x96\xa8\xef\xbc\x8e\xe2\x92\x97\xef\xbc\x93\xed\x88\x92\xdb\xb3", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xea\x96\xa8\xef\xbc\x8e\xe2\x92\x97\xef\xbc\x93\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xea\x96\xa8\xef\xbc\x8e\xe2\x92\x97\xef\xbc\x93\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xea\x96\xa8\xef\xbc\x8e\xe2\x92\x97\xef\xbc\x93\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3", true); } // [V7] test { try toAsciiPass("\xe2\x80\x8c\xea\x96\xa8.16.3\xed\x88\x92\xdb\xb3", "xn--9r8a.16.xn--3-nyc0117m", true); } test { try toUnicodeFail("\xe2\x80\x8c\xea\x96\xa8.16.3\xed\x88\x92\xdb\xb3"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xea\x96\xa8.16.3\xed\x88\x92\xdb\xb3", false); } // [C1] test { try toAsciiPass("\xe2\x80\x8c\xea\x96\xa8.16.3\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3", "xn--9r8a.16.xn--3-nyc0117m", true); } test { try toUnicodeFail("\xe2\x80\x8c\xea\x96\xa8.16.3\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xea\x96\xa8.16.3\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3", false); } // [C1] test { try toUnicodePass("xn--9r8a.16.xn--3-nyc0117m", "\xea\x96\xa8.16.3\xed\x88\x92\xdb\xb3"); } test { try toAsciiPass("xn--9r8a.16.xn--3-nyc0117m", "xn--9r8a.16.xn--3-nyc0117m", false); } test { try toAsciiPass("xn--9r8a.16.xn--3-nyc0117m", "xn--9r8a.16.xn--3-nyc0117m", true); } @@ -5713,172 +13983,506 @@ test { try toUnicodePass("\xea\x96\xa8.16.3\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\ test { try toAsciiPass("\xea\x96\xa8.16.3\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3", "xn--9r8a.16.xn--3-nyc0117m", false); } test { try toAsciiPass("\xea\x96\xa8.16.3\xe1\x84\x90\xe1\x85\xad\xe1\x86\xa9\xdb\xb3", "xn--9r8a.16.xn--3-nyc0117m", true); } test { try toUnicodeFail("xn--0ug2473c.16.xn--3-nyc0117m"); } // [C1] +test { try toAsciiFail("xn--0ug2473c.16.xn--3-nyc0117m", false); } // [C1] +test { try toAsciiFail("xn--0ug2473c.16.xn--3-nyc0117m", true); } // [C1] test { try toUnicodeFail("xn--9r8a.xn--3-nyc678tu07m"); } // [V7] +test { try toAsciiFail("xn--9r8a.xn--3-nyc678tu07m", false); } // [V7] +test { try toAsciiFail("xn--9r8a.xn--3-nyc678tu07m", true); } // [V7] test { try toUnicodeFail("xn--0ug2473c.xn--3-nyc678tu07m"); } // [C1, V7] +test { try toAsciiFail("xn--0ug2473c.xn--3-nyc678tu07m", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug2473c.xn--3-nyc678tu07m", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x92\x88\xea\xb1\xbe6.\xf0\x90\xb1\x81\xdb\x90"); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xea\xb1\xbe6.\xf0\x90\xb1\x81\xdb\x90", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xea\xb1\xbe6.\xf0\x90\xb1\x81\xdb\x90", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x92\x88\xe1\x84\x80\xe1\x85\xa5\xe1\x86\xb56.\xf0\x90\xb1\x81\xdb\x90"); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xe1\x84\x80\xe1\x85\xa5\xe1\x86\xb56.\xf0\x90\xb1\x81\xdb\x90", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x92\x88\xe1\x84\x80\xe1\x85\xa5\xe1\x86\xb56.\xf0\x90\xb1\x81\xdb\x90", true); } // [B1, V7] test { try toUnicodeFail("1.\xea\xb1\xbe6.\xf0\x90\xb1\x81\xdb\x90"); } // [B1] +test { try toAsciiFail("1.\xea\xb1\xbe6.\xf0\x90\xb1\x81\xdb\x90", false); } // [B1] +test { try toAsciiFail("1.\xea\xb1\xbe6.\xf0\x90\xb1\x81\xdb\x90", true); } // [B1] test { try toUnicodeFail("1.\xe1\x84\x80\xe1\x85\xa5\xe1\x86\xb56.\xf0\x90\xb1\x81\xdb\x90"); } // [B1] +test { try toAsciiFail("1.\xe1\x84\x80\xe1\x85\xa5\xe1\x86\xb56.\xf0\x90\xb1\x81\xdb\x90", false); } // [B1] +test { try toAsciiFail("1.\xe1\x84\x80\xe1\x85\xa5\xe1\x86\xb56.\xf0\x90\xb1\x81\xdb\x90", true); } // [B1] test { try toUnicodeFail("1.xn--6-945e.xn--glb1794k"); } // [B1] +test { try toAsciiFail("1.xn--6-945e.xn--glb1794k", false); } // [B1] +test { try toAsciiFail("1.xn--6-945e.xn--glb1794k", true); } // [B1] test { try toUnicodeFail("xn--6-dcps419c.xn--glb1794k"); } // [B1, V7] +test { try toAsciiFail("xn--6-dcps419c.xn--glb1794k", false); } // [B1, V7] +test { try toAsciiFail("xn--6-dcps419c.xn--glb1794k", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb2\x9e\xf0\x9d\x9f\xb6\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e\xf0\x9d\x9f\xb6\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e\xf0\x9d\x9f\xb6\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb2\x9e\xf0\x9d\x9f\xb6<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e\xf0\x9d\x9f\xb6<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e\xf0\x9d\x9f\xb6<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb2\x9e0\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e0\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e0\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb2\x9e0<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e0<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb2\x9e0<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb3\x9e0<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e0<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e0<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb3\x9e0\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e0\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e0\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("xn--0-ngoa5711v.xn--4gb31034p"); } // [B1, B3, V7] +test { try toAsciiFail("xn--0-ngoa5711v.xn--4gb31034p", false); } // [B1, B3, V7] +test { try toAsciiFail("xn--0-ngoa5711v.xn--4gb31034p", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb3\x9e\xf0\x9d\x9f\xb6<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e\xf0\x9d\x9f\xb6<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e\xf0\x9d\x9f\xb6<\xcc\xb8<\xcc\xb8.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\x90\xb3\x9e\xf0\x9d\x9f\xb6\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9"); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e\xf0\x9d\x9f\xb6\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", false); } // [B1, B3, V7] +test { try toAsciiFail("\xf0\x90\xb3\x9e\xf0\x9d\x9f\xb6\xe2\x89\xae\xe2\x89\xae.\xf3\xa0\x80\xa7\xd8\xb9", true); } // [B1, B3, V7] test { try toUnicodeFail("\xe0\xab\xa3.\xf0\x90\xb9\xba\xe1\x85\x9f"); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\xa3.\xf0\x90\xb9\xba\xe1\x85\x9f", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xab\xa3.\xf0\x90\xb9\xba\xe1\x85\x9f", true); } // [B1, V6] test { try toUnicodeFail("xn--8fc.xn--yo0d"); } // [B1, V6] +test { try toAsciiFail("xn--8fc.xn--yo0d", false); } // [B1, V6] +test { try toAsciiFail("xn--8fc.xn--yo0d", true); } // [B1, V6] test { try toUnicodeFail("xn--8fc.xn--osd3070k"); } // [B1, V6, V7] +test { try toAsciiFail("xn--8fc.xn--osd3070k", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--8fc.xn--osd3070k", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x8f\xf0\x9d\xa8\x99\xe2\xb8\x96.\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xf0\x9d\x9f\x8f\xf0\x9d\xa8\x99\xe2\xb8\x96.\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("\xf0\x9d\x9f\x8f\xf0\x9d\xa8\x99\xe2\xb8\x96.\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("1\xf0\x9d\xa8\x99\xe2\xb8\x96.\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("1\xf0\x9d\xa8\x99\xe2\xb8\x96.\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("1\xf0\x9d\xa8\x99\xe2\xb8\x96.\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodePass("xn--1-5bt6845n.", "1\xf0\x9d\xa8\x99\xe2\xb8\x96."); } +test { try toAsciiFail("xn--1-5bt6845n.", false); } // [A4_2] +test { try toAsciiFail("xn--1-5bt6845n.", true); } // [A4_2] test { try toUnicodePass("1\xf0\x9d\xa8\x99\xe2\xb8\x96.", "1\xf0\x9d\xa8\x99\xe2\xb8\x96."); } +test { try toAsciiFail("1\xf0\x9d\xa8\x99\xe2\xb8\x96.", false); } // [A4_2] +test { try toAsciiFail("1\xf0\x9d\xa8\x99\xe2\xb8\x96.", true); } // [A4_2] test { try toUnicodeFail("xn--1-5bt6845n.xn--1ug"); } // [C2] +test { try toAsciiFail("xn--1-5bt6845n.xn--1ug", false); } // [C2] +test { try toAsciiFail("xn--1-5bt6845n.xn--1ug", true); } // [C2] test { try toUnicodeFail("\xf0\x9e\xa4\x90\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\x90=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\x90\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\x90=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x90=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\xb2=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\xb2\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xe3\x80\x82-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("xn--wnb859grzfzw60c.xn----kcd"); } // [B1, V3] +test { try toAsciiFail("xn--wnb859grzfzw60c.xn----kcd", false); } // [B1, V3] +test { try toAsciiFail("xn--wnb859grzfzw60c.xn----kcd", true); } // [B1, V3] test { try toUnicodeFail("xn--wnb859grzfzw60c.xn----kcd017p"); } // [B1, C1, V3] +test { try toAsciiFail("xn--wnb859grzfzw60c.xn----kcd017p", false); } // [B1, C1, V3] +test { try toAsciiFail("xn--wnb859grzfzw60c.xn----kcd017p", true); } // [B1, C1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\xb2=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2=\xcc\xb8\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x9e\xa4\xb2\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95"); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", false); } // [B1, C1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xb2\xe2\x89\xa0\xdc\xa6\xe1\xa9\xa0\xef\xbd\xa1-\xe2\x80\x8c\xdf\x95", true); } // [B1, V3] test { try toUnicodeFail("\xf0\x90\xb9\xb0\xcd\xa8-\xea\xa1\xa7\xef\xbd\xa1\xd9\xb5"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb0\xcd\xa8-\xea\xa1\xa7\xef\xbd\xa1\xd9\xb5", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb0\xcd\xa8-\xea\xa1\xa7\xef\xbd\xa1\xd9\xb5", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xb0\xcd\xa8-\xea\xa1\xa7\xe3\x80\x82\xd8\xa7\xd9\xb4"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb0\xcd\xa8-\xea\xa1\xa7\xe3\x80\x82\xd8\xa7\xd9\xb4", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb0\xcd\xa8-\xea\xa1\xa7\xe3\x80\x82\xd8\xa7\xd9\xb4", true); } // [B1] test { try toUnicodeFail("xn----shb2387jgkqd.xn--mgb8m"); } // [B1] +test { try toAsciiFail("xn----shb2387jgkqd.xn--mgb8m", false); } // [B1] +test { try toAsciiFail("xn----shb2387jgkqd.xn--mgb8m", true); } // [B1] test { try toUnicodeFail("F\xf3\xa0\x85\x9f\xef\xbd\xa1\xf2\x8f\x97\x85\xe2\x99\x9a"); } // [V7] +test { try toAsciiFail("F\xf3\xa0\x85\x9f\xef\xbd\xa1\xf2\x8f\x97\x85\xe2\x99\x9a", false); } // [V7] +test { try toAsciiFail("F\xf3\xa0\x85\x9f\xef\xbd\xa1\xf2\x8f\x97\x85\xe2\x99\x9a", true); } // [V7] test { try toUnicodeFail("F\xf3\xa0\x85\x9f\xe3\x80\x82\xf2\x8f\x97\x85\xe2\x99\x9a"); } // [V7] +test { try toAsciiFail("F\xf3\xa0\x85\x9f\xe3\x80\x82\xf2\x8f\x97\x85\xe2\x99\x9a", false); } // [V7] +test { try toAsciiFail("F\xf3\xa0\x85\x9f\xe3\x80\x82\xf2\x8f\x97\x85\xe2\x99\x9a", true); } // [V7] test { try toUnicodeFail("f\xf3\xa0\x85\x9f\xe3\x80\x82\xf2\x8f\x97\x85\xe2\x99\x9a"); } // [V7] +test { try toAsciiFail("f\xf3\xa0\x85\x9f\xe3\x80\x82\xf2\x8f\x97\x85\xe2\x99\x9a", false); } // [V7] +test { try toAsciiFail("f\xf3\xa0\x85\x9f\xe3\x80\x82\xf2\x8f\x97\x85\xe2\x99\x9a", true); } // [V7] test { try toUnicodeFail("f.xn--45hz6953f"); } // [V7] +test { try toAsciiFail("f.xn--45hz6953f", false); } // [V7] +test { try toAsciiFail("f.xn--45hz6953f", true); } // [V7] test { try toUnicodeFail("f\xf3\xa0\x85\x9f\xef\xbd\xa1\xf2\x8f\x97\x85\xe2\x99\x9a"); } // [V7] +test { try toAsciiFail("f\xf3\xa0\x85\x9f\xef\xbd\xa1\xf2\x8f\x97\x85\xe2\x99\x9a", false); } // [V7] +test { try toAsciiFail("f\xf3\xa0\x85\x9f\xef\xbd\xa1\xf2\x8f\x97\x85\xe2\x99\x9a", true); } // [V7] test { try toUnicodeFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x82\xf0\x9d\x9f\xae\xe1\x82\xb8\xf0\x9e\x80\xa8\xf1\x83\xa5\x87"); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x82\xf0\x9d\x9f\xae\xe1\x82\xb8\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x82\xf0\x9d\x9f\xae\xe1\x82\xb8\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x822\xe1\x82\xb8\xf0\x9e\x80\xa8\xf1\x83\xa5\x87"); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x822\xe1\x82\xb8\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x822\xe1\x82\xb8\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x822\xe2\xb4\x98\xf0\x9e\x80\xa8\xf1\x83\xa5\x87"); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x822\xe2\xb4\x98\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x822\xe2\xb4\x98\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", true); } // [V6, V7] test { try toUnicodeFail("xn--9ic246gs21p.xn--2-nws2918ndrjr"); } // [V6, V7] +test { try toAsciiFail("xn--9ic246gs21p.xn--2-nws2918ndrjr", false); } // [V6, V7] +test { try toAsciiFail("xn--9ic246gs21p.xn--2-nws2918ndrjr", true); } // [V6, V7] test { try toUnicodeFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x82\xf0\x9d\x9f\xae\xe2\xb4\x98\xf0\x9e\x80\xa8\xf1\x83\xa5\x87"); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x82\xf0\x9d\x9f\xae\xe2\xb4\x98\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", false); } // [V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xf0\x91\x84\xb4\xe1\xb7\xa9\xe3\x80\x82\xf0\x9d\x9f\xae\xe2\xb4\x98\xf0\x9e\x80\xa8\xf1\x83\xa5\x87", true); } // [V6, V7] test { try toUnicodeFail("xn--9ic246gs21p.xn--2-k1g43076adrwq"); } // [V6, V7] +test { try toAsciiFail("xn--9ic246gs21p.xn--2-k1g43076adrwq", false); } // [V6, V7] +test { try toAsciiFail("xn--9ic246gs21p.xn--2-k1g43076adrwq", true); } // [V6, V7] test { try toUnicodeFail("\xf2\x93\xa0\xad\xe2\x80\x8c\xe2\x80\x8c\xe2\x92\x88\xe3\x80\x82\xe5\x8b\x89\xf0\x91\x81\x85"); } // [C1, V7] +test { try toAsciiFail("\xf2\x93\xa0\xad\xe2\x80\x8c\xe2\x80\x8c\xe2\x92\x88\xe3\x80\x82\xe5\x8b\x89\xf0\x91\x81\x85", false); } // [C1, V7] +test { try toAsciiFail("\xf2\x93\xa0\xad\xe2\x80\x8c\xe2\x80\x8c\xe2\x92\x88\xe3\x80\x82\xe5\x8b\x89\xf0\x91\x81\x85", true); } // [V7] test { try toUnicodeFail("\xf2\x93\xa0\xad\xe2\x80\x8c\xe2\x80\x8c1.\xe3\x80\x82\xe5\x8b\x89\xf0\x91\x81\x85"); } // [C1, V7, X4_2] +test { try toAsciiFail("\xf2\x93\xa0\xad\xe2\x80\x8c\xe2\x80\x8c1.\xe3\x80\x82\xe5\x8b\x89\xf0\x91\x81\x85", false); } // [C1, V7, A4_2] +test { try toAsciiFail("\xf2\x93\xa0\xad\xe2\x80\x8c\xe2\x80\x8c1.\xe3\x80\x82\xe5\x8b\x89\xf0\x91\x81\x85", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-yi00h..xn--4grs325b"); } // [V7, X4_2] +test { try toAsciiFail("xn--1-yi00h..xn--4grs325b", false); } // [V7, A4_2] +test { try toAsciiFail("xn--1-yi00h..xn--4grs325b", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-rgna61159u..xn--4grs325b"); } // [C1, V7, X4_2] +test { try toAsciiFail("xn--1-rgna61159u..xn--4grs325b", false); } // [C1, V7, A4_2] +test { try toAsciiFail("xn--1-rgna61159u..xn--4grs325b", true); } // [C1, V7, A4_2] test { try toUnicodeFail("xn--tsh11906f.xn--4grs325b"); } // [V7] +test { try toAsciiFail("xn--tsh11906f.xn--4grs325b", false); } // [V7] +test { try toAsciiFail("xn--tsh11906f.xn--4grs325b", true); } // [V7] test { try toUnicodeFail("xn--0uga855aez302a.xn--4grs325b"); } // [C1, V7] +test { try toAsciiFail("xn--0uga855aez302a.xn--4grs325b", false); } // [C1, V7] +test { try toAsciiFail("xn--0uga855aez302a.xn--4grs325b", true); } // [C1, V7] test { try toUnicodeFail("\xe1\xa1\x83.\xe7\x8e\xbf\xf1\xab\x88\x9c\xf3\x95\x9e\x90"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x83.\xe7\x8e\xbf\xf1\xab\x88\x9c\xf3\x95\x9e\x90", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x83.\xe7\x8e\xbf\xf1\xab\x88\x9c\xf3\x95\x9e\x90", true); } // [V7] test { try toUnicodeFail("xn--27e.xn--7cy81125a0yq4a"); } // [V7] +test { try toAsciiFail("xn--27e.xn--7cy81125a0yq4a", false); } // [V7] +test { try toAsciiFail("xn--27e.xn--7cy81125a0yq4a", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8c\xef\xbd\xa1\xe2\x92\x88\xe2\x89\xaf\xf0\x9d\x9f\xb5"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xef\xbd\xa1\xe2\x92\x88\xe2\x89\xaf\xf0\x9d\x9f\xb5", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xef\xbd\xa1\xe2\x92\x88\xe2\x89\xaf\xf0\x9d\x9f\xb5", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8c\xef\xbd\xa1\xe2\x92\x88>\xcc\xb8\xf0\x9d\x9f\xb5"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xef\xbd\xa1\xe2\x92\x88>\xcc\xb8\xf0\x9d\x9f\xb5", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xef\xbd\xa1\xe2\x92\x88>\xcc\xb8\xf0\x9d\x9f\xb5", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x80\x821.\xe2\x89\xaf9"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x80\x821.\xe2\x89\xaf9", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x80\x821.\xe2\x89\xaf9", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x80\x821.>\xcc\xb89"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x80\x821.>\xcc\xb89", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x80\x8c\xe3\x80\x821.>\xcc\xb89", true); } // [A4_2] test { try toUnicodeFail(".1.xn--9-ogo"); } // [X4_2] +test { try toAsciiFail(".1.xn--9-ogo", false); } // [A4_2] +test { try toAsciiFail(".1.xn--9-ogo", true); } // [A4_2] test { try toUnicodeFail("xn--0uga.1.xn--9-ogo"); } // [C1] +test { try toAsciiFail("xn--0uga.1.xn--9-ogo", false); } // [C1] +test { try toAsciiFail("xn--0uga.1.xn--9-ogo", true); } // [C1] test { try toUnicodeFail(".xn--9-ogo37g"); } // [V7, X4_2] +test { try toAsciiFail(".xn--9-ogo37g", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--9-ogo37g", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0uga.xn--9-ogo37g"); } // [C1, V7] +test { try toAsciiFail("xn--0uga.xn--9-ogo37g", false); } // [C1, V7] +test { try toAsciiFail("xn--0uga.xn--9-ogo37g", true); } // [C1, V7] test { try toUnicodeFail("\xe1\x85\x9f\xe1\xb7\xa0\xf2\x90\x80\x81.\xf0\xba\xbb\x86\xe2\x89\xaf\xf0\x90\xae\x81"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe1\x85\x9f\xe1\xb7\xa0\xf2\x90\x80\x81.\xf0\xba\xbb\x86\xe2\x89\xaf\xf0\x90\xae\x81", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe1\x85\x9f\xe1\xb7\xa0\xf2\x90\x80\x81.\xf0\xba\xbb\x86\xe2\x89\xaf\xf0\x90\xae\x81", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe1\x85\x9f\xe1\xb7\xa0\xf2\x90\x80\x81.\xf0\xba\xbb\x86>\xcc\xb8\xf0\x90\xae\x81"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe1\x85\x9f\xe1\xb7\xa0\xf2\x90\x80\x81.\xf0\xba\xbb\x86>\xcc\xb8\xf0\x90\xae\x81", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xe1\x85\x9f\xe1\xb7\xa0\xf2\x90\x80\x81.\xf0\xba\xbb\x86>\xcc\xb8\xf0\x90\xae\x81", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--4eg41418g.xn--hdh5192gkm6r"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--4eg41418g.xn--hdh5192gkm6r", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--4eg41418g.xn--hdh5192gkm6r", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--osd615d5659o.xn--hdh5192gkm6r"); } // [B5, B6, V7] +test { try toAsciiFail("xn--osd615d5659o.xn--hdh5192gkm6r", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--osd615d5659o.xn--hdh5192gkm6r", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\x84\xab\xf0\x9d\xa9\xa4\xe2\x80\x8d\xd8\xbe.\xf0\x9d\xa9\xa9-\xe0\xa0\x9e\xf3\x91\xbc\xa9"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\xab\xf0\x9d\xa9\xa4\xe2\x80\x8d\xd8\xbe.\xf0\x9d\xa9\xa9-\xe0\xa0\x9e\xf3\x91\xbc\xa9", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\xab\xf0\x9d\xa9\xa4\xe2\x80\x8d\xd8\xbe.\xf0\x9d\xa9\xa9-\xe0\xa0\x9e\xf3\x91\xbc\xa9", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--9gb5080v.xn----qgd52296avol4f"); } // [B1, V6, V7] +test { try toAsciiFail("xn--9gb5080v.xn----qgd52296avol4f", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--9gb5080v.xn----qgd52296avol4f", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--9gb723kg862a.xn----qgd52296avol4f"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--9gb723kg862a.xn----qgd52296avol4f", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--9gb723kg862a.xn----qgd52296avol4f", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe2\x83\x9a\xef\xbc\x8e\xf0\x91\x98\xbf-"); } // [V3, V6] +test { try toAsciiFail("\xe2\x83\x9a\xef\xbc\x8e\xf0\x91\x98\xbf-", false); } // [V3, V6] +test { try toAsciiFail("\xe2\x83\x9a\xef\xbc\x8e\xf0\x91\x98\xbf-", true); } // [V3, V6] test { try toUnicodeFail("\xe2\x83\x9a.\xf0\x91\x98\xbf-"); } // [V3, V6] +test { try toAsciiFail("\xe2\x83\x9a.\xf0\x91\x98\xbf-", false); } // [V3, V6] +test { try toAsciiFail("\xe2\x83\x9a.\xf0\x91\x98\xbf-", true); } // [V3, V6] test { try toUnicodeFail("xn--w0g.xn----bd0j"); } // [V3, V6] +test { try toAsciiFail("xn--w0g.xn----bd0j", false); } // [V3, V6] +test { try toAsciiFail("xn--w0g.xn----bd0j", true); } // [V3, V6] test { try toUnicodeFail("\xe4\xae\xb8\xc3\x9f.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8"); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8\xc3\x9f.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8\xc3\x9f.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xe4\xae\xb8SS.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8"); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8SS.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8SS.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xe4\xae\xb8ss.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8"); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8ss.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8ss.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xe4\xae\xb8Ss.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8"); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8Ss.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xe4\xae\xb8Ss.\xf3\xa0\xb5\x9f\xf3\xa0\xad\x8e\xe7\xb4\x99\xe0\xa2\xa8", true); } // [B1, V7] test { try toUnicodeFail("xn--ss-sf1c.xn--xyb1370div70kpzba"); } // [B1, V7] +test { try toAsciiFail("xn--ss-sf1c.xn--xyb1370div70kpzba", false); } // [B1, V7] +test { try toAsciiFail("xn--ss-sf1c.xn--xyb1370div70kpzba", true); } // [B1, V7] test { try toUnicodeFail("xn--zca5349a.xn--xyb1370div70kpzba"); } // [B1, V7] +test { try toAsciiFail("xn--zca5349a.xn--xyb1370div70kpzba", false); } // [B1, V7] +test { try toAsciiFail("xn--zca5349a.xn--xyb1370div70kpzba", true); } // [B1, V7] test { try toUnicodeFail("-\xe1\x82\xbe.-\xf0\x9d\xa9\xa8\xe2\x85\x94\xf0\x90\xa6\x95"); } // [B1, V3] +test { try toAsciiFail("-\xe1\x82\xbe.-\xf0\x9d\xa9\xa8\xe2\x85\x94\xf0\x90\xa6\x95", false); } // [B1, V3] +test { try toAsciiFail("-\xe1\x82\xbe.-\xf0\x9d\xa9\xa8\xe2\x85\x94\xf0\x90\xa6\x95", true); } // [B1, V3] test { try toUnicodeFail("-\xe1\x82\xbe.-\xf0\x9d\xa9\xa82\xe2\x81\x843\xf0\x90\xa6\x95"); } // [B1, V3] +test { try toAsciiFail("-\xe1\x82\xbe.-\xf0\x9d\xa9\xa82\xe2\x81\x843\xf0\x90\xa6\x95", false); } // [B1, V3] +test { try toAsciiFail("-\xe1\x82\xbe.-\xf0\x9d\xa9\xa82\xe2\x81\x843\xf0\x90\xa6\x95", true); } // [B1, V3] test { try toUnicodeFail("-\xe2\xb4\x9e.-\xf0\x9d\xa9\xa82\xe2\x81\x843\xf0\x90\xa6\x95"); } // [B1, V3] +test { try toAsciiFail("-\xe2\xb4\x9e.-\xf0\x9d\xa9\xa82\xe2\x81\x843\xf0\x90\xa6\x95", false); } // [B1, V3] +test { try toAsciiFail("-\xe2\xb4\x9e.-\xf0\x9d\xa9\xa82\xe2\x81\x843\xf0\x90\xa6\x95", true); } // [B1, V3] test { try toUnicodeFail("xn----zws.xn---23-pt0a0433lk3jj"); } // [B1, V3] +test { try toAsciiFail("xn----zws.xn---23-pt0a0433lk3jj", false); } // [B1, V3] +test { try toAsciiFail("xn----zws.xn---23-pt0a0433lk3jj", true); } // [B1, V3] test { try toUnicodeFail("-\xe2\xb4\x9e.-\xf0\x9d\xa9\xa8\xe2\x85\x94\xf0\x90\xa6\x95"); } // [B1, V3] +test { try toAsciiFail("-\xe2\xb4\x9e.-\xf0\x9d\xa9\xa8\xe2\x85\x94\xf0\x90\xa6\x95", false); } // [B1, V3] +test { try toAsciiFail("-\xe2\xb4\x9e.-\xf0\x9d\xa9\xa8\xe2\x85\x94\xf0\x90\xa6\x95", true); } // [B1, V3] test { try toUnicodeFail("xn----w1g.xn---23-pt0a0433lk3jj"); } // [B1, V3, V7] +test { try toAsciiFail("xn----w1g.xn---23-pt0a0433lk3jj", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----w1g.xn---23-pt0a0433lk3jj", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\xa7\x88\xaf\xf0\x90\xb9\xaf\xe0\xab\x82\xef\xbd\xa1\xf2\x96\xa2\xa8\xf0\x90\xae\x81\xf1\x87\xbc\x96\xe1\xa1\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\xa7\x88\xaf\xf0\x90\xb9\xaf\xe0\xab\x82\xef\xbd\xa1\xf2\x96\xa2\xa8\xf0\x90\xae\x81\xf1\x87\xbc\x96\xe1\xa1\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\xa7\x88\xaf\xf0\x90\xb9\xaf\xe0\xab\x82\xef\xbd\xa1\xf2\x96\xa2\xa8\xf0\x90\xae\x81\xf1\x87\xbc\x96\xe1\xa1\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf3\xa7\x88\xaf\xf0\x90\xb9\xaf\xe0\xab\x82\xe3\x80\x82\xf2\x96\xa2\xa8\xf0\x90\xae\x81\xf1\x87\xbc\x96\xe1\xa1\x82"); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\xa7\x88\xaf\xf0\x90\xb9\xaf\xe0\xab\x82\xe3\x80\x82\xf2\x96\xa2\xa8\xf0\x90\xae\x81\xf1\x87\xbc\x96\xe1\xa1\x82", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf3\xa7\x88\xaf\xf0\x90\xb9\xaf\xe0\xab\x82\xe3\x80\x82\xf2\x96\xa2\xa8\xf0\x90\xae\x81\xf1\x87\xbc\x96\xe1\xa1\x82", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--bfc7604kv8m3g.xn--17e5565jl7zw4h16a"); } // [B5, B6, V7] +test { try toAsciiFail("xn--bfc7604kv8m3g.xn--17e5565jl7zw4h16a", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--bfc7604kv8m3g.xn--17e5565jl7zw4h16a", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe1\x82\x82-\xe2\x80\x8d\xea\xa3\xaa\xef\xbc\x8e\xea\xa1\x8a\xe2\x80\x8d\xf1\xbc\xb8\xb3"); } // [C2, V6, V7] +test { try toAsciiFail("\xe1\x82\x82-\xe2\x80\x8d\xea\xa3\xaa\xef\xbc\x8e\xea\xa1\x8a\xe2\x80\x8d\xf1\xbc\xb8\xb3", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe1\x82\x82-\xe2\x80\x8d\xea\xa3\xaa\xef\xbc\x8e\xea\xa1\x8a\xe2\x80\x8d\xf1\xbc\xb8\xb3", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x82\x82-\xe2\x80\x8d\xea\xa3\xaa.\xea\xa1\x8a\xe2\x80\x8d\xf1\xbc\xb8\xb3"); } // [C2, V6, V7] +test { try toAsciiFail("\xe1\x82\x82-\xe2\x80\x8d\xea\xa3\xaa.\xea\xa1\x8a\xe2\x80\x8d\xf1\xbc\xb8\xb3", false); } // [C2, V6, V7] +test { try toAsciiFail("\xe1\x82\x82-\xe2\x80\x8d\xea\xa3\xaa.\xea\xa1\x8a\xe2\x80\x8d\xf1\xbc\xb8\xb3", true); } // [V6, V7] test { try toUnicodeFail("xn----gyg3618i.xn--jc9ao4185a"); } // [V6, V7] +test { try toAsciiFail("xn----gyg3618i.xn--jc9ao4185a", false); } // [V6, V7] +test { try toAsciiFail("xn----gyg3618i.xn--jc9ao4185a", true); } // [V6, V7] test { try toUnicodeFail("xn----gyg250jio7k.xn--1ug8774cri56d"); } // [C2, V6, V7] +test { try toAsciiFail("xn----gyg250jio7k.xn--1ug8774cri56d", false); } // [C2, V6, V7] +test { try toAsciiFail("xn----gyg250jio7k.xn--1ug8774cri56d", true); } // [C2, V6, V7] test { try toUnicodeFail("\xdb\xb1\xe3\x80\x82\xe2\x89\xa0\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xdb\xb1\xe3\x80\x82\xe2\x89\xa0\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xdb\xb1\xe3\x80\x82\xe2\x89\xa0\xd9\xa8", true); } // [B1] test { try toUnicodeFail("\xdb\xb1\xe3\x80\x82=\xcc\xb8\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xdb\xb1\xe3\x80\x82=\xcc\xb8\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xdb\xb1\xe3\x80\x82=\xcc\xb8\xd9\xa8", true); } // [B1] test { try toUnicodeFail("xn--emb.xn--hib334l"); } // [B1] +test { try toAsciiFail("xn--emb.xn--hib334l", false); } // [B1] +test { try toAsciiFail("xn--emb.xn--hib334l", true); } // [B1] test { try toUnicodeFail("\xf0\x91\x88\xb5\xe5\xbb\x8a.\xf0\x90\xa0\x8d"); } // [V6] +test { try toAsciiFail("\xf0\x91\x88\xb5\xe5\xbb\x8a.\xf0\x90\xa0\x8d", false); } // [V6] +test { try toAsciiFail("\xf0\x91\x88\xb5\xe5\xbb\x8a.\xf0\x90\xa0\x8d", true); } // [V6] test { try toUnicodeFail("xn--xytw701b.xn--yc9c"); } // [V6] +test { try toAsciiFail("xn--xytw701b.xn--yc9c", false); } // [V6] +test { try toAsciiFail("xn--xytw701b.xn--yc9c", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xcd\x96-\xef\xbc\x8e-\xe1\x82\xb0\xd9\xa1"); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-\xef\xbc\x8e-\xe1\x82\xb0\xd9\xa1", false); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-\xef\xbc\x8e-\xe1\x82\xb0\xd9\xa1", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x80\x8d\xcd\x96-.-\xe1\x82\xb0\xd9\xa1"); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-.-\xe1\x82\xb0\xd9\xa1", false); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-.-\xe1\x82\xb0\xd9\xa1", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x80\x8d\xcd\x96-.-\xe2\xb4\x90\xd9\xa1"); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-.-\xe2\xb4\x90\xd9\xa1", false); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-.-\xe2\xb4\x90\xd9\xa1", true); } // [B1, V3, V6] test { try toUnicodeFail("xn----rgb.xn----bqc2280a"); } // [B1, V3, V6] +test { try toAsciiFail("xn----rgb.xn----bqc2280a", false); } // [B1, V3, V6] +test { try toAsciiFail("xn----rgb.xn----bqc2280a", true); } // [B1, V3, V6] test { try toUnicodeFail("xn----rgb661t.xn----bqc2280a"); } // [B1, C2, V3] +test { try toAsciiFail("xn----rgb661t.xn----bqc2280a", false); } // [B1, C2, V3] +test { try toAsciiFail("xn----rgb661t.xn----bqc2280a", true); } // [B1, C2, V3] test { try toUnicodeFail("\xe2\x80\x8d\xcd\x96-\xef\xbc\x8e-\xe2\xb4\x90\xd9\xa1"); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-\xef\xbc\x8e-\xe2\xb4\x90\xd9\xa1", false); } // [B1, C2, V3] +test { try toAsciiFail("\xe2\x80\x8d\xcd\x96-\xef\xbc\x8e-\xe2\xb4\x90\xd9\xa1", true); } // [B1, V3, V6] test { try toUnicodeFail("xn----rgb.xn----bqc030f"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn----rgb.xn----bqc030f", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn----rgb.xn----bqc030f", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn----rgb661t.xn----bqc030f"); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn----rgb661t.xn----bqc030f", false); } // [B1, C2, V3, V7] +test { try toAsciiFail("xn----rgb661t.xn----bqc030f", true); } // [B1, C2, V3, V7] test { try toUnicodeFail("\xd8\xba\xd9\xa1\xe6\x8c\x8f\xf3\xbe\xaf\x90.-"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xd8\xba\xd9\xa1\xe6\x8c\x8f\xf3\xbe\xaf\x90.-", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xd8\xba\xd9\xa1\xe6\x8c\x8f\xf3\xbe\xaf\x90.-", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn--5gb2f4205aqi47p.-"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--5gb2f4205aqi47p.-", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--5gb2f4205aqi47p.-", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xdb\xaf\xef\xbd\xa1\xf0\x90\xb9\xa7\xf0\x9e\xa4\xbd"); } // [B1] +test { try toAsciiFail("\xdb\xaf\xef\xbd\xa1\xf0\x90\xb9\xa7\xf0\x9e\xa4\xbd", false); } // [B1] +test { try toAsciiFail("\xdb\xaf\xef\xbd\xa1\xf0\x90\xb9\xa7\xf0\x9e\xa4\xbd", true); } // [B1] test { try toUnicodeFail("\xdb\xaf\xe3\x80\x82\xf0\x90\xb9\xa7\xf0\x9e\xa4\xbd"); } // [B1] +test { try toAsciiFail("\xdb\xaf\xe3\x80\x82\xf0\x90\xb9\xa7\xf0\x9e\xa4\xbd", false); } // [B1] +test { try toAsciiFail("\xdb\xaf\xe3\x80\x82\xf0\x90\xb9\xa7\xf0\x9e\xa4\xbd", true); } // [B1] test { try toUnicodeFail("\xdb\xaf\xe3\x80\x82\xf0\x90\xb9\xa7\xf0\x9e\xa4\x9b"); } // [B1] +test { try toAsciiFail("\xdb\xaf\xe3\x80\x82\xf0\x90\xb9\xa7\xf0\x9e\xa4\x9b", false); } // [B1] +test { try toAsciiFail("\xdb\xaf\xe3\x80\x82\xf0\x90\xb9\xa7\xf0\x9e\xa4\x9b", true); } // [B1] test { try toUnicodeFail("xn--cmb.xn--fo0dy848a"); } // [B1] +test { try toAsciiFail("xn--cmb.xn--fo0dy848a", false); } // [B1] +test { try toAsciiFail("xn--cmb.xn--fo0dy848a", true); } // [B1] test { try toUnicodeFail("\xdb\xaf\xef\xbd\xa1\xf0\x90\xb9\xa7\xf0\x9e\xa4\x9b"); } // [B1] +test { try toAsciiFail("\xdb\xaf\xef\xbd\xa1\xf0\x90\xb9\xa7\xf0\x9e\xa4\x9b", false); } // [B1] +test { try toAsciiFail("\xdb\xaf\xef\xbd\xa1\xf0\x90\xb9\xa7\xf0\x9e\xa4\x9b", true); } // [B1] test { try toUnicodeFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xeb\xa6\xab"); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xeb\xa6\xab", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xeb\xa6\xab", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82"); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xeb\xa6\xab"); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xeb\xa6\xab", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xeb\xa6\xab", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82"); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xbe\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xeb\xa6\xab"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xeb\xa6\xab", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb.\xe1\xa2\x97\xeb\xa6\xab", true); } // [V7] test { try toUnicodeFail("xn--mlj0486jgl2j.xn--hbf6853f"); } // [V7] +test { try toAsciiFail("xn--mlj0486jgl2j.xn--hbf6853f", false); } // [V7] +test { try toAsciiFail("xn--mlj0486jgl2j.xn--hbf6853f", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xe1\x84\x85\xe1\x85\xb4\xe1\x87\x82", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xeb\xa6\xab"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xeb\xa6\xab", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x9e\xf0\xb6\x9b\x80\xf0\x9b\x97\xbb\xef\xbc\x8e\xe1\xa2\x97\xeb\xa6\xab", true); } // [V7] test { try toUnicodeFail("xn--2nd8876sgl2j.xn--hbf6853f"); } // [V7] +test { try toAsciiFail("xn--2nd8876sgl2j.xn--hbf6853f", false); } // [V7] +test { try toAsciiFail("xn--2nd8876sgl2j.xn--hbf6853f", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xef\xbd\xa1\xe2\x89\xaf\xe2\x80\x8c\xe1\xb7\xbe"); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xef\xbd\xa1\xe2\x89\xaf\xe2\x80\x8c\xe1\xb7\xbe", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xef\xbd\xa1\xe2\x89\xaf\xe2\x80\x8c\xe1\xb7\xbe", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xef\xbd\xa1>\xcc\xb8\xe2\x80\x8c\xe1\xb7\xbe"); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xef\xbd\xa1>\xcc\xb8\xe2\x80\x8c\xe1\xb7\xbe", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xef\xbd\xa1>\xcc\xb8\xe2\x80\x8c\xe1\xb7\xbe", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xe3\x80\x82\xe2\x89\xaf\xe2\x80\x8c\xe1\xb7\xbe"); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xe3\x80\x82\xe2\x89\xaf\xe2\x80\x8c\xe1\xb7\xbe", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xe3\x80\x82\xe2\x89\xaf\xe2\x80\x8c\xe1\xb7\xbe", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xe3\x80\x82>\xcc\xb8\xe2\x80\x8c\xe1\xb7\xbe"); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xe3\x80\x82>\xcc\xb8\xe2\x80\x8c\xe1\xb7\xbe", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf3\xa0\x8e\x83\xf3\x97\xad\x9e\xda\xb7\xf0\x90\xb9\xb7\xe3\x80\x82>\xcc\xb8\xe2\x80\x8c\xe1\xb7\xbe", true); } // [B1, V7] test { try toUnicodeFail("xn--qkb4516kbi06fg2id.xn--zfg31q"); } // [B1, V7] +test { try toAsciiFail("xn--qkb4516kbi06fg2id.xn--zfg31q", false); } // [B1, V7] +test { try toAsciiFail("xn--qkb4516kbi06fg2id.xn--zfg31q", true); } // [B1, V7] test { try toUnicodeFail("xn--qkb4516kbi06fg2id.xn--zfg59fm0c"); } // [B1, C1, V7] +test { try toAsciiFail("xn--qkb4516kbi06fg2id.xn--zfg59fm0c", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--qkb4516kbi06fg2id.xn--zfg59fm0c", true); } // [B1, C1, V7] test { try toUnicodeFail("\xe1\x9b\x8e\xf3\xa0\x85\x8d\xf3\xa0\x90\x95\xe2\x80\x8d\xef\xbd\xa1\xf0\x90\xb9\xbe\xf0\x90\xb9\xaa\xf0\x90\xbb\x9d-"); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("\xe1\x9b\x8e\xf3\xa0\x85\x8d\xf3\xa0\x90\x95\xe2\x80\x8d\xef\xbd\xa1\xf0\x90\xb9\xbe\xf0\x90\xb9\xaa\xf0\x90\xbb\x9d-", false); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("\xe1\x9b\x8e\xf3\xa0\x85\x8d\xf3\xa0\x90\x95\xe2\x80\x8d\xef\xbd\xa1\xf0\x90\xb9\xbe\xf0\x90\xb9\xaa\xf0\x90\xbb\x9d-", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("\xe1\x9b\x8e\xf3\xa0\x85\x8d\xf3\xa0\x90\x95\xe2\x80\x8d\xe3\x80\x82\xf0\x90\xb9\xbe\xf0\x90\xb9\xaa\xf0\x90\xbb\x9d-"); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("\xe1\x9b\x8e\xf3\xa0\x85\x8d\xf3\xa0\x90\x95\xe2\x80\x8d\xe3\x80\x82\xf0\x90\xb9\xbe\xf0\x90\xb9\xaa\xf0\x90\xbb\x9d-", false); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("\xe1\x9b\x8e\xf3\xa0\x85\x8d\xf3\xa0\x90\x95\xe2\x80\x8d\xe3\x80\x82\xf0\x90\xb9\xbe\xf0\x90\xb9\xaa\xf0\x90\xbb\x9d-", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn--fxe63563p.xn----q26i2bvu"); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn--fxe63563p.xn----q26i2bvu", false); } // [B1, B6, V3, V7] +test { try toAsciiFail("xn--fxe63563p.xn----q26i2bvu", true); } // [B1, B6, V3, V7] test { try toUnicodeFail("xn--fxe848bq3411a.xn----q26i2bvu"); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("xn--fxe848bq3411a.xn----q26i2bvu", false); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("xn--fxe848bq3411a.xn----q26i2bvu", true); } // [B1, B6, C2, V3, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb6.\xf0\x90\xab\x82"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb6.\xf0\x90\xab\x82", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb6.\xf0\x90\xab\x82", true); } // [B1] test { try toUnicodeFail("xn--uo0d.xn--rw9c"); } // [B1] +test { try toAsciiFail("xn--uo0d.xn--rw9c", false); } // [B1] +test { try toAsciiFail("xn--uo0d.xn--rw9c", true); } // [B1] test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88"); } // [C2, V7] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", false); } // [C2, V7] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("\xc3\x9f\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821."); } // [C2] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", false); } // [C2, A4_2] +test { try toAsciiFail("\xc3\x9f\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", true); } // [A4_2] test { try toUnicodeFail("SS\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821."); } // [C2] +test { try toAsciiFail("SS\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", false); } // [C2, A4_2] +test { try toAsciiFail("SS\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", true); } // [A4_2] test { try toUnicodeFail("ss\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821."); } // [C2] +test { try toAsciiFail("ss\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", false); } // [C2, A4_2] +test { try toAsciiFail("ss\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", true); } // [A4_2] test { try toUnicodeFail("Ss\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821."); } // [C2] +test { try toAsciiFail("Ss\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", false); } // [C2, A4_2] +test { try toAsciiFail("Ss\xe2\x80\x8d\xe1\x80\xba\xe3\x80\x821.", true); } // [A4_2] test { try toUnicodePass("xn--ss-f4j.b.", "ss\xe1\x80\xba.b."); } +test { try toAsciiFail("xn--ss-f4j.b.", false); } // [A4_2] +test { try toAsciiFail("xn--ss-f4j.b.", true); } // [A4_2] test { try toUnicodePass("ss\xe1\x80\xba.b.", "ss\xe1\x80\xba.b."); } +test { try toAsciiFail("ss\xe1\x80\xba.b.", false); } // [A4_2] +test { try toAsciiFail("ss\xe1\x80\xba.b.", true); } // [A4_2] test { try toUnicodePass("SS\xe1\x80\xba.B.", "ss\xe1\x80\xba.b."); } +test { try toAsciiFail("SS\xe1\x80\xba.B.", false); } // [A4_2] +test { try toAsciiFail("SS\xe1\x80\xba.B.", true); } // [A4_2] test { try toUnicodePass("Ss\xe1\x80\xba.b.", "ss\xe1\x80\xba.b."); } +test { try toAsciiFail("Ss\xe1\x80\xba.b.", false); } // [A4_2] +test { try toAsciiFail("Ss\xe1\x80\xba.b.", true); } // [A4_2] test { try toUnicodeFail("xn--ss-f4j585j.b."); } // [C2] +test { try toAsciiFail("xn--ss-f4j585j.b.", false); } // [C2, A4_2] +test { try toAsciiFail("xn--ss-f4j585j.b.", true); } // [C2, A4_2] test { try toUnicodeFail("xn--zca679eh2l.b."); } // [C2] +test { try toAsciiFail("xn--zca679eh2l.b.", false); } // [C2, A4_2] +test { try toAsciiFail("xn--zca679eh2l.b.", true); } // [C2, A4_2] test { try toUnicodeFail("SS\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88"); } // [C2, V7] +test { try toAsciiFail("SS\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", false); } // [C2, V7] +test { try toAsciiFail("SS\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("ss\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88"); } // [C2, V7] +test { try toAsciiFail("ss\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", false); } // [C2, V7] +test { try toAsciiFail("ss\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("Ss\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88"); } // [C2, V7] +test { try toAsciiFail("Ss\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", false); } // [C2, V7] +test { try toAsciiFail("Ss\xe2\x80\x8d\xe1\x80\xba\xef\xbd\xa1\xe2\x92\x88", true); } // [V7] test { try toUnicodeFail("xn--ss-f4j.xn--tsh"); } // [V7] +test { try toAsciiFail("xn--ss-f4j.xn--tsh", false); } // [V7] +test { try toAsciiFail("xn--ss-f4j.xn--tsh", true); } // [V7] test { try toUnicodeFail("xn--ss-f4j585j.xn--tsh"); } // [C2, V7] +test { try toAsciiFail("xn--ss-f4j585j.xn--tsh", false); } // [C2, V7] +test { try toAsciiFail("xn--ss-f4j585j.xn--tsh", true); } // [C2, V7] test { try toUnicodeFail("xn--zca679eh2l.xn--tsh"); } // [C2, V7] +test { try toAsciiFail("xn--zca679eh2l.xn--tsh", false); } // [C2, V7] +test { try toAsciiFail("xn--zca679eh2l.xn--tsh", true); } // [C2, V7] test { try toUnicodePass("SS\xe1\x80\xba.b.", "ss\xe1\x80\xba.b."); } +test { try toAsciiFail("SS\xe1\x80\xba.b.", false); } // [A4_2] +test { try toAsciiFail("SS\xe1\x80\xba.b.", true); } // [A4_2] test { try toUnicodeFail("\xe0\xad\x8d\xe2\x80\x8c\xf0\x99\xb6\xb5\xf0\x9e\xbb\x98\xe3\x80\x82\xe2\x80\x8d"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xe2\x80\x8c\xf0\x99\xb6\xb5\xf0\x9e\xbb\x98\xe3\x80\x82\xe2\x80\x8d", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe0\xad\x8d\xe2\x80\x8c\xf0\x99\xb6\xb5\xf0\x9e\xbb\x98\xe3\x80\x82\xe2\x80\x8d", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--9ic6417rn4xb."); } // [B1, V6, V7] +test { try toAsciiFail("xn--9ic6417rn4xb.", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("xn--9ic6417rn4xb.", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--9ic637hz82z32jc.xn--1ug"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--9ic637hz82z32jc.xn--1ug", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--9ic637hz82z32jc.xn--1ug", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xf0\x90\xae\x85\xef\xbd\xa1\xda\xbc\xf0\x9f\x81\x95"); } // [B3] +test { try toAsciiFail("\xf0\x90\xae\x85\xef\xbd\xa1\xda\xbc\xf0\x9f\x81\x95", false); } // [B3] +test { try toAsciiFail("\xf0\x90\xae\x85\xef\xbd\xa1\xda\xbc\xf0\x9f\x81\x95", true); } // [B3] test { try toUnicodeFail("\xf0\x90\xae\x85\xe3\x80\x82\xda\xbc\xf0\x9f\x81\x95"); } // [B3] +test { try toAsciiFail("\xf0\x90\xae\x85\xe3\x80\x82\xda\xbc\xf0\x9f\x81\x95", false); } // [B3] +test { try toAsciiFail("\xf0\x90\xae\x85\xe3\x80\x82\xda\xbc\xf0\x9f\x81\x95", true); } // [B3] test { try toUnicodeFail("xn--c29c.xn--vkb8871w"); } // [B3] +test { try toAsciiFail("xn--c29c.xn--vkb8871w", false); } // [B3] +test { try toAsciiFail("xn--c29c.xn--vkb8871w", true); } // [B3] test { try toUnicodeFail("\xd8\xa0\xe1\x9f\x92\xe3\x80\x82\xf0\x90\xab\x94\xf3\xa0\x80\xa7\xe2\x80\x8c\xf0\x91\x88\xb5"); } // [B2, B3, C1, V7] +test { try toAsciiFail("\xd8\xa0\xe1\x9f\x92\xe3\x80\x82\xf0\x90\xab\x94\xf3\xa0\x80\xa7\xe2\x80\x8c\xf0\x91\x88\xb5", false); } // [B2, B3, C1, V7] +test { try toAsciiFail("\xd8\xa0\xe1\x9f\x92\xe3\x80\x82\xf0\x90\xab\x94\xf3\xa0\x80\xa7\xe2\x80\x8c\xf0\x91\x88\xb5", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--fgb471g.xn--9w9c29jw3931a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--fgb471g.xn--9w9c29jw3931a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--fgb471g.xn--9w9c29jw3931a", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--fgb471g.xn--0ug9853g7verp838a"); } // [B2, B3, C1, V7] +test { try toAsciiFail("xn--fgb471g.xn--0ug9853g7verp838a", false); } // [B2, B3, C1, V7] +test { try toAsciiFail("xn--fgb471g.xn--0ug9853g7verp838a", true); } // [B2, B3, C1, V7] test { try toUnicodeFail("\xf1\x8b\x89\x95.\xf0\x9e\xa3\x95\xf0\x9e\xa4\x8a"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x8b\x89\x95.\xf0\x9e\xa3\x95\xf0\x9e\xa4\x8a", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x8b\x89\x95.\xf0\x9e\xa3\x95\xf0\x9e\xa4\x8a", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf1\x8b\x89\x95.\xf0\x9e\xa3\x95\xf0\x9e\xa4\xac"); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x8b\x89\x95.\xf0\x9e\xa3\x95\xf0\x9e\xa4\xac", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf1\x8b\x89\x95.\xf0\x9e\xa3\x95\xf0\x9e\xa4\xac", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--tf5w.xn--2b6hof"); } // [B1, V6, V7] +test { try toAsciiFail("xn--tf5w.xn--2b6hof", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--tf5w.xn--2b6hof", true); } // [B1, V6, V7] test { try toUnicodePass("\xdb\x8c\xf0\x90\xa8\xbf\xef\xbc\x8e\xc3\x9f\xe0\xbe\x84\xf0\x91\x8d\xac", "\xdb\x8c\xf0\x90\xa8\xbf.\xc3\x9f\xe0\xbe\x84\xf0\x91\x8d\xac"); } test { try toAsciiPass("\xdb\x8c\xf0\x90\xa8\xbf\xef\xbc\x8e\xc3\x9f\xe0\xbe\x84\xf0\x91\x8d\xac", "xn--clb2593k.xn--zca216edt0r", false); } test { try toAsciiPass("\xdb\x8c\xf0\x90\xa8\xbf\xef\xbc\x8e\xc3\x9f\xe0\xbe\x84\xf0\x91\x8d\xac", "xn--clb2593k.xn--ss-toj6092t", true); } @@ -5910,94 +14514,272 @@ test { try toUnicodePass("\xdb\x8c\xf0\x90\xa8\xbf\xef\xbc\x8eSs\xe0\xbe\x84\xf0 test { try toAsciiPass("\xdb\x8c\xf0\x90\xa8\xbf\xef\xbc\x8eSs\xe0\xbe\x84\xf0\x91\x8d\xac", "xn--clb2593k.xn--ss-toj6092t", false); } test { try toAsciiPass("\xdb\x8c\xf0\x90\xa8\xbf\xef\xbc\x8eSs\xe0\xbe\x84\xf0\x91\x8d\xac", "xn--clb2593k.xn--ss-toj6092t", true); } test { try toUnicodeFail("\xf0\x9d\x9f\xa0\xe2\x89\xae\xe2\x80\x8c\xef\xbd\xa1\xf3\xa0\x85\xb1\xe1\x9e\xb4"); } // [C1] +test { try toAsciiFail("\xf0\x9d\x9f\xa0\xe2\x89\xae\xe2\x80\x8c\xef\xbd\xa1\xf3\xa0\x85\xb1\xe1\x9e\xb4", false); } // [C1, A4_2] +test { try toAsciiFail("\xf0\x9d\x9f\xa0\xe2\x89\xae\xe2\x80\x8c\xef\xbd\xa1\xf3\xa0\x85\xb1\xe1\x9e\xb4", true); } // [A4_2] test { try toUnicodeFail("\xf0\x9d\x9f\xa0<\xcc\xb8\xe2\x80\x8c\xef\xbd\xa1\xf3\xa0\x85\xb1\xe1\x9e\xb4"); } // [C1] +test { try toAsciiFail("\xf0\x9d\x9f\xa0<\xcc\xb8\xe2\x80\x8c\xef\xbd\xa1\xf3\xa0\x85\xb1\xe1\x9e\xb4", false); } // [C1, A4_2] +test { try toAsciiFail("\xf0\x9d\x9f\xa0<\xcc\xb8\xe2\x80\x8c\xef\xbd\xa1\xf3\xa0\x85\xb1\xe1\x9e\xb4", true); } // [A4_2] test { try toUnicodeFail("8\xe2\x89\xae\xe2\x80\x8c\xe3\x80\x82\xf3\xa0\x85\xb1\xe1\x9e\xb4"); } // [C1] +test { try toAsciiFail("8\xe2\x89\xae\xe2\x80\x8c\xe3\x80\x82\xf3\xa0\x85\xb1\xe1\x9e\xb4", false); } // [C1, A4_2] +test { try toAsciiFail("8\xe2\x89\xae\xe2\x80\x8c\xe3\x80\x82\xf3\xa0\x85\xb1\xe1\x9e\xb4", true); } // [A4_2] test { try toUnicodeFail("8<\xcc\xb8\xe2\x80\x8c\xe3\x80\x82\xf3\xa0\x85\xb1\xe1\x9e\xb4"); } // [C1] +test { try toAsciiFail("8<\xcc\xb8\xe2\x80\x8c\xe3\x80\x82\xf3\xa0\x85\xb1\xe1\x9e\xb4", false); } // [C1, A4_2] +test { try toAsciiFail("8<\xcc\xb8\xe2\x80\x8c\xe3\x80\x82\xf3\xa0\x85\xb1\xe1\x9e\xb4", true); } // [A4_2] test { try toUnicodePass("xn--8-ngo.", "8\xe2\x89\xae."); } +test { try toAsciiFail("xn--8-ngo.", false); } // [A4_2] +test { try toAsciiFail("xn--8-ngo.", true); } // [A4_2] test { try toUnicodePass("8\xe2\x89\xae.", "8\xe2\x89\xae."); } +test { try toAsciiFail("8\xe2\x89\xae.", false); } // [A4_2] +test { try toAsciiFail("8\xe2\x89\xae.", true); } // [A4_2] test { try toUnicodePass("8<\xcc\xb8.", "8\xe2\x89\xae."); } +test { try toAsciiFail("8<\xcc\xb8.", false); } // [A4_2] +test { try toAsciiFail("8<\xcc\xb8.", true); } // [A4_2] test { try toUnicodeFail("xn--8-sgn10i."); } // [C1] +test { try toAsciiFail("xn--8-sgn10i.", false); } // [C1, A4_2] +test { try toAsciiFail("xn--8-sgn10i.", true); } // [C1, A4_2] test { try toUnicodeFail("xn--8-ngo.xn--z3e"); } // [V6, V7] +test { try toAsciiFail("xn--8-ngo.xn--z3e", false); } // [V6, V7] +test { try toAsciiFail("xn--8-ngo.xn--z3e", true); } // [V6, V7] test { try toUnicodeFail("xn--8-sgn10i.xn--z3e"); } // [C1, V6, V7] +test { try toAsciiFail("xn--8-sgn10i.xn--z3e", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--8-sgn10i.xn--z3e", true); } // [C1, V6, V7] test { try toUnicodeFail("\xe1\xa2\x95\xe2\x89\xaf\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe1\x82\xa0"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe1\x82\xa0", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe1\x82\xa0", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95>\xcc\xb8\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe1\x82\xa0"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe1\x82\xa0", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe1\x82\xa0", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95\xe2\x89\xaf\xe3\x80\x82\xf1\x84\x82\xaf.\xe1\x82\xa0"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xe3\x80\x82\xf1\x84\x82\xaf.\xe1\x82\xa0", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xe3\x80\x82\xf1\x84\x82\xaf.\xe1\x82\xa0", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95>\xcc\xb8\xe3\x80\x82\xf1\x84\x82\xaf.\xe1\x82\xa0"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xe3\x80\x82\xf1\x84\x82\xaf.\xe1\x82\xa0", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xe3\x80\x82\xf1\x84\x82\xaf.\xe1\x82\xa0", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95>\xcc\xb8\xe3\x80\x82\xf1\x84\x82\xaf.\xe2\xb4\x80"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xe3\x80\x82\xf1\x84\x82\xaf.\xe2\xb4\x80", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xe3\x80\x82\xf1\x84\x82\xaf.\xe2\xb4\x80", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95\xe2\x89\xaf\xe3\x80\x82\xf1\x84\x82\xaf.\xe2\xb4\x80"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xe3\x80\x82\xf1\x84\x82\xaf.\xe2\xb4\x80", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xe3\x80\x82\xf1\x84\x82\xaf.\xe2\xb4\x80", true); } // [V7] test { try toUnicodeFail("xn--fbf851c.xn--ko1u.xn--rkj"); } // [V7] +test { try toAsciiFail("xn--fbf851c.xn--ko1u.xn--rkj", false); } // [V7] +test { try toAsciiFail("xn--fbf851c.xn--ko1u.xn--rkj", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95>\xcc\xb8\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe2\xb4\x80"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe2\xb4\x80", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95>\xcc\xb8\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe2\xb4\x80", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x95\xe2\x89\xaf\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe2\xb4\x80"); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe2\xb4\x80", false); } // [V7] +test { try toAsciiFail("\xe1\xa2\x95\xe2\x89\xaf\xef\xb8\x92\xf1\x84\x82\xaf\xef\xbc\x8e\xe2\xb4\x80", true); } // [V7] test { try toUnicodeFail("xn--fbf851cq98poxw1a.xn--rkj"); } // [V7] +test { try toAsciiFail("xn--fbf851cq98poxw1a.xn--rkj", false); } // [V7] +test { try toAsciiFail("xn--fbf851cq98poxw1a.xn--rkj", true); } // [V7] test { try toUnicodeFail("xn--fbf851c.xn--ko1u.xn--7md"); } // [V7] +test { try toAsciiFail("xn--fbf851c.xn--ko1u.xn--7md", false); } // [V7] +test { try toAsciiFail("xn--fbf851c.xn--ko1u.xn--7md", true); } // [V7] test { try toUnicodeFail("xn--fbf851cq98poxw1a.xn--7md"); } // [V7] +test { try toAsciiFail("xn--fbf851cq98poxw1a.xn--7md", false); } // [V7] +test { try toAsciiFail("xn--fbf851cq98poxw1a.xn--7md", true); } // [V7] test { try toUnicodeFail("\xe0\xbe\x9f\xef\xbc\x8e-\xe0\xa0\xaa"); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x9f\xef\xbc\x8e-\xe0\xa0\xaa", false); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x9f\xef\xbc\x8e-\xe0\xa0\xaa", true); } // [V3, V6] test { try toUnicodeFail("\xe0\xbe\x9f.-\xe0\xa0\xaa"); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x9f.-\xe0\xa0\xaa", false); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x9f.-\xe0\xa0\xaa", true); } // [V3, V6] test { try toUnicodeFail("xn--vfd.xn----fhd"); } // [V3, V6] +test { try toAsciiFail("xn--vfd.xn----fhd", false); } // [V3, V6] +test { try toAsciiFail("xn--vfd.xn----fhd", true); } // [V3, V6] test { try toUnicodeFail("\xe1\xb5\xac\xf3\xa0\x86\xa0\xef\xbc\x8e\xed\x95\x92\xe2\x92\x92\xe2\x92\x88\xf4\x88\x84\xa6"); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0\xef\xbc\x8e\xed\x95\x92\xe2\x92\x92\xe2\x92\x88\xf4\x88\x84\xa6", false); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0\xef\xbc\x8e\xed\x95\x92\xe2\x92\x92\xe2\x92\x88\xf4\x88\x84\xa6", true); } // [V7] test { try toUnicodeFail("\xe1\xb5\xac\xf3\xa0\x86\xa0\xef\xbc\x8e\xe1\x84\x91\xe1\x85\xb5\xe1\x86\xbd\xe2\x92\x92\xe2\x92\x88\xf4\x88\x84\xa6"); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0\xef\xbc\x8e\xe1\x84\x91\xe1\x85\xb5\xe1\x86\xbd\xe2\x92\x92\xe2\x92\x88\xf4\x88\x84\xa6", false); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0\xef\xbc\x8e\xe1\x84\x91\xe1\x85\xb5\xe1\x86\xbd\xe2\x92\x92\xe2\x92\x88\xf4\x88\x84\xa6", true); } // [V7] test { try toUnicodeFail("\xe1\xb5\xac\xf3\xa0\x86\xa0.\xed\x95\x9211.1.\xf4\x88\x84\xa6"); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0.\xed\x95\x9211.1.\xf4\x88\x84\xa6", false); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0.\xed\x95\x9211.1.\xf4\x88\x84\xa6", true); } // [V7] test { try toUnicodeFail("\xe1\xb5\xac\xf3\xa0\x86\xa0.\xe1\x84\x91\xe1\x85\xb5\xe1\x86\xbd11.1.\xf4\x88\x84\xa6"); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0.\xe1\x84\x91\xe1\x85\xb5\xe1\x86\xbd11.1.\xf4\x88\x84\xa6", false); } // [V7] +test { try toAsciiFail("\xe1\xb5\xac\xf3\xa0\x86\xa0.\xe1\x84\x91\xe1\x85\xb5\xe1\x86\xbd11.1.\xf4\x88\x84\xa6", true); } // [V7] test { try toUnicodeFail("xn--tbg.xn--11-5o7k.1.xn--k469f"); } // [V7] +test { try toAsciiFail("xn--tbg.xn--11-5o7k.1.xn--k469f", false); } // [V7] +test { try toAsciiFail("xn--tbg.xn--11-5o7k.1.xn--k469f", true); } // [V7] test { try toUnicodeFail("xn--tbg.xn--tsht7586kyts9l"); } // [V7] +test { try toAsciiFail("xn--tbg.xn--tsht7586kyts9l", false); } // [V7] +test { try toAsciiFail("xn--tbg.xn--tsht7586kyts9l", true); } // [V7] test { try toUnicodeFail("\xcf\x82\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xcf\x82\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xcf\x82\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8", true); } // [B1] test { try toUnicodeFail("\xcf\x82\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xcf\x82\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xcf\x82\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8", true); } // [B1] test { try toUnicodeFail("\xce\xa3\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xce\xa3\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xce\xa3\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8", true); } // [B1] test { try toUnicodeFail("\xcf\x83\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xcf\x83\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xcf\x83\xf0\x91\x93\x82\xf0\x90\x8b\xa2.\xd9\xa8", true); } // [B1] test { try toUnicodeFail("xn--4xa6371khhl.xn--hib"); } // [B1] +test { try toAsciiFail("xn--4xa6371khhl.xn--hib", false); } // [B1] +test { try toAsciiFail("xn--4xa6371khhl.xn--hib", true); } // [B1] test { try toUnicodeFail("xn--3xa8371khhl.xn--hib"); } // [B1] +test { try toAsciiFail("xn--3xa8371khhl.xn--hib", false); } // [B1] +test { try toAsciiFail("xn--3xa8371khhl.xn--hib", true); } // [B1] test { try toUnicodeFail("\xce\xa3\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xce\xa3\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xce\xa3\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8", true); } // [B1] test { try toUnicodeFail("\xcf\x83\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8"); } // [B1] +test { try toAsciiFail("\xcf\x83\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8", false); } // [B1] +test { try toAsciiFail("\xcf\x83\xf0\x91\x93\x82\xf0\x90\x8b\xa2\xef\xbc\x8e\xd9\xa8", true); } // [B1] test { try toUnicodeFail("\xea\xa5\x93\xe2\x80\x8c\xf0\x90\x8b\xbb\xe2\x80\x8d.\xe2\xb7\xb8\xf0\x9e\xbf\x84\xf0\x90\xb9\xb2"); } // [B1, B6, C2, V6, V7] +test { try toAsciiFail("\xea\xa5\x93\xe2\x80\x8c\xf0\x90\x8b\xbb\xe2\x80\x8d.\xe2\xb7\xb8\xf0\x9e\xbf\x84\xf0\x90\xb9\xb2", false); } // [B1, B6, C2, V6, V7] +test { try toAsciiFail("\xea\xa5\x93\xe2\x80\x8c\xf0\x90\x8b\xbb\xe2\x80\x8d.\xe2\xb7\xb8\xf0\x9e\xbf\x84\xf0\x90\xb9\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--3j9a531o.xn--urju692efj0f"); } // [B1, V6, V7] +test { try toAsciiFail("xn--3j9a531o.xn--urju692efj0f", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--3j9a531o.xn--urju692efj0f", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--0ugc8356he76c.xn--urju692efj0f"); } // [B1, B6, C2, V6, V7] +test { try toAsciiFail("xn--0ugc8356he76c.xn--urju692efj0f", false); } // [B1, B6, C2, V6, V7] +test { try toAsciiFail("xn--0ugc8356he76c.xn--urju692efj0f", true); } // [B1, B6, C2, V6, V7] test { try toUnicodeFail("\xe2\x8a\xbc\xe3\x80\x82\xf1\xaa\xa7\x96\xda\x95"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xe2\x8a\xbc\xe3\x80\x82\xf1\xaa\xa7\x96\xda\x95", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xe2\x8a\xbc\xe3\x80\x82\xf1\xaa\xa7\x96\xda\x95", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--ofh.xn--rjb13118f"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--ofh.xn--rjb13118f", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--ofh.xn--rjb13118f", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xaf\xac\xf1\x96\x8b\x94\xe3\x80\x82\xf3\x9c\xb3\xa5"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xaf\xac\xf1\x96\x8b\x94\xe3\x80\x82\xf3\x9c\xb3\xa5", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xaf\xac\xf1\x96\x8b\x94\xe3\x80\x82\xf3\x9c\xb3\xa5", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--949co370q.xn--7g25e"); } // [B2, B3, V7] +test { try toAsciiFail("xn--949co370q.xn--7g25e", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--949co370q.xn--7g25e", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xcf\x82\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5"); } // [B1, B6, V7] +test { try toAsciiFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xcf\x82\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5", false); } // [B1, B6, V7] +test { try toAsciiFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xcf\x82\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5", true); } // [B1, B6, V7] test { try toUnicodeFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xce\xa3\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5"); } // [B1, B6, V7] +test { try toAsciiFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xce\xa3\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5", false); } // [B1, B6, V7] +test { try toAsciiFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xce\xa3\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5", true); } // [B1, B6, V7] test { try toUnicodeFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xcf\x83\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5"); } // [B1, B6, V7] +test { try toAsciiFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xcf\x83\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5", false); } // [B1, B6, V7] +test { try toAsciiFail("\xd8\x81\xf0\x91\x8d\xa7\xdf\x9d\xe3\x80\x82\xcf\x83\xf2\xac\x8d\x98\xf0\x9f\x80\x9e\xe1\x9e\xb5", true); } // [B1, B6, V7] test { try toUnicodeFail("xn--jfb66gt010c.xn--4xa0023w4nq4c"); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--4xa0023w4nq4c", false); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--4xa0023w4nq4c", true); } // [B1, B6, V7] test { try toUnicodeFail("xn--jfb66gt010c.xn--3xa2023w4nq4c"); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--3xa2023w4nq4c", false); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--3xa2023w4nq4c", true); } // [B1, B6, V7] test { try toUnicodeFail("xn--jfb66gt010c.xn--4xa623h9p95ars26d"); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--4xa623h9p95ars26d", false); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--4xa623h9p95ars26d", true); } // [B1, B6, V7] test { try toUnicodeFail("xn--jfb66gt010c.xn--3xa823h9p95ars26d"); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--3xa823h9p95ars26d", false); } // [B1, B6, V7] +test { try toAsciiFail("xn--jfb66gt010c.xn--3xa823h9p95ars26d", true); } // [B1, B6, V7] test { try toUnicodeFail("-\xf0\x90\xb3\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad\xf0\x9d\x9f\xa5"); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb3\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad\xf0\x9d\x9f\xa5", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb3\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad\xf0\x9d\x9f\xa5", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("-\xf0\x90\xb3\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad3"); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb3\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad3", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb3\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad3", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("-\xf0\x90\xb2\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad3"); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb2\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad3", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb2\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad3", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn----roc5482rek10i.xn--3-zw5e"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn----roc5482rek10i.xn--3-zw5e", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn----roc5482rek10i.xn--3-zw5e", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("-\xf0\x90\xb2\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad\xf0\x9d\x9f\xa5"); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb2\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad\xf0\x9d\x9f\xa5", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("-\xf0\x90\xb2\xb2\xd9\x86\xf3\xa0\xba\x90\xe3\x80\x82\xea\xaf\xad\xf0\x9d\x9f\xa5", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xef\xbd\xa1\xf1\xb2\xa8\x95\xe2\x89\xae\xf0\x90\xa6\x9c"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xef\xbd\xa1\xf1\xb2\xa8\x95\xe2\x89\xae\xf0\x90\xa6\x9c", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xef\xbd\xa1\xf1\xb2\xa8\x95\xe2\x89\xae\xf0\x90\xa6\x9c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xef\xbd\xa1\xf1\xb2\xa8\x95<\xcc\xb8\xf0\x90\xa6\x9c"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xef\xbd\xa1\xf1\xb2\xa8\x95<\xcc\xb8\xf0\x90\xa6\x9c", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xef\xbd\xa1\xf1\xb2\xa8\x95<\xcc\xb8\xf0\x90\xa6\x9c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xe3\x80\x82\xf1\xb2\xa8\x95\xe2\x89\xae\xf0\x90\xa6\x9c"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xe3\x80\x82\xf1\xb2\xa8\x95\xe2\x89\xae\xf0\x90\xa6\x9c", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xe3\x80\x82\xf1\xb2\xa8\x95\xe2\x89\xae\xf0\x90\xa6\x9c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xe3\x80\x82\xf1\xb2\xa8\x95<\xcc\xb8\xf0\x90\xa6\x9c"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xe3\x80\x82\xf1\xb2\xa8\x95<\xcc\xb8\xf0\x90\xa6\x9c", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf3\xa0\xb4\xa6\xe3\x80\x82\xf1\xb2\xa8\x95<\xcc\xb8\xf0\x90\xa6\x9c", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--6v56e.xn--gdhz712gzlr6b"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--6v56e.xn--gdhz712gzlr6b", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--6v56e.xn--gdhz712gzlr6b", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--0ug22251l.xn--gdhz712gzlr6b"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug22251l.xn--gdhz712gzlr6b", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug22251l.xn--gdhz712gzlr6b", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xe2\x92\x88\xe2\x9c\x8c\xf2\x9f\xac\x9f\xef\xbc\x8e\xf0\x9d\x9f\xa1\xf1\xa0\xb1\xa3"); } // [V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x9c\x8c\xf2\x9f\xac\x9f\xef\xbc\x8e\xf0\x9d\x9f\xa1\xf1\xa0\xb1\xa3", false); } // [V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x9c\x8c\xf2\x9f\xac\x9f\xef\xbc\x8e\xf0\x9d\x9f\xa1\xf1\xa0\xb1\xa3", true); } // [V7] test { try toUnicodeFail("1.\xe2\x9c\x8c\xf2\x9f\xac\x9f.9\xf1\xa0\xb1\xa3"); } // [V7] +test { try toAsciiFail("1.\xe2\x9c\x8c\xf2\x9f\xac\x9f.9\xf1\xa0\xb1\xa3", false); } // [V7] +test { try toAsciiFail("1.\xe2\x9c\x8c\xf2\x9f\xac\x9f.9\xf1\xa0\xb1\xa3", true); } // [V7] test { try toUnicodeFail("1.xn--7bi44996f.xn--9-o706d"); } // [V7] +test { try toAsciiFail("1.xn--7bi44996f.xn--9-o706d", false); } // [V7] +test { try toAsciiFail("1.xn--7bi44996f.xn--9-o706d", true); } // [V7] test { try toUnicodeFail("xn--tsh24g49550b.xn--9-o706d"); } // [V7] +test { try toAsciiFail("xn--tsh24g49550b.xn--9-o706d", false); } // [V7] +test { try toAsciiFail("xn--tsh24g49550b.xn--9-o706d", true); } // [V7] test { try toUnicodeFail("\xf0\x91\x86\xbe\xf0\x9e\xa4\xac\xf0\x90\xae\x86.\xd9\xa6\xe1\xb7\x94"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x86\xbe\xf0\x9e\xa4\xac\xf0\x90\xae\x86.\xd9\xa6\xe1\xb7\x94", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x86\xbe\xf0\x9e\xa4\xac\xf0\x90\xae\x86.\xd9\xa6\xe1\xb7\x94", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\x86\xbe\xf0\x9e\xa4\x8a\xf0\x90\xae\x86.\xd9\xa6\xe1\xb7\x94"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x86\xbe\xf0\x9e\xa4\x8a\xf0\x90\xae\x86.\xd9\xa6\xe1\xb7\x94", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x86\xbe\xf0\x9e\xa4\x8a\xf0\x90\xae\x86.\xd9\xa6\xe1\xb7\x94", true); } // [B1, V6] test { try toUnicodeFail("xn--d29c79hf98r.xn--fib011j"); } // [B1, V6] +test { try toAsciiFail("xn--d29c79hf98r.xn--fib011j", false); } // [B1, V6] +test { try toAsciiFail("xn--d29c79hf98r.xn--fib011j", true); } // [B1, V6] test { try toUnicodeFail("\xcf\x82\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84"); } // [V6] +test { try toAsciiFail("\xcf\x82\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84", false); } // [V6] +test { try toAsciiFail("\xcf\x82\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84", true); } // [V6] test { try toUnicodeFail("\xcf\x82.\xea\xa7\x80\xea\xa3\x84"); } // [V6] +test { try toAsciiFail("\xcf\x82.\xea\xa7\x80\xea\xa3\x84", false); } // [V6] +test { try toAsciiFail("\xcf\x82.\xea\xa7\x80\xea\xa3\x84", true); } // [V6] test { try toUnicodeFail("\xce\xa3.\xea\xa7\x80\xea\xa3\x84"); } // [V6] +test { try toAsciiFail("\xce\xa3.\xea\xa7\x80\xea\xa3\x84", false); } // [V6] +test { try toAsciiFail("\xce\xa3.\xea\xa7\x80\xea\xa3\x84", true); } // [V6] test { try toUnicodeFail("\xcf\x83.\xea\xa7\x80\xea\xa3\x84"); } // [V6] +test { try toAsciiFail("\xcf\x83.\xea\xa7\x80\xea\xa3\x84", false); } // [V6] +test { try toAsciiFail("\xcf\x83.\xea\xa7\x80\xea\xa3\x84", true); } // [V6] test { try toUnicodeFail("xn--4xa.xn--0f9ars"); } // [V6] +test { try toAsciiFail("xn--4xa.xn--0f9ars", false); } // [V6] +test { try toAsciiFail("xn--4xa.xn--0f9ars", true); } // [V6] test { try toUnicodeFail("xn--3xa.xn--0f9ars"); } // [V6] +test { try toAsciiFail("xn--3xa.xn--0f9ars", false); } // [V6] +test { try toAsciiFail("xn--3xa.xn--0f9ars", true); } // [V6] test { try toUnicodeFail("\xce\xa3\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84"); } // [V6] +test { try toAsciiFail("\xce\xa3\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84", false); } // [V6] +test { try toAsciiFail("\xce\xa3\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84", true); } // [V6] test { try toUnicodeFail("\xcf\x83\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84"); } // [V6] +test { try toAsciiFail("\xcf\x83\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84", false); } // [V6] +test { try toAsciiFail("\xcf\x83\xef\xbc\x8e\xea\xa7\x80\xea\xa3\x84", true); } // [V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb3\x90\xef\xbc\x8e\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb3\x90\xef\xbc\x8e\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb3\x90\xef\xbc\x8e\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb3\x90\xef\xbc\x8e\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb3\x90\xef\xbc\x8e\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb3\x90\xef\xbc\x8e\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb3\x90.\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb3\x90.\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb3\x90.\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb3\x90.\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb3\x90.\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb3\x90.\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb2\x90.\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb2\x90.\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb2\x90.\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb2\x90.\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb2\x90.\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb2\x90.\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("xn--hdhz343g3wj.xn--qwb"); } // [B1, V6] +test { try toAsciiFail("xn--hdhz343g3wj.xn--qwb", false); } // [B1, V6] +test { try toAsciiFail("xn--hdhz343g3wj.xn--qwb", true); } // [B1, V6] test { try toUnicodeFail("xn--0ug06g7697ap4ma.xn--qwb"); } // [B1, C1, V6] +test { try toAsciiFail("xn--0ug06g7697ap4ma.xn--qwb", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--0ug06g7697ap4ma.xn--qwb", true); } // [B1, C1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb2\x90\xef\xbc\x8e\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb2\x90\xef\xbc\x8e\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c>\xcc\xb8\xf0\x90\xb2\x90\xef\xbc\x8e\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb2\x90\xef\xbc\x8e\xe0\xa1\x9b"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb2\x90\xef\xbc\x8e\xe0\xa1\x9b", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb0\xb6\xe2\x80\x8c\xe2\x89\xaf\xf0\x90\xb2\x90\xef\xbc\x8e\xe0\xa1\x9b", true); } // [B1, V6] test { try toUnicodePass("\xe7\xbe\x9a\xef\xbd\xa1\xe2\x89\xaf", "\xe7\xbe\x9a.\xe2\x89\xaf"); } test { try toAsciiPass("\xe7\xbe\x9a\xef\xbd\xa1\xe2\x89\xaf", "xn--xt0a.xn--hdh", false); } test { try toAsciiPass("\xe7\xbe\x9a\xef\xbd\xa1\xe2\x89\xaf", "xn--xt0a.xn--hdh", true); } @@ -6020,52 +14802,146 @@ test { try toUnicodePass("\xe7\xbe\x9a.>\xcc\xb8", "\xe7\xbe\x9a.\xe2\x89\xaf"); test { try toAsciiPass("\xe7\xbe\x9a.>\xcc\xb8", "xn--xt0a.xn--hdh", false); } test { try toAsciiPass("\xe7\xbe\x9a.>\xcc\xb8", "xn--xt0a.xn--hdh", true); } test { try toUnicodeFail("\xf0\x91\x93\x82\xe1\x9d\x99\xef\xbc\x8e\xe0\xa2\xa8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x93\x82\xe1\x9d\x99\xef\xbc\x8e\xe0\xa2\xa8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x93\x82\xe1\x9d\x99\xef\xbc\x8e\xe0\xa2\xa8", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x91\x93\x82\xe1\x9d\x99.\xe0\xa2\xa8"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x93\x82\xe1\x9d\x99.\xe0\xa2\xa8", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x91\x93\x82\xe1\x9d\x99.\xe0\xa2\xa8", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--e1e9580k.xn--xyb"); } // [B1, V6, V7] +test { try toAsciiFail("xn--e1e9580k.xn--xyb", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--e1e9580k.xn--xyb", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa0\xe1\x83\x80\xf0\x9d\x9f\x91"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa0\xe1\x83\x80\xf0\x9d\x9f\x91", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa0\xe1\x83\x80\xf0\x9d\x9f\x91", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa0\xe1\x83\x803"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa0\xe1\x83\x803", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa0\xe1\x83\x803", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa1\xe2\xb4\xa03"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa1\xe2\xb4\xa03", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa1\xe2\xb4\xa03", true); } // [B1, V7] test { try toUnicodeFail("xn--1r19e.xn--3-ozb36ko13f"); } // [B1, V7] +test { try toAsciiFail("xn--1r19e.xn--3-ozb36ko13f", false); } // [B1, V7] +test { try toAsciiFail("xn--1r19e.xn--3-ozb36ko13f", true); } // [B1, V7] test { try toUnicodeFail("xn--1ug89936l.xn--3-ozb36ko13f"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--1ug89936l.xn--3-ozb36ko13f", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--1ug89936l.xn--3-ozb36ko13f", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa1\xe2\xb4\xa0\xf0\x9d\x9f\x91"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa1\xe2\xb4\xa0\xf0\x9d\x9f\x91", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa1\xe2\xb4\xa0\xf0\x9d\x9f\x91", true); } // [B1, V7] test { try toUnicodeFail("xn--1r19e.xn--3-ozb36kixu"); } // [B1, V7] +test { try toAsciiFail("xn--1r19e.xn--3-ozb36kixu", false); } // [B1, V7] +test { try toAsciiFail("xn--1r19e.xn--3-ozb36kixu", true); } // [B1, V7] test { try toUnicodeFail("xn--1ug89936l.xn--3-ozb36kixu"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--1ug89936l.xn--3-ozb36kixu", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--1ug89936l.xn--3-ozb36kixu", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa0\xe2\xb4\xa03"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa0\xe2\xb4\xa03", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xe3\x80\x82\xd9\xa3\xd2\xa0\xe2\xb4\xa03", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa0\xe2\xb4\xa0\xf0\x9d\x9f\x91"); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa0\xe2\xb4\xa0\xf0\x9d\x9f\x91", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("\xf3\xa8\xa3\xbf\xf3\xa0\x87\x80\xe2\x80\x8d\xef\xbd\xa1\xd9\xa3\xd2\xa0\xe2\xb4\xa0\xf0\x9d\x9f\x91", true); } // [B1, V7] test { try toUnicodeFail("\xe1\xa1\xb7\xe3\x80\x82\xf0\x90\xb9\xa2\xe0\xa3\xa0"); } // [B1] +test { try toAsciiFail("\xe1\xa1\xb7\xe3\x80\x82\xf0\x90\xb9\xa2\xe0\xa3\xa0", false); } // [B1] +test { try toAsciiFail("\xe1\xa1\xb7\xe3\x80\x82\xf0\x90\xb9\xa2\xe0\xa3\xa0", true); } // [B1] test { try toUnicodeFail("xn--k9e.xn--j0b5005k"); } // [B1] +test { try toAsciiFail("xn--k9e.xn--j0b5005k", false); } // [B1] +test { try toAsciiFail("xn--k9e.xn--j0b5005k", true); } // [B1] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92\xc3\x9f"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92\xc3\x9f", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92\xc3\x9f", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92\xc3\x9f"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92\xc3\x9f", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92\xc3\x9f", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92SS"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92SS", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92SS", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92ss"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92ss", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92ss", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92Ss"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92Ss", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xe3\x80\x82\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92Ss", true); } // [B1, V7] test { try toUnicodeFail("xn--1zf58212h.xn--ss-pyd459o3258m"); } // [B1, V7] +test { try toAsciiFail("xn--1zf58212h.xn--ss-pyd459o3258m", false); } // [B1, V7] +test { try toAsciiFail("xn--1zf58212h.xn--ss-pyd459o3258m", true); } // [B1, V7] test { try toUnicodeFail("xn--1zf58212h.xn--zca34zk4qx711k"); } // [B1, V7] +test { try toAsciiFail("xn--1zf58212h.xn--zca34zk4qx711k", false); } // [B1, V7] +test { try toAsciiFail("xn--1zf58212h.xn--zca34zk4qx711k", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92SS"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92SS", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92SS", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92ss"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92ss", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92ss", true); } // [B1, V7] test { try toUnicodeFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92Ss"); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92Ss", false); } // [B1, V7] +test { try toAsciiFail("\xf2\x95\xae\x87\xe1\xaf\xb3\xef\xbd\xa1\xd9\xa6\xf1\x97\x9c\xbc\xe1\x9f\x92Ss", true); } // [B1, V7] test { try toUnicodeFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xef\xb8\x92\xe2\x89\xa0"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xef\xb8\x92\xe2\x89\xa0", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xef\xb8\x92\xe2\x89\xa0", true); } // [B1, V7] test { try toUnicodeFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xef\xb8\x92=\xcc\xb8"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xef\xb8\x92=\xcc\xb8", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xef\xb8\x92=\xcc\xb8", true); } // [B1, V7] test { try toUnicodeFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xe3\x80\x82\xe2\x89\xa0"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xe3\x80\x82\xe2\x89\xa0", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xe3\x80\x82\xe2\x89\xa0", true); } // [B1, V7] test { try toUnicodeFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xe3\x80\x82=\xcc\xb8"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xe3\x80\x82=\xcc\xb8", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa4\xf2\xa4\xbd\x8e\xf0\x91\xb2\x9b.\xf3\xa0\x94\xa2\xe3\x80\x82=\xcc\xb8", true); } // [B1, V7] test { try toUnicodeFail("xn--dib0653l2i02d.xn--k736e.xn--1ch"); } // [B1, V7] +test { try toAsciiFail("xn--dib0653l2i02d.xn--k736e.xn--1ch", false); } // [B1, V7] +test { try toAsciiFail("xn--dib0653l2i02d.xn--k736e.xn--1ch", true); } // [B1, V7] test { try toUnicodeFail("xn--dib0653l2i02d.xn--1ch7467f14u4g"); } // [B1, V7] +test { try toAsciiFail("xn--dib0653l2i02d.xn--1ch7467f14u4g", false); } // [B1, V7] +test { try toAsciiFail("xn--dib0653l2i02d.xn--1ch7467f14u4g", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x97\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab"); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x97\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", false); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x97\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", true); } // [V7] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95o\xcc\x82\xcc\x83\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab"); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95o\xcc\x82\xcc\x83\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", false); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95o\xcc\x82\xcc\x83\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", true); } // [V7] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x971..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9"); } // [V7, X4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x971..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x971..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95o\xcc\x82\xcc\x831..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9"); } // [V7, X4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95o\xcc\x82\xcc\x831..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95o\xcc\x82\xcc\x831..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95O\xcc\x82\xcc\x831..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9"); } // [V7, X4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95O\xcc\x82\xcc\x831..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95O\xcc\x82\xcc\x831..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x961..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9"); } // [V7, X4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x961..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", false); } // [V7, A4_2] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x961..\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b9", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-3xm292b6044r..xn--9-6jd87310jtcqs"); } // [V7, X4_2] +test { try toAsciiFail("xn--1-3xm292b6044r..xn--9-6jd87310jtcqs", false); } // [V7, A4_2] +test { try toAsciiFail("xn--1-3xm292b6044r..xn--9-6jd87310jtcqs", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95O\xcc\x82\xcc\x83\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab"); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95O\xcc\x82\xcc\x83\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", false); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95O\xcc\x82\xcc\x83\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", true); } // [V7] test { try toUnicodeFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x96\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab"); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x96\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", false); } // [V7] +test { try toAsciiFail("\xe2\x9e\x86\xf1\xb7\xa7\x95\xe1\xbb\x96\xe2\x92\x88\xef\xbc\x8e\xf2\x91\xac\x92\xf1\xa1\x98\xae\xe0\xa1\x9b\xf0\x9d\x9f\xab", true); } // [V7] test { try toUnicodeFail("xn--6lg26tvvc6v99z.xn--9-6jd87310jtcqs"); } // [V7] +test { try toAsciiFail("xn--6lg26tvvc6v99z.xn--9-6jd87310jtcqs", false); } // [V7] +test { try toAsciiFail("xn--6lg26tvvc6v99z.xn--9-6jd87310jtcqs", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbd\xa1\xf0\x9e\xa4\x98"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf0\x9e\xa4\x98", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf0\x9e\xa4\x98", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x98"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x98", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\x98", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xba"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xba", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\x80\x82\xf0\x9e\xa4\xba", true); } // [A4_2] test { try toUnicodeFail(".xn--ye6h"); } // [X4_2] +test { try toAsciiFail(".xn--ye6h", false); } // [A4_2] +test { try toAsciiFail(".xn--ye6h", true); } // [A4_2] test { try toUnicodeFail("xn--1ug.xn--ye6h"); } // [B1, C2] +test { try toAsciiFail("xn--1ug.xn--ye6h", false); } // [B1, C2] +test { try toAsciiFail("xn--1ug.xn--ye6h", true); } // [B1, C2] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbd\xa1\xf0\x9e\xa4\xba"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf0\x9e\xa4\xba", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbd\xa1\xf0\x9e\xa4\xba", true); } // [A4_2] test { try toUnicodePass("xn--ye6h", "\xf0\x9e\xa4\xba"); } test { try toAsciiPass("xn--ye6h", "xn--ye6h", false); } test { try toAsciiPass("xn--ye6h", "xn--ye6h", true); } @@ -6076,136 +14952,398 @@ test { try toUnicodePass("\xf0\x9e\xa4\x98", "\xf0\x9e\xa4\xba"); } test { try toAsciiPass("\xf0\x9e\xa4\x98", "xn--ye6h", false); } test { try toAsciiPass("\xf0\x9e\xa4\x98", "xn--ye6h", true); } test { try toUnicodeFail("\xe0\xa0\xa9\xdc\xa4.\xe1\xa2\xa3"); } // [B1, V6] +test { try toAsciiFail("\xe0\xa0\xa9\xdc\xa4.\xe1\xa2\xa3", false); } // [B1, V6] +test { try toAsciiFail("\xe0\xa0\xa9\xdc\xa4.\xe1\xa2\xa3", true); } // [B1, V6] test { try toUnicodeFail("xn--unb53c.xn--tbf"); } // [B1, V6] +test { try toAsciiFail("xn--unb53c.xn--tbf", false); } // [B1, V6] +test { try toAsciiFail("xn--unb53c.xn--tbf", true); } // [B1, V6] test { try toUnicodeFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbe\xc3\x9f"); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbe\xc3\x9f", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbe\xc3\x9f", true); } // [V3, V6, V7] test { try toUnicodeFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbeSS"); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbeSS", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbeSS", true); } // [V3, V6, V7] test { try toUnicodeFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbess"); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbess", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbess", true); } // [V3, V6, V7] test { try toUnicodeFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbeSs"); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbeSs", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("\xdc\xbc\xe2\x80\x8c-\xe3\x80\x82\xf0\x93\x90\xbeSs", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----s2c.xn--ss-066q"); } // [V3, V6, V7] +test { try toAsciiFail("xn----s2c.xn--ss-066q", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----s2c.xn--ss-066q", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----s2c071q.xn--ss-066q"); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----s2c071q.xn--ss-066q", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----s2c071q.xn--ss-066q", true); } // [C1, V3, V6, V7] test { try toUnicodeFail("xn----s2c071q.xn--zca7848m"); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----s2c071q.xn--zca7848m", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----s2c071q.xn--zca7848m", true); } // [C1, V3, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xcf\x82\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x82\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x82\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xcf\x82\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96"); } // [B1, B5, B6, C1, V6, X4_2] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x82\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", false); } // [B1, B5, B6, C1, V6, A4_2] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x82\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", true); } // [B5, B6, V6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xce\xa3\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96"); } // [B1, B5, B6, C1, V6, X4_2] +test { try toAsciiFail("\xe2\x80\x8c\xce\xa3\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", false); } // [B1, B5, B6, C1, V6, A4_2] +test { try toAsciiFail("\xe2\x80\x8c\xce\xa3\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", true); } // [B5, B6, V6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcf\x83\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96"); } // [B1, B5, B6, C1, V6, X4_2] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x83\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", false); } // [B1, B5, B6, C1, V6, A4_2] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x83\xf0\x9f\x83\xa116..\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", true); } // [B5, B6, V6, A4_2] test { try toUnicodeFail("xn--16-ubc66061c..xn--9ob79ycx2e"); } // [B5, B6, V6, X4_2] +test { try toAsciiFail("xn--16-ubc66061c..xn--9ob79ycx2e", false); } // [B5, B6, V6, A4_2] +test { try toAsciiFail("xn--16-ubc66061c..xn--9ob79ycx2e", true); } // [B5, B6, V6, A4_2] test { try toUnicodeFail("xn--16-ubc7700avy99b..xn--9ob79ycx2e"); } // [B1, B5, B6, C1, V6, X4_2] +test { try toAsciiFail("xn--16-ubc7700avy99b..xn--9ob79ycx2e", false); } // [B1, B5, B6, C1, V6, A4_2] +test { try toAsciiFail("xn--16-ubc7700avy99b..xn--9ob79ycx2e", true); } // [B1, B5, B6, C1, V6, A4_2] test { try toUnicodeFail("xn--16-rbc1800avy99b..xn--9ob79ycx2e"); } // [B1, B5, B6, C1, V6, X4_2] +test { try toAsciiFail("xn--16-rbc1800avy99b..xn--9ob79ycx2e", false); } // [B1, B5, B6, C1, V6, A4_2] +test { try toAsciiFail("xn--16-rbc1800avy99b..xn--9ob79ycx2e", true); } // [B1, B5, B6, C1, V6, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xce\xa3\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xce\xa3\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xce\xa3\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xcf\x83\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x83\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcf\x83\xf0\x9f\x83\xa1\xe2\x92\x97.\xe0\xb3\x86\xe4\xbb\xa7\xdd\x96", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--4xa229nbu92a.xn--9ob79ycx2e"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--4xa229nbu92a.xn--9ob79ycx2e", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--4xa229nbu92a.xn--9ob79ycx2e", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("xn--4xa595lz9czy52d.xn--9ob79ycx2e"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--4xa595lz9czy52d.xn--9ob79ycx2e", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--4xa595lz9czy52d.xn--9ob79ycx2e", true); } // [B1, B5, B6, C1, V6, V7] test { try toUnicodeFail("xn--3xa795lz9czy52d.xn--9ob79ycx2e"); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--3xa795lz9czy52d.xn--9ob79ycx2e", false); } // [B1, B5, B6, C1, V6, V7] +test { try toAsciiFail("xn--3xa795lz9czy52d.xn--9ob79ycx2e", true); } // [B1, B5, B6, C1, V6, V7] test { try toUnicodeFail("-.\xf0\x9e\xb8\x9a"); } // [B1, V3] +test { try toAsciiFail("-.\xf0\x9e\xb8\x9a", false); } // [B1, V3] +test { try toAsciiFail("-.\xf0\x9e\xb8\x9a", true); } // [B1, V3] test { try toUnicodeFail("-.\xd8\xb8"); } // [B1, V3] +test { try toAsciiFail("-.\xd8\xb8", false); } // [B1, V3] +test { try toAsciiFail("-.\xd8\xb8", true); } // [B1, V3] test { try toUnicodeFail("-.xn--3gb"); } // [B1, V3] +test { try toAsciiFail("-.xn--3gb", false); } // [B1, V3] +test { try toAsciiFail("-.xn--3gb", true); } // [B1, V3] test { try toUnicodeFail("\xf2\x8f\x9b\x93\xda\x83.\xe0\xbd\xbe\xd8\xb4"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\x8f\x9b\x93\xda\x83.\xe0\xbd\xbe\xd8\xb4", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\x8f\x9b\x93\xda\x83.\xe0\xbd\xbe\xd8\xb4", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--8ib92728i.xn--zgb968b"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--8ib92728i.xn--zgb968b", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--8ib92728i.xn--zgb968b", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe0\xbf\xa6\xe0\xa1\x83\xf1\xbd\xb6\xac.\xf0\x90\xae\x8f"); } // [B5, V7] +test { try toAsciiFail("\xe0\xbf\xa6\xe0\xa1\x83\xf1\xbd\xb6\xac.\xf0\x90\xae\x8f", false); } // [B5, V7] +test { try toAsciiFail("\xe0\xbf\xa6\xe0\xa1\x83\xf1\xbd\xb6\xac.\xf0\x90\xae\x8f", true); } // [B5, V7] test { try toUnicodeFail("xn--1vb320b5m04p.xn--m29c"); } // [B5, V7] +test { try toAsciiFail("xn--1vb320b5m04p.xn--m29c", false); } // [B5, V7] +test { try toAsciiFail("xn--1vb320b5m04p.xn--m29c", true); } // [B5, V7] test { try toUnicodeFail("2\xf1\x8e\xa8\xa0\xdf\x8b\xc3\x9f\xe3\x80\x82\xe1\xa0\xbd"); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8b\xc3\x9f\xe3\x80\x82\xe1\xa0\xbd", false); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8b\xc3\x9f\xe3\x80\x82\xe1\xa0\xbd", true); } // [B1, V7] test { try toUnicodeFail("2\xf1\x8e\xa8\xa0\xdf\x8bSS\xe3\x80\x82\xe1\xa0\xbd"); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8bSS\xe3\x80\x82\xe1\xa0\xbd", false); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8bSS\xe3\x80\x82\xe1\xa0\xbd", true); } // [B1, V7] test { try toUnicodeFail("2\xf1\x8e\xa8\xa0\xdf\x8bss\xe3\x80\x82\xe1\xa0\xbd"); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8bss\xe3\x80\x82\xe1\xa0\xbd", false); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8bss\xe3\x80\x82\xe1\xa0\xbd", true); } // [B1, V7] test { try toUnicodeFail("xn--2ss-odg83511n.xn--w7e"); } // [B1, V7] +test { try toAsciiFail("xn--2ss-odg83511n.xn--w7e", false); } // [B1, V7] +test { try toAsciiFail("xn--2ss-odg83511n.xn--w7e", true); } // [B1, V7] test { try toUnicodeFail("xn--2-qfa924cez02l.xn--w7e"); } // [B1, V7] +test { try toAsciiFail("xn--2-qfa924cez02l.xn--w7e", false); } // [B1, V7] +test { try toAsciiFail("xn--2-qfa924cez02l.xn--w7e", true); } // [B1, V7] test { try toUnicodeFail("2\xf1\x8e\xa8\xa0\xdf\x8bSs\xe3\x80\x82\xe1\xa0\xbd"); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8bSs\xe3\x80\x82\xe1\xa0\xbd", false); } // [B1, V7] +test { try toAsciiFail("2\xf1\x8e\xa8\xa0\xdf\x8bSs\xe3\x80\x82\xe1\xa0\xbd", true); } // [B1, V7] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8e\xc3\x9f-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8e\xc3\x9f-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8e\xc3\x9f-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8e\xc3\x9f-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8e\xc3\x9f-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8e\xc3\x9f-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8e\xc3\x9f-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8e\xc3\x9f-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8e\xc3\x9f-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8e\xc3\x9f-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8e\xc3\x9f-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8e\xc3\x9f-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8eSS-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8eSS-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8eSS-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8eSS-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8eSS-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8eSS-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8ess-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8ess-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8ess-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8ess-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8ess-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8ess-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("xn--lsb457kkut.xn--ss--qjf"); } // [B2, B3, B5, B6, V3] +test { try toAsciiFail("xn--lsb457kkut.xn--ss--qjf", false); } // [B2, B3, B5, B6, V3] +test { try toAsciiFail("xn--lsb457kkut.xn--ss--qjf", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("xn--lsb457kkut.xn--ss--qjf2343a"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("xn--lsb457kkut.xn--ss--qjf2343a", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("xn--lsb457kkut.xn--ss--qjf2343a", true); } // [B2, B3, B5, B6, C2] test { try toUnicodeFail("xn--lsb457kkut.xn----pfa076bys4a"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("xn--lsb457kkut.xn----pfa076bys4a", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("xn--lsb457kkut.xn----pfa076bys4a", true); } // [B2, B3, B5, B6, C2] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8eSS-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8eSS-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8eSS-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8eSS-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8eSS-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8eSS-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8ess-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8ess-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8ess-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8ess-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8ess-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8ess-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8eSs-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8eSs-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8.\xdb\x8eSs-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8eSs-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8eSs-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae.\xdb\x8eSs-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8eSs-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8eSs-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a<\xcc\xb8\xef\xbc\x8e\xdb\x8eSs-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8eSs-\xe2\x80\x8d"); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8eSs-\xe2\x80\x8d", false); } // [B2, B3, B5, B6, C2] +test { try toAsciiFail("\xe3\xb8\xb3\xdf\x8a\xe2\x89\xae\xef\xbc\x8e\xdb\x8eSs-\xe2\x80\x8d", true); } // [B2, B3, B5, B6, V3] test { try toUnicodeFail("-\xf2\xb7\x9d\xac\xe1\x8d\x9e\xf0\x91\x9c\xa7.\xe1\xb7\xab-\xef\xb8\x92"); } // [V3, V6, V7] +test { try toAsciiFail("-\xf2\xb7\x9d\xac\xe1\x8d\x9e\xf0\x91\x9c\xa7.\xe1\xb7\xab-\xef\xb8\x92", false); } // [V3, V6, V7] +test { try toAsciiFail("-\xf2\xb7\x9d\xac\xe1\x8d\x9e\xf0\x91\x9c\xa7.\xe1\xb7\xab-\xef\xb8\x92", true); } // [V3, V6, V7] test { try toUnicodeFail("-\xf2\xb7\x9d\xac\xe1\x8d\x9e\xf0\x91\x9c\xa7.\xe1\xb7\xab-\xe3\x80\x82"); } // [V3, V6, V7] +test { try toAsciiFail("-\xf2\xb7\x9d\xac\xe1\x8d\x9e\xf0\x91\x9c\xa7.\xe1\xb7\xab-\xe3\x80\x82", false); } // [V3, V6, V7, A4_2] +test { try toAsciiFail("-\xf2\xb7\x9d\xac\xe1\x8d\x9e\xf0\x91\x9c\xa7.\xe1\xb7\xab-\xe3\x80\x82", true); } // [V3, V6, V7, A4_2] test { try toUnicodeFail("xn----b5h1837n2ok9f.xn----mkm."); } // [V3, V6, V7] +test { try toAsciiFail("xn----b5h1837n2ok9f.xn----mkm.", false); } // [V3, V6, V7, A4_2] +test { try toAsciiFail("xn----b5h1837n2ok9f.xn----mkm.", true); } // [V3, V6, V7, A4_2] test { try toUnicodeFail("xn----b5h1837n2ok9f.xn----mkmw278h"); } // [V3, V6, V7] +test { try toAsciiFail("xn----b5h1837n2ok9f.xn----mkmw278h", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----b5h1837n2ok9f.xn----mkmw278h", true); } // [V3, V6, V7] test { try toUnicodeFail("\xef\xb8\x92.\xf2\x9a\xa0\xa1\xe1\xa9\x99"); } // [V7] +test { try toAsciiFail("\xef\xb8\x92.\xf2\x9a\xa0\xa1\xe1\xa9\x99", false); } // [V7] +test { try toAsciiFail("\xef\xb8\x92.\xf2\x9a\xa0\xa1\xe1\xa9\x99", true); } // [V7] test { try toUnicodeFail("\xe3\x80\x82.\xf2\x9a\xa0\xa1\xe1\xa9\x99"); } // [V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82.\xf2\x9a\xa0\xa1\xe1\xa9\x99", false); } // [V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82.\xf2\x9a\xa0\xa1\xe1\xa9\x99", true); } // [V7, A4_2] test { try toUnicodeFail("..xn--cof61594i"); } // [V7, X4_2] +test { try toAsciiFail("..xn--cof61594i", false); } // [V7, A4_2] +test { try toAsciiFail("..xn--cof61594i", true); } // [V7, A4_2] test { try toUnicodeFail("xn--y86c.xn--cof61594i"); } // [V7] +test { try toAsciiFail("xn--y86c.xn--cof61594i", false); } // [V7] +test { try toAsciiFail("xn--y86c.xn--cof61594i", true); } // [V7] test { try toUnicodeFail("\xcc\xa3\xe2\xb7\xa1\xe3\x80\x82\xe2\x80\x8c\xe2\x93\xbe\xe2\x80\x8c\xda\xb9"); } // [B1, C1, V6] +test { try toAsciiFail("\xcc\xa3\xe2\xb7\xa1\xe3\x80\x82\xe2\x80\x8c\xe2\x93\xbe\xe2\x80\x8c\xda\xb9", false); } // [B1, C1, V6] +test { try toAsciiFail("\xcc\xa3\xe2\xb7\xa1\xe3\x80\x82\xe2\x80\x8c\xe2\x93\xbe\xe2\x80\x8c\xda\xb9", true); } // [B1, V6] test { try toUnicodeFail("xn--kta899s.xn--skb116m"); } // [B1, V6] +test { try toAsciiFail("xn--kta899s.xn--skb116m", false); } // [B1, V6] +test { try toAsciiFail("xn--kta899s.xn--skb116m", true); } // [B1, V6] test { try toUnicodeFail("xn--kta899s.xn--skb970ka771c"); } // [B1, C1, V6] +test { try toAsciiFail("xn--kta899s.xn--skb970ka771c", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--kta899s.xn--skb970ka771c", true); } // [B1, C1, V6] test { try toUnicodeFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xef\xbd\xa1\xe1\x81\xb4\xf0\x9e\xa4\xb5\xf3\xa0\x85\xa6"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xef\xbd\xa1\xe1\x81\xb4\xf0\x9e\xa4\xb5\xf3\xa0\x85\xa6", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xef\xbd\xa1\xe1\x81\xb4\xf0\x9e\xa4\xb5\xf3\xa0\x85\xa6", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xe3\x80\x82\xe1\x81\xb4\xf0\x9e\xa4\xb5\xf3\xa0\x85\xa6"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xe3\x80\x82\xe1\x81\xb4\xf0\x9e\xa4\xb5\xf3\xa0\x85\xa6", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xe3\x80\x82\xe1\x81\xb4\xf0\x9e\xa4\xb5\xf3\xa0\x85\xa6", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xe3\x80\x82\xe1\x81\xb4\xf0\x9e\xa4\x93\xf3\xa0\x85\xa6"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xe3\x80\x82\xe1\x81\xb4\xf0\x9e\xa4\x93\xf3\xa0\x85\xa6", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xe3\x80\x82\xe1\x81\xb4\xf0\x9e\xa4\x93\xf3\xa0\x85\xa6", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("xn--tlb199fwl35a.xn--yld4613v"); } // [B1, B2, V6, V7] +test { try toAsciiFail("xn--tlb199fwl35a.xn--yld4613v", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("xn--tlb199fwl35a.xn--yld4613v", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xef\xbd\xa1\xe1\x81\xb4\xf0\x9e\xa4\x93\xf3\xa0\x85\xa6"); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xef\xbd\xa1\xe1\x81\xb4\xf0\x9e\xa4\x93\xf3\xa0\x85\xa6", false); } // [B1, B2, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa0\xb6\xe1\xa0\xb4\xdb\x9d\xef\xbd\xa1\xe1\x81\xb4\xf0\x9e\xa4\x93\xf3\xa0\x85\xa6", true); } // [B1, B2, V6, V7] test { try toUnicodeFail("\xf0\x91\xb0\xba.-\xf2\x91\x9f\x8f"); } // [V3, V6, V7] +test { try toAsciiFail("\xf0\x91\xb0\xba.-\xf2\x91\x9f\x8f", false); } // [V3, V6, V7] +test { try toAsciiFail("\xf0\x91\xb0\xba.-\xf2\x91\x9f\x8f", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--jk3d.xn----iz68g"); } // [V3, V6, V7] +test { try toAsciiFail("xn--jk3d.xn----iz68g", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--jk3d.xn----iz68g", true); } // [V3, V6, V7] test { try toUnicodeFail("\xf3\xa0\xbb\xa9\xef\xbc\x8e\xe8\xb5\x8f"); } // [V7] +test { try toAsciiFail("\xf3\xa0\xbb\xa9\xef\xbc\x8e\xe8\xb5\x8f", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\xbb\xa9\xef\xbc\x8e\xe8\xb5\x8f", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xbb\xa9.\xe8\xb5\x8f"); } // [V7] +test { try toAsciiFail("\xf3\xa0\xbb\xa9.\xe8\xb5\x8f", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\xbb\xa9.\xe8\xb5\x8f", true); } // [V7] test { try toUnicodeFail("xn--2856e.xn--6o3a"); } // [V7] +test { try toAsciiFail("xn--2856e.xn--6o3a", false); } // [V7] +test { try toAsciiFail("xn--2856e.xn--6o3a", true); } // [V7] test { try toUnicodeFail("\xda\xb0\xe1\xa0\xa1\xef\xbd\xa1\xe1\x82\xa1"); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xef\xbd\xa1\xe1\x82\xa1", false); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xef\xbd\xa1\xe1\x82\xa1", true); } // [B2, B3] test { try toUnicodeFail("\xda\xb0\xe1\xa0\xa1\xe3\x80\x82\xe1\x82\xa1"); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xe3\x80\x82\xe1\x82\xa1", false); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xe3\x80\x82\xe1\x82\xa1", true); } // [B2, B3] test { try toUnicodeFail("\xda\xb0\xe1\xa0\xa1\xe3\x80\x82\xe2\xb4\x81"); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xe3\x80\x82\xe2\xb4\x81", false); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xe3\x80\x82\xe2\xb4\x81", true); } // [B2, B3] test { try toUnicodeFail("xn--jkb440g.xn--skj"); } // [B2, B3] +test { try toAsciiFail("xn--jkb440g.xn--skj", false); } // [B2, B3] +test { try toAsciiFail("xn--jkb440g.xn--skj", true); } // [B2, B3] test { try toUnicodeFail("\xda\xb0\xe1\xa0\xa1\xef\xbd\xa1\xe2\xb4\x81"); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xef\xbd\xa1\xe2\xb4\x81", false); } // [B2, B3] +test { try toAsciiFail("\xda\xb0\xe1\xa0\xa1\xef\xbd\xa1\xe2\xb4\x81", true); } // [B2, B3] test { try toUnicodeFail("xn--jkb440g.xn--8md"); } // [B2, B3, V7] +test { try toAsciiFail("xn--jkb440g.xn--8md", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--jkb440g.xn--8md", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x82\xef\xbd\xa1-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x82\xef\xbd\xa1-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x82\xef\xbd\xa1-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x82\xe3\x80\x82-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x82\xe3\x80\x82-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x82\xe3\x80\x82-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x82\xe3\x80\x82-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x82\xe3\x80\x82-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x82\xe3\x80\x82-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xce\xa3\xe3\x80\x82-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xce\xa3\xe3\x80\x82-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xce\xa3\xe3\x80\x82-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x83\xe3\x80\x82-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x83\xe3\x80\x82-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x83\xe3\x80\x82-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x83\xe3\x80\x82-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x83\xe3\x80\x82-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x83\xe3\x80\x82-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--4xa33mr38aeel.-"); } // [B1, V3, V6] +test { try toAsciiFail("xn--4xa33mr38aeel.-", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--4xa33mr38aeel.-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--3xa53mr38aeel.-"); } // [B1, V3, V6] +test { try toAsciiFail("xn--3xa53mr38aeel.-", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--3xa53mr38aeel.-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x82\xef\xbd\xa1-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x82\xef\xbd\xa1-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x82\xef\xbd\xa1-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xce\xa3\xef\xbd\xa1-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xce\xa3\xef\xbd\xa1-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xce\xa3\xef\xbd\xa1-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x83\xef\xbd\xa1-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x83\xef\xbd\xa1-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe2\xb4\x8a\xda\xbb\xcf\x83\xef\xbd\xa1-", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x83\xef\xbd\xa1-"); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x83\xef\xbd\xa1-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe2\x83\x9e\xe1\x82\xaa\xda\xbb\xcf\x83\xef\xbd\xa1-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--4xa33m7zmb0q.-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--4xa33m7zmb0q.-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--4xa33m7zmb0q.-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--3xa53m7zmb0q.-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--3xa53m7zmb0q.-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--3xa53m7zmb0q.-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\x82\xad\xef\xbc\x8e\xf1\x8d\x87\xa6\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xad\xef\xbc\x8e\xf1\x8d\x87\xa6\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xad\xef\xbc\x8e\xf1\x8d\x87\xa6\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xad.\xf1\x8d\x87\xa6\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xad.\xf1\x8d\x87\xa6\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe1\x82\xad.\xf1\x8d\x87\xa6\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x8d.\xf1\x8d\x87\xa6\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x8d.\xf1\x8d\x87\xa6\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x8d.\xf1\x8d\x87\xa6\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--4kj.xn--p01x"); } // [V7] +test { try toAsciiFail("xn--4kj.xn--p01x", false); } // [V7] +test { try toAsciiFail("xn--4kj.xn--p01x", true); } // [V7] test { try toUnicodeFail("xn--4kj.xn--0ug56448b"); } // [C1, V7] +test { try toAsciiFail("xn--4kj.xn--0ug56448b", false); } // [C1, V7] +test { try toAsciiFail("xn--4kj.xn--0ug56448b", true); } // [C1, V7] test { try toUnicodeFail("\xe2\xb4\x8d\xef\xbc\x8e\xf1\x8d\x87\xa6\xe2\x80\x8c"); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x8d\xef\xbc\x8e\xf1\x8d\x87\xa6\xe2\x80\x8c", false); } // [C1, V7] +test { try toAsciiFail("\xe2\xb4\x8d\xef\xbc\x8e\xf1\x8d\x87\xa6\xe2\x80\x8c", true); } // [V7] test { try toUnicodeFail("xn--lnd.xn--p01x"); } // [V7] +test { try toAsciiFail("xn--lnd.xn--p01x", false); } // [V7] +test { try toAsciiFail("xn--lnd.xn--p01x", true); } // [V7] test { try toUnicodeFail("xn--lnd.xn--0ug56448b"); } // [C1, V7] +test { try toAsciiFail("xn--lnd.xn--0ug56448b", false); } // [C1, V7] +test { try toAsciiFail("xn--lnd.xn--0ug56448b", true); } // [C1, V7] test { try toUnicodeFail("\xf2\x89\x9f\x82\xf3\xa0\xb5\xa3.\xf0\x90\xab\xab\xe1\xa9\xa0\xf3\xb4\xba\x96\xe1\xad\x84"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf2\x89\x9f\x82\xf3\xa0\xb5\xa3.\xf0\x90\xab\xab\xe1\xa9\xa0\xf3\xb4\xba\x96\xe1\xad\x84", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf2\x89\x9f\x82\xf3\xa0\xb5\xa3.\xf0\x90\xab\xab\xe1\xa9\xa0\xf3\xb4\xba\x96\xe1\xad\x84", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("xn--9u37blu98h.xn--jof13bt568cork1j"); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn--9u37blu98h.xn--jof13bt568cork1j", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn--9u37blu98h.xn--jof13bt568cork1j", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xe2\x89\xaf\xe2\x9d\x8a\xe1\xa0\xaf\xef\xbd\xa1\xf0\x90\xb9\xb1\xe2\xba\xa8"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x9d\x8a\xe1\xa0\xaf\xef\xbd\xa1\xf0\x90\xb9\xb1\xe2\xba\xa8", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x9d\x8a\xe1\xa0\xaf\xef\xbd\xa1\xf0\x90\xb9\xb1\xe2\xba\xa8", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xe2\x9d\x8a\xe1\xa0\xaf\xef\xbd\xa1\xf0\x90\xb9\xb1\xe2\xba\xa8"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xe2\x9d\x8a\xe1\xa0\xaf\xef\xbd\xa1\xf0\x90\xb9\xb1\xe2\xba\xa8", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xe2\x9d\x8a\xe1\xa0\xaf\xef\xbd\xa1\xf0\x90\xb9\xb1\xe2\xba\xa8", true); } // [B1] test { try toUnicodeFail("\xe2\x89\xaf\xe2\x9d\x8a\xe1\xa0\xaf\xe3\x80\x82\xf0\x90\xb9\xb1\xe2\xba\xa8"); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x9d\x8a\xe1\xa0\xaf\xe3\x80\x82\xf0\x90\xb9\xb1\xe2\xba\xa8", false); } // [B1] +test { try toAsciiFail("\xe2\x89\xaf\xe2\x9d\x8a\xe1\xa0\xaf\xe3\x80\x82\xf0\x90\xb9\xb1\xe2\xba\xa8", true); } // [B1] test { try toUnicodeFail(">\xcc\xb8\xe2\x9d\x8a\xe1\xa0\xaf\xe3\x80\x82\xf0\x90\xb9\xb1\xe2\xba\xa8"); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xe2\x9d\x8a\xe1\xa0\xaf\xe3\x80\x82\xf0\x90\xb9\xb1\xe2\xba\xa8", false); } // [B1] +test { try toAsciiFail(">\xcc\xb8\xe2\x9d\x8a\xe1\xa0\xaf\xe3\x80\x82\xf0\x90\xb9\xb1\xe2\xba\xa8", true); } // [B1] test { try toUnicodeFail("xn--i7e163ct2d.xn--vwj7372e"); } // [B1] +test { try toAsciiFail("xn--i7e163ct2d.xn--vwj7372e", false); } // [B1] +test { try toAsciiFail("xn--i7e163ct2d.xn--vwj7372e", true); } // [B1] test { try toUnicodeFail("\xf4\x81\x95\x9c\xf0\x90\xb9\xa7\xf0\x9e\xad\x81\xf0\x90\xb9\xa9\xe3\x80\x82\xe1\x82\xa8\xf0\x90\xab\xae\xe1\x82\xaf"); } // [B5, B6, V7] +test { try toAsciiFail("\xf4\x81\x95\x9c\xf0\x90\xb9\xa7\xf0\x9e\xad\x81\xf0\x90\xb9\xa9\xe3\x80\x82\xe1\x82\xa8\xf0\x90\xab\xae\xe1\x82\xaf", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf4\x81\x95\x9c\xf0\x90\xb9\xa7\xf0\x9e\xad\x81\xf0\x90\xb9\xa9\xe3\x80\x82\xe1\x82\xa8\xf0\x90\xab\xae\xe1\x82\xaf", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf4\x81\x95\x9c\xf0\x90\xb9\xa7\xf0\x9e\xad\x81\xf0\x90\xb9\xa9\xe3\x80\x82\xe2\xb4\x88\xf0\x90\xab\xae\xe2\xb4\x8f"); } // [B5, B6, V7] +test { try toAsciiFail("\xf4\x81\x95\x9c\xf0\x90\xb9\xa7\xf0\x9e\xad\x81\xf0\x90\xb9\xa9\xe3\x80\x82\xe2\xb4\x88\xf0\x90\xab\xae\xe2\xb4\x8f", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf4\x81\x95\x9c\xf0\x90\xb9\xa7\xf0\x9e\xad\x81\xf0\x90\xb9\xa9\xe3\x80\x82\xe2\xb4\x88\xf0\x90\xab\xae\xe2\xb4\x8f", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--fo0de1270ope54j.xn--zkjo0151o"); } // [B5, B6, V7] +test { try toAsciiFail("xn--fo0de1270ope54j.xn--zkjo0151o", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--fo0de1270ope54j.xn--zkjo0151o", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--fo0de1270ope54j.xn--gndo2033q"); } // [B5, B6, V7] +test { try toAsciiFail("xn--fo0de1270ope54j.xn--gndo2033q", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--fo0de1270ope54j.xn--gndo2033q", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x9e\xa0\x82\xe3\x80\x82\xea\xa4\xa6"); } // [B1, V6] +test { try toAsciiFail("\xf0\x9e\xa0\x82\xe3\x80\x82\xea\xa4\xa6", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x9e\xa0\x82\xe3\x80\x82\xea\xa4\xa6", true); } // [B1, V6] test { try toUnicodeFail("xn--145h.xn--ti9a"); } // [B1, V6] +test { try toAsciiFail("xn--145h.xn--ti9a", false); } // [B1, V6] +test { try toAsciiFail("xn--145h.xn--ti9a", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x9d\x9f\x94\xf0\x90\xb9\xab\xef\xbc\x8e\xdc\xb3\xe1\x80\xb7\xef\xbc\x99\xea\xa1\x87"); } // [B1, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x94\xf0\x90\xb9\xab\xef\xbc\x8e\xdc\xb3\xe1\x80\xb7\xef\xbc\x99\xea\xa1\x87", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x94\xf0\x90\xb9\xab\xef\xbc\x8e\xdc\xb3\xe1\x80\xb7\xef\xbc\x99\xea\xa1\x87", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x9d\x9f\x94\xf0\x90\xb9\xab\xef\xbc\x8e\xe1\x80\xb7\xdc\xb3\xef\xbc\x99\xea\xa1\x87"); } // [B1, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x94\xf0\x90\xb9\xab\xef\xbc\x8e\xe1\x80\xb7\xdc\xb3\xef\xbc\x99\xea\xa1\x87", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x94\xf0\x90\xb9\xab\xef\xbc\x8e\xe1\x80\xb7\xdc\xb3\xef\xbc\x99\xea\xa1\x87", true); } // [B1, V6] test { try toUnicodeFail("6\xf0\x90\xb9\xab.\xe1\x80\xb7\xdc\xb39\xea\xa1\x87"); } // [B1, V6] +test { try toAsciiFail("6\xf0\x90\xb9\xab.\xe1\x80\xb7\xdc\xb39\xea\xa1\x87", false); } // [B1, V6] +test { try toAsciiFail("6\xf0\x90\xb9\xab.\xe1\x80\xb7\xdc\xb39\xea\xa1\x87", true); } // [B1, V6] test { try toUnicodeFail("xn--6-t26i.xn--9-91c730e8u8n"); } // [B1, V6] +test { try toAsciiFail("xn--6-t26i.xn--9-91c730e8u8n", false); } // [B1, V6] +test { try toAsciiFail("xn--6-t26i.xn--9-91c730e8u8n", true); } // [B1, V6] test { try toUnicodeFail("\xdc\xa4\xd8\x83\xf0\x9e\xb2\xb6\xef\xbc\x8e\xdb\x98"); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xa4\xd8\x83\xf0\x9e\xb2\xb6\xef\xbc\x8e\xdb\x98", false); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xa4\xd8\x83\xf0\x9e\xb2\xb6\xef\xbc\x8e\xdb\x98", true); } // [B1, V6, V7] test { try toUnicodeFail("\xdc\xa4\xd8\x83\xf0\x9e\xb2\xb6.\xdb\x98"); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xa4\xd8\x83\xf0\x9e\xb2\xb6.\xdb\x98", false); } // [B1, V6, V7] +test { try toAsciiFail("\xdc\xa4\xd8\x83\xf0\x9e\xb2\xb6.\xdb\x98", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--lfb19ct414i.xn--olb"); } // [B1, V6, V7] +test { try toAsciiFail("xn--lfb19ct414i.xn--olb", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--lfb19ct414i.xn--olb", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x9c\x86\xf1\xb1\x94\xa9\xea\xa1\x8b\xef\xbc\x8e\xd8\xb2\xe2\x80\x8d\xf0\x9e\xa3\xb4"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x9c\x86\xf1\xb1\x94\xa9\xea\xa1\x8b\xef\xbc\x8e\xd8\xb2\xe2\x80\x8d\xf0\x9e\xa3\xb4", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x9c\x86\xf1\xb1\x94\xa9\xea\xa1\x8b\xef\xbc\x8e\xd8\xb2\xe2\x80\x8d\xf0\x9e\xa3\xb4", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x9c\x86\xf1\xb1\x94\xa9\xea\xa1\x8b.\xd8\xb2\xe2\x80\x8d\xf0\x9e\xa3\xb4"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x9c\x86\xf1\xb1\x94\xa9\xea\xa1\x8b.\xd8\xb2\xe2\x80\x8d\xf0\x9e\xa3\xb4", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x9c\x86\xf1\xb1\x94\xa9\xea\xa1\x8b.\xd8\xb2\xe2\x80\x8d\xf0\x9e\xa3\xb4", true); } // [B1, V7] test { try toUnicodeFail("xn--1biv525bcix0d.xn--xgb6828v"); } // [B1, V7] +test { try toAsciiFail("xn--1biv525bcix0d.xn--xgb6828v", false); } // [B1, V7] +test { try toAsciiFail("xn--1biv525bcix0d.xn--xgb6828v", true); } // [B1, V7] test { try toUnicodeFail("xn--1biv525bcix0d.xn--xgb253k0m73a"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1biv525bcix0d.xn--xgb253k0m73a", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1biv525bcix0d.xn--xgb253k0m73a", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xf0\x9e\xb8\x8d-\xef\xbc\x8e\xe2\x89\xa0\xf2\x83\x81\x9f\xf0\x91\x8b\xaa"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xf0\x9e\xb8\x8d-\xef\xbc\x8e\xe2\x89\xa0\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xf0\x9e\xb8\x8d-\xef\xbc\x8e\xe2\x89\xa0\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xf0\x9e\xb8\x8d-\xef\xbc\x8e=\xcc\xb8\xf2\x83\x81\x9f\xf0\x91\x8b\xaa"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xf0\x9e\xb8\x8d-\xef\xbc\x8e=\xcc\xb8\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xf0\x9e\xb8\x8d-\xef\xbc\x8e=\xcc\xb8\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xd9\x86-.\xe2\x89\xa0\xf2\x83\x81\x9f\xf0\x91\x8b\xaa"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xd9\x86-.\xe2\x89\xa0\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xd9\x86-.\xe2\x89\xa0\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xd9\x86-.=\xcc\xb8\xf2\x83\x81\x9f\xf0\x91\x8b\xaa"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xd9\x86-.=\xcc\xb8\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xe0\xa1\x85\xf1\x83\xbe\xb0\xd9\x86-.=\xcc\xb8\xf2\x83\x81\x9f\xf0\x91\x8b\xaa", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn----qoc64my971s.xn--1ch7585g76o3c"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn----qoc64my971s.xn--1ch7585g76o3c", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn----qoc64my971s.xn--1ch7585g76o3c", true); } // [B1, B2, B3, V3, V7] test { try toUnicodePass("\xf0\x9d\x9f\x9b\xef\xbc\x8e\xef\xa7\xb8", "3.\xe7\xac\xa0"); } test { try toAsciiPass("\xf0\x9d\x9f\x9b\xef\xbc\x8e\xef\xa7\xb8", "3.xn--6vz", false); } test { try toAsciiPass("\xf0\x9d\x9f\x9b\xef\xbc\x8e\xef\xa7\xb8", "3.xn--6vz", true); } @@ -6219,187 +15357,530 @@ test { try toUnicodePass("3.xn--6vz", "3.\xe7\xac\xa0"); } test { try toAsciiPass("3.xn--6vz", "3.xn--6vz", false); } test { try toAsciiPass("3.xn--6vz", "3.xn--6vz", true); } test { try toUnicodeFail("-\xe2\x80\x8d.\xe1\x82\xbe\xf0\x90\x8b\xb7"); } // [C2, V3] +test { try toAsciiFail("-\xe2\x80\x8d.\xe1\x82\xbe\xf0\x90\x8b\xb7", false); } // [C2, V3] +test { try toAsciiFail("-\xe2\x80\x8d.\xe1\x82\xbe\xf0\x90\x8b\xb7", true); } // [V3] test { try toUnicodeFail("-\xe2\x80\x8d.\xe2\xb4\x9e\xf0\x90\x8b\xb7"); } // [C2, V3] +test { try toAsciiFail("-\xe2\x80\x8d.\xe2\xb4\x9e\xf0\x90\x8b\xb7", false); } // [C2, V3] +test { try toAsciiFail("-\xe2\x80\x8d.\xe2\xb4\x9e\xf0\x90\x8b\xb7", true); } // [V3] test { try toUnicodeFail("-.xn--mlj8559d"); } // [V3] +test { try toAsciiFail("-.xn--mlj8559d", false); } // [V3] +test { try toAsciiFail("-.xn--mlj8559d", true); } // [V3] test { try toUnicodeFail("xn----ugn.xn--mlj8559d"); } // [C2, V3] +test { try toAsciiFail("xn----ugn.xn--mlj8559d", false); } // [C2, V3] +test { try toAsciiFail("xn----ugn.xn--mlj8559d", true); } // [C2, V3] test { try toUnicodeFail("-.xn--2nd2315j"); } // [V3, V7] +test { try toAsciiFail("-.xn--2nd2315j", false); } // [V3, V7] +test { try toAsciiFail("-.xn--2nd2315j", true); } // [V3, V7] test { try toUnicodeFail("xn----ugn.xn--2nd2315j"); } // [C2, V3, V7] +test { try toAsciiFail("xn----ugn.xn--2nd2315j", false); } // [C2, V3, V7] +test { try toAsciiFail("xn----ugn.xn--2nd2315j", true); } // [C2, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xcf\x82\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x82\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x82\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xcf\x82\xc3\x9f\xdc\xb1.\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x82\xc3\x9f\xdc\xb1.\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x82\xc3\x9f\xdc\xb1.\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xce\xa3SS\xdc\xb1.\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3SS\xdc\xb1.\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3SS\xdc\xb1.\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xcf\x83ss\xdc\xb1.\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83ss\xdc\xb1.\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83ss\xdc\xb1.\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xce\xa3ss\xdc\xb1.\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3ss\xdc\xb1.\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3ss\xdc\xb1.\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("xn--ss-ubc826a.xn--xmc"); } // [V6] +test { try toAsciiFail("xn--ss-ubc826a.xn--xmc", false); } // [V6] +test { try toAsciiFail("xn--ss-ubc826a.xn--xmc", true); } // [V6] test { try toUnicodeFail("xn--ss-ubc826ab34b.xn--xmc"); } // [C2, V6] +test { try toAsciiFail("xn--ss-ubc826ab34b.xn--xmc", false); } // [C2, V6] +test { try toAsciiFail("xn--ss-ubc826ab34b.xn--xmc", true); } // [C2, V6] test { try toUnicodeFail("\xe2\x80\x8d\xce\xa3\xc3\x9f\xdc\xb1.\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3\xc3\x9f\xdc\xb1.\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3\xc3\x9f\xdc\xb1.\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xcf\x83\xc3\x9f\xdc\xb1.\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83\xc3\x9f\xdc\xb1.\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83\xc3\x9f\xdc\xb1.\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("xn--zca39lk1di19a.xn--xmc"); } // [C2, V6] +test { try toAsciiFail("xn--zca39lk1di19a.xn--xmc", false); } // [C2, V6] +test { try toAsciiFail("xn--zca39lk1di19a.xn--xmc", true); } // [C2, V6] test { try toUnicodeFail("xn--zca19ln1di19a.xn--xmc"); } // [C2, V6] +test { try toAsciiFail("xn--zca19ln1di19a.xn--xmc", false); } // [C2, V6] +test { try toAsciiFail("xn--zca19ln1di19a.xn--xmc", true); } // [C2, V6] test { try toUnicodeFail("\xe2\x80\x8d\xce\xa3SS\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3SS\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3SS\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xcf\x83ss\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83ss\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83ss\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xce\xa3ss\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3ss\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3ss\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xce\xa3\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xce\xa3\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x80\x8d\xcf\x83\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d"); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", false); } // [C2, V6] +test { try toAsciiFail("\xe2\x80\x8d\xcf\x83\xc3\x9f\xdc\xb1\xef\xbc\x8e\xe0\xaf\x8d", true); } // [V6] test { try toUnicodeFail("\xe2\x89\xa0\xef\xbc\x8e\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xe2\x89\xa0\xef\xbc\x8e\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("\xe2\x89\xa0\xef\xbc\x8e\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("=\xcc\xb8\xef\xbc\x8e\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("=\xcc\xb8\xef\xbc\x8e\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("=\xcc\xb8\xef\xbc\x8e\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("\xe2\x89\xa0.\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xe2\x89\xa0.\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("\xe2\x89\xa0.\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodeFail("=\xcc\xb8.\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("=\xcc\xb8.\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("=\xcc\xb8.\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodePass("xn--1ch.", "\xe2\x89\xa0."); } +test { try toAsciiFail("xn--1ch.", false); } // [A4_2] +test { try toAsciiFail("xn--1ch.", true); } // [A4_2] test { try toUnicodePass("\xe2\x89\xa0.", "\xe2\x89\xa0."); } +test { try toAsciiFail("\xe2\x89\xa0.", false); } // [A4_2] +test { try toAsciiFail("\xe2\x89\xa0.", true); } // [A4_2] test { try toUnicodePass("=\xcc\xb8.", "\xe2\x89\xa0."); } +test { try toAsciiFail("=\xcc\xb8.", false); } // [A4_2] +test { try toAsciiFail("=\xcc\xb8.", true); } // [A4_2] test { try toUnicodeFail("xn--1ch.xn--1ug"); } // [C2] +test { try toAsciiFail("xn--1ch.xn--1ug", false); } // [C2] +test { try toAsciiFail("xn--1ch.xn--1ug", true); } // [C2] test { try toUnicodeFail("\xef\xb0\x81\xef\xbd\xa1\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b"); } // [B1, V6, V7] +test { try toAsciiFail("\xef\xb0\x81\xef\xbd\xa1\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b", false); } // [B1, V6, V7] +test { try toAsciiFail("\xef\xb0\x81\xef\xbd\xa1\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd8\xa6\xd8\xad\xe3\x80\x82\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b"); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\xa6\xd8\xad\xe3\x80\x82\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd8\xa6\xd8\xad\xe3\x80\x82\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd9\x8a\xd9\x94\xd8\xad\xe3\x80\x82\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b"); } // [B1, V6, V7] +test { try toAsciiFail("\xd9\x8a\xd9\x94\xd8\xad\xe3\x80\x82\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b", false); } // [B1, V6, V7] +test { try toAsciiFail("\xd9\x8a\xd9\x94\xd8\xad\xe3\x80\x82\xe0\xb2\x81\xe1\xa0\xbc\xe2\x96\x97\xf2\x92\x81\x8b", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--lgbo.xn--2rc021dcxkrx55t"); } // [B1, V6, V7] +test { try toAsciiFail("xn--lgbo.xn--2rc021dcxkrx55t", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--lgbo.xn--2rc021dcxkrx55t", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x82\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x82\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x82\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x82.\xcf\x82\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x82.\xcf\x82\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x82.\xcf\x82\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xce\xa3\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xce\xa3\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xce\xa3\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83.\xcf\x82\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83.\xcf\x82\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83.\xcf\x82\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83.\xcf\x83\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83.\xcf\x83\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83.\xcf\x83\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xcf\x83\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xcf\x83\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xcf\x83\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("xn--4xa502av8297a.xn--4xa6055k"); } // [V7] +test { try toAsciiFail("xn--4xa502av8297a.xn--4xa6055k", false); } // [V7] +test { try toAsciiFail("xn--4xa502av8297a.xn--4xa6055k", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xcf\x82\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xcf\x82\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3.\xcf\x82\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("xn--4xa502av8297a.xn--3xa8055k"); } // [V7] +test { try toAsciiFail("xn--4xa502av8297a.xn--3xa8055k", false); } // [V7] +test { try toAsciiFail("xn--4xa502av8297a.xn--3xa8055k", true); } // [V7] test { try toUnicodeFail("xn--3xa702av8297a.xn--3xa8055k"); } // [V7] +test { try toAsciiFail("xn--3xa702av8297a.xn--3xa8055k", false); } // [V7] +test { try toAsciiFail("xn--3xa702av8297a.xn--3xa8055k", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xce\xa3\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xce\xa3\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xce\xa3\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83\xef\xbc\x8e\xcf\x83\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83\xef\xbc\x8e\xcf\x83\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xcf\x83\xef\xbc\x8e\xcf\x83\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xcf\x83\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xcf\x83\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xcf\x83\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf"); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf", false); } // [V7] +test { try toAsciiFail("\xf3\xa7\x8b\xb5\xe0\xa7\x8d\xce\xa3\xef\xbc\x8e\xcf\x82\xf0\x90\xa8\xbf", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xef\xbd\xa1\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe1\x82\xb9"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xef\xbd\xa1\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe1\x82\xb9", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xef\xbd\xa1\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe1\x82\xb9", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xe3\x80\x82\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe1\x82\xb9"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xe3\x80\x82\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe1\x82\xb9", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xe3\x80\x82\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe1\x82\xb9", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xe3\x80\x82\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe2\xb4\x99"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xe3\x80\x82\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe2\xb4\x99", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xe3\x80\x82\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe2\xb4\x99", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--zsb09cu46vjs6f.xn--gmf469fr883am5r1e"); } // [B2, B3, V7] +test { try toAsciiFail("xn--zsb09cu46vjs6f.xn--gmf469fr883am5r1e", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--zsb09cu46vjs6f.xn--gmf469fr883am5r1e", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xef\xbd\xa1\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe2\xb4\x99"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xef\xbd\xa1\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe2\xb4\x99", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xab\x93\xdf\x98\xe7\x89\x85\xe0\xa3\xb8\xef\xbd\xa1\xf0\x9e\xa6\xa4\xe1\xa8\x97\xf2\xb1\x8d\xb0\xe2\xb4\x99", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--zsb09cu46vjs6f.xn--xnd909bv540bm5k9d"); } // [B2, B3, V7] +test { try toAsciiFail("xn--zsb09cu46vjs6f.xn--xnd909bv540bm5k9d", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--zsb09cu46vjs6f.xn--xnd909bv540bm5k9d", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf1\xa3\xa4\x92\xef\xbd\xa1\xeb\xa5\xa7"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xef\xbd\xa1\xeb\xa5\xa7", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xef\xbd\xa1\xeb\xa5\xa7", true); } // [V7] test { try toUnicodeFail("\xf1\xa3\xa4\x92\xef\xbd\xa1\xe1\x84\x85\xe1\x85\xb2\xe1\x86\xb6"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xef\xbd\xa1\xe1\x84\x85\xe1\x85\xb2\xe1\x86\xb6", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xef\xbd\xa1\xe1\x84\x85\xe1\x85\xb2\xe1\x86\xb6", true); } // [V7] test { try toUnicodeFail("\xf1\xa3\xa4\x92\xe3\x80\x82\xeb\xa5\xa7"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xe3\x80\x82\xeb\xa5\xa7", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xe3\x80\x82\xeb\xa5\xa7", true); } // [V7] test { try toUnicodeFail("\xf1\xa3\xa4\x92\xe3\x80\x82\xe1\x84\x85\xe1\x85\xb2\xe1\x86\xb6"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xe3\x80\x82\xe1\x84\x85\xe1\x85\xb2\xe1\x86\xb6", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xa4\x92\xe3\x80\x82\xe1\x84\x85\xe1\x85\xb2\xe1\x86\xb6", true); } // [V7] test { try toUnicodeFail("xn--s264a.xn--pw2b"); } // [V7] +test { try toAsciiFail("xn--s264a.xn--pw2b", false); } // [V7] +test { try toAsciiFail("xn--s264a.xn--pw2b", true); } // [V7] test { try toUnicodeFail("\xf0\x90\xb9\xb7\xe2\x80\x8d\xe3\x80\x82\xf3\x89\xb5\xa2"); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb7\xe2\x80\x8d\xe3\x80\x82\xf3\x89\xb5\xa2", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf0\x90\xb9\xb7\xe2\x80\x8d\xe3\x80\x82\xf3\x89\xb5\xa2", true); } // [B1, V7] test { try toUnicodeFail("xn--vo0d.xn--8088d"); } // [B1, V7] +test { try toAsciiFail("xn--vo0d.xn--8088d", false); } // [B1, V7] +test { try toAsciiFail("xn--vo0d.xn--8088d", true); } // [B1, V7] test { try toUnicodeFail("xn--1ugx205g.xn--8088d"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugx205g.xn--8088d", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugx205g.xn--8088d", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe1\x82\xb8\xdb\x82\xf0\x91\xb2\xad\xef\xbd\xa1-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x82\xf0\x91\xb2\xad\xef\xbd\xa1-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x82\xf0\x91\xb2\xad\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe1\x82\xb8\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xef\xbd\xa1-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xef\xbd\xa1-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe1\x82\xb8\xdb\x82\xf0\x91\xb2\xad\xe3\x80\x82-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x82\xf0\x91\xb2\xad\xe3\x80\x82-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x82\xf0\x91\xb2\xad\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe1\x82\xb8\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xe3\x80\x82-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xe3\x80\x82-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe1\x82\xb8\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\xb4\x98\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xe3\x80\x82-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xe3\x80\x82-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\xb4\x98\xdb\x82\xf0\x91\xb2\xad\xe3\x80\x82-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x82\xf0\x91\xb2\xad\xe3\x80\x82-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x82\xf0\x91\xb2\xad\xe3\x80\x82-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn--1kb147qfk3n.-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--1kb147qfk3n.-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--1kb147qfk3n.-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\xb4\x98\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xef\xbd\xa1-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xef\xbd\xa1-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x81\xd9\x94\xf0\x91\xb2\xad\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xe2\xb4\x98\xdb\x82\xf0\x91\xb2\xad\xef\xbd\xa1-"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x82\xf0\x91\xb2\xad\xef\xbd\xa1-", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe2\xb4\x98\xdb\x82\xf0\x91\xb2\xad\xef\xbd\xa1-", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn--1kb312c139t.-"); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn--1kb312c139t.-", false); } // [B1, B5, B6, V3, V7] +test { try toAsciiFail("xn--1kb312c139t.-", true); } // [B1, B5, B6, V3, V7] test { try toUnicodeFail("\xea\xa0\x86\xd9\xbb\xe2\x82\x86\xe1\xa1\x90\xe3\x80\x82\xf0\x9f\x9b\x87\xef\xb3\x9d"); } // [B1, V6] +test { try toAsciiFail("\xea\xa0\x86\xd9\xbb\xe2\x82\x86\xe1\xa1\x90\xe3\x80\x82\xf0\x9f\x9b\x87\xef\xb3\x9d", false); } // [B1, V6] +test { try toAsciiFail("\xea\xa0\x86\xd9\xbb\xe2\x82\x86\xe1\xa1\x90\xe3\x80\x82\xf0\x9f\x9b\x87\xef\xb3\x9d", true); } // [B1, V6] test { try toUnicodeFail("\xea\xa0\x86\xd9\xbb6\xe1\xa1\x90\xe3\x80\x82\xf0\x9f\x9b\x87\xd9\x8a\xd9\x85"); } // [B1, V6] +test { try toAsciiFail("\xea\xa0\x86\xd9\xbb6\xe1\xa1\x90\xe3\x80\x82\xf0\x9f\x9b\x87\xd9\x8a\xd9\x85", false); } // [B1, V6] +test { try toAsciiFail("\xea\xa0\x86\xd9\xbb6\xe1\xa1\x90\xe3\x80\x82\xf0\x9f\x9b\x87\xd9\x8a\xd9\x85", true); } // [B1, V6] test { try toUnicodeFail("xn--6-rrc018krt9k.xn--hhbj61429a"); } // [B1, V6] +test { try toAsciiFail("xn--6-rrc018krt9k.xn--hhbj61429a", false); } // [B1, V6] +test { try toAsciiFail("xn--6-rrc018krt9k.xn--hhbj61429a", true); } // [B1, V6] test { try toUnicodeFail("\xf2\xb8\x8d\x82.\xe3\x87\x84\xe1\xa1\x9f\xf0\x90\xab\x82\xd8\xa2"); } // [B1, V7] +test { try toAsciiFail("\xf2\xb8\x8d\x82.\xe3\x87\x84\xe1\xa1\x9f\xf0\x90\xab\x82\xd8\xa2", false); } // [B1, V7] +test { try toAsciiFail("\xf2\xb8\x8d\x82.\xe3\x87\x84\xe1\xa1\x9f\xf0\x90\xab\x82\xd8\xa2", true); } // [B1, V7] test { try toUnicodeFail("\xf2\xb8\x8d\x82.\xe3\x87\x84\xe1\xa1\x9f\xf0\x90\xab\x82\xd8\xa7\xd9\x93"); } // [B1, V7] +test { try toAsciiFail("\xf2\xb8\x8d\x82.\xe3\x87\x84\xe1\xa1\x9f\xf0\x90\xab\x82\xd8\xa7\xd9\x93", false); } // [B1, V7] +test { try toAsciiFail("\xf2\xb8\x8d\x82.\xe3\x87\x84\xe1\xa1\x9f\xf0\x90\xab\x82\xd8\xa7\xd9\x93", true); } // [B1, V7] test { try toUnicodeFail("xn--p292d.xn--hgb154ghrsvm2r"); } // [B1, V7] +test { try toAsciiFail("xn--p292d.xn--hgb154ghrsvm2r", false); } // [B1, V7] +test { try toAsciiFail("xn--p292d.xn--hgb154ghrsvm2r", true); } // [B1, V7] test { try toUnicodeFail("\xdf\x9f\xf2\xb5\x9a\x8c\xe3\x80\x82-\xdf\xa9"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdf\x9f\xf2\xb5\x9a\x8c\xe3\x80\x82-\xdf\xa9", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdf\x9f\xf2\xb5\x9a\x8c\xe3\x80\x82-\xdf\xa9", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn--6sb88139l.xn----pdd"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--6sb88139l.xn----pdd", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--6sb88139l.xn----pdd", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xcf\x82\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xcf\x82\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xcf\x82\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88", true); } // [B5, V7] test { try toUnicodeFail("\xcf\x82\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1."); } // [B1, B5, C1] +test { try toAsciiFail("\xcf\x82\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1.", false); } // [B1, B5, C1, A4_2] +test { try toAsciiFail("\xcf\x82\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1.", true); } // [B5, A4_2] test { try toUnicodeFail("\xce\xa3\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1."); } // [B1, B5, C1] +test { try toAsciiFail("\xce\xa3\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1.", false); } // [B1, B5, C1, A4_2] +test { try toAsciiFail("\xce\xa3\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1.", true); } // [B5, A4_2] test { try toUnicodeFail("\xcf\x83\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1."); } // [B1, B5, C1] +test { try toAsciiFail("\xcf\x83\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1.", false); } // [B1, B5, C1, A4_2] +test { try toAsciiFail("\xcf\x83\xd9\x83\xe8\xa5\xbe.\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c1.", true); } // [B5, A4_2] test { try toUnicodeFail("xn--4xa49jux8r.xn--1-4ck."); } // [B5] +test { try toAsciiFail("xn--4xa49jux8r.xn--1-4ck.", false); } // [B5, A4_2] +test { try toAsciiFail("xn--4xa49jux8r.xn--1-4ck.", true); } // [B5, A4_2] test { try toUnicodeFail("xn--4xa49jux8r.xn--1-4ck691bba."); } // [B1, B5, C1] +test { try toAsciiFail("xn--4xa49jux8r.xn--1-4ck691bba.", false); } // [B1, B5, C1, A4_2] +test { try toAsciiFail("xn--4xa49jux8r.xn--1-4ck691bba.", true); } // [B1, B5, C1, A4_2] test { try toUnicodeFail("xn--3xa69jux8r.xn--1-4ck691bba."); } // [B1, B5, C1] +test { try toAsciiFail("xn--3xa69jux8r.xn--1-4ck691bba.", false); } // [B1, B5, C1, A4_2] +test { try toAsciiFail("xn--3xa69jux8r.xn--1-4ck691bba.", true); } // [B1, B5, C1, A4_2] test { try toUnicodeFail("\xce\xa3\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xce\xa3\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xce\xa3\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88", true); } // [B5, V7] test { try toUnicodeFail("\xcf\x83\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xcf\x83\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xcf\x83\xd9\x83\xe2\xbe\x91\xef\xbc\x8e\xe2\x80\x8c\xe1\xa2\x9f\xe2\x80\x8c\xe2\x92\x88", true); } // [B5, V7] test { try toUnicodeFail("xn--4xa49jux8r.xn--pbf212d"); } // [B5, V7] +test { try toAsciiFail("xn--4xa49jux8r.xn--pbf212d", false); } // [B5, V7] +test { try toAsciiFail("xn--4xa49jux8r.xn--pbf212d", true); } // [B5, V7] test { try toUnicodeFail("xn--4xa49jux8r.xn--pbf519aba607b"); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--4xa49jux8r.xn--pbf519aba607b", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--4xa49jux8r.xn--pbf519aba607b", true); } // [B1, B5, C1, V7] test { try toUnicodeFail("xn--3xa69jux8r.xn--pbf519aba607b"); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--3xa69jux8r.xn--pbf519aba607b", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--3xa69jux8r.xn--pbf519aba607b", true); } // [B1, B5, C1, V7] test { try toUnicodeFail("\xe1\xa1\x86\xf0\x91\x93\x9d\xef\xbc\x8e\xf0\x9e\xb5\x86"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x86\xf0\x91\x93\x9d\xef\xbc\x8e\xf0\x9e\xb5\x86", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x86\xf0\x91\x93\x9d\xef\xbc\x8e\xf0\x9e\xb5\x86", true); } // [V7] test { try toUnicodeFail("\xe1\xa1\x86\xf0\x91\x93\x9d.\xf0\x9e\xb5\x86"); } // [V7] +test { try toAsciiFail("\xe1\xa1\x86\xf0\x91\x93\x9d.\xf0\x9e\xb5\x86", false); } // [V7] +test { try toAsciiFail("\xe1\xa1\x86\xf0\x91\x93\x9d.\xf0\x9e\xb5\x86", true); } // [V7] test { try toUnicodeFail("xn--57e0440k.xn--k86h"); } // [V7] +test { try toAsciiFail("xn--57e0440k.xn--k86h", false); } // [V7] +test { try toAsciiFail("xn--57e0440k.xn--k86h", true); } // [V7] test { try toUnicodeFail("\xe0\xa9\x8d\xf0\xa6\x8d\x93\xe1\xb7\xae\xef\xbd\xa1\xe2\x80\x8c\xe0\xa2\xbd\xf1\x9d\xb9\xb2"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe0\xa9\x8d\xf0\xa6\x8d\x93\xe1\xb7\xae\xef\xbd\xa1\xe2\x80\x8c\xe0\xa2\xbd\xf1\x9d\xb9\xb2", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe0\xa9\x8d\xf0\xa6\x8d\x93\xe1\xb7\xae\xef\xbd\xa1\xe2\x80\x8c\xe0\xa2\xbd\xf1\x9d\xb9\xb2", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xe0\xa9\x8d\xf0\xa6\x8d\x93\xe1\xb7\xae\xe3\x80\x82\xe2\x80\x8c\xe0\xa2\xbd\xf1\x9d\xb9\xb2"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe0\xa9\x8d\xf0\xa6\x8d\x93\xe1\xb7\xae\xe3\x80\x82\xe2\x80\x8c\xe0\xa2\xbd\xf1\x9d\xb9\xb2", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe0\xa9\x8d\xf0\xa6\x8d\x93\xe1\xb7\xae\xe3\x80\x82\xe2\x80\x8c\xe0\xa2\xbd\xf1\x9d\xb9\xb2", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--ybc461hph93b.xn--jzb29857e"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--ybc461hph93b.xn--jzb29857e", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn--ybc461hph93b.xn--jzb29857e", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn--ybc461hph93b.xn--jzb740j1y45h"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--ybc461hph93b.xn--jzb740j1y45h", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--ybc461hph93b.xn--jzb740j1y45h", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-\xef\xbc\x8e\xe2\x80\x8c\xeb\xa8\xbf"); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-\xef\xbc\x8e\xe2\x80\x8c\xeb\xa8\xbf", false); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-\xef\xbc\x8e\xe2\x80\x8c\xeb\xa8\xbf", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-\xef\xbc\x8e\xe2\x80\x8c\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xae"); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-\xef\xbc\x8e\xe2\x80\x8c\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xae", false); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-\xef\xbc\x8e\xe2\x80\x8c\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xae", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-.\xe2\x80\x8c\xeb\xa8\xbf"); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-.\xe2\x80\x8c\xeb\xa8\xbf", false); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-.\xe2\x80\x8c\xeb\xa8\xbf", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-.\xe2\x80\x8c\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xae"); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-.\xe2\x80\x8c\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xae", false); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("\xd8\xae\xdd\x88\xf1\x85\xaa\xaa-.\xe2\x80\x8c\xe1\x84\x86\xe1\x85\xa5\xe1\x86\xae", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("xn----dnc06f42153a.xn--v22b"); } // [B2, B3, V3, V7] +test { try toAsciiFail("xn----dnc06f42153a.xn--v22b", false); } // [B2, B3, V3, V7] +test { try toAsciiFail("xn----dnc06f42153a.xn--v22b", true); } // [B2, B3, V3, V7] test { try toUnicodeFail("xn----dnc06f42153a.xn--0ug1581d"); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("xn----dnc06f42153a.xn--0ug1581d", false); } // [B1, B2, B3, C1, V3, V7] +test { try toAsciiFail("xn----dnc06f42153a.xn--0ug1581d", true); } // [B1, B2, B3, C1, V3, V7] test { try toUnicodeFail("\xf4\x8b\xbf\xa6\xef\xbd\xa1\xe1\xa0\xbd"); } // [V7] +test { try toAsciiFail("\xf4\x8b\xbf\xa6\xef\xbd\xa1\xe1\xa0\xbd", false); } // [V7] +test { try toAsciiFail("\xf4\x8b\xbf\xa6\xef\xbd\xa1\xe1\xa0\xbd", true); } // [V7] test { try toUnicodeFail("\xf4\x8b\xbf\xa6\xe3\x80\x82\xe1\xa0\xbd"); } // [V7] +test { try toAsciiFail("\xf4\x8b\xbf\xa6\xe3\x80\x82\xe1\xa0\xbd", false); } // [V7] +test { try toAsciiFail("\xf4\x8b\xbf\xa6\xe3\x80\x82\xe1\xa0\xbd", true); } // [V7] test { try toUnicodeFail("xn--j890g.xn--w7e"); } // [V7] +test { try toAsciiFail("xn--j890g.xn--w7e", false); } // [V7] +test { try toAsciiFail("xn--j890g.xn--w7e", true); } // [V7] test { try toUnicodeFail("\xe5\xac\x83\xf0\x9d\x8d\x8c\xef\xbc\x8e\xe2\x80\x8d\xe0\xad\x84"); } // [C2] +test { try toAsciiFail("\xe5\xac\x83\xf0\x9d\x8d\x8c\xef\xbc\x8e\xe2\x80\x8d\xe0\xad\x84", false); } // [C2] +test { try toAsciiFail("\xe5\xac\x83\xf0\x9d\x8d\x8c\xef\xbc\x8e\xe2\x80\x8d\xe0\xad\x84", true); } // [V6] test { try toUnicodeFail("\xe5\xac\x83\xf0\x9d\x8d\x8c.\xe2\x80\x8d\xe0\xad\x84"); } // [C2] +test { try toAsciiFail("\xe5\xac\x83\xf0\x9d\x8d\x8c.\xe2\x80\x8d\xe0\xad\x84", false); } // [C2] +test { try toAsciiFail("\xe5\xac\x83\xf0\x9d\x8d\x8c.\xe2\x80\x8d\xe0\xad\x84", true); } // [V6] test { try toUnicodeFail("xn--b6s0078f.xn--0ic"); } // [V6] +test { try toAsciiFail("xn--b6s0078f.xn--0ic", false); } // [V6] +test { try toAsciiFail("xn--b6s0078f.xn--0ic", true); } // [V6] test { try toUnicodeFail("xn--b6s0078f.xn--0ic557h"); } // [C2] +test { try toAsciiFail("xn--b6s0078f.xn--0ic557h", false); } // [C2] +test { try toAsciiFail("xn--b6s0078f.xn--0ic557h", true); } // [C2] test { try toUnicodeFail("\xd8\x82\xf0\x9d\x8c\xaa\xe2\x89\xaf\xef\xbc\x8e\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa\xe2\x89\xaf\xef\xbc\x8e\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa\xe2\x89\xaf\xef\xbc\x8e\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x82\xf0\x9d\x8c\xaa>\xcc\xb8\xef\xbc\x8e\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa>\xcc\xb8\xef\xbc\x8e\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa>\xcc\xb8\xef\xbc\x8e\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x82\xf0\x9d\x8c\xaa\xe2\x89\xaf.\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa\xe2\x89\xaf.\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa\xe2\x89\xaf.\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x82\xf0\x9d\x8c\xaa>\xcc\xb8.\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa>\xcc\xb8.\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x82\xf0\x9d\x8c\xaa>\xcc\xb8.\xf0\x9a\x8b\xb2\xf2\xb5\x81\xa8", true); } // [B1, V7] test { try toUnicodeFail("xn--kfb866llx01a.xn--wp1gm3570b"); } // [B1, V7] +test { try toAsciiFail("xn--kfb866llx01a.xn--wp1gm3570b", false); } // [B1, V7] +test { try toAsciiFail("xn--kfb866llx01a.xn--wp1gm3570b", true); } // [B1, V7] test { try toUnicodeFail("\xf2\xab\xbe\xa5\xe0\xa2\xb7\xe1\x9f\x8c\xea\xa7\x80.\xf0\x9e\xbc\xa0"); } // [B5, V7] +test { try toAsciiFail("\xf2\xab\xbe\xa5\xe0\xa2\xb7\xe1\x9f\x8c\xea\xa7\x80.\xf0\x9e\xbc\xa0", false); } // [B5, V7] +test { try toAsciiFail("\xf2\xab\xbe\xa5\xe0\xa2\xb7\xe1\x9f\x8c\xea\xa7\x80.\xf0\x9e\xbc\xa0", true); } // [B5, V7] test { try toUnicodeFail("xn--dzb638ewm4i1iy1h.xn--3m7h"); } // [B5, V7] +test { try toAsciiFail("xn--dzb638ewm4i1iy1h.xn--3m7h", false); } // [B5, V7] +test { try toAsciiFail("xn--dzb638ewm4i1iy1h.xn--3m7h", true); } // [B5, V7] test { try toUnicodeFail("\xe2\x80\x8c.\xf1\x9f\x9b\xa4"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c.\xf1\x9f\x9b\xa4", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c.\xf1\x9f\x9b\xa4", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--q823a"); } // [V7, X4_2] +test { try toAsciiFail(".xn--q823a", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--q823a", true); } // [V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--q823a"); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--q823a", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug.xn--q823a", true); } // [C1, V7] test { try toUnicodeFail("\xf2\xba\x9b\x95\xe1\x82\xa3\xe4\xa0\x85\xef\xbc\x8e\xf0\x90\xb8\x91"); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe1\x82\xa3\xe4\xa0\x85\xef\xbc\x8e\xf0\x90\xb8\x91", false); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe1\x82\xa3\xe4\xa0\x85\xef\xbc\x8e\xf0\x90\xb8\x91", true); } // [V7] test { try toUnicodeFail("\xf2\xba\x9b\x95\xe1\x82\xa3\xe4\xa0\x85.\xf0\x90\xb8\x91"); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe1\x82\xa3\xe4\xa0\x85.\xf0\x90\xb8\x91", false); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe1\x82\xa3\xe4\xa0\x85.\xf0\x90\xb8\x91", true); } // [V7] test { try toUnicodeFail("\xf2\xba\x9b\x95\xe2\xb4\x83\xe4\xa0\x85.\xf0\x90\xb8\x91"); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe2\xb4\x83\xe4\xa0\x85.\xf0\x90\xb8\x91", false); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe2\xb4\x83\xe4\xa0\x85.\xf0\x90\xb8\x91", true); } // [V7] test { try toUnicodeFail("xn--ukju77frl47r.xn--yl0d"); } // [V7] +test { try toAsciiFail("xn--ukju77frl47r.xn--yl0d", false); } // [V7] +test { try toAsciiFail("xn--ukju77frl47r.xn--yl0d", true); } // [V7] test { try toUnicodeFail("\xf2\xba\x9b\x95\xe2\xb4\x83\xe4\xa0\x85\xef\xbc\x8e\xf0\x90\xb8\x91"); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe2\xb4\x83\xe4\xa0\x85\xef\xbc\x8e\xf0\x90\xb8\x91", false); } // [V7] +test { try toAsciiFail("\xf2\xba\x9b\x95\xe2\xb4\x83\xe4\xa0\x85\xef\xbc\x8e\xf0\x90\xb8\x91", true); } // [V7] test { try toUnicodeFail("xn--bnd074zr557n.xn--yl0d"); } // [V7] +test { try toAsciiFail("xn--bnd074zr557n.xn--yl0d", false); } // [V7] +test { try toAsciiFail("xn--bnd074zr557n.xn--yl0d", true); } // [V7] test { try toUnicodeFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe1\x82\xa5"); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe1\x82\xa5", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe1\x82\xa5", true); } // [B1, V6] test { try toUnicodeFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xe3\x80\x826\xe1\x82\xa5"); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xe3\x80\x826\xe1\x82\xa5", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xe3\x80\x826\xe1\x82\xa5", true); } // [B1, V6] test { try toUnicodeFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\xbc\xe3\x80\x826\xe2\xb4\x85"); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\xbc\xe3\x80\x826\xe2\xb4\x85", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\xbc\xe3\x80\x826\xe2\xb4\x85", true); } // [B1, V6] test { try toUnicodeFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xe3\x80\x826\xe2\xb4\x85"); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xe3\x80\x826\xe2\xb4\x85", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xe3\x80\x826\xe2\xb4\x85", true); } // [B1, V6] test { try toUnicodeFail("xn--zzfy954hga2415t.xn--6-kvs"); } // [B1, V6] +test { try toAsciiFail("xn--zzfy954hga2415t.xn--6-kvs", false); } // [B1, V6] +test { try toAsciiFail("xn--zzfy954hga2415t.xn--6-kvs", true); } // [B1, V6] test { try toUnicodeFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\xbc\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe2\xb4\x85"); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\xbc\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe2\xb4\x85", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\xbc\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe2\xb4\x85", true); } // [B1, V6] test { try toUnicodeFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe2\xb4\x85"); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe2\xb4\x85", false); } // [B1, V6] +test { try toAsciiFail("\xe1\xaf\xb1\xf0\x90\xb9\xb3\xf0\x90\xb9\xb5\xf0\x9e\xa4\x9a\xef\xbd\xa1\xf0\x9d\x9f\xa8\xe2\xb4\x85", true); } // [B1, V6] test { try toUnicodeFail("xn--zzfy954hga2415t.xn--6-h0g"); } // [B1, V6, V7] +test { try toAsciiFail("xn--zzfy954hga2415t.xn--6-h0g", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--zzfy954hga2415t.xn--6-h0g", true); } // [B1, V6, V7] test { try toUnicodeFail("-\xef\xbd\xa1\xef\xb8\x92"); } // [V3, V7] +test { try toAsciiFail("-\xef\xbd\xa1\xef\xb8\x92", false); } // [V3, V7] +test { try toAsciiFail("-\xef\xbd\xa1\xef\xb8\x92", true); } // [V3, V7] test { try toUnicodeFail("-\xe3\x80\x82\xe3\x80\x82"); } // [V3, X4_2] +test { try toAsciiFail("-\xe3\x80\x82\xe3\x80\x82", false); } // [V3, A4_2] +test { try toAsciiFail("-\xe3\x80\x82\xe3\x80\x82", true); } // [V3, A4_2] test { try toUnicodeFail("-.."); } // [V3, X4_2] +test { try toAsciiFail("-..", false); } // [V3, A4_2] +test { try toAsciiFail("-..", true); } // [V3, A4_2] test { try toUnicodeFail("-.xn--y86c"); } // [V3, V7] +test { try toAsciiFail("-.xn--y86c", false); } // [V3, V7] +test { try toAsciiFail("-.xn--y86c", true); } // [V3, V7] test { try toUnicodeFail("\xdf\x9b\xe1\x83\x80\xef\xbd\xa1-\xe2\x81\xb5--"); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe1\x83\x80\xef\xbd\xa1-\xe2\x81\xb5--", false); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe1\x83\x80\xef\xbd\xa1-\xe2\x81\xb5--", true); } // [B1, B2, B3, V2, V3] test { try toUnicodeFail("\xdf\x9b\xe1\x83\x80\xe3\x80\x82-5--"); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe1\x83\x80\xe3\x80\x82-5--", false); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe1\x83\x80\xe3\x80\x82-5--", true); } // [B1, B2, B3, V2, V3] test { try toUnicodeFail("\xdf\x9b\xe2\xb4\xa0\xe3\x80\x82-5--"); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe2\xb4\xa0\xe3\x80\x82-5--", false); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe2\xb4\xa0\xe3\x80\x82-5--", true); } // [B1, B2, B3, V2, V3] test { try toUnicodeFail("xn--2sb691q.-5--"); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("xn--2sb691q.-5--", false); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("xn--2sb691q.-5--", true); } // [B1, B2, B3, V2, V3] test { try toUnicodeFail("\xdf\x9b\xe2\xb4\xa0\xef\xbd\xa1-\xe2\x81\xb5--"); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe2\xb4\xa0\xef\xbd\xa1-\xe2\x81\xb5--", false); } // [B1, B2, B3, V2, V3] +test { try toAsciiFail("\xdf\x9b\xe2\xb4\xa0\xef\xbd\xa1-\xe2\x81\xb5--", true); } // [B1, B2, B3, V2, V3] test { try toUnicodeFail("xn--2sb866b.-5--"); } // [B1, B2, B3, V2, V3, V7] +test { try toAsciiFail("xn--2sb866b.-5--", false); } // [B1, B2, B3, V2, V3, V7] +test { try toAsciiFail("xn--2sb866b.-5--", true); } // [B1, B2, B3, V2, V3, V7] test { try toUnicodeFail("\xe2\x89\xaf?\xf3\xa0\x91\x95\xef\xbd\xa1\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb\xe2\x89\xaf\xf0\x90\xb7\x92"); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95\xef\xbd\xa1\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb\xe2\x89\xaf\xf0\x90\xb7\x92", false); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95\xef\xbd\xa1\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb\xe2\x89\xaf\xf0\x90\xb7\x92", true); } // [B1, V7, U1] test { try toUnicodeFail(">\xcc\xb8?\xf3\xa0\x91\x95\xef\xbd\xa1\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb>\xcc\xb8\xf0\x90\xb7\x92"); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95\xef\xbd\xa1\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb>\xcc\xb8\xf0\x90\xb7\x92", false); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95\xef\xbd\xa1\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb>\xcc\xb8\xf0\x90\xb7\x92", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe2\x89\xaf?\xf3\xa0\x91\x95\xe3\x80\x82\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb\xe2\x89\xaf\xf0\x90\xb7\x92"); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95\xe3\x80\x82\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb\xe2\x89\xaf\xf0\x90\xb7\x92", false); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95\xe3\x80\x82\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb\xe2\x89\xaf\xf0\x90\xb7\x92", true); } // [B1, V7, U1] test { try toUnicodeFail(">\xcc\xb8?\xf3\xa0\x91\x95\xe3\x80\x82\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb>\xcc\xb8\xf0\x90\xb7\x92"); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95\xe3\x80\x82\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb>\xcc\xb8\xf0\x90\xb7\x92", false); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95\xe3\x80\x82\xf0\x90\xb9\xb7\xf0\x90\xb9\xbb>\xcc\xb8\xf0\x90\xb7\x92", true); } // [B1, V7, U1] test { try toUnicodeFail("xn--?-ogo25661n.xn--hdh8283gdoaqa"); } // [B1, V7, U1] +test { try toAsciiFail("xn--?-ogo25661n.xn--hdh8283gdoaqa", false); } // [B1, V7, U1] +test { try toAsciiFail("xn--?-ogo25661n.xn--hdh8283gdoaqa", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.xn--hdh8283gdoaqa"); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.xn--hdh8283gdoaqa", false); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.xn--hdh8283gdoaqa", true); } // [B1, V7, U1] test { try toUnicodeFail(">\xcc\xb8?\xf3\xa0\x91\x95.xn--hdh8283gdoaqa"); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95.xn--hdh8283gdoaqa", false); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95.xn--hdh8283gdoaqa", true); } // [B1, V7, U1] test { try toUnicodeFail(">\xcc\xb8?\xf3\xa0\x91\x95.XN--HDH8283GDOAQA"); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95.XN--HDH8283GDOAQA", false); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95.XN--HDH8283GDOAQA", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.XN--HDH8283GDOAQA"); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.XN--HDH8283GDOAQA", false); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.XN--HDH8283GDOAQA", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.Xn--Hdh8283gdoaqa"); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.Xn--Hdh8283gdoaqa", false); } // [B1, V7, U1] +test { try toAsciiFail("\xe2\x89\xaf?\xf3\xa0\x91\x95.Xn--Hdh8283gdoaqa", true); } // [B1, V7, U1] test { try toUnicodeFail(">\xcc\xb8?\xf3\xa0\x91\x95.Xn--Hdh8283gdoaqa"); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95.Xn--Hdh8283gdoaqa", false); } // [B1, V7, U1] +test { try toAsciiFail(">\xcc\xb8?\xf3\xa0\x91\x95.Xn--Hdh8283gdoaqa", true); } // [B1, V7, U1] test { try toUnicodeFail("\xe3\x8d\x94\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe3\x8d\x94\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe3\x8d\x94\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x96\xe3\x83\xab\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x96\xe3\x83\xab\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x96\xe3\x83\xab\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x95\xe3\x82\x99\xe3\x83\xab\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x95\xe3\x82\x99\xe3\x83\xab\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x95\xe3\x82\x99\xe3\x83\xab\xe0\xa3\xa6\xdd\xbc\xe2\x80\x8d\xe3\x80\x82\xcd\x86\xf2\x81\xb3\x8a\xf0\x9d\x85\xb6\xd8\x84", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--dqb73el09fncab4h.xn--kua81lx7141a"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--dqb73el09fncab4h.xn--kua81lx7141a", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--dqb73el09fncab4h.xn--kua81lx7141a", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--dqb73ec22c9kp8cb1j.xn--kua81lx7141a"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--dqb73ec22c9kp8cb1j.xn--kua81lx7141a", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--dqb73ec22c9kp8cb1j.xn--kua81lx7141a", true); } // [B1, B5, B6, C2, V6, V7] test { try toUnicodeFail("xn--dqb73el09fncab4h.xn--kua81ls548d3608b"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--dqb73el09fncab4h.xn--kua81ls548d3608b", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--dqb73el09fncab4h.xn--kua81ls548d3608b", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--dqb73ec22c9kp8cb1j.xn--kua81ls548d3608b"); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--dqb73ec22c9kp8cb1j.xn--kua81ls548d3608b", false); } // [B1, B5, B6, C2, V6, V7] +test { try toAsciiFail("xn--dqb73ec22c9kp8cb1j.xn--kua81ls548d3608b", true); } // [B1, B5, B6, C2, V6, V7] test { try toUnicodeFail("\xe2\x80\x8d.F"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.F", false); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.F", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d.f"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.f", false); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d.f", true); } // [A4_2] test { try toUnicodeFail(".f"); } // [X4_2] +test { try toAsciiFail(".f", false); } // [A4_2] +test { try toAsciiFail(".f", true); } // [A4_2] test { try toUnicodeFail("xn--1ug.f"); } // [C2] +test { try toAsciiFail("xn--1ug.f", false); } // [C2] +test { try toAsciiFail("xn--1ug.f", true); } // [C2] test { try toUnicodePass("f", "f"); } test { try toAsciiPass("f", "f", false); } test { try toAsciiPass("f", "f", true); } test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1\xc3\x9f", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1\xc3\x9f"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1\xc3\x9f", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82\xc3\x9f", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82\xc3\x9f"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82\xc3\x9f", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82SS", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82SS"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82SS", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82ss", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82ss"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82ss", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82Ss", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82Ss"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xe3\x80\x82Ss", false); } // [C2] test { try toUnicodePass("xn--9bm.ss", "\xe3\xa8\xb2.ss"); } test { try toAsciiPass("xn--9bm.ss", "xn--9bm.ss", false); } test { try toAsciiPass("xn--9bm.ss", "xn--9bm.ss", true); } @@ -6413,84 +15894,233 @@ test { try toUnicodePass("\xe3\xa8\xb2.Ss", "\xe3\xa8\xb2.ss"); } test { try toAsciiPass("\xe3\xa8\xb2.Ss", "xn--9bm.ss", false); } test { try toAsciiPass("\xe3\xa8\xb2.Ss", "xn--9bm.ss", true); } test { try toUnicodeFail("xn--1ug914h.ss"); } // [C2] +test { try toAsciiFail("xn--1ug914h.ss", false); } // [C2] +test { try toAsciiFail("xn--1ug914h.ss", true); } // [C2] test { try toUnicodeFail("xn--1ug914h.xn--zca"); } // [C2] +test { try toAsciiFail("xn--1ug914h.xn--zca", false); } // [C2] +test { try toAsciiFail("xn--1ug914h.xn--zca", true); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1SS", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1SS"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1SS", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1ss", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1ss"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1ss", false); } // [C2] test { try toAsciiPass("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1Ss", "xn--9bm.ss", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1Ss"); } // [C2] +test { try toAsciiFail("\xe2\x80\x8d\xe3\xa8\xb2\xef\xbd\xa1Ss", false); } // [C2] test { try toUnicodeFail("\xd8\x85\xd9\xbe\xef\xbd\xa1\xe0\xa2\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd8\x85\xd9\xbe\xef\xbd\xa1\xe0\xa2\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x85\xd9\xbe\xef\xbd\xa1\xe0\xa2\xa8", true); } // [B1, V7] test { try toUnicodeFail("\xd8\x85\xd9\xbe\xe3\x80\x82\xe0\xa2\xa8"); } // [B1, V7] +test { try toAsciiFail("\xd8\x85\xd9\xbe\xe3\x80\x82\xe0\xa2\xa8", false); } // [B1, V7] +test { try toAsciiFail("\xd8\x85\xd9\xbe\xe3\x80\x82\xe0\xa2\xa8", true); } // [B1, V7] test { try toUnicodeFail("xn--nfb6v.xn--xyb"); } // [B1, V7] +test { try toAsciiFail("xn--nfb6v.xn--xyb", false); } // [B1, V7] +test { try toAsciiFail("xn--nfb6v.xn--xyb", true); } // [B1, V7] test { try toUnicodeFail("\xe2\xbe\x91\xdd\x93\xf0\x9e\xa4\x81\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82"); } // [B1, B5, B6] +test { try toAsciiFail("\xe2\xbe\x91\xdd\x93\xf0\x9e\xa4\x81\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", false); } // [B1, B5, B6] +test { try toAsciiFail("\xe2\xbe\x91\xdd\x93\xf0\x9e\xa4\x81\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", true); } // [B1, B5, B6] test { try toUnicodeFail("\xe8\xa5\xbe\xdd\x93\xf0\x9e\xa4\x81\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82"); } // [B1, B5, B6] +test { try toAsciiFail("\xe8\xa5\xbe\xdd\x93\xf0\x9e\xa4\x81\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", false); } // [B1, B5, B6] +test { try toAsciiFail("\xe8\xa5\xbe\xdd\x93\xf0\x9e\xa4\x81\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", true); } // [B1, B5, B6] test { try toUnicodeFail("\xe8\xa5\xbe\xdd\x93\xf0\x9e\xa4\xa3\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82"); } // [B1, B5, B6] +test { try toAsciiFail("\xe8\xa5\xbe\xdd\x93\xf0\x9e\xa4\xa3\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", false); } // [B1, B5, B6] +test { try toAsciiFail("\xe8\xa5\xbe\xdd\x93\xf0\x9e\xa4\xa3\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", true); } // [B1, B5, B6] test { try toUnicodeFail("xn--6ob9577deqwl.xn--7ib5526k"); } // [B1, B5, B6] +test { try toAsciiFail("xn--6ob9577deqwl.xn--7ib5526k", false); } // [B1, B5, B6] +test { try toAsciiFail("xn--6ob9577deqwl.xn--7ib5526k", true); } // [B1, B5, B6] test { try toUnicodeFail("\xe2\xbe\x91\xdd\x93\xf0\x9e\xa4\xa3\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82"); } // [B1, B5, B6] +test { try toAsciiFail("\xe2\xbe\x91\xdd\x93\xf0\x9e\xa4\xa3\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", false); } // [B1, B5, B6] +test { try toAsciiFail("\xe2\xbe\x91\xdd\x93\xf0\x9e\xa4\xa3\xe3\x80\x82\xf0\x90\xb9\xb5\xda\x82", true); } // [B1, B5, B6] test { try toUnicodeFail("\xf1\xa6\xb4\xbb\xcf\x82-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x82-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x82-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf1\xa6\xb4\xbb\xcf\x82-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x82-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x82-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf1\xa6\xb4\xbb\xce\xa3-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xce\xa3-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xce\xa3-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf1\xa6\xb4\xbb\xcf\x83-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x83-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x83-\xe2\x83\xab\xe3\x80\x82\xdd\x94-\xea\xa1\x9b", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("xn----zmb705tuo34l.xn----53c4874j"); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn----zmb705tuo34l.xn----53c4874j", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn----zmb705tuo34l.xn----53c4874j", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("xn----xmb015tuo34l.xn----53c4874j"); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn----xmb015tuo34l.xn----53c4874j", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn----xmb015tuo34l.xn----53c4874j", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf1\xa6\xb4\xbb\xce\xa3-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xce\xa3-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xce\xa3-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xf1\xa6\xb4\xbb\xcf\x83-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x83-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf1\xa6\xb4\xbb\xcf\x83-\xe2\x83\xab\xef\xbd\xa1\xdd\x94-\xea\xa1\x9b", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xef\xbc\x8e\xf4\x80\xb8\xa8"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbc\x8e\xf4\x80\xb8\xa8", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xef\xbc\x8e\xf4\x80\xb8\xa8", true); } // [V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8d.\xf4\x80\xb8\xa8"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d.\xf4\x80\xb8\xa8", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d.\xf4\x80\xb8\xa8", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--h327f"); } // [V7, X4_2] +test { try toAsciiFail(".xn--h327f", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--h327f", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1ug.xn--h327f"); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--h327f", false); } // [C2, V7] +test { try toAsciiFail("xn--1ug.xn--h327f", true); } // [C2, V7] test { try toUnicodeFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xef\xbd\xa1\xe2\x89\xa0\xf0\x9d\x9f\xb2"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xef\xbd\xa1\xe2\x89\xa0\xf0\x9d\x9f\xb2", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xef\xbd\xa1\xe2\x89\xa0\xf0\x9d\x9f\xb2", true); } // [V7] test { try toUnicodeFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xef\xbd\xa1=\xcc\xb8\xf0\x9d\x9f\xb2"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xef\xbd\xa1=\xcc\xb8\xf0\x9d\x9f\xb2", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xef\xbd\xa1=\xcc\xb8\xf0\x9d\x9f\xb2", true); } // [V7] test { try toUnicodeFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xe3\x80\x82\xe2\x89\xa06"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xe3\x80\x82\xe2\x89\xa06", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xe3\x80\x82\xe2\x89\xa06", true); } // [V7] test { try toUnicodeFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xe3\x80\x82=\xcc\xb86"); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xe3\x80\x82=\xcc\xb86", false); } // [V7] +test { try toAsciiFail("\xf1\xa3\xad\xbb\xf1\x8c\xa5\x81\xe3\x80\x82=\xcc\xb86", true); } // [V7] test { try toUnicodeFail("xn--h79w4z99a.xn--6-tfo"); } // [V7] +test { try toAsciiFail("xn--h79w4z99a.xn--6-tfo", false); } // [V7] +test { try toAsciiFail("xn--h79w4z99a.xn--6-tfo", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x85\x8a\xe1\xa1\xad\xe2\x80\x8d.\xf0\x90\xa5\xa1"); } // [B6, C2, V7] +test { try toAsciiFail("\xf3\xa0\x85\x8a\xe1\xa1\xad\xe2\x80\x8d.\xf0\x90\xa5\xa1", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf3\xa0\x85\x8a\xe1\xa1\xad\xe2\x80\x8d.\xf0\x90\xa5\xa1", true); } // [V7] test { try toUnicodeFail("xn--98e.xn--om9c"); } // [V7] +test { try toAsciiFail("xn--98e.xn--om9c", false); } // [V7] +test { try toAsciiFail("xn--98e.xn--om9c", true); } // [V7] test { try toUnicodeFail("xn--98e810b.xn--om9c"); } // [B6, C2, V7] +test { try toAsciiFail("xn--98e810b.xn--om9c", false); } // [B6, C2, V7] +test { try toAsciiFail("xn--98e810b.xn--om9c", true); } // [B6, C2, V7] test { try toUnicodeFail("\xe0\xb1\x80\xe0\xa1\x95\xf0\x90\xa5\x9b\xf0\x91\x84\xb4\xef\xbc\x8e\xf3\xad\xb0\xb5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x80\xe0\xa1\x95\xf0\x90\xa5\x9b\xf0\x91\x84\xb4\xef\xbc\x8e\xf3\xad\xb0\xb5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x80\xe0\xa1\x95\xf0\x90\xa5\x9b\xf0\x91\x84\xb4\xef\xbc\x8e\xf3\xad\xb0\xb5", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb1\x80\xe0\xa1\x95\xf0\x90\xa5\x9b\xf0\x91\x84\xb4.\xf3\xad\xb0\xb5"); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x80\xe0\xa1\x95\xf0\x90\xa5\x9b\xf0\x91\x84\xb4.\xf3\xad\xb0\xb5", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe0\xb1\x80\xe0\xa1\x95\xf0\x90\xa5\x9b\xf0\x91\x84\xb4.\xf3\xad\xb0\xb5", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--kwb91r5112avtg.xn--o580f"); } // [B1, V6, V7] +test { try toAsciiFail("xn--kwb91r5112avtg.xn--o580f", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--kwb91r5112avtg.xn--o580f", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xae\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c\xe2\x89\xaf\xe1\xb3\xa6"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\xae\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c\xe2\x89\xaf\xe1\xb3\xa6", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\xae\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c\xe2\x89\xaf\xe1\xb3\xa6", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x9e\xa4\xae\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c>\xcc\xb8\xe1\xb3\xa6"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\xae\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c>\xcc\xb8\xe1\xb3\xa6", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\xae\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c>\xcc\xb8\xe1\xb3\xa6", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x9e\xa4\x8c\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c>\xcc\xb8\xe1\xb3\xa6"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\x8c\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c>\xcc\xb8\xe1\xb3\xa6", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\x8c\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c>\xcc\xb8\xe1\xb3\xa6", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x9e\xa4\x8c\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c\xe2\x89\xaf\xe1\xb3\xa6"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\x8c\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c\xe2\x89\xaf\xe1\xb3\xa6", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x9e\xa4\x8c\xe3\x80\x82\xf0\x91\x87\x8a\xe2\x80\x8c\xe2\x89\xaf\xe1\xb3\xa6", true); } // [B1, V6] test { try toUnicodeFail("xn--me6h.xn--z6fz8ueq2v"); } // [B1, V6] +test { try toAsciiFail("xn--me6h.xn--z6fz8ueq2v", false); } // [B1, V6] +test { try toAsciiFail("xn--me6h.xn--z6fz8ueq2v", true); } // [B1, V6] test { try toUnicodeFail("xn--me6h.xn--z6f16kn9b2642b"); } // [B1, C1, V6] +test { try toAsciiFail("xn--me6h.xn--z6f16kn9b2642b", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--me6h.xn--z6f16kn9b2642b", true); } // [B1, C1, V6] test { try toUnicodeFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe1\x82\xa9"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe1\x82\xa9", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe1\x82\xa9", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe1\x82\xa9"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe1\x82\xa9", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe1\x82\xa9", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\xae\xf1\x9b\x97\x93\xe2\xb4\x89"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\xae\xf1\x9b\x97\x93\xe2\xb4\x89", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\xae\xf1\x9b\x97\x93\xe2\xb4\x89", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("7.xn--0kjz523lv1vv"); } // [B1, B2, B3, V7] +test { try toAsciiFail("7.xn--0kjz523lv1vv", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("7.xn--0kjz523lv1vv", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\xae\xf1\x9b\x97\x93\xe2\xb4\x89"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\xae\xf1\x9b\x97\x93\xe2\xb4\x89", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\xae\xf1\x9b\x97\x93\xe2\xb4\x89", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("7.xn--hnd3403vv1vv"); } // [B1, B2, B3, V7] +test { try toAsciiFail("7.xn--hnd3403vv1vv", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("7.xn--hnd3403vv1vv", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe2\xb4\x89"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe2\xb4\x89", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x807.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe2\xb4\x89", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe2\xb4\x89"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe2\xb4\x89", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf3\xa0\x84\x80\xf0\x9d\x9f\x95.\xf0\x9e\xa4\x8c\xf1\x9b\x97\x93\xe2\xb4\x89", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xe9\x96\x839\xf0\x9d\xa9\x8d\xe3\x80\x82\xe2\x86\x83\xd9\xa9\xe0\xa2\xb1\xe0\xad\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe9\x96\x839\xf0\x9d\xa9\x8d\xe3\x80\x82\xe2\x86\x83\xd9\xa9\xe0\xa2\xb1\xe0\xad\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe9\x96\x839\xf0\x9d\xa9\x8d\xe3\x80\x82\xe2\x86\x83\xd9\xa9\xe0\xa2\xb1\xe0\xad\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe9\x96\x839\xf0\x9d\xa9\x8d\xe3\x80\x82\xe2\x86\x84\xd9\xa9\xe0\xa2\xb1\xe0\xad\x8d"); } // [B5, B6] +test { try toAsciiFail("\xe9\x96\x839\xf0\x9d\xa9\x8d\xe3\x80\x82\xe2\x86\x84\xd9\xa9\xe0\xa2\xb1\xe0\xad\x8d", false); } // [B5, B6] +test { try toAsciiFail("\xe9\x96\x839\xf0\x9d\xa9\x8d\xe3\x80\x82\xe2\x86\x84\xd9\xa9\xe0\xa2\xb1\xe0\xad\x8d", true); } // [B5, B6] test { try toUnicodeFail("xn--9-3j6dk517f.xn--iib28ij3c4t9a"); } // [B5, B6] +test { try toAsciiFail("xn--9-3j6dk517f.xn--iib28ij3c4t9a", false); } // [B5, B6] +test { try toAsciiFail("xn--9-3j6dk517f.xn--iib28ij3c4t9a", true); } // [B5, B6] test { try toUnicodeFail("xn--9-3j6dk517f.xn--iib28ij3c0t9a"); } // [B5, B6, V7] +test { try toAsciiFail("xn--9-3j6dk517f.xn--iib28ij3c0t9a", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--9-3j6dk517f.xn--iib28ij3c0t9a", true); } // [B5, B6, V7] test { try toUnicodeFail("\xea\xab\xb6\xe1\xa2\x8f\xe0\xb8\xba\xef\xbc\x92.\xf0\x90\x8b\xa2\xdd\x85\xe0\xbe\x9f\xef\xb8\x92"); } // [V6, V7] +test { try toAsciiFail("\xea\xab\xb6\xe1\xa2\x8f\xe0\xb8\xba\xef\xbc\x92.\xf0\x90\x8b\xa2\xdd\x85\xe0\xbe\x9f\xef\xb8\x92", false); } // [V6, V7] +test { try toAsciiFail("\xea\xab\xb6\xe1\xa2\x8f\xe0\xb8\xba\xef\xbc\x92.\xf0\x90\x8b\xa2\xdd\x85\xe0\xbe\x9f\xef\xb8\x92", true); } // [V6, V7] test { try toUnicodeFail("\xea\xab\xb6\xe1\xa2\x8f\xe0\xb8\xba2.\xf0\x90\x8b\xa2\xdd\x85\xe0\xbe\x9f\xe3\x80\x82"); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe1\xa2\x8f\xe0\xb8\xba2.\xf0\x90\x8b\xa2\xdd\x85\xe0\xbe\x9f\xe3\x80\x82", false); } // [V6, A4_2] +test { try toAsciiFail("\xea\xab\xb6\xe1\xa2\x8f\xe0\xb8\xba2.\xf0\x90\x8b\xa2\xdd\x85\xe0\xbe\x9f\xe3\x80\x82", true); } // [V6, A4_2] test { try toUnicodeFail("xn--2-2zf840fk16m.xn--sob093b2m7s."); } // [V6] +test { try toAsciiFail("xn--2-2zf840fk16m.xn--sob093b2m7s.", false); } // [V6, A4_2] +test { try toAsciiFail("xn--2-2zf840fk16m.xn--sob093b2m7s.", true); } // [V6, A4_2] test { try toUnicodeFail("xn--2-2zf840fk16m.xn--sob093bj62sz9d"); } // [V6, V7] +test { try toAsciiFail("xn--2-2zf840fk16m.xn--sob093bj62sz9d", false); } // [V6, V7] +test { try toAsciiFail("xn--2-2zf840fk16m.xn--sob093bj62sz9d", true); } // [V6, V7] test { try toUnicodeFail("\xf3\x85\xb4\xa7\xef\xbd\xa1\xe2\x89\xa0-\xf3\xa0\x99\x84\xe2\xbe\x9b"); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xef\xbd\xa1\xe2\x89\xa0-\xf3\xa0\x99\x84\xe2\xbe\x9b", false); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xef\xbd\xa1\xe2\x89\xa0-\xf3\xa0\x99\x84\xe2\xbe\x9b", true); } // [V7] test { try toUnicodeFail("\xf3\x85\xb4\xa7\xef\xbd\xa1=\xcc\xb8-\xf3\xa0\x99\x84\xe2\xbe\x9b"); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xef\xbd\xa1=\xcc\xb8-\xf3\xa0\x99\x84\xe2\xbe\x9b", false); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xef\xbd\xa1=\xcc\xb8-\xf3\xa0\x99\x84\xe2\xbe\x9b", true); } // [V7] test { try toUnicodeFail("\xf3\x85\xb4\xa7\xe3\x80\x82\xe2\x89\xa0-\xf3\xa0\x99\x84\xe8\xb5\xb0"); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xe3\x80\x82\xe2\x89\xa0-\xf3\xa0\x99\x84\xe8\xb5\xb0", false); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xe3\x80\x82\xe2\x89\xa0-\xf3\xa0\x99\x84\xe8\xb5\xb0", true); } // [V7] test { try toUnicodeFail("\xf3\x85\xb4\xa7\xe3\x80\x82=\xcc\xb8-\xf3\xa0\x99\x84\xe8\xb5\xb0"); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xe3\x80\x82=\xcc\xb8-\xf3\xa0\x99\x84\xe8\xb5\xb0", false); } // [V7] +test { try toAsciiFail("\xf3\x85\xb4\xa7\xe3\x80\x82=\xcc\xb8-\xf3\xa0\x99\x84\xe8\xb5\xb0", true); } // [V7] test { try toUnicodeFail("xn--gm57d.xn----tfo4949b3664m"); } // [V7] +test { try toAsciiFail("xn--gm57d.xn----tfo4949b3664m", false); } // [V7] +test { try toAsciiFail("xn--gm57d.xn----tfo4949b3664m", true); } // [V7] test { try toUnicodeFail("\xdd\xae\xd8\x84\xe1\x82\xaa\xe3\x80\x82-\xe2\x89\xa0\xe1\x85\xa0"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe1\x82\xaa\xe3\x80\x82-\xe2\x89\xa0\xe1\x85\xa0", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe1\x82\xaa\xe3\x80\x82-\xe2\x89\xa0\xe1\x85\xa0", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xdd\xae\xd8\x84\xe1\x82\xaa\xe3\x80\x82-=\xcc\xb8\xe1\x85\xa0"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe1\x82\xaa\xe3\x80\x82-=\xcc\xb8\xe1\x85\xa0", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe1\x82\xaa\xe3\x80\x82-=\xcc\xb8\xe1\x85\xa0", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xdd\xae\xd8\x84\xe2\xb4\x8a\xe3\x80\x82-=\xcc\xb8\xe1\x85\xa0"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe2\xb4\x8a\xe3\x80\x82-=\xcc\xb8\xe1\x85\xa0", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe2\xb4\x8a\xe3\x80\x82-=\xcc\xb8\xe1\x85\xa0", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xdd\xae\xd8\x84\xe2\xb4\x8a\xe3\x80\x82-\xe2\x89\xa0\xe1\x85\xa0"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe2\xb4\x8a\xe3\x80\x82-\xe2\x89\xa0\xe1\x85\xa0", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("\xdd\xae\xd8\x84\xe2\xb4\x8a\xe3\x80\x82-\xe2\x89\xa0\xe1\x85\xa0", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn--mfb73ek93f.xn----ufo"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--mfb73ek93f.xn----ufo", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--mfb73ek93f.xn----ufo", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn--mfb73ek93f.xn----5bh589i"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--mfb73ek93f.xn----5bh589i", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--mfb73ek93f.xn----5bh589i", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("xn--mfb73ex6r.xn----5bh589i"); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--mfb73ex6r.xn----5bh589i", false); } // [B1, B2, B3, V3, V7] +test { try toAsciiFail("xn--mfb73ex6r.xn----5bh589i", true); } // [B1, B2, B3, V3, V7] test { try toUnicodeFail("\xef\xad\x8f\xf0\x90\xb9\xa7\xf0\x9d\x9f\x92\xe2\x89\xaf\xef\xbd\xa1\xe2\x80\x8c"); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xef\xad\x8f\xf0\x90\xb9\xa7\xf0\x9d\x9f\x92\xe2\x89\xaf\xef\xbd\xa1\xe2\x80\x8c", false); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xef\xad\x8f\xf0\x90\xb9\xa7\xf0\x9d\x9f\x92\xe2\x89\xaf\xef\xbd\xa1\xe2\x80\x8c", true); } // [B3, B4, A4_2] test { try toUnicodeFail("\xef\xad\x8f\xf0\x90\xb9\xa7\xf0\x9d\x9f\x92>\xcc\xb8\xef\xbd\xa1\xe2\x80\x8c"); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xef\xad\x8f\xf0\x90\xb9\xa7\xf0\x9d\x9f\x92>\xcc\xb8\xef\xbd\xa1\xe2\x80\x8c", false); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xef\xad\x8f\xf0\x90\xb9\xa7\xf0\x9d\x9f\x92>\xcc\xb8\xef\xbd\xa1\xe2\x80\x8c", true); } // [B3, B4, A4_2] test { try toUnicodeFail("\xd7\x90\xd7\x9c\xf0\x90\xb9\xa74\xe2\x89\xaf\xe3\x80\x82\xe2\x80\x8c"); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xd7\x90\xd7\x9c\xf0\x90\xb9\xa74\xe2\x89\xaf\xe3\x80\x82\xe2\x80\x8c", false); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xd7\x90\xd7\x9c\xf0\x90\xb9\xa74\xe2\x89\xaf\xe3\x80\x82\xe2\x80\x8c", true); } // [B3, B4, A4_2] test { try toUnicodeFail("\xd7\x90\xd7\x9c\xf0\x90\xb9\xa74>\xcc\xb8\xe3\x80\x82\xe2\x80\x8c"); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xd7\x90\xd7\x9c\xf0\x90\xb9\xa74>\xcc\xb8\xe3\x80\x82\xe2\x80\x8c", false); } // [B1, B3, B4, C1] +test { try toAsciiFail("\xd7\x90\xd7\x9c\xf0\x90\xb9\xa74>\xcc\xb8\xe3\x80\x82\xe2\x80\x8c", true); } // [B3, B4, A4_2] test { try toUnicodeFail("xn--4-zhc0by36txt0w."); } // [B3, B4] +test { try toAsciiFail("xn--4-zhc0by36txt0w.", false); } // [B3, B4, A4_2] +test { try toAsciiFail("xn--4-zhc0by36txt0w.", true); } // [B3, B4, A4_2] test { try toUnicodeFail("xn--4-zhc0by36txt0w.xn--0ug"); } // [B1, B3, B4, C1] +test { try toAsciiFail("xn--4-zhc0by36txt0w.xn--0ug", false); } // [B1, B3, B4, C1] +test { try toAsciiFail("xn--4-zhc0by36txt0w.xn--0ug", true); } // [B1, B3, B4, C1] test { try toUnicodePass("\xf0\x9d\x9f\x8e\xe3\x80\x82\xe7\x94\xaf", "0.\xe7\x94\xaf"); } test { try toAsciiPass("\xf0\x9d\x9f\x8e\xe3\x80\x82\xe7\x94\xaf", "0.xn--qny", false); } test { try toAsciiPass("\xf0\x9d\x9f\x8e\xe3\x80\x82\xe7\x94\xaf", "0.xn--qny", true); } @@ -6504,11 +16134,23 @@ test { try toUnicodePass("0.\xe7\x94\xaf", "0.\xe7\x94\xaf"); } test { try toAsciiPass("0.\xe7\x94\xaf", "0.xn--qny", false); } test { try toAsciiPass("0.\xe7\x94\xaf", "0.xn--qny", true); } test { try toUnicodeFail("-\xe2\xbe\x86\xef\xbc\x8e\xea\xab\xb6"); } // [V3, V6] +test { try toAsciiFail("-\xe2\xbe\x86\xef\xbc\x8e\xea\xab\xb6", false); } // [V3, V6] +test { try toAsciiFail("-\xe2\xbe\x86\xef\xbc\x8e\xea\xab\xb6", true); } // [V3, V6] test { try toUnicodeFail("-\xe8\x88\x8c.\xea\xab\xb6"); } // [V3, V6] +test { try toAsciiFail("-\xe8\x88\x8c.\xea\xab\xb6", false); } // [V3, V6] +test { try toAsciiFail("-\xe8\x88\x8c.\xea\xab\xb6", true); } // [V3, V6] test { try toUnicodeFail("xn----ef8c.xn--2v9a"); } // [V3, V6] +test { try toAsciiFail("xn----ef8c.xn--2v9a", false); } // [V3, V6] +test { try toAsciiFail("xn----ef8c.xn--2v9a", true); } // [V3, V6] test { try toUnicodeFail("-\xef\xbd\xa1\xe1\xa2\x98"); } // [V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe1\xa2\x98", false); } // [V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe1\xa2\x98", true); } // [V3] test { try toUnicodeFail("-\xe3\x80\x82\xe1\xa2\x98"); } // [V3] +test { try toAsciiFail("-\xe3\x80\x82\xe1\xa2\x98", false); } // [V3] +test { try toAsciiFail("-\xe3\x80\x82\xe1\xa2\x98", true); } // [V3] test { try toUnicodeFail("-.xn--ibf"); } // [V3] +test { try toAsciiFail("-.xn--ibf", false); } // [V3] +test { try toAsciiFail("-.xn--ibf", true); } // [V3] test { try toUnicodePass("\xf0\x9f\x82\xb4\xe1\x82\xab.\xe2\x89\xae", "\xf0\x9f\x82\xb4\xe2\xb4\x8b.\xe2\x89\xae"); } test { try toAsciiPass("\xf0\x9f\x82\xb4\xe1\x82\xab.\xe2\x89\xae", "xn--2kj7565l.xn--gdh", false); } test { try toAsciiPass("\xf0\x9f\x82\xb4\xe1\x82\xab.\xe2\x89\xae", "xn--2kj7565l.xn--gdh", true); } @@ -6525,20 +16167,44 @@ test { try toUnicodePass("xn--2kj7565l.xn--gdh", "\xf0\x9f\x82\xb4\xe2\xb4\x8b.\ test { try toAsciiPass("xn--2kj7565l.xn--gdh", "xn--2kj7565l.xn--gdh", false); } test { try toAsciiPass("xn--2kj7565l.xn--gdh", "xn--2kj7565l.xn--gdh", true); } test { try toUnicodeFail("xn--jnd1986v.xn--gdh"); } // [V7] +test { try toAsciiFail("xn--jnd1986v.xn--gdh", false); } // [V7] +test { try toAsciiFail("xn--jnd1986v.xn--gdh", true); } // [V7] test { try toUnicodeFail("\xe7\x92\xbc\xf0\x9d\xa8\xad\xef\xbd\xa1\xe2\x80\x8c\xf3\xa0\x87\x9f"); } // [C1] +test { try toAsciiFail("\xe7\x92\xbc\xf0\x9d\xa8\xad\xef\xbd\xa1\xe2\x80\x8c\xf3\xa0\x87\x9f", false); } // [C1] +test { try toAsciiFail("\xe7\x92\xbc\xf0\x9d\xa8\xad\xef\xbd\xa1\xe2\x80\x8c\xf3\xa0\x87\x9f", true); } // [A4_2] test { try toUnicodeFail("\xe7\x92\xbc\xf0\x9d\xa8\xad\xe3\x80\x82\xe2\x80\x8c\xf3\xa0\x87\x9f"); } // [C1] +test { try toAsciiFail("\xe7\x92\xbc\xf0\x9d\xa8\xad\xe3\x80\x82\xe2\x80\x8c\xf3\xa0\x87\x9f", false); } // [C1] +test { try toAsciiFail("\xe7\x92\xbc\xf0\x9d\xa8\xad\xe3\x80\x82\xe2\x80\x8c\xf3\xa0\x87\x9f", true); } // [A4_2] test { try toUnicodePass("xn--gky8837e.", "\xe7\x92\xbc\xf0\x9d\xa8\xad."); } +test { try toAsciiFail("xn--gky8837e.", false); } // [A4_2] +test { try toAsciiFail("xn--gky8837e.", true); } // [A4_2] test { try toUnicodePass("\xe7\x92\xbc\xf0\x9d\xa8\xad.", "\xe7\x92\xbc\xf0\x9d\xa8\xad."); } +test { try toAsciiFail("\xe7\x92\xbc\xf0\x9d\xa8\xad.", false); } // [A4_2] +test { try toAsciiFail("\xe7\x92\xbc\xf0\x9d\xa8\xad.", true); } // [A4_2] test { try toUnicodeFail("xn--gky8837e.xn--0ug"); } // [C1] +test { try toAsciiFail("xn--gky8837e.xn--0ug", false); } // [C1] +test { try toAsciiFail("xn--gky8837e.xn--0ug", true); } // [C1] test { try toUnicodeFail("\xd9\xa98\xf1\x82\x8d\xbd\xef\xbd\xa1-5\xf0\x9f\x9e\xa5"); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa98\xf1\x82\x8d\xbd\xef\xbd\xa1-5\xf0\x9f\x9e\xa5", false); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa98\xf1\x82\x8d\xbd\xef\xbd\xa1-5\xf0\x9f\x9e\xa5", true); } // [B1, V3, V7] test { try toUnicodeFail("\xd9\xa98\xf1\x82\x8d\xbd\xe3\x80\x82-5\xf0\x9f\x9e\xa5"); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa98\xf1\x82\x8d\xbd\xe3\x80\x82-5\xf0\x9f\x9e\xa5", false); } // [B1, V3, V7] +test { try toAsciiFail("\xd9\xa98\xf1\x82\x8d\xbd\xe3\x80\x82-5\xf0\x9f\x9e\xa5", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--8-qqc97891f.xn---5-rp92a"); } // [B1, V3, V7] +test { try toAsciiFail("xn--8-qqc97891f.xn---5-rp92a", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--8-qqc97891f.xn---5-rp92a", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c.\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\x80\x8c", false); } // [C1] +test { try toAsciiFail("\xe2\x80\x8c.\xe2\x80\x8c", true); } // [A4_1, A4_2] test { try toUnicodeFail("xn--0ug.xn--0ug"); } // [C1] +test { try toAsciiFail("xn--0ug.xn--0ug", false); } // [C1] +test { try toAsciiFail("xn--0ug.xn--0ug", true); } // [C1] test { try toAsciiPass("\xe2\x80\x8d\xed\x8a\x9b.\xdc\x96", "xn--157b.xn--gnb", true); } test { try toUnicodeFail("\xe2\x80\x8d\xed\x8a\x9b.\xdc\x96"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xed\x8a\x9b.\xdc\x96", false); } // [B1, C2] test { try toAsciiPass("\xe2\x80\x8d\xe1\x84\x90\xe1\x85\xb1\xe1\x87\x82.\xdc\x96", "xn--157b.xn--gnb", true); } test { try toUnicodeFail("\xe2\x80\x8d\xe1\x84\x90\xe1\x85\xb1\xe1\x87\x82.\xdc\x96"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe1\x84\x90\xe1\x85\xb1\xe1\x87\x82.\xdc\x96", false); } // [B1, C2] test { try toUnicodePass("xn--157b.xn--gnb", "\xed\x8a\x9b.\xdc\x96"); } test { try toAsciiPass("xn--157b.xn--gnb", "xn--157b.xn--gnb", false); } test { try toAsciiPass("xn--157b.xn--gnb", "xn--157b.xn--gnb", true); } @@ -6549,81 +16215,227 @@ test { try toUnicodePass("\xe1\x84\x90\xe1\x85\xb1\xe1\x87\x82.\xdc\x96", "\xed\ test { try toAsciiPass("\xe1\x84\x90\xe1\x85\xb1\xe1\x87\x82.\xdc\x96", "xn--157b.xn--gnb", false); } test { try toAsciiPass("\xe1\x84\x90\xe1\x85\xb1\xe1\x87\x82.\xdc\x96", "xn--157b.xn--gnb", true); } test { try toUnicodeFail("xn--1ug4441e.xn--gnb"); } // [B1, C2] +test { try toAsciiFail("xn--1ug4441e.xn--gnb", false); } // [B1, C2] +test { try toAsciiFail("xn--1ug4441e.xn--gnb", true); } // [B1, C2] test { try toUnicodeFail("\xe1\xa1\x8b\xf0\x90\xb9\xb0\xf0\x9e\xbd\xb3.\xdd\xb9\xe2\xb4\x9e"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x8b\xf0\x90\xb9\xb0\xf0\x9e\xbd\xb3.\xdd\xb9\xe2\xb4\x9e", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x8b\xf0\x90\xb9\xb0\xf0\x9e\xbd\xb3.\xdd\xb9\xe2\xb4\x9e", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xe1\xa1\x8b\xf0\x90\xb9\xb0\xf0\x9e\xbd\xb3.\xdd\xb9\xe1\x82\xbe"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x8b\xf0\x90\xb9\xb0\xf0\x9e\xbd\xb3.\xdd\xb9\xe1\x82\xbe", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("\xe1\xa1\x8b\xf0\x90\xb9\xb0\xf0\x9e\xbd\xb3.\xdd\xb9\xe1\x82\xbe", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--b8e0417jocvf.xn--9pb883q"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--b8e0417jocvf.xn--9pb883q", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--b8e0417jocvf.xn--9pb883q", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--b8e0417jocvf.xn--9pb068b"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--b8e0417jocvf.xn--9pb068b", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--b8e0417jocvf.xn--9pb068b", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb\xf0\x9d\x9f\xa7\xef\xbc\x8e\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe1\x82\xa7"); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb\xf0\x9d\x9f\xa7\xef\xbc\x8e\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe1\x82\xa7", false); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb\xf0\x9d\x9f\xa7\xef\xbc\x8e\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe1\x82\xa7", true); } // [B1, B4, V7] test { try toUnicodeFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb5.\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe1\x82\xa7"); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb5.\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe1\x82\xa7", false); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb5.\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe1\x82\xa7", true); } // [B1, B4, V7] test { try toUnicodeFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb5.\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe2\xb4\x87"); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb5.\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe2\xb4\x87", false); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb5.\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe2\xb4\x87", true); } // [B1, B4, V7] test { try toUnicodeFail("xn--5-cqc8833rhv7f.xn--ykjz523efa"); } // [B1, B4, V7] +test { try toAsciiFail("xn--5-cqc8833rhv7f.xn--ykjz523efa", false); } // [B1, B4, V7] +test { try toAsciiFail("xn--5-cqc8833rhv7f.xn--ykjz523efa", true); } // [B1, B4, V7] test { try toUnicodeFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb\xf0\x9d\x9f\xa7\xef\xbc\x8e\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe2\xb4\x87"); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb\xf0\x9d\x9f\xa7\xef\xbc\x8e\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe2\xb4\x87", false); } // [B1, B4, V7] +test { try toAsciiFail("\xf0\x90\xb7\x83\xd9\xa2\xf0\x9d\x85\xbb\xf0\x9d\x9f\xa7\xef\xbc\x8e\xf0\x90\xb9\xae\xf0\x90\xb9\xac\xe2\xb4\x87", true); } // [B1, B4, V7] test { try toUnicodeFail("xn--5-cqc8833rhv7f.xn--fnd3401kfa"); } // [B1, B4, V7] +test { try toAsciiFail("xn--5-cqc8833rhv7f.xn--fnd3401kfa", false); } // [B1, B4, V7] +test { try toAsciiFail("xn--5-cqc8833rhv7f.xn--fnd3401kfa", true); } // [B1, B4, V7] test { try toUnicodeFail("\xe1\x82\xb7\xef\xbc\x8e\xd7\x82\xf0\x91\x84\xb4\xea\xa6\xb7\xf1\x98\x83\xa8"); } // [V6, V7] +test { try toAsciiFail("\xe1\x82\xb7\xef\xbc\x8e\xd7\x82\xf0\x91\x84\xb4\xea\xa6\xb7\xf1\x98\x83\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x82\xb7\xef\xbc\x8e\xd7\x82\xf0\x91\x84\xb4\xea\xa6\xb7\xf1\x98\x83\xa8", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x82\xb7\xef\xbc\x8e\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8"); } // [V6, V7] +test { try toAsciiFail("\xe1\x82\xb7\xef\xbc\x8e\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x82\xb7\xef\xbc\x8e\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x82\xb7.\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8"); } // [V6, V7] +test { try toAsciiFail("\xe1\x82\xb7.\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x82\xb7.\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", true); } // [V6, V7] test { try toUnicodeFail("\xe2\xb4\x97.\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8"); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\x97.\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\x97.\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", true); } // [V6, V7] test { try toUnicodeFail("xn--flj.xn--qdb0605f14ycrms3c"); } // [V6, V7] +test { try toAsciiFail("xn--flj.xn--qdb0605f14ycrms3c", false); } // [V6, V7] +test { try toAsciiFail("xn--flj.xn--qdb0605f14ycrms3c", true); } // [V6, V7] test { try toUnicodeFail("\xe2\xb4\x97\xef\xbc\x8e\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8"); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\x97\xef\xbc\x8e\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\x97\xef\xbc\x8e\xf0\x91\x84\xb4\xd7\x82\xea\xa6\xb7\xf1\x98\x83\xa8", true); } // [V6, V7] test { try toUnicodeFail("\xe2\xb4\x97\xef\xbc\x8e\xd7\x82\xf0\x91\x84\xb4\xea\xa6\xb7\xf1\x98\x83\xa8"); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\x97\xef\xbc\x8e\xd7\x82\xf0\x91\x84\xb4\xea\xa6\xb7\xf1\x98\x83\xa8", false); } // [V6, V7] +test { try toAsciiFail("\xe2\xb4\x97\xef\xbc\x8e\xd7\x82\xf0\x91\x84\xb4\xea\xa6\xb7\xf1\x98\x83\xa8", true); } // [V6, V7] test { try toUnicodeFail("xn--vnd.xn--qdb0605f14ycrms3c"); } // [V6, V7] +test { try toAsciiFail("xn--vnd.xn--qdb0605f14ycrms3c", false); } // [V6, V7] +test { try toAsciiFail("xn--vnd.xn--qdb0605f14ycrms3c", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x9d\x9f\xbe\xf0\xbe\xa4\x98\xef\xbc\x8e\xf2\x87\x95\x9b\xd9\xac"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xbe\xf0\xbe\xa4\x98\xef\xbc\x8e\xf2\x87\x95\x9b\xd9\xac", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf0\x9d\x9f\xbe\xf0\xbe\xa4\x98\xef\xbc\x8e\xf2\x87\x95\x9b\xd9\xac", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("8\xf0\xbe\xa4\x98.\xf2\x87\x95\x9b\xd9\xac"); } // [B1, B5, B6, V7] +test { try toAsciiFail("8\xf0\xbe\xa4\x98.\xf2\x87\x95\x9b\xd9\xac", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("8\xf0\xbe\xa4\x98.\xf2\x87\x95\x9b\xd9\xac", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--8-kh23b.xn--lib78461i"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--8-kh23b.xn--lib78461i", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--8-kh23b.xn--lib78461i", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe2\x92\x88\xe9\x85\xab\xef\xb8\x92\xe3\x80\x82\xe0\xa3\x96"); } // [V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xe9\x85\xab\xef\xb8\x92\xe3\x80\x82\xe0\xa3\x96", false); } // [V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xe9\x85\xab\xef\xb8\x92\xe3\x80\x82\xe0\xa3\x96", true); } // [V6, V7] test { try toUnicodeFail("1.\xe9\x85\xab\xe3\x80\x82\xe3\x80\x82\xe0\xa3\x96"); } // [V6, X4_2] +test { try toAsciiFail("1.\xe9\x85\xab\xe3\x80\x82\xe3\x80\x82\xe0\xa3\x96", false); } // [V6, A4_2] +test { try toAsciiFail("1.\xe9\x85\xab\xe3\x80\x82\xe3\x80\x82\xe0\xa3\x96", true); } // [V6, A4_2] test { try toUnicodeFail("1.xn--8j4a..xn--8zb"); } // [V6, X4_2] +test { try toAsciiFail("1.xn--8j4a..xn--8zb", false); } // [V6, A4_2] +test { try toAsciiFail("1.xn--8j4a..xn--8zb", true); } // [V6, A4_2] test { try toUnicodeFail("xn--tsh4490bfe8c.xn--8zb"); } // [V6, V7] +test { try toAsciiFail("xn--tsh4490bfe8c.xn--8zb", false); } // [V6, V7] +test { try toAsciiFail("xn--tsh4490bfe8c.xn--8zb", true); } // [V6, V7] test { try toUnicodeFail("\xe2\xb7\xa3\xe2\x80\x8c\xe2\x89\xae\xe1\xa9\xab.\xe2\x80\x8c\xe0\xb8\xba"); } // [C1, V6] +test { try toAsciiFail("\xe2\xb7\xa3\xe2\x80\x8c\xe2\x89\xae\xe1\xa9\xab.\xe2\x80\x8c\xe0\xb8\xba", false); } // [C1, V6] +test { try toAsciiFail("\xe2\xb7\xa3\xe2\x80\x8c\xe2\x89\xae\xe1\xa9\xab.\xe2\x80\x8c\xe0\xb8\xba", true); } // [V6] test { try toUnicodeFail("\xe2\xb7\xa3\xe2\x80\x8c<\xcc\xb8\xe1\xa9\xab.\xe2\x80\x8c\xe0\xb8\xba"); } // [C1, V6] +test { try toAsciiFail("\xe2\xb7\xa3\xe2\x80\x8c<\xcc\xb8\xe1\xa9\xab.\xe2\x80\x8c\xe0\xb8\xba", false); } // [C1, V6] +test { try toAsciiFail("\xe2\xb7\xa3\xe2\x80\x8c<\xcc\xb8\xe1\xa9\xab.\xe2\x80\x8c\xe0\xb8\xba", true); } // [V6] test { try toUnicodeFail("xn--uof548an0j.xn--o4c"); } // [V6] +test { try toAsciiFail("xn--uof548an0j.xn--o4c", false); } // [V6] +test { try toAsciiFail("xn--uof548an0j.xn--o4c", true); } // [V6] test { try toUnicodeFail("xn--uof63xk4bf3s.xn--o4c732g"); } // [C1, V6] +test { try toAsciiFail("xn--uof63xk4bf3s.xn--o4c732g", false); } // [C1, V6] +test { try toAsciiFail("xn--uof63xk4bf3s.xn--o4c732g", true); } // [C1, V6] test { try toUnicodeFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe1\x82\xbd\xc2\xb9\xe2\x80\x8d"); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe1\x82\xbd\xc2\xb9\xe2\x80\x8d", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe1\x82\xbd\xc2\xb9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe1\x82\xbd1\xe2\x80\x8d"); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe1\x82\xbd1\xe2\x80\x8d", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe1\x82\xbd1\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe2\xb4\x97\xe2\xb4\x9d1\xe2\x80\x8d"); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe2\xb4\x97\xe2\xb4\x9d1\xe2\x80\x8d", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe2\xb4\x97\xe2\xb4\x9d1\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe2\xb4\x9d1\xe2\x80\x8d"); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe2\xb4\x9d1\xe2\x80\x8d", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe2\xb4\x9d1\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("xn--co6h.xn--1-kwssa"); } // [V7] +test { try toAsciiFail("xn--co6h.xn--1-kwssa", false); } // [V7] +test { try toAsciiFail("xn--co6h.xn--1-kwssa", true); } // [V7] test { try toUnicodeFail("xn--co6h.xn--1-ugn710dya"); } // [B6, C2, V7] +test { try toAsciiFail("xn--co6h.xn--1-ugn710dya", false); } // [B6, C2, V7] +test { try toAsciiFail("xn--co6h.xn--1-ugn710dya", true); } // [B6, C2, V7] test { try toUnicodeFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe2\xb4\x97\xe2\xb4\x9d\xc2\xb9\xe2\x80\x8d"); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe2\xb4\x97\xe2\xb4\x9d\xc2\xb9\xe2\x80\x8d", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe2\xb4\x97\xe2\xb4\x9d\xc2\xb9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe2\xb4\x9d\xc2\xb9\xe2\x80\x8d"); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe2\xb4\x9d\xc2\xb9\xe2\x80\x8d", false); } // [B6, C2, V7] +test { try toAsciiFail("\xf0\x9e\xaa\x82\xe3\x80\x82\xe1\x82\xb7\xe2\xb4\x9d\xc2\xb9\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("xn--co6h.xn--1-h1g429s"); } // [V7] +test { try toAsciiFail("xn--co6h.xn--1-h1g429s", false); } // [V7] +test { try toAsciiFail("xn--co6h.xn--1-h1g429s", true); } // [V7] test { try toUnicodeFail("xn--co6h.xn--1-h1g398iewm"); } // [B6, C2, V7] +test { try toAsciiFail("xn--co6h.xn--1-h1g398iewm", false); } // [B6, C2, V7] +test { try toAsciiFail("xn--co6h.xn--1-h1g398iewm", true); } // [B6, C2, V7] test { try toUnicodeFail("xn--co6h.xn--1-h1gs"); } // [V7] +test { try toAsciiFail("xn--co6h.xn--1-h1gs", false); } // [V7] +test { try toAsciiFail("xn--co6h.xn--1-h1gs", true); } // [V7] test { try toUnicodeFail("xn--co6h.xn--1-h1gs597m"); } // [B6, C2, V7] +test { try toAsciiFail("xn--co6h.xn--1-h1gs597m", false); } // [B6, C2, V7] +test { try toAsciiFail("xn--co6h.xn--1-h1gs597m", true); } // [B6, C2, V7] test { try toUnicodeFail("\xf0\x91\x84\xb4\xf0\x91\x84\xb32.\xf0\x9e\xb3\xbf\xf3\xa0\x80\xb3-"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb4\xf0\x91\x84\xb32.\xf0\x9e\xb3\xbf\xf3\xa0\x80\xb3-", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x91\x84\xb4\xf0\x91\x84\xb32.\xf0\x9e\xb3\xbf\xf3\xa0\x80\xb3-", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("xn--2-h87ic.xn----s39r33498d"); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("xn--2-h87ic.xn----s39r33498d", false); } // [B1, B3, V3, V6, V7] +test { try toAsciiFail("xn--2-h87ic.xn----s39r33498d", true); } // [B1, B3, V3, V6, V7] test { try toUnicodeFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xef\xbd\xa1\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\x83\xdc\x90"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xef\xbd\xa1\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\x83\xdc\x90", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xef\xbd\xa1\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\x83\xdc\x90", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xe3\x80\x82\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\x83\xdc\x90"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xe3\x80\x82\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\x83\xdc\x90", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xe3\x80\x82\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\x83\xdc\x90", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xe3\x80\x82\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\xa5\xdc\x90"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xe3\x80\x82\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\xa5\xdc\x90", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xe3\x80\x82\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\xa5\xdc\x90", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--eib57614py3ea.xn--9mb5737kqnpfzkwr"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--eib57614py3ea.xn--9mb5737kqnpfzkwr", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--eib57614py3ea.xn--9mb5737kqnpfzkwr", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xef\xbd\xa1\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\xa5\xdc\x90"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xef\xbd\xa1\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\xa5\xdc\x90", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\xa0\x95\xb2\xf3\x9f\xb6\xb6\xd9\xa5\xef\xbd\xa1\xf1\x80\x81\x81\xf0\x91\x84\xb3\xf0\x9e\xa4\xa5\xdc\x90", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xcf\x82\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xcf\x82\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xcf\x82\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", true); } // [B2, B6, V7] test { try toUnicodeFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xcf\x82\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xcf\x82\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xcf\x82\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", true); } // [B2, B6, V7] test { try toUnicodeFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xce\xa3\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xce\xa3\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xce\xa3\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", true); } // [B2, B6, V7] test { try toUnicodeFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xcf\x83\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xcf\x83\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xe3\x80\x82\xcf\x83\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", true); } // [B2, B6, V7] test { try toUnicodeFail("xn--qnb616fis0qzt36f.xn--4xa847hli46a"); } // [B2, B6, V7] +test { try toAsciiFail("xn--qnb616fis0qzt36f.xn--4xa847hli46a", false); } // [B2, B6, V7] +test { try toAsciiFail("xn--qnb616fis0qzt36f.xn--4xa847hli46a", true); } // [B2, B6, V7] test { try toUnicodeFail("xn--qnb616fis0qzt36f.xn--4xa847h6ofgl44c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("xn--qnb616fis0qzt36f.xn--4xa847h6ofgl44c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("xn--qnb616fis0qzt36f.xn--4xa847h6ofgl44c", true); } // [B2, B6, C1, V7] test { try toUnicodeFail("xn--qnb616fis0qzt36f.xn--3xa057h6ofgl44c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("xn--qnb616fis0qzt36f.xn--3xa057h6ofgl44c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("xn--qnb616fis0qzt36f.xn--3xa057h6ofgl44c", true); } // [B2, B6, C1, V7] test { try toUnicodeFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xce\xa3\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xce\xa3\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xce\xa3\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", true); } // [B2, B6, V7] test { try toUnicodeFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xcf\x83\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c"); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xcf\x83\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", false); } // [B2, B6, C1, V7] +test { try toAsciiFail("\xdc\xa0\xf2\xb2\xa0\xbd\xf0\x90\xb9\xa2\xe1\x9e\xbb\xef\xbd\xa1\xcf\x83\xe1\xa2\x88\xf0\x9f\x9d\xad\xe2\x80\x8c", true); } // [B2, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d--\xe2\x89\xae\xe3\x80\x82\xf0\x90\xb9\xa7"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d--\xe2\x89\xae\xe3\x80\x82\xf0\x90\xb9\xa7", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d--\xe2\x89\xae\xe3\x80\x82\xf0\x90\xb9\xa7", true); } // [B1, V3] test { try toUnicodeFail("\xe2\x80\x8d--<\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xa7"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d--<\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xa7", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d--<\xcc\xb8\xe3\x80\x82\xf0\x90\xb9\xa7", true); } // [B1, V3] test { try toUnicodeFail("xn-----ujv.xn--fo0d"); } // [B1, V3] +test { try toAsciiFail("xn-----ujv.xn--fo0d", false); } // [B1, V3] +test { try toAsciiFail("xn-----ujv.xn--fo0d", true); } // [B1, V3] test { try toUnicodeFail("xn-----l1tz1k.xn--fo0d"); } // [B1, C2] +test { try toAsciiFail("xn-----l1tz1k.xn--fo0d", false); } // [B1, C2] +test { try toAsciiFail("xn-----l1tz1k.xn--fo0d", true); } // [B1, C2] test { try toUnicodeFail("\xea\xa0\x86\xe3\x80\x82\xf0\xbb\x9a\x8f\xe0\xbe\xb0\xe2\x92\x95"); } // [V6, V7] +test { try toAsciiFail("\xea\xa0\x86\xe3\x80\x82\xf0\xbb\x9a\x8f\xe0\xbe\xb0\xe2\x92\x95", false); } // [V6, V7] +test { try toAsciiFail("\xea\xa0\x86\xe3\x80\x82\xf0\xbb\x9a\x8f\xe0\xbe\xb0\xe2\x92\x95", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa0\x86\xe3\x80\x82\xf0\xbb\x9a\x8f\xe0\xbe\xb014."); } // [V6, V7] +test { try toAsciiFail("\xea\xa0\x86\xe3\x80\x82\xf0\xbb\x9a\x8f\xe0\xbe\xb014.", false); } // [V6, V7, A4_2] +test { try toAsciiFail("\xea\xa0\x86\xe3\x80\x82\xf0\xbb\x9a\x8f\xe0\xbe\xb014.", true); } // [V6, V7, A4_2] test { try toUnicodeFail("xn--l98a.xn--14-jsj57880f."); } // [V6, V7] +test { try toAsciiFail("xn--l98a.xn--14-jsj57880f.", false); } // [V6, V7, A4_2] +test { try toAsciiFail("xn--l98a.xn--14-jsj57880f.", true); } // [V6, V7, A4_2] test { try toUnicodeFail("xn--l98a.xn--dgd218hhp28d"); } // [V6, V7] +test { try toAsciiFail("xn--l98a.xn--dgd218hhp28d", false); } // [V6, V7] +test { try toAsciiFail("xn--l98a.xn--dgd218hhp28d", true); } // [V6, V7] test { try toUnicodeFail("\xf2\xae\x89\x82\xda\xbc\xef\xbc\x8e\xf0\x91\x86\xba\xd9\xa9"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xae\x89\x82\xda\xbc\xef\xbc\x8e\xf0\x91\x86\xba\xd9\xa9", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xae\x89\x82\xda\xbc\xef\xbc\x8e\xf0\x91\x86\xba\xd9\xa9", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf2\xae\x89\x82\xda\xbc.\xf0\x91\x86\xba\xd9\xa9"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xae\x89\x82\xda\xbc.\xf0\x91\x86\xba\xd9\xa9", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf2\xae\x89\x82\xda\xbc.\xf0\x91\x86\xba\xd9\xa9", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--vkb92243l.xn--iib9797k"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--vkb92243l.xn--iib9797k", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--vkb92243l.xn--iib9797k", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf3\xa0\x81\x8e\xdb\x90-\xe3\x80\x82\xf0\x9e\xa4\xb4"); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x8e\xdb\x90-\xe3\x80\x82\xf0\x9e\xa4\xb4", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x8e\xdb\x90-\xe3\x80\x82\xf0\x9e\xa4\xb4", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\xa0\x81\x8e\xdb\x90-\xe3\x80\x82\xf0\x9e\xa4\x92"); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x8e\xdb\x90-\xe3\x80\x82\xf0\x9e\xa4\x92", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf3\xa0\x81\x8e\xdb\x90-\xe3\x80\x82\xf0\x9e\xa4\x92", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----mwc72685y.xn--se6h"); } // [B1, V3, V7] +test { try toAsciiFail("xn----mwc72685y.xn--se6h", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----mwc72685y.xn--se6h", true); } // [B1, V3, V7] test { try toAsciiPass("\xf0\x9d\x9f\xa04\xf3\xa0\x87\x97\xf0\x9d\x88\xbb\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x8b\xb5\xe2\x9b\xa7\xe2\x80\x8d", "xn--84-s850a.xn--59h6326e", true); } test { try toUnicodeFail("\xf0\x9d\x9f\xa04\xf3\xa0\x87\x97\xf0\x9d\x88\xbb\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x8b\xb5\xe2\x9b\xa7\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xf0\x9d\x9f\xa04\xf3\xa0\x87\x97\xf0\x9d\x88\xbb\xef\xbc\x8e\xe2\x80\x8d\xf0\x90\x8b\xb5\xe2\x9b\xa7\xe2\x80\x8d", false); } // [C2] test { try toAsciiPass("84\xf3\xa0\x87\x97\xf0\x9d\x88\xbb.\xe2\x80\x8d\xf0\x90\x8b\xb5\xe2\x9b\xa7\xe2\x80\x8d", "xn--84-s850a.xn--59h6326e", true); } test { try toUnicodeFail("84\xf3\xa0\x87\x97\xf0\x9d\x88\xbb.\xe2\x80\x8d\xf0\x90\x8b\xb5\xe2\x9b\xa7\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("84\xf3\xa0\x87\x97\xf0\x9d\x88\xbb.\xe2\x80\x8d\xf0\x90\x8b\xb5\xe2\x9b\xa7\xe2\x80\x8d", false); } // [C2] test { try toUnicodePass("xn--84-s850a.xn--59h6326e", "84\xf0\x9d\x88\xbb.\xf0\x90\x8b\xb5\xe2\x9b\xa7"); } test { try toAsciiPass("xn--84-s850a.xn--59h6326e", "xn--84-s850a.xn--59h6326e", false); } test { try toAsciiPass("xn--84-s850a.xn--59h6326e", "xn--84-s850a.xn--59h6326e", true); } @@ -6631,9 +16443,17 @@ test { try toUnicodePass("84\xf0\x9d\x88\xbb.\xf0\x90\x8b\xb5\xe2\x9b\xa7", "84\ test { try toAsciiPass("84\xf0\x9d\x88\xbb.\xf0\x90\x8b\xb5\xe2\x9b\xa7", "xn--84-s850a.xn--59h6326e", false); } test { try toAsciiPass("84\xf0\x9d\x88\xbb.\xf0\x90\x8b\xb5\xe2\x9b\xa7", "xn--84-s850a.xn--59h6326e", true); } test { try toUnicodeFail("xn--84-s850a.xn--1uga573cfq1w"); } // [C2] +test { try toAsciiFail("xn--84-s850a.xn--1uga573cfq1w", false); } // [C2] +test { try toAsciiFail("xn--84-s850a.xn--1uga573cfq1w", true); } // [C2] test { try toUnicodeFail("-\xd8\x81\xef\xbd\xa1\xe1\xa1\xaa"); } // [B1, V3, V7] +test { try toAsciiFail("-\xd8\x81\xef\xbd\xa1\xe1\xa1\xaa", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xd8\x81\xef\xbd\xa1\xe1\xa1\xaa", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xd8\x81\xe3\x80\x82\xe1\xa1\xaa"); } // [B1, V3, V7] +test { try toAsciiFail("-\xd8\x81\xe3\x80\x82\xe1\xa1\xaa", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xd8\x81\xe3\x80\x82\xe1\xa1\xaa", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----tkc.xn--68e"); } // [B1, V3, V7] +test { try toAsciiFail("xn----tkc.xn--68e", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----tkc.xn--68e", true); } // [B1, V3, V7] test { try toUnicodePass("\xe2\x89\xae\xf0\x9d\x9f\x95\xef\xbc\x8e\xe8\xac\x96\xc3\x9f\xe2\x89\xaf", "\xe2\x89\xae7.\xe8\xac\x96\xc3\x9f\xe2\x89\xaf"); } test { try toAsciiPass("\xe2\x89\xae\xf0\x9d\x9f\x95\xef\xbc\x8e\xe8\xac\x96\xc3\x9f\xe2\x89\xaf", "xn--7-mgo.xn--zca892oly5e", false); } test { try toAsciiPass("\xe2\x89\xae\xf0\x9d\x9f\x95\xef\xbc\x8e\xe8\xac\x96\xc3\x9f\xe2\x89\xaf", "xn--7-mgo.xn--ss-xjvv174c", true); } @@ -6689,45 +16509,125 @@ test { try toUnicodePass("\xe2\x89\xae\xf0\x9d\x9f\x95\xef\xbc\x8e\xe8\xac\x96Ss test { try toAsciiPass("\xe2\x89\xae\xf0\x9d\x9f\x95\xef\xbc\x8e\xe8\xac\x96Ss\xe2\x89\xaf", "xn--7-mgo.xn--ss-xjvv174c", false); } test { try toAsciiPass("\xe2\x89\xae\xf0\x9d\x9f\x95\xef\xbc\x8e\xe8\xac\x96Ss\xe2\x89\xaf", "xn--7-mgo.xn--ss-xjvv174c", true); } test { try toUnicodeFail("\xe6\x9c\xb6\xe1\x82\xa9\xf0\x9e\xaa\xa1.\xf0\x9d\xa8\xbd\xe0\xa0\xa5\xf0\x9f\x93\xbb-"); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("\xe6\x9c\xb6\xe1\x82\xa9\xf0\x9e\xaa\xa1.\xf0\x9d\xa8\xbd\xe0\xa0\xa5\xf0\x9f\x93\xbb-", false); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("\xe6\x9c\xb6\xe1\x82\xa9\xf0\x9e\xaa\xa1.\xf0\x9d\xa8\xbd\xe0\xa0\xa5\xf0\x9f\x93\xbb-", true); } // [B1, B5, B6, V3, V6, V7] test { try toUnicodeFail("\xe6\x9c\xb6\xe2\xb4\x89\xf0\x9e\xaa\xa1.\xf0\x9d\xa8\xbd\xe0\xa0\xa5\xf0\x9f\x93\xbb-"); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("\xe6\x9c\xb6\xe2\xb4\x89\xf0\x9e\xaa\xa1.\xf0\x9d\xa8\xbd\xe0\xa0\xa5\xf0\x9f\x93\xbb-", false); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("\xe6\x9c\xb6\xe2\xb4\x89\xf0\x9e\xaa\xa1.\xf0\x9d\xa8\xbd\xe0\xa0\xa5\xf0\x9f\x93\xbb-", true); } // [B1, B5, B6, V3, V6, V7] test { try toUnicodeFail("xn--0kjz47pd57t.xn----3gd37096apmwa"); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("xn--0kjz47pd57t.xn----3gd37096apmwa", false); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("xn--0kjz47pd57t.xn----3gd37096apmwa", true); } // [B1, B5, B6, V3, V6, V7] test { try toUnicodeFail("xn--hnd7245bd56p.xn----3gd37096apmwa"); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("xn--hnd7245bd56p.xn----3gd37096apmwa", false); } // [B1, B5, B6, V3, V6, V7] +test { try toAsciiFail("xn--hnd7245bd56p.xn----3gd37096apmwa", true); } // [B1, B5, B6, V3, V6, V7] test { try toUnicodeFail("\xf0\x90\xa4\x8e\xe3\x80\x82\xf3\x91\xbf\xb0\xe2\x80\x8c\xe2\x89\xae\xe2\x80\x8d"); } // [B6, C1, C2, V7] +test { try toAsciiFail("\xf0\x90\xa4\x8e\xe3\x80\x82\xf3\x91\xbf\xb0\xe2\x80\x8c\xe2\x89\xae\xe2\x80\x8d", false); } // [B6, C1, C2, V7] +test { try toAsciiFail("\xf0\x90\xa4\x8e\xe3\x80\x82\xf3\x91\xbf\xb0\xe2\x80\x8c\xe2\x89\xae\xe2\x80\x8d", true); } // [B6, V7] test { try toUnicodeFail("\xf0\x90\xa4\x8e\xe3\x80\x82\xf3\x91\xbf\xb0\xe2\x80\x8c<\xcc\xb8\xe2\x80\x8d"); } // [B6, C1, C2, V7] +test { try toAsciiFail("\xf0\x90\xa4\x8e\xe3\x80\x82\xf3\x91\xbf\xb0\xe2\x80\x8c<\xcc\xb8\xe2\x80\x8d", false); } // [B6, C1, C2, V7] +test { try toAsciiFail("\xf0\x90\xa4\x8e\xe3\x80\x82\xf3\x91\xbf\xb0\xe2\x80\x8c<\xcc\xb8\xe2\x80\x8d", true); } // [B6, V7] test { try toUnicodeFail("xn--bk9c.xn--gdhx6802k"); } // [B6, V7] +test { try toAsciiFail("xn--bk9c.xn--gdhx6802k", false); } // [B6, V7] +test { try toAsciiFail("xn--bk9c.xn--gdhx6802k", true); } // [B6, V7] test { try toUnicodeFail("xn--bk9c.xn--0ugc04p2u638c"); } // [B6, C1, C2, V7] +test { try toAsciiFail("xn--bk9c.xn--0ugc04p2u638c", false); } // [B6, C1, C2, V7] +test { try toAsciiFail("xn--bk9c.xn--0ugc04p2u638c", true); } // [B6, C1, C2, V7] test { try toUnicodeFail("\xf1\xad\x9c\x8e\xe2\x92\x88\xef\xbd\xa1\xe2\x80\x8c\xf0\x9d\x9f\xa4"); } // [C1, V7] +test { try toAsciiFail("\xf1\xad\x9c\x8e\xe2\x92\x88\xef\xbd\xa1\xe2\x80\x8c\xf0\x9d\x9f\xa4", false); } // [C1, V7] +test { try toAsciiFail("\xf1\xad\x9c\x8e\xe2\x92\x88\xef\xbd\xa1\xe2\x80\x8c\xf0\x9d\x9f\xa4", true); } // [V7] test { try toUnicodeFail("\xf1\xad\x9c\x8e1.\xe3\x80\x82\xe2\x80\x8c2"); } // [C1, V7, X4_2] +test { try toAsciiFail("\xf1\xad\x9c\x8e1.\xe3\x80\x82\xe2\x80\x8c2", false); } // [C1, V7, A4_2] +test { try toAsciiFail("\xf1\xad\x9c\x8e1.\xe3\x80\x82\xe2\x80\x8c2", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-ex54e..c"); } // [V7, X4_2] +test { try toAsciiFail("xn--1-ex54e..c", false); } // [V7, A4_2] +test { try toAsciiFail("xn--1-ex54e..c", true); } // [V7, A4_2] test { try toUnicodeFail("xn--1-ex54e..xn--2-rgn"); } // [C1, V7, X4_2] +test { try toAsciiFail("xn--1-ex54e..xn--2-rgn", false); } // [C1, V7, A4_2] +test { try toAsciiFail("xn--1-ex54e..xn--2-rgn", true); } // [C1, V7, A4_2] test { try toUnicodeFail("xn--tsh94183d.c"); } // [V7] +test { try toAsciiFail("xn--tsh94183d.c", false); } // [V7] +test { try toAsciiFail("xn--tsh94183d.c", true); } // [V7] test { try toUnicodeFail("xn--tsh94183d.xn--2-rgn"); } // [C1, V7] +test { try toAsciiFail("xn--tsh94183d.xn--2-rgn", false); } // [C1, V7] +test { try toAsciiFail("xn--tsh94183d.xn--2-rgn", true); } // [C1, V7] test { try toUnicodeFail("\xf3\xa0\x9f\x8a\xf0\x90\xb9\xa4\xe2\x80\x8d\xef\xbc\x8e\xf0\x90\xb9\xb3\xf3\x99\x84\xb5\xf0\x90\xb9\xb6"); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\xa0\x9f\x8a\xf0\x90\xb9\xa4\xe2\x80\x8d\xef\xbc\x8e\xf0\x90\xb9\xb3\xf3\x99\x84\xb5\xf0\x90\xb9\xb6", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\xa0\x9f\x8a\xf0\x90\xb9\xa4\xe2\x80\x8d\xef\xbc\x8e\xf0\x90\xb9\xb3\xf3\x99\x84\xb5\xf0\x90\xb9\xb6", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x9f\x8a\xf0\x90\xb9\xa4\xe2\x80\x8d.\xf0\x90\xb9\xb3\xf3\x99\x84\xb5\xf0\x90\xb9\xb6"); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\xa0\x9f\x8a\xf0\x90\xb9\xa4\xe2\x80\x8d.\xf0\x90\xb9\xb3\xf3\x99\x84\xb5\xf0\x90\xb9\xb6", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\xa0\x9f\x8a\xf0\x90\xb9\xa4\xe2\x80\x8d.\xf0\x90\xb9\xb3\xf3\x99\x84\xb5\xf0\x90\xb9\xb6", true); } // [B1, V7] test { try toUnicodeFail("xn--co0d98977c.xn--ro0dga22807v"); } // [B1, V7] +test { try toAsciiFail("xn--co0d98977c.xn--ro0dga22807v", false); } // [B1, V7] +test { try toAsciiFail("xn--co0d98977c.xn--ro0dga22807v", true); } // [B1, V7] test { try toUnicodeFail("xn--1ugy994g7k93g.xn--ro0dga22807v"); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugy994g7k93g.xn--ro0dga22807v", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--1ugy994g7k93g.xn--ro0dga22807v", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xb4\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d\xef\xbc\x8e\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d\xef\xbc\x8e\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d\xef\xbc\x8e\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xb4\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d.\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d.\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xb4\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d.\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x92\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d.\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d.\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d.\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--609c96c09grp2w.xn--n3b28708s"); } // [B1, V6, V7] +test { try toAsciiFail("xn--609c96c09grp2w.xn--n3b28708s", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--609c96c09grp2w.xn--n3b28708s", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x92\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d\xef\xbc\x8e\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d\xef\xbc\x8e\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x92\xf0\x90\xb9\xbb\xf0\x91\x93\x82\xf0\x90\xad\x9d\xef\xbc\x8e\xe0\xa5\x8d\xef\xb8\x87\xf4\x89\x9b\xaf", true); } // [B1, V6, V7] test { try toUnicodeFail("\xd9\xa8\xef\xbd\xa1\xf0\x90\xb9\xa0\xf0\x90\xb9\xbd\xf1\x97\xae\xb6"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa8\xef\xbd\xa1\xf0\x90\xb9\xa0\xf0\x90\xb9\xbd\xf1\x97\xae\xb6", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa8\xef\xbd\xa1\xf0\x90\xb9\xa0\xf0\x90\xb9\xbd\xf1\x97\xae\xb6", true); } // [B1, V7] test { try toUnicodeFail("\xd9\xa8\xe3\x80\x82\xf0\x90\xb9\xa0\xf0\x90\xb9\xbd\xf1\x97\xae\xb6"); } // [B1, V7] +test { try toAsciiFail("\xd9\xa8\xe3\x80\x82\xf0\x90\xb9\xa0\xf0\x90\xb9\xbd\xf1\x97\xae\xb6", false); } // [B1, V7] +test { try toAsciiFail("\xd9\xa8\xe3\x80\x82\xf0\x90\xb9\xa0\xf0\x90\xb9\xbd\xf1\x97\xae\xb6", true); } // [B1, V7] test { try toUnicodeFail("xn--hib.xn--7n0d2bu9196b"); } // [B1, V7] +test { try toAsciiFail("xn--hib.xn--7n0d2bu9196b", false); } // [B1, V7] +test { try toAsciiFail("xn--hib.xn--7n0d2bu9196b", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x85\xa0\xf1\x8d\x80\x9c.8\xf2\xb6\xbe\xb5\xda\x9c"); } // [B1, V7] +test { try toAsciiFail("\xe1\x85\xa0\xf1\x8d\x80\x9c.8\xf2\xb6\xbe\xb5\xda\x9c", false); } // [B1, V7] +test { try toAsciiFail("\xe1\x85\xa0\xf1\x8d\x80\x9c.8\xf2\xb6\xbe\xb5\xda\x9c", true); } // [B1, V7] test { try toUnicodeFail("xn--mn1x.xn--8-otc61545t"); } // [B1, V7] +test { try toAsciiFail("xn--mn1x.xn--8-otc61545t", false); } // [B1, V7] +test { try toAsciiFail("xn--mn1x.xn--8-otc61545t", true); } // [B1, V7] test { try toUnicodeFail("xn--psd85033d.xn--8-otc61545t"); } // [B1, V7] +test { try toAsciiFail("xn--psd85033d.xn--8-otc61545t", false); } // [B1, V7] +test { try toAsciiFail("xn--psd85033d.xn--8-otc61545t", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1\xc3\x9f\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1\xc3\x9f\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1\xc3\x9f\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82\xc3\x9f\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82\xc3\x9f\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82\xc3\x9f\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82SS\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82SS\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82SS\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82ss\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82ss\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82ss\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82Ss\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82Ss\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xe3\x80\x82Ss\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail(".xn--ss-bh7o"); } // [X4_2] +test { try toAsciiFail(".xn--ss-bh7o", false); } // [A4_2] +test { try toAsciiFail(".xn--ss-bh7o", true); } // [A4_2] test { try toUnicodeFail("xn--0ugb.xn--ss-bh7o"); } // [C1, C2] +test { try toAsciiFail("xn--0ugb.xn--ss-bh7o", false); } // [C1, C2] +test { try toAsciiFail("xn--0ugb.xn--ss-bh7o", true); } // [C1, C2] test { try toUnicodeFail("xn--0ugb.xn--zca0732l"); } // [C1, C2] +test { try toAsciiFail("xn--0ugb.xn--zca0732l", false); } // [C1, C2] +test { try toAsciiFail("xn--0ugb.xn--zca0732l", true); } // [C1, C2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1SS\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1SS\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1SS\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1ss\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1ss\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1ss\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1Ss\xf0\x91\x93\x83"); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1Ss\xf0\x91\x93\x83", false); } // [C1, C2] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8c\xf3\xa0\x86\xaa\xef\xbd\xa1Ss\xf0\x91\x93\x83", true); } // [A4_2] test { try toUnicodePass("xn--ss-bh7o", "ss\xf0\x91\x93\x83"); } test { try toAsciiPass("xn--ss-bh7o", "xn--ss-bh7o", false); } test { try toAsciiPass("xn--ss-bh7o", "xn--ss-bh7o", true); } @@ -6741,11 +16641,23 @@ test { try toUnicodePass("Ss\xf0\x91\x93\x83", "ss\xf0\x91\x93\x83"); } test { try toAsciiPass("Ss\xf0\x91\x93\x83", "xn--ss-bh7o", false); } test { try toAsciiPass("Ss\xf0\x91\x93\x83", "xn--ss-bh7o", true); } test { try toUnicodeFail("\xef\xb8\x92\xe2\x80\x8c\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa"); } // [C1, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\x80\x8c\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", false); } // [C1, V7] +test { try toAsciiFail("\xef\xb8\x92\xe2\x80\x8c\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", true); } // [V7] test { try toUnicodeFail("\xe3\x80\x82\xe2\x80\x8c\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa"); } // [C1, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\x80\x8c\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", false); } // [C1, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xe2\x80\x8c\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", true); } // [A4_2] test { try toUnicodeFail(".xn--qekw60d.xn--gd9a"); } // [X4_2] +test { try toAsciiFail(".xn--qekw60d.xn--gd9a", false); } // [A4_2] +test { try toAsciiFail(".xn--qekw60d.xn--gd9a", true); } // [A4_2] test { try toUnicodeFail(".xn--0ug287dj0o.xn--gd9a"); } // [C1, X4_2] +test { try toAsciiFail(".xn--0ug287dj0o.xn--gd9a", false); } // [C1, A4_2] +test { try toAsciiFail(".xn--0ug287dj0o.xn--gd9a", true); } // [C1, A4_2] test { try toUnicodeFail("xn--qekw60dns9k.xn--gd9a"); } // [V7] +test { try toAsciiFail("xn--qekw60dns9k.xn--gd9a", false); } // [V7] +test { try toAsciiFail("xn--qekw60dns9k.xn--gd9a", true); } // [V7] test { try toUnicodeFail("xn--0ug287dj0or48o.xn--gd9a"); } // [C1, V7] +test { try toAsciiFail("xn--0ug287dj0or48o.xn--gd9a", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug287dj0or48o.xn--gd9a", true); } // [C1, V7] test { try toUnicodePass("xn--qekw60d.xn--gd9a", "\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa"); } test { try toAsciiPass("xn--qekw60d.xn--gd9a", "xn--qekw60d.xn--gd9a", false); } test { try toAsciiPass("xn--qekw60d.xn--gd9a", "xn--qekw60d.xn--gd9a", true); } @@ -6753,39 +16665,98 @@ test { try toUnicodePass("\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", "\xe3\x83\xb6\ test { try toAsciiPass("\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", "xn--qekw60d.xn--gd9a", false); } test { try toAsciiPass("\xe3\x83\xb6\xe4\x92\xa9.\xea\xa1\xaa", "xn--qekw60d.xn--gd9a", true); } test { try toUnicodeFail("\xe2\x80\x8c\xe2\x92\x88\xf0\xa4\xae\x8d.\xf3\xa2\x93\x8b\xe1\xa9\xa0"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x92\x88\xf0\xa4\xae\x8d.\xf3\xa2\x93\x8b\xe1\xa9\xa0", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xe2\x92\x88\xf0\xa4\xae\x8d.\xf3\xa2\x93\x8b\xe1\xa9\xa0", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8c1.\xf0\xa4\xae\x8d.\xf3\xa2\x93\x8b\xe1\xa9\xa0"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c1.\xf0\xa4\xae\x8d.\xf3\xa2\x93\x8b\xe1\xa9\xa0", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c1.\xf0\xa4\xae\x8d.\xf3\xa2\x93\x8b\xe1\xa9\xa0", true); } // [V7] test { try toUnicodeFail("1.xn--4x6j.xn--jof45148n"); } // [V7] +test { try toAsciiFail("1.xn--4x6j.xn--jof45148n", false); } // [V7] +test { try toAsciiFail("1.xn--4x6j.xn--jof45148n", true); } // [V7] test { try toUnicodeFail("xn--1-rgn.xn--4x6j.xn--jof45148n"); } // [C1, V7] +test { try toAsciiFail("xn--1-rgn.xn--4x6j.xn--jof45148n", false); } // [C1, V7] +test { try toAsciiFail("xn--1-rgn.xn--4x6j.xn--jof45148n", true); } // [C1, V7] test { try toUnicodeFail("xn--tshw462r.xn--jof45148n"); } // [V7] +test { try toAsciiFail("xn--tshw462r.xn--jof45148n", false); } // [V7] +test { try toAsciiFail("xn--tshw462r.xn--jof45148n", true); } // [V7] test { try toUnicodeFail("xn--0ug88o7471d.xn--jof45148n"); } // [C1, V7] +test { try toAsciiFail("xn--0ug88o7471d.xn--jof45148n", false); } // [C1, V7] +test { try toAsciiFail("xn--0ug88o7471d.xn--jof45148n", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x92\x88\xe2\x80\x8c\xf0\x90\xab\x93\xf3\xa0\x80\xba\xe3\x80\x82\xe1\xa9\xa0\xf1\xa4\xb0\xb5\xe2\x80\x8d"); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x80\x8c\xf0\x90\xab\x93\xf3\xa0\x80\xba\xe3\x80\x82\xe1\xa9\xa0\xf1\xa4\xb0\xb5\xe2\x80\x8d", false); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xe2\x80\x8c\xf0\x90\xab\x93\xf3\xa0\x80\xba\xe3\x80\x82\xe1\xa9\xa0\xf1\xa4\xb0\xb5\xe2\x80\x8d", true); } // [B1, V6, V7] test { try toUnicodeFail("1.\xe2\x80\x8c\xf0\x90\xab\x93\xf3\xa0\x80\xba\xe3\x80\x82\xe1\xa9\xa0\xf1\xa4\xb0\xb5\xe2\x80\x8d"); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("1.\xe2\x80\x8c\xf0\x90\xab\x93\xf3\xa0\x80\xba\xe3\x80\x82\xe1\xa9\xa0\xf1\xa4\xb0\xb5\xe2\x80\x8d", false); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("1.\xe2\x80\x8c\xf0\x90\xab\x93\xf3\xa0\x80\xba\xe3\x80\x82\xe1\xa9\xa0\xf1\xa4\xb0\xb5\xe2\x80\x8d", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("1.xn--8w9c40377c.xn--jofz5294e"); } // [B1, B3, V6, V7] +test { try toAsciiFail("1.xn--8w9c40377c.xn--jofz5294e", false); } // [B1, B3, V6, V7] +test { try toAsciiFail("1.xn--8w9c40377c.xn--jofz5294e", true); } // [B1, B3, V6, V7] test { try toUnicodeFail("1.xn--0ug8853gk263g.xn--jof95xex98m"); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("1.xn--0ug8853gk263g.xn--jof95xex98m", false); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("1.xn--0ug8853gk263g.xn--jof95xex98m", true); } // [B1, C1, C2, V6, V7] test { try toUnicodeFail("xn--tsh4435fk263g.xn--jofz5294e"); } // [B1, V6, V7] +test { try toAsciiFail("xn--tsh4435fk263g.xn--jofz5294e", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--tsh4435fk263g.xn--jofz5294e", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--0ug78ol75wzcx4i.xn--jof95xex98m"); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("xn--0ug78ol75wzcx4i.xn--jof95xex98m", false); } // [B1, C1, C2, V6, V7] +test { try toAsciiFail("xn--0ug78ol75wzcx4i.xn--jof95xex98m", true); } // [B1, C1, C2, V6, V7] test { try toUnicodeFail("\xf0\x9d\x85\xb5\xef\xbd\xa1\xf0\x9d\x9f\xab\xf0\x9e\x80\x88\xe4\xac\xba\xe2\x92\x88"); } // [V7, X4_2] +test { try toAsciiFail("\xf0\x9d\x85\xb5\xef\xbd\xa1\xf0\x9d\x9f\xab\xf0\x9e\x80\x88\xe4\xac\xba\xe2\x92\x88", false); } // [V7, A4_2] +test { try toAsciiFail("\xf0\x9d\x85\xb5\xef\xbd\xa1\xf0\x9d\x9f\xab\xf0\x9e\x80\x88\xe4\xac\xba\xe2\x92\x88", true); } // [V7, A4_2] test { try toUnicodeFail("\xf0\x9d\x85\xb5\xe3\x80\x829\xf0\x9e\x80\x88\xe4\xac\xba1."); } // [X4_2] +test { try toAsciiFail("\xf0\x9d\x85\xb5\xe3\x80\x829\xf0\x9e\x80\x88\xe4\xac\xba1.", false); } // [A4_2] +test { try toAsciiFail("\xf0\x9d\x85\xb5\xe3\x80\x829\xf0\x9e\x80\x88\xe4\xac\xba1.", true); } // [A4_2] test { try toUnicodeFail(".xn--91-030c1650n."); } // [X4_2] +test { try toAsciiFail(".xn--91-030c1650n.", false); } // [A4_2] +test { try toAsciiFail(".xn--91-030c1650n.", true); } // [A4_2] test { try toUnicodeFail(".xn--9-ecp936non25a"); } // [V7, X4_2] +test { try toAsciiFail(".xn--9-ecp936non25a", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--9-ecp936non25a", true); } // [V7, A4_2] test { try toUnicodeFail("xn--3f1h.xn--91-030c1650n."); } // [V7] +test { try toAsciiFail("xn--3f1h.xn--91-030c1650n.", false); } // [V7, A4_2] +test { try toAsciiFail("xn--3f1h.xn--91-030c1650n.", true); } // [V7, A4_2] test { try toUnicodeFail("xn--3f1h.xn--9-ecp936non25a"); } // [V7] +test { try toAsciiFail("xn--3f1h.xn--9-ecp936non25a", false); } // [V7] +test { try toAsciiFail("xn--3f1h.xn--9-ecp936non25a", true); } // [V7] test { try toUnicodeFail("\xf2\xa1\xbc\xba\xe2\x89\xaf\xe3\x80\x82\xe7\x9b\x9a\xd8\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa1\xbc\xba\xe2\x89\xaf\xe3\x80\x82\xe7\x9b\x9a\xd8\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa1\xbc\xba\xe2\x89\xaf\xe3\x80\x82\xe7\x9b\x9a\xd8\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\xa1\xbc\xba>\xcc\xb8\xe3\x80\x82\xe7\x9b\x9a\xd8\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa1\xbc\xba>\xcc\xb8\xe3\x80\x82\xe7\x9b\x9a\xd8\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf2\xa1\xbc\xba>\xcc\xb8\xe3\x80\x82\xe7\x9b\x9a\xd8\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--hdh30181h.xn--0gb7878c"); } // [B5, B6, V7] +test { try toAsciiFail("xn--hdh30181h.xn--0gb7878c", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--hdh30181h.xn--0gb7878c", true); } // [B5, B6, V7] test { try toUnicodeFail("-\xf1\xbf\xb0\xad\xd6\xb4\xe3\x80\x82-\xf3\xa0\x81\x8a\xf0\x90\xa2\xb8\xe2\x89\xaf"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\xbf\xb0\xad\xd6\xb4\xe3\x80\x82-\xf3\xa0\x81\x8a\xf0\x90\xa2\xb8\xe2\x89\xaf", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\xbf\xb0\xad\xd6\xb4\xe3\x80\x82-\xf3\xa0\x81\x8a\xf0\x90\xa2\xb8\xe2\x89\xaf", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\xbf\xb0\xad\xd6\xb4\xe3\x80\x82-\xf3\xa0\x81\x8a\xf0\x90\xa2\xb8>\xcc\xb8"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\xbf\xb0\xad\xd6\xb4\xe3\x80\x82-\xf3\xa0\x81\x8a\xf0\x90\xa2\xb8>\xcc\xb8", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\xbf\xb0\xad\xd6\xb4\xe3\x80\x82-\xf3\xa0\x81\x8a\xf0\x90\xa2\xb8>\xcc\xb8", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----fgc06667m.xn----pgoy615he5y4i"); } // [B1, V3, V7] +test { try toAsciiFail("xn----fgc06667m.xn----pgoy615he5y4i", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----fgc06667m.xn----pgoy615he5y4i", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf3\xbf\xad\x93\xe1\xad\x84\xe2\x80\x8c\xe0\xa9\x8d\xef\xbc\x8e\xf0\x90\xad\x9b\xf1\xb3\x8b\x94"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf3\xbf\xad\x93\xe1\xad\x84\xe2\x80\x8c\xe0\xa9\x8d\xef\xbc\x8e\xf0\x90\xad\x9b\xf1\xb3\x8b\x94", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf3\xbf\xad\x93\xe1\xad\x84\xe2\x80\x8c\xe0\xa9\x8d\xef\xbc\x8e\xf0\x90\xad\x9b\xf1\xb3\x8b\x94", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf3\xbf\xad\x93\xe1\xad\x84\xe2\x80\x8c\xe0\xa9\x8d.\xf0\x90\xad\x9b\xf1\xb3\x8b\x94"); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf3\xbf\xad\x93\xe1\xad\x84\xe2\x80\x8c\xe0\xa9\x8d.\xf0\x90\xad\x9b\xf1\xb3\x8b\x94", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("\xf3\xbf\xad\x93\xe1\xad\x84\xe2\x80\x8c\xe0\xa9\x8d.\xf0\x90\xad\x9b\xf1\xb3\x8b\x94", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--ybc997fb5881a.xn--409c6100y"); } // [B2, B3, V7] +test { try toAsciiFail("xn--ybc997fb5881a.xn--409c6100y", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--ybc997fb5881a.xn--409c6100y", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--ybc997f6rd2n772c.xn--409c6100y"); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn--ybc997f6rd2n772c.xn--409c6100y", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn--ybc997f6rd2n772c.xn--409c6100y", true); } // [B2, B3, B6, V7] test { try toAsciiPass("\xe2\xbe\x87.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb\xe2\x80\x8d", "xn--8c1a.xn--2ib8jn539l", true); } test { try toUnicodeFail("\xe2\xbe\x87.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb\xe2\x80\x8d"); } // [B3, C2] +test { try toAsciiFail("\xe2\xbe\x87.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb\xe2\x80\x8d", false); } // [B3, C2] test { try toAsciiPass("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb\xe2\x80\x8d", "xn--8c1a.xn--2ib8jn539l", true); } test { try toUnicodeFail("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb\xe2\x80\x8d"); } // [B3, C2] +test { try toAsciiFail("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb\xe2\x80\x8d", false); } // [B3, C2] test { try toAsciiPass("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb\xe2\x80\x8d", "xn--8c1a.xn--2ib8jn539l", true); } test { try toUnicodeFail("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb\xe2\x80\x8d"); } // [B3, C2] +test { try toAsciiFail("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb\xe2\x80\x8d", false); } // [B3, C2] test { try toUnicodePass("xn--8c1a.xn--2ib8jn539l", "\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\xb4\xda\xbb"); } test { try toAsciiPass("xn--8c1a.xn--2ib8jn539l", "xn--8c1a.xn--2ib8jn539l", false); } test { try toAsciiPass("xn--8c1a.xn--2ib8jn539l", "xn--8c1a.xn--2ib8jn539l", true); } @@ -6796,376 +16767,1115 @@ test { try toUnicodePass("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb", "\xe8\ test { try toAsciiPass("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb", "xn--8c1a.xn--2ib8jn539l", false); } test { try toAsciiPass("\xe8\x88\x9b.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb", "xn--8c1a.xn--2ib8jn539l", true); } test { try toUnicodeFail("xn--8c1a.xn--2ib8jv19e6413b"); } // [B3, C2] +test { try toAsciiFail("xn--8c1a.xn--2ib8jv19e6413b", false); } // [B3, C2] +test { try toAsciiFail("xn--8c1a.xn--2ib8jv19e6413b", true); } // [B3, C2] test { try toAsciiPass("\xe2\xbe\x87.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb\xe2\x80\x8d", "xn--8c1a.xn--2ib8jn539l", true); } test { try toUnicodeFail("\xe2\xbe\x87.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb\xe2\x80\x8d"); } // [B3, C2] +test { try toAsciiFail("\xe2\xbe\x87.\xd9\xbd\xf0\x9e\xa4\x92\xda\xbb\xe2\x80\x8d", false); } // [B3, C2] test { try toUnicodeFail("4\xf2\xad\x86\xa5\xe3\x80\x82\xdd\xa7\xe2\x89\xaf"); } // [B1, B3, V7] +test { try toAsciiFail("4\xf2\xad\x86\xa5\xe3\x80\x82\xdd\xa7\xe2\x89\xaf", false); } // [B1, B3, V7] +test { try toAsciiFail("4\xf2\xad\x86\xa5\xe3\x80\x82\xdd\xa7\xe2\x89\xaf", true); } // [B1, B3, V7] test { try toUnicodeFail("4\xf2\xad\x86\xa5\xe3\x80\x82\xdd\xa7>\xcc\xb8"); } // [B1, B3, V7] +test { try toAsciiFail("4\xf2\xad\x86\xa5\xe3\x80\x82\xdd\xa7>\xcc\xb8", false); } // [B1, B3, V7] +test { try toAsciiFail("4\xf2\xad\x86\xa5\xe3\x80\x82\xdd\xa7>\xcc\xb8", true); } // [B1, B3, V7] test { try toUnicodeFail("xn--4-xn17i.xn--rpb459k"); } // [B1, B3, V7] +test { try toAsciiFail("xn--4-xn17i.xn--rpb459k", false); } // [B1, B3, V7] +test { try toAsciiFail("xn--4-xn17i.xn--rpb459k", true); } // [B1, B3, V7] test { try toUnicodeFail("\xf0\xb2\x94\x8f\xf0\x9e\xab\xa8\xf1\xba\xbf\x82\xe7\xa1\xb2\xef\xbc\x8e\xda\xad"); } // [B5, V7] +test { try toAsciiFail("\xf0\xb2\x94\x8f\xf0\x9e\xab\xa8\xf1\xba\xbf\x82\xe7\xa1\xb2\xef\xbc\x8e\xda\xad", false); } // [B5, V7] +test { try toAsciiFail("\xf0\xb2\x94\x8f\xf0\x9e\xab\xa8\xf1\xba\xbf\x82\xe7\xa1\xb2\xef\xbc\x8e\xda\xad", true); } // [B5, V7] test { try toUnicodeFail("\xf0\xb2\x94\x8f\xf0\x9e\xab\xa8\xf1\xba\xbf\x82\xe7\xa1\xb2.\xda\xad"); } // [B5, V7] +test { try toAsciiFail("\xf0\xb2\x94\x8f\xf0\x9e\xab\xa8\xf1\xba\xbf\x82\xe7\xa1\xb2.\xda\xad", false); } // [B5, V7] +test { try toAsciiFail("\xf0\xb2\x94\x8f\xf0\x9e\xab\xa8\xf1\xba\xbf\x82\xe7\xa1\xb2.\xda\xad", true); } // [B5, V7] test { try toUnicodeFail("xn--lcz1610fn78gk609a.xn--gkb"); } // [B5, V7] +test { try toAsciiFail("xn--lcz1610fn78gk609a.xn--gkb", false); } // [B5, V7] +test { try toAsciiFail("xn--lcz1610fn78gk609a.xn--gkb", true); } // [B5, V7] test { try toUnicodeFail("\xe2\x80\x8c.\xef\xb8\x88\xd9\xa6\xe1\x82\xa6\xe2\x84\xae"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xef\xb8\x88\xd9\xa6\xe1\x82\xa6\xe2\x84\xae", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xef\xb8\x88\xd9\xa6\xe1\x82\xa6\xe2\x84\xae", true); } // [B1, A4_2] test { try toUnicodeFail("\xe2\x80\x8c.\xef\xb8\x88\xd9\xa6\xe2\xb4\x86\xe2\x84\xae"); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xef\xb8\x88\xd9\xa6\xe2\xb4\x86\xe2\x84\xae", false); } // [B1, C1] +test { try toAsciiFail("\xe2\x80\x8c.\xef\xb8\x88\xd9\xa6\xe2\xb4\x86\xe2\x84\xae", true); } // [B1, A4_2] test { try toUnicodeFail(".xn--fib628k4li"); } // [B1, X4_2] +test { try toAsciiFail(".xn--fib628k4li", false); } // [B1, A4_2] +test { try toAsciiFail(".xn--fib628k4li", true); } // [B1, A4_2] test { try toUnicodeFail("xn--0ug.xn--fib628k4li"); } // [B1, C1] +test { try toAsciiFail("xn--0ug.xn--fib628k4li", false); } // [B1, C1] +test { try toAsciiFail("xn--0ug.xn--fib628k4li", true); } // [B1, C1] test { try toUnicodeFail(".xn--fib263c0yn"); } // [B1, V7, X4_2] +test { try toAsciiFail(".xn--fib263c0yn", false); } // [B1, V7, A4_2] +test { try toAsciiFail(".xn--fib263c0yn", true); } // [B1, V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--fib263c0yn"); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug.xn--fib263c0yn", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug.xn--fib263c0yn", true); } // [B1, C1, V7] test { try toUnicodeFail("\xda\xa3\xef\xbc\x8e\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9e"); } // [B1, V6] +test { try toAsciiFail("\xda\xa3\xef\xbc\x8e\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9e", false); } // [B1, V6] +test { try toAsciiFail("\xda\xa3\xef\xbc\x8e\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9e", true); } // [B1, V6] test { try toUnicodeFail("\xda\xa3.\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9e"); } // [B1, V6] +test { try toAsciiFail("\xda\xa3.\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9e", false); } // [B1, V6] +test { try toAsciiFail("\xda\xa3.\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9e", true); } // [B1, V6] test { try toUnicodeFail("\xda\xa3.\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9f"); } // [B1, V6] +test { try toAsciiFail("\xda\xa3.\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9f", false); } // [B1, V6] +test { try toAsciiFail("\xda\xa3.\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9f", true); } // [B1, V6] test { try toUnicodeFail("xn--5jb.xn--xya149b"); } // [B1, V6] +test { try toAsciiFail("xn--5jb.xn--xya149b", false); } // [B1, V6] +test { try toAsciiFail("xn--5jb.xn--xya149b", true); } // [B1, V6] test { try toUnicodeFail("xn--5jb.xn--xya149bpvp"); } // [B1, V6] +test { try toAsciiFail("xn--5jb.xn--xya149bpvp", false); } // [B1, V6] +test { try toAsciiFail("xn--5jb.xn--xya149bpvp", true); } // [B1, V6] test { try toUnicodeFail("\xda\xa3\xef\xbc\x8e\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9f"); } // [B1, V6] +test { try toAsciiFail("\xda\xa3\xef\xbc\x8e\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9f", false); } // [B1, V6] +test { try toAsciiFail("\xda\xa3\xef\xbc\x8e\xe0\xb5\x8d\xe2\x80\x8d\xcf\x9f", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x9e\xb8\x87\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa3\xf0\x90\xae\x82-\xe8\x85\x8d"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xb8\x87\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa3\xf0\x90\xae\x82-\xe8\x85\x8d", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xb8\x87\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa3\xf0\x90\xae\x82-\xe8\x85\x8d", true); } // [B2, B3] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x9e\xb8\x87\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa7\xd9\x94\xf0\x90\xae\x82-\xe8\x85\x8d"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xb8\x87\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa7\xd9\x94\xf0\x90\xae\x82-\xe8\x85\x8d", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xb8\x87\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa7\xd9\x94\xf0\x90\xae\x82-\xe8\x85\x8d", true); } // [B2, B3] test { try toUnicodeFail("\xe2\x80\x8c\xd8\xad\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa3\xf0\x90\xae\x82-\xe8\x85\x8d"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xd8\xad\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa3\xf0\x90\xae\x82-\xe8\x85\x8d", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xd8\xad\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa3\xf0\x90\xae\x82-\xe8\x85\x8d", true); } // [B2, B3] test { try toUnicodeFail("\xe2\x80\x8c\xd8\xad\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa7\xd9\x94\xf0\x90\xae\x82-\xe8\x85\x8d"); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xd8\xad\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa7\xd9\x94\xf0\x90\xae\x82-\xe8\x85\x8d", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("\xe2\x80\x8c\xd8\xad\xf0\x91\x98\xbf\xe3\x80\x82\xd8\xa7\xd9\x94\xf0\x90\xae\x82-\xe8\x85\x8d", true); } // [B2, B3] test { try toUnicodeFail("xn--sgb4140l.xn----qmc5075grs9e"); } // [B2, B3] +test { try toAsciiFail("xn--sgb4140l.xn----qmc5075grs9e", false); } // [B2, B3] +test { try toAsciiFail("xn--sgb4140l.xn----qmc5075grs9e", true); } // [B2, B3] test { try toUnicodeFail("xn--sgb953kmi8o.xn----qmc5075grs9e"); } // [B1, B2, B3, C1] +test { try toAsciiFail("xn--sgb953kmi8o.xn----qmc5075grs9e", false); } // [B1, B2, B3, C1] +test { try toAsciiFail("xn--sgb953kmi8o.xn----qmc5075grs9e", true); } // [B1, B2, B3, C1] test { try toUnicodeFail("-\xf2\xad\xb7\x99\xd9\xab\xe7\xba\x9b\xef\xbd\xa1\xf0\x9d\x9f\x9b\xf1\xad\xa4\x87\xf0\x9f\x84\x85"); } // [B1, V3, V7, U1] +test { try toAsciiFail("-\xf2\xad\xb7\x99\xd9\xab\xe7\xba\x9b\xef\xbd\xa1\xf0\x9d\x9f\x9b\xf1\xad\xa4\x87\xf0\x9f\x84\x85", false); } // [B1, V3, V7, U1] +test { try toAsciiFail("-\xf2\xad\xb7\x99\xd9\xab\xe7\xba\x9b\xef\xbd\xa1\xf0\x9d\x9f\x9b\xf1\xad\xa4\x87\xf0\x9f\x84\x85", true); } // [B1, V3, V7, U1] test { try toUnicodeFail("-\xf2\xad\xb7\x99\xd9\xab\xe7\xba\x9b\xe3\x80\x823\xf1\xad\xa4\x874,"); } // [B1, V3, V7, U1] +test { try toAsciiFail("-\xf2\xad\xb7\x99\xd9\xab\xe7\xba\x9b\xe3\x80\x823\xf1\xad\xa4\x874,", false); } // [B1, V3, V7, U1] +test { try toAsciiFail("-\xf2\xad\xb7\x99\xd9\xab\xe7\xba\x9b\xe3\x80\x823\xf1\xad\xa4\x874,", true); } // [B1, V3, V7, U1] test { try toUnicodeFail("xn----vqc8143g0tt4i.xn--34,-8787l"); } // [B1, V3, V7, U1] +test { try toAsciiFail("xn----vqc8143g0tt4i.xn--34,-8787l", false); } // [B1, V3, V7, U1] +test { try toAsciiFail("xn----vqc8143g0tt4i.xn--34,-8787l", true); } // [B1, V3, V7, U1] test { try toUnicodeFail("xn----vqc8143g0tt4i.xn--3-os1sn476y"); } // [B1, V3, V7] +test { try toAsciiFail("xn----vqc8143g0tt4i.xn--3-os1sn476y", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----vqc8143g0tt4i.xn--3-os1sn476y", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x9f\x94\x94\xef\xbc\x8e\xe1\x82\xa2\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae"); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94\xef\xbc\x8e\xe1\x82\xa2\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94\xef\xbc\x8e\xe1\x82\xa2\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x9f\x94\x94.\xe1\x82\xa2\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae"); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94.\xe1\x82\xa2\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94.\xe1\x82\xa2\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x9f\x94\x94.\xe2\xb4\x82\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae"); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94.\xe2\xb4\x82\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94.\xe2\xb4\x82\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", true); } // [B1, B5] test { try toUnicodeFail("xn--nv8h.xn--nsb46rvz1b222p"); } // [B1, B5] +test { try toAsciiFail("xn--nv8h.xn--nsb46rvz1b222p", false); } // [B1, B5] +test { try toAsciiFail("xn--nv8h.xn--nsb46rvz1b222p", true); } // [B1, B5] test { try toUnicodeFail("\xf0\x9f\x94\x94\xef\xbc\x8e\xe2\xb4\x82\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae"); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94\xef\xbc\x8e\xe2\xb4\x82\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", false); } // [B1, B5] +test { try toAsciiFail("\xf0\x9f\x94\x94\xef\xbc\x8e\xe2\xb4\x82\xdf\x8c\xe0\xaf\x8d\xf0\x90\x8b\xae", true); } // [B1, B5] test { try toUnicodeFail("xn--nv8h.xn--nsb46r83e8112a"); } // [B1, B5, V7] +test { try toAsciiFail("xn--nv8h.xn--nsb46r83e8112a", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--nv8h.xn--nsb46r83e8112a", true); } // [B1, B5, V7] test { try toUnicodeFail("\xe8\xbb\xa5\xda\xb3.-\xf0\x96\xac\xb5"); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe8\xbb\xa5\xda\xb3.-\xf0\x96\xac\xb5", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("\xe8\xbb\xa5\xda\xb3.-\xf0\x96\xac\xb5", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("xn--mkb5480e.xn----6u5m"); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--mkb5480e.xn----6u5m", false); } // [B1, B5, B6, V3] +test { try toAsciiFail("xn--mkb5480e.xn----6u5m", true); } // [B1, B5, B6, V3] test { try toUnicodeFail("\xf0\x90\xb9\xa4\xdf\x8a\xda\xb6.\xf0\x90\xa8\x82-"); } // [B1, V3, V6] +test { try toAsciiFail("\xf0\x90\xb9\xa4\xdf\x8a\xda\xb6.\xf0\x90\xa8\x82-", false); } // [B1, V3, V6] +test { try toAsciiFail("\xf0\x90\xb9\xa4\xdf\x8a\xda\xb6.\xf0\x90\xa8\x82-", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--pkb56cn614d.xn----974i"); } // [B1, V3, V6] +test { try toAsciiFail("xn--pkb56cn614d.xn----974i", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--pkb56cn614d.xn----974i", true); } // [B1, V3, V6] test { try toUnicodeFail("-\xf3\xa0\x85\xb10\xef\xbd\xa1\xe1\x9f\x8f\xe1\xb7\xbd\xed\x86\x87\xec\x8b\xad"); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xef\xbd\xa1\xe1\x9f\x8f\xe1\xb7\xbd\xed\x86\x87\xec\x8b\xad", false); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xef\xbd\xa1\xe1\x9f\x8f\xe1\xb7\xbd\xed\x86\x87\xec\x8b\xad", true); } // [V3, V6] test { try toUnicodeFail("-\xf3\xa0\x85\xb10\xef\xbd\xa1\xe1\x9f\x8f\xe1\xb7\xbd\xe1\x84\x90\xe1\x85\xa8\xe1\x86\xaa\xe1\x84\x89\xe1\x85\xb5\xe1\x86\xb8"); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xef\xbd\xa1\xe1\x9f\x8f\xe1\xb7\xbd\xe1\x84\x90\xe1\x85\xa8\xe1\x86\xaa\xe1\x84\x89\xe1\x85\xb5\xe1\x86\xb8", false); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xef\xbd\xa1\xe1\x9f\x8f\xe1\xb7\xbd\xe1\x84\x90\xe1\x85\xa8\xe1\x86\xaa\xe1\x84\x89\xe1\x85\xb5\xe1\x86\xb8", true); } // [V3, V6] test { try toUnicodeFail("-\xf3\xa0\x85\xb10\xe3\x80\x82\xe1\x9f\x8f\xe1\xb7\xbd\xed\x86\x87\xec\x8b\xad"); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xe3\x80\x82\xe1\x9f\x8f\xe1\xb7\xbd\xed\x86\x87\xec\x8b\xad", false); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xe3\x80\x82\xe1\x9f\x8f\xe1\xb7\xbd\xed\x86\x87\xec\x8b\xad", true); } // [V3, V6] test { try toUnicodeFail("-\xf3\xa0\x85\xb10\xe3\x80\x82\xe1\x9f\x8f\xe1\xb7\xbd\xe1\x84\x90\xe1\x85\xa8\xe1\x86\xaa\xe1\x84\x89\xe1\x85\xb5\xe1\x86\xb8"); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xe3\x80\x82\xe1\x9f\x8f\xe1\xb7\xbd\xe1\x84\x90\xe1\x85\xa8\xe1\x86\xaa\xe1\x84\x89\xe1\x85\xb5\xe1\x86\xb8", false); } // [V3, V6] +test { try toAsciiFail("-\xf3\xa0\x85\xb10\xe3\x80\x82\xe1\x9f\x8f\xe1\xb7\xbd\xe1\x84\x90\xe1\x85\xa8\xe1\x86\xaa\xe1\x84\x89\xe1\x85\xb5\xe1\x86\xb8", true); } // [V3, V6] test { try toUnicodeFail("-0.xn--r4e872ah77nghm"); } // [V3, V6] +test { try toAsciiFail("-0.xn--r4e872ah77nghm", false); } // [V3, V6] +test { try toAsciiFail("-0.xn--r4e872ah77nghm", true); } // [V3, V6] test { try toUnicodeFail("\xea\xa1\xb0\xef\xb8\x92--\xef\xbd\xa1\xe1\x9f\x8c\xe9\x9d\x88\xf0\x90\xb9\xa2\xf1\x98\xb3\xae"); } // [B1, B6, V2, V3, V6, V7] +test { try toAsciiFail("\xea\xa1\xb0\xef\xb8\x92--\xef\xbd\xa1\xe1\x9f\x8c\xe9\x9d\x88\xf0\x90\xb9\xa2\xf1\x98\xb3\xae", false); } // [B1, B6, V2, V3, V6, V7] +test { try toAsciiFail("\xea\xa1\xb0\xef\xb8\x92--\xef\xbd\xa1\xe1\x9f\x8c\xe9\x9d\x88\xf0\x90\xb9\xa2\xf1\x98\xb3\xae", true); } // [B1, B6, V2, V3, V6, V7] test { try toUnicodeFail("\xea\xa1\xb0\xe3\x80\x82--\xe3\x80\x82\xe1\x9f\x8c\xe9\x9d\x88\xf0\x90\xb9\xa2\xf1\x98\xb3\xae"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xea\xa1\xb0\xe3\x80\x82--\xe3\x80\x82\xe1\x9f\x8c\xe9\x9d\x88\xf0\x90\xb9\xa2\xf1\x98\xb3\xae", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xea\xa1\xb0\xe3\x80\x82--\xe3\x80\x82\xe1\x9f\x8c\xe9\x9d\x88\xf0\x90\xb9\xa2\xf1\x98\xb3\xae", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--md9a.--.xn--o4e6836dpxudz0v1c"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--md9a.--.xn--o4e6836dpxudz0v1c", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--md9a.--.xn--o4e6836dpxudz0v1c", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn-----bk9hu24z.xn--o4e6836dpxudz0v1c"); } // [B1, B6, V2, V3, V6, V7] +test { try toAsciiFail("xn-----bk9hu24z.xn--o4e6836dpxudz0v1c", false); } // [B1, B6, V2, V3, V6, V7] +test { try toAsciiFail("xn-----bk9hu24z.xn--o4e6836dpxudz0v1c", true); } // [B1, B6, V2, V3, V6, V7] test { try toUnicodeFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("\xe1\x85\x9f\xe2\xb4\x9f\xe2\xb4\x95\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe2\xb4\x9f\xe2\xb4\x95\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe2\xb4\x9f\xe2\xb4\x95\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\xb2\xa0\xe3\x80\x82\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\xb2\xa0\xe3\x80\x82\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\xb2\xa0\xe3\x80\x82\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("xn--1od555l3a.xn--9ic"); } // [V6] +test { try toAsciiFail("xn--1od555l3a.xn--9ic", false); } // [V6] +test { try toAsciiFail("xn--1od555l3a.xn--9ic", true); } // [V6] test { try toUnicodeFail("\xe1\x85\x9f\xe2\xb4\x9f\xe2\xb4\x95\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe2\xb4\x9f\xe2\xb4\x95\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe2\xb4\x9f\xe2\xb4\x95\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\xb2\xa0\xef\xbd\xa1\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\xb2\xa0\xef\xbd\xa1\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe1\x82\xb5\xe1\xb2\xa0\xef\xbd\xa1\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("xn--tndt4hvw.xn--9ic"); } // [V6, V7] +test { try toAsciiFail("xn--tndt4hvw.xn--9ic", false); } // [V6, V7] +test { try toAsciiFail("xn--tndt4hvw.xn--9ic", true); } // [V6, V7] test { try toUnicodeFail("xn--1od7wz74eeb.xn--9ic"); } // [V6, V7] +test { try toAsciiFail("xn--1od7wz74eeb.xn--9ic", false); } // [V6, V7] +test { try toAsciiFail("xn--1od7wz74eeb.xn--9ic", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x85\x9f\xe1\x82\xbf\xe2\xb4\x95\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe2\xb4\x95\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe2\xb4\x95\xe1\x83\xa0\xe3\x80\x82\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("xn--3nd0etsm92g.xn--9ic"); } // [V6, V7] +test { try toAsciiFail("xn--3nd0etsm92g.xn--9ic", false); } // [V6, V7] +test { try toAsciiFail("xn--3nd0etsm92g.xn--9ic", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x85\x9f\xe1\x82\xbf\xe2\xb4\x95\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d"); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe2\xb4\x95\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d", false); } // [V6] +test { try toAsciiFail("\xe1\x85\x9f\xe1\x82\xbf\xe2\xb4\x95\xe1\x83\xa0\xef\xbd\xa1\xe0\xad\x8d", true); } // [V6] test { try toUnicodeFail("\xf0\x9f\x84\x83\xf0\x90\xb9\xa0.\xd9\xa4\xf3\xa0\x85\x87"); } // [B1, U1] +test { try toAsciiFail("\xf0\x9f\x84\x83\xf0\x90\xb9\xa0.\xd9\xa4\xf3\xa0\x85\x87", false); } // [B1, U1] +test { try toAsciiFail("\xf0\x9f\x84\x83\xf0\x90\xb9\xa0.\xd9\xa4\xf3\xa0\x85\x87", true); } // [B1, U1] test { try toUnicodeFail("2,\xf0\x90\xb9\xa0.\xd9\xa4\xf3\xa0\x85\x87"); } // [B1, U1] +test { try toAsciiFail("2,\xf0\x90\xb9\xa0.\xd9\xa4\xf3\xa0\x85\x87", false); } // [B1, U1] +test { try toAsciiFail("2,\xf0\x90\xb9\xa0.\xd9\xa4\xf3\xa0\x85\x87", true); } // [B1, U1] test { try toUnicodeFail("xn--2,-5g3o.xn--dib"); } // [B1, U1] +test { try toAsciiFail("xn--2,-5g3o.xn--dib", false); } // [B1, U1] +test { try toAsciiFail("xn--2,-5g3o.xn--dib", true); } // [B1, U1] test { try toUnicodeFail("xn--7n0d1189a.xn--dib"); } // [B1, V7] +test { try toAsciiFail("xn--7n0d1189a.xn--dib", false); } // [B1, V7] +test { try toAsciiFail("xn--7n0d1189a.xn--dib", true); } // [B1, V7] test { try toUnicodeFail("\xf2\xbb\xb2\xbc\xe2\x80\x8c\xef\xb1\x9b\xef\xbc\x8e\xdf\x92\xe0\xa1\x88\xe1\xaf\xb3"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\xbb\xb2\xbc\xe2\x80\x8c\xef\xb1\x9b\xef\xbc\x8e\xdf\x92\xe0\xa1\x88\xe1\xaf\xb3", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\xbb\xb2\xbc\xe2\x80\x8c\xef\xb1\x9b\xef\xbc\x8e\xdf\x92\xe0\xa1\x88\xe1\xaf\xb3", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xf2\xbb\xb2\xbc\xe2\x80\x8c\xd8\xb0\xd9\xb0.\xdf\x92\xe0\xa1\x88\xe1\xaf\xb3"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\xbb\xb2\xbc\xe2\x80\x8c\xd8\xb0\xd9\xb0.\xdf\x92\xe0\xa1\x88\xe1\xaf\xb3", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("\xf2\xbb\xb2\xbc\xe2\x80\x8c\xd8\xb0\xd9\xb0.\xdf\x92\xe0\xa1\x88\xe1\xaf\xb3", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--vgb2kp1223g.xn--tsb0vz43c"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--vgb2kp1223g.xn--tsb0vz43c", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--vgb2kp1223g.xn--tsb0vz43c", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--vgb2kq00fl213y.xn--tsb0vz43c"); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("xn--vgb2kq00fl213y.xn--tsb0vz43c", false); } // [B2, B3, B5, B6, C1, V7] +test { try toAsciiFail("xn--vgb2kq00fl213y.xn--tsb0vz43c", true); } // [B2, B3, B5, B6, C1, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8d\xf0\x9e\xb5\xaa\xe2\x80\x8c\xe3\x80\x82\xe1\xa1\x98\xf0\x91\xb2\xad\xe1\x9e\xb5"); } // [B1, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8d\xf0\x9e\xb5\xaa\xe2\x80\x8c\xe3\x80\x82\xe1\xa1\x98\xf0\x91\xb2\xad\xe1\x9e\xb5", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8d\xf0\x9e\xb5\xaa\xe2\x80\x8c\xe3\x80\x82\xe1\xa1\x98\xf0\x91\xb2\xad\xe1\x9e\xb5", true); } // [V7] test { try toUnicodeFail("xn--l96h.xn--o8e4044k"); } // [V7] +test { try toAsciiFail("xn--l96h.xn--o8e4044k", false); } // [V7] +test { try toAsciiFail("xn--l96h.xn--o8e4044k", true); } // [V7] test { try toUnicodeFail("xn--0ugba05538b.xn--o8e4044k"); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--0ugba05538b.xn--o8e4044k", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--0ugba05538b.xn--o8e4044k", true); } // [B1, C1, C2, V7] test { try toUnicodeFail("xn--l96h.xn--03e93aq365d"); } // [V7] +test { try toAsciiFail("xn--l96h.xn--03e93aq365d", false); } // [V7] +test { try toAsciiFail("xn--l96h.xn--03e93aq365d", true); } // [V7] test { try toUnicodeFail("xn--0ugba05538b.xn--03e93aq365d"); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--0ugba05538b.xn--03e93aq365d", false); } // [B1, C1, C2, V7] +test { try toAsciiFail("xn--0ugba05538b.xn--03e93aq365d", true); } // [B1, C1, C2, V7] test { try toUnicodeFail("\xf0\x9e\xb7\xbb\xe3\x80\x82\xe2\x9a\x84\xf1\x97\x91\x87\xf0\x91\x81\xbf"); } // [B1, V7] +test { try toAsciiFail("\xf0\x9e\xb7\xbb\xe3\x80\x82\xe2\x9a\x84\xf1\x97\x91\x87\xf0\x91\x81\xbf", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x9e\xb7\xbb\xe3\x80\x82\xe2\x9a\x84\xf1\x97\x91\x87\xf0\x91\x81\xbf", true); } // [B1, V7] test { try toUnicodeFail("xn--qe7h.xn--c7h2966f7so4a"); } // [B1, V7] +test { try toAsciiFail("xn--qe7h.xn--c7h2966f7so4a", false); } // [B1, V7] +test { try toAsciiFail("xn--qe7h.xn--c7h2966f7so4a", true); } // [B1, V7] test { try toUnicodeFail("\xea\xa3\x84\xe2\x89\xa0\xef\xbc\x8e\xf0\x9e\xa0\xa8\xd9\xa7"); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84\xe2\x89\xa0\xef\xbc\x8e\xf0\x9e\xa0\xa8\xd9\xa7", false); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84\xe2\x89\xa0\xef\xbc\x8e\xf0\x9e\xa0\xa8\xd9\xa7", true); } // [B1, V6] test { try toUnicodeFail("\xea\xa3\x84=\xcc\xb8\xef\xbc\x8e\xf0\x9e\xa0\xa8\xd9\xa7"); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84=\xcc\xb8\xef\xbc\x8e\xf0\x9e\xa0\xa8\xd9\xa7", false); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84=\xcc\xb8\xef\xbc\x8e\xf0\x9e\xa0\xa8\xd9\xa7", true); } // [B1, V6] test { try toUnicodeFail("\xea\xa3\x84\xe2\x89\xa0.\xf0\x9e\xa0\xa8\xd9\xa7"); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84\xe2\x89\xa0.\xf0\x9e\xa0\xa8\xd9\xa7", false); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84\xe2\x89\xa0.\xf0\x9e\xa0\xa8\xd9\xa7", true); } // [B1, V6] test { try toUnicodeFail("\xea\xa3\x84=\xcc\xb8.\xf0\x9e\xa0\xa8\xd9\xa7"); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84=\xcc\xb8.\xf0\x9e\xa0\xa8\xd9\xa7", false); } // [B1, V6] +test { try toAsciiFail("\xea\xa3\x84=\xcc\xb8.\xf0\x9e\xa0\xa8\xd9\xa7", true); } // [B1, V6] test { try toUnicodeFail("xn--1chy504c.xn--gib1777v"); } // [B1, V6] +test { try toAsciiFail("xn--1chy504c.xn--gib1777v", false); } // [B1, V6] +test { try toAsciiFail("xn--1chy504c.xn--gib1777v", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x9d\x9f\x9b\xf0\x9d\x86\xaa\xea\xa3\x84\xef\xbd\xa1\xea\xa3\xaa-"); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x9b\xf0\x9d\x86\xaa\xea\xa3\x84\xef\xbd\xa1\xea\xa3\xaa-", false); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x9b\xf0\x9d\x86\xaa\xea\xa3\x84\xef\xbd\xa1\xea\xa3\xaa-", true); } // [V3, V6] test { try toUnicodeFail("\xf0\x9d\x9f\x9b\xea\xa3\x84\xf0\x9d\x86\xaa\xef\xbd\xa1\xea\xa3\xaa-"); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x9b\xea\xa3\x84\xf0\x9d\x86\xaa\xef\xbd\xa1\xea\xa3\xaa-", false); } // [V3, V6] +test { try toAsciiFail("\xf0\x9d\x9f\x9b\xea\xa3\x84\xf0\x9d\x86\xaa\xef\xbd\xa1\xea\xa3\xaa-", true); } // [V3, V6] test { try toUnicodeFail("3\xea\xa3\x84\xf0\x9d\x86\xaa\xe3\x80\x82\xea\xa3\xaa-"); } // [V3, V6] +test { try toAsciiFail("3\xea\xa3\x84\xf0\x9d\x86\xaa\xe3\x80\x82\xea\xa3\xaa-", false); } // [V3, V6] +test { try toAsciiFail("3\xea\xa3\x84\xf0\x9d\x86\xaa\xe3\x80\x82\xea\xa3\xaa-", true); } // [V3, V6] test { try toUnicodeFail("xn--3-sl4eu679e.xn----xn4e"); } // [V3, V6] +test { try toAsciiFail("xn--3-sl4eu679e.xn----xn4e", false); } // [V3, V6] +test { try toAsciiFail("xn--3-sl4eu679e.xn----xn4e", true); } // [V3, V6] test { try toUnicodeFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe1\x82\xa7.e"); } // [B2, B3] +test { try toAsciiFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe1\x82\xa7.e", false); } // [B2, B3] +test { try toAsciiFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe1\x82\xa7.e", true); } // [B2, B3] test { try toUnicodeFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe2\xb4\x87.e"); } // [B2, B3] +test { try toAsciiFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe2\xb4\x87.e", false); } // [B2, B3] +test { try toAsciiFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe2\xb4\x87.e", true); } // [B2, B3] test { try toUnicodeFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe1\x82\xa7.E"); } // [B2, B3] +test { try toAsciiFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe1\x82\xa7.E", false); } // [B2, B3] +test { try toAsciiFail("\xdd\x9f\xe1\xae\xa2\xe1\x80\xba\xe1\x82\xa7.E", true); } // [B2, B3] test { try toUnicodeFail("xn--jpb846bjzj7pr.e"); } // [B2, B3] +test { try toAsciiFail("xn--jpb846bjzj7pr.e", false); } // [B2, B3] +test { try toAsciiFail("xn--jpb846bjzj7pr.e", true); } // [B2, B3] test { try toUnicodeFail("xn--jpb846bmjw88a.e"); } // [B2, B3, V7] +test { try toAsciiFail("xn--jpb846bmjw88a.e", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--jpb846bmjw88a.e", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe1\x84\xb9\xef\xbd\xa1\xe0\xbb\x8a\xf2\xa0\xaf\xa4\xf3\xa0\x84\x9e"); } // [V6, V7] +test { try toAsciiFail("\xe1\x84\xb9\xef\xbd\xa1\xe0\xbb\x8a\xf2\xa0\xaf\xa4\xf3\xa0\x84\x9e", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x84\xb9\xef\xbd\xa1\xe0\xbb\x8a\xf2\xa0\xaf\xa4\xf3\xa0\x84\x9e", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x84\xb9\xe3\x80\x82\xe0\xbb\x8a\xf2\xa0\xaf\xa4\xf3\xa0\x84\x9e"); } // [V6, V7] +test { try toAsciiFail("\xe1\x84\xb9\xe3\x80\x82\xe0\xbb\x8a\xf2\xa0\xaf\xa4\xf3\xa0\x84\x9e", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x84\xb9\xe3\x80\x82\xe0\xbb\x8a\xf2\xa0\xaf\xa4\xf3\xa0\x84\x9e", true); } // [V6, V7] test { try toUnicodeFail("xn--lrd.xn--s8c05302k"); } // [V6, V7] +test { try toAsciiFail("xn--lrd.xn--s8c05302k", false); } // [V6, V7] +test { try toAsciiFail("xn--lrd.xn--s8c05302k", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x82\xa6\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d"); } // [V7] +test { try toAsciiFail("\xe1\x82\xa6\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xa6\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", true); } // [V7] test { try toUnicodeFail("\xe1\x82\xa6\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d"); } // [V7] +test { try toAsciiFail("\xe1\x82\xa6\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", false); } // [V7] +test { try toAsciiFail("\xe1\x82\xa6\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\xaf"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\xaf", true); } // [V7] test { try toUnicodeFail("xn--xkjw3965g.xn--ne6h"); } // [V7] +test { try toAsciiFail("xn--xkjw3965g.xn--ne6h", false); } // [V7] +test { try toAsciiFail("xn--xkjw3965g.xn--ne6h", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\xaf"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\xaf", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\xaf", true); } // [V7] test { try toUnicodeFail("xn--end82983m.xn--ne6h"); } // [V7] +test { try toAsciiFail("xn--end82983m.xn--ne6h", false); } // [V7] +test { try toAsciiFail("xn--end82983m.xn--ne6h", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9.\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d"); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", false); } // [V7] +test { try toAsciiFail("\xe2\xb4\x86\xf2\xbb\xa2\xa9\xef\xbc\x8e\xf3\xa0\x86\xa1\xef\xb8\x89\xf0\x9e\xa4\x8d", true); } // [V7] test { try toUnicodeFail("\xc3\x9f\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xc3\x9f\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c"); } // [B5, B6, C1] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", false); } // [B5, B6, C1] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", true); } // [B5, B6] test { try toUnicodeFail("\xc3\x9f\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcf\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c"); } // [B5, B6, C1] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcf\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", false); } // [B5, B6, C1] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcf\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", true); } // [B5, B6] test { try toUnicodeFail("SS\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c"); } // [B5, B6, C1] +test { try toAsciiFail("SS\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", false); } // [B5, B6, C1] +test { try toAsciiFail("SS\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", true); } // [B5, B6] test { try toUnicodeFail("ss\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcf\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c"); } // [B5, B6, C1] +test { try toAsciiFail("ss\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcf\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", false); } // [B5, B6, C1] +test { try toAsciiFail("ss\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcf\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", true); } // [B5, B6] test { try toUnicodeFail("Ss\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c"); } // [B5, B6, C1] +test { try toAsciiFail("Ss\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", false); } // [B5, B6, C1] +test { try toAsciiFail("Ss\xe0\xa0\x8b\xe3\x80\x82\xd9\xbb.\xe5\xb8\xbcF\xe2\x88\xab\xe2\x88\xab\xe2\x80\x8c", true); } // [B5, B6] test { try toUnicodeFail("xn--ss-uze.xn--0ib.xn--f-tcoa9162d"); } // [B5, B6] +test { try toAsciiFail("xn--ss-uze.xn--0ib.xn--f-tcoa9162d", false); } // [B5, B6] +test { try toAsciiFail("xn--ss-uze.xn--0ib.xn--f-tcoa9162d", true); } // [B5, B6] test { try toUnicodeFail("xn--ss-uze.xn--0ib.xn--f-sgn48ga6997e"); } // [B5, B6, C1] +test { try toAsciiFail("xn--ss-uze.xn--0ib.xn--f-sgn48ga6997e", false); } // [B5, B6, C1] +test { try toAsciiFail("xn--ss-uze.xn--0ib.xn--f-sgn48ga6997e", true); } // [B5, B6, C1] test { try toUnicodeFail("xn--zca687a.xn--0ib.xn--f-sgn48ga6997e"); } // [B5, B6, C1] +test { try toAsciiFail("xn--zca687a.xn--0ib.xn--f-sgn48ga6997e", false); } // [B5, B6, C1] +test { try toAsciiFail("xn--zca687a.xn--0ib.xn--f-sgn48ga6997e", true); } // [B5, B6, C1] test { try toUnicodeFail("\xc3\x9f\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcf\xe2\x88\xac\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcf\xe2\x88\xac\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("\xc3\x9f\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcf\xe2\x88\xac\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("SS\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("SS\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("SS\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("ss\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcf\xe2\x88\xac\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("ss\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcf\xe2\x88\xac\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("ss\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcf\xe2\x88\xac\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("Ss\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c"); } // [B5, B6, C1, V7] +test { try toAsciiFail("Ss\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("Ss\xe0\xa0\x8b\xef\xb8\x92\xd9\xbb\xef\xbc\x8e\xe5\xb8\xbcF\xe2\x88\xac\xe2\x80\x8c", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--ss-k0d31nu121d.xn--f-tcoa9162d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--ss-k0d31nu121d.xn--f-tcoa9162d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--ss-k0d31nu121d.xn--f-tcoa9162d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--ss-k0d31nu121d.xn--f-sgn48ga6997e"); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn--ss-k0d31nu121d.xn--f-sgn48ga6997e", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn--ss-k0d31nu121d.xn--f-sgn48ga6997e", true); } // [B5, B6, C1, V7] test { try toUnicodeFail("xn--zca68zj8ac956c.xn--f-sgn48ga6997e"); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn--zca68zj8ac956c.xn--f-sgn48ga6997e", false); } // [B5, B6, C1, V7] +test { try toAsciiFail("xn--zca68zj8ac956c.xn--f-sgn48ga6997e", true); } // [B5, B6, C1, V7] test { try toUnicodeFail("\xf3\x98\xaa\x97\xef\xbd\xa1\xf0\x90\xb9\xb4\xf0\x9e\xa8\x8c\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\x98\xaa\x97\xef\xbd\xa1\xf0\x90\xb9\xb4\xf0\x9e\xa8\x8c\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\x98\xaa\x97\xef\xbd\xa1\xf0\x90\xb9\xb4\xf0\x9e\xa8\x8c\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf3\x98\xaa\x97\xe3\x80\x82\xf0\x90\xb9\xb4\xf0\x9e\xa8\x8c\xe2\x80\x8d"); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\x98\xaa\x97\xe3\x80\x82\xf0\x90\xb9\xb4\xf0\x9e\xa8\x8c\xe2\x80\x8d", false); } // [B1, C2, V7] +test { try toAsciiFail("\xf3\x98\xaa\x97\xe3\x80\x82\xf0\x90\xb9\xb4\xf0\x9e\xa8\x8c\xe2\x80\x8d", true); } // [B1, V7] test { try toUnicodeFail("xn--8l83e.xn--so0dw168a"); } // [B1, V7] +test { try toAsciiFail("xn--8l83e.xn--so0dw168a", false); } // [B1, V7] +test { try toAsciiFail("xn--8l83e.xn--so0dw168a", true); } // [B1, V7] test { try toUnicodeFail("xn--8l83e.xn--1ug4105gsxwf"); } // [B1, C2, V7] +test { try toAsciiFail("xn--8l83e.xn--1ug4105gsxwf", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--8l83e.xn--1ug4105gsxwf", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf1\x97\x9b\xa8.\xf2\x85\x9f\xa2\xf0\x9d\x9f\xa8\xea\xa3\x84"); } // [V7] +test { try toAsciiFail("\xf1\x97\x9b\xa8.\xf2\x85\x9f\xa2\xf0\x9d\x9f\xa8\xea\xa3\x84", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x9b\xa8.\xf2\x85\x9f\xa2\xf0\x9d\x9f\xa8\xea\xa3\x84", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x9b\xa8.\xf2\x85\x9f\xa26\xea\xa3\x84"); } // [V7] +test { try toAsciiFail("\xf1\x97\x9b\xa8.\xf2\x85\x9f\xa26\xea\xa3\x84", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x9b\xa8.\xf2\x85\x9f\xa26\xea\xa3\x84", true); } // [V7] test { try toUnicodeFail("xn--mi60a.xn--6-sl4es8023c"); } // [V7] +test { try toAsciiFail("xn--mi60a.xn--6-sl4es8023c", false); } // [V7] +test { try toAsciiFail("xn--mi60a.xn--6-sl4es8023c", true); } // [V7] test { try toUnicodeFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe1\x82\xa8"); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe1\x82\xa8", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe1\x82\xa8", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe1\x82\xa8"); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe1\x82\xa8", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe1\x82\xa8", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe2\xb4\x91\xe2\xb4\x88"); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe2\xb4\x91\xe2\xb4\x88", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe2\xb4\x91\xe2\xb4\x88", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--rgbd2e831i.xn----zyc3430a9a"); } // [B1, V3, V6] +test { try toAsciiFail("xn--rgbd2e831i.xn----zyc3430a9a", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--rgbd2e831i.xn----zyc3430a9a", true); } // [B1, V3, V6] test { try toUnicodeFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe2\xb4\x91\xe2\xb4\x88"); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe2\xb4\x91\xe2\xb4\x88", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe2\xb4\x91\xe2\xb4\x88", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--rgbd2e831i.xn----zyc155e9a"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--rgbd2e831i.xn----zyc155e9a", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--rgbd2e831i.xn----zyc155e9a", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe2\xb4\x88"); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe2\xb4\x88", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xd9\x85\xd8\xae\xd8\xac\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe2\xb4\x88", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--rgbd2e831i.xn----zyc875efr3a"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--rgbd2e831i.xn----zyc875efr3a", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--rgbd2e831i.xn----zyc875efr3a", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe2\xb4\x88"); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe2\xb4\x88", false); } // [B1, V3, V6] +test { try toAsciiFail("\xe1\xaa\xb2\xef\xb6\x8e\xe3\x80\x82-\xdb\xb9\xe1\x82\xb1\xe2\xb4\x88", true); } // [B1, V3, V6] test { try toUnicodeFail("\xf0\x9e\xa4\xa4\xef\xbc\x8e-\xe0\xa2\xa3\xef\xb8\x92"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xa4\xef\xbc\x8e-\xe0\xa2\xa3\xef\xb8\x92", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\xa4\xef\xbc\x8e-\xe0\xa2\xa3\xef\xb8\x92", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x9e\xa4\xa4.-\xe0\xa2\xa3\xe3\x80\x82"); } // [B1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\xa4.-\xe0\xa2\xa3\xe3\x80\x82", false); } // [B1, V3, A4_2] +test { try toAsciiFail("\xf0\x9e\xa4\xa4.-\xe0\xa2\xa3\xe3\x80\x82", true); } // [B1, V3, A4_2] test { try toUnicodeFail("\xf0\x9e\xa4\x82.-\xe0\xa2\xa3\xe3\x80\x82"); } // [B1, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x82.-\xe0\xa2\xa3\xe3\x80\x82", false); } // [B1, V3, A4_2] +test { try toAsciiFail("\xf0\x9e\xa4\x82.-\xe0\xa2\xa3\xe3\x80\x82", true); } // [B1, V3, A4_2] test { try toUnicodeFail("xn--ce6h.xn----cod."); } // [B1, V3] +test { try toAsciiFail("xn--ce6h.xn----cod.", false); } // [B1, V3, A4_2] +test { try toAsciiFail("xn--ce6h.xn----cod.", true); } // [B1, V3, A4_2] test { try toUnicodeFail("\xf0\x9e\xa4\x82\xef\xbc\x8e-\xe0\xa2\xa3\xef\xb8\x92"); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x82\xef\xbc\x8e-\xe0\xa2\xa3\xef\xb8\x92", false); } // [B1, V3, V7] +test { try toAsciiFail("\xf0\x9e\xa4\x82\xef\xbc\x8e-\xe0\xa2\xa3\xef\xb8\x92", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--ce6h.xn----cod7069p"); } // [B1, V3, V7] +test { try toAsciiFail("xn--ce6h.xn----cod7069p", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--ce6h.xn----cod7069p", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x90\xba\xa8.\xe0\xa1\x99--"); } // [B1, C1, V3, V6] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xba\xa8.\xe0\xa1\x99--", false); } // [B1, C1, V3, V6] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x90\xba\xa8.\xe0\xa1\x99--", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--9p0d.xn-----h6e"); } // [B1, V3, V6] +test { try toAsciiFail("xn--9p0d.xn-----h6e", false); } // [B1, V3, V6] +test { try toAsciiFail("xn--9p0d.xn-----h6e", true); } // [B1, V3, V6] test { try toUnicodeFail("xn--0ug7905g.xn-----h6e"); } // [B1, C1, V3, V6] +test { try toAsciiFail("xn--0ug7905g.xn-----h6e", false); } // [B1, C1, V3, V6] +test { try toAsciiFail("xn--0ug7905g.xn-----h6e", true); } // [B1, C1, V3, V6] test { try toUnicodeFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe1\x83\x82.\xe1\x82\xa1"); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe1\x83\x82.\xe1\x82\xa1", false); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe1\x83\x82.\xe1\x82\xa1", true); } // [V7] test { try toUnicodeFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe2\xb4\xa2.\xe2\xb4\x81"); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe2\xb4\xa2.\xe2\xb4\x81", false); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe2\xb4\xa2.\xe2\xb4\x81", true); } // [V7] test { try toUnicodeFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe1\x83\x82.\xe2\xb4\x81"); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe1\x83\x82.\xe2\xb4\x81", false); } // [V7] +test { try toAsciiFail("\xf0\x90\x8b\xb8\xf3\xae\x98\x8b\xe1\x83\x82.\xe2\xb4\x81", true); } // [V7] test { try toUnicodeFail("xn--qlj1559dr224h.xn--skj"); } // [V7] +test { try toAsciiFail("xn--qlj1559dr224h.xn--skj", false); } // [V7] +test { try toAsciiFail("xn--qlj1559dr224h.xn--skj", true); } // [V7] test { try toUnicodeFail("xn--6nd5215jr2u0h.xn--skj"); } // [V7] +test { try toAsciiFail("xn--6nd5215jr2u0h.xn--skj", false); } // [V7] +test { try toAsciiFail("xn--6nd5215jr2u0h.xn--skj", true); } // [V7] test { try toUnicodeFail("xn--6nd5215jr2u0h.xn--8md"); } // [V7] +test { try toAsciiFail("xn--6nd5215jr2u0h.xn--8md", false); } // [V7] +test { try toAsciiFail("xn--6nd5215jr2u0h.xn--8md", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x82"); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x82", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x82", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x82"); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x82", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x82", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xce\xa3"); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xce\xa3", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xce\xa3", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x83"); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x83", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x864\xf2\xa9\x9e\x86\xe3\x80\x82\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x83", true); } // [V7] test { try toUnicodeFail("xn--4-w93ej7463a9io5a.xn--4xa31142bk3f0d"); } // [V7] +test { try toAsciiFail("xn--4-w93ej7463a9io5a.xn--4xa31142bk3f0d", false); } // [V7] +test { try toAsciiFail("xn--4-w93ej7463a9io5a.xn--4xa31142bk3f0d", true); } // [V7] test { try toUnicodeFail("xn--4-w93ej7463a9io5a.xn--3xa51142bk3f0d"); } // [V7] +test { try toAsciiFail("xn--4-w93ej7463a9io5a.xn--3xa51142bk3f0d", false); } // [V7] +test { try toAsciiFail("xn--4-w93ej7463a9io5a.xn--3xa51142bk3f0d", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xce\xa3"); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xce\xa3", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xce\xa3", true); } // [V7] test { try toUnicodeFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x83"); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x83", false); } // [V7] +test { try toAsciiFail("\xf1\x97\x91\xbf\xea\xa0\x86\xe2\x82\x84\xf2\xa9\x9e\x86\xef\xbd\xa1\xf0\xb2\xa9\xa7\xf3\xa0\x92\xb9\xcf\x83", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\x86\x80\xdc\xa3\xe3\x80\x82\xe1\xb7\xb4\xdd\xb5"); } // [B1, V6] +test { try toAsciiFail("\xf3\xa0\x86\x80\xdc\xa3\xe3\x80\x82\xe1\xb7\xb4\xdd\xb5", false); } // [B1, V6] +test { try toAsciiFail("\xf3\xa0\x86\x80\xdc\xa3\xe3\x80\x82\xe1\xb7\xb4\xdd\xb5", true); } // [B1, V6] test { try toUnicodeFail("xn--tnb.xn--5pb136i"); } // [B1, V6] +test { try toAsciiFail("xn--tnb.xn--5pb136i", false); } // [B1, V6] +test { try toAsciiFail("xn--tnb.xn--5pb136i", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xef\xbd\xa1\xf0\xac\xbc\x96\xe1\x82\xb1\xe2\x80\x8d"); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xef\xbd\xa1\xf0\xac\xbc\x96\xe1\x82\xb1\xe2\x80\x8d", false); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xef\xbd\xa1\xf0\xac\xbc\x96\xe1\x82\xb1\xe2\x80\x8d", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xe3\x80\x82\xf0\xac\xbc\x96\xe1\x82\xb1\xe2\x80\x8d"); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xe3\x80\x82\xf0\xac\xbc\x96\xe1\x82\xb1\xe2\x80\x8d", false); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xe3\x80\x82\xf0\xac\xbc\x96\xe1\x82\xb1\xe2\x80\x8d", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xe3\x80\x82\xf0\xac\xbc\x96\xe2\xb4\x91\xe2\x80\x8d"); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xe3\x80\x82\xf0\xac\xbc\x96\xe2\xb4\x91\xe2\x80\x8d", false); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xe3\x80\x82\xf0\xac\xbc\x96\xe2\xb4\x91\xe2\x80\x8d", true); } // [B1] test { try toUnicodeFail("xn--0vb1535kdb6e.xn--8kjz186s"); } // [B1] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--8kjz186s", false); } // [B1] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--8kjz186s", true); } // [B1] test { try toUnicodeFail("xn--0vb1535kdb6e.xn--1ug742c5714c"); } // [B1, B6, C2] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--1ug742c5714c", false); } // [B1, B6, C2] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--1ug742c5714c", true); } // [B1, B6, C2] test { try toUnicodeFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xef\xbd\xa1\xf0\xac\xbc\x96\xe2\xb4\x91\xe2\x80\x8d"); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xef\xbd\xa1\xf0\xac\xbc\x96\xe2\xb4\x91\xe2\x80\x8d", false); } // [B1, B6, C2] +test { try toAsciiFail("\xf0\x90\xb9\xb1\xe0\xa1\x82\xf0\x9d\xaa\xa8\xef\xbd\xa1\xf0\xac\xbc\x96\xe2\xb4\x91\xe2\x80\x8d", true); } // [B1] test { try toUnicodeFail("xn--0vb1535kdb6e.xn--pnd93707a"); } // [B1, V7] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--pnd93707a", false); } // [B1, V7] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--pnd93707a", true); } // [B1, V7] test { try toUnicodeFail("xn--0vb1535kdb6e.xn--pnd879eqy33c"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--pnd879eqy33c", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn--0vb1535kdb6e.xn--pnd879eqy33c", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("\xe1\x9c\x94\xf0\x90\xad\xaa\xf3\xa0\x99\x98\xe2\x80\x8d\xef\xbd\xa1-\xf0\x90\xb9\xb4"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xe1\x9c\x94\xf0\x90\xad\xaa\xf3\xa0\x99\x98\xe2\x80\x8d\xef\xbd\xa1-\xf0\x90\xb9\xb4", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xe1\x9c\x94\xf0\x90\xad\xaa\xf3\xa0\x99\x98\xe2\x80\x8d\xef\xbd\xa1-\xf0\x90\xb9\xb4", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\x9c\x94\xf0\x90\xad\xaa\xf3\xa0\x99\x98\xe2\x80\x8d\xe3\x80\x82-\xf0\x90\xb9\xb4"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xe1\x9c\x94\xf0\x90\xad\xaa\xf3\xa0\x99\x98\xe2\x80\x8d\xe3\x80\x82-\xf0\x90\xb9\xb4", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("\xe1\x9c\x94\xf0\x90\xad\xaa\xf3\xa0\x99\x98\xe2\x80\x8d\xe3\x80\x82-\xf0\x90\xb9\xb4", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--fze4126jujt0g.xn----c36i"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--fze4126jujt0g.xn----c36i", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--fze4126jujt0g.xn----c36i", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--fze807bso0spy14i.xn----c36i"); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("xn--fze807bso0spy14i.xn----c36i", false); } // [B1, C2, V3, V6, V7] +test { try toAsciiFail("xn--fze807bso0spy14i.xn----c36i", true); } // [B1, C2, V3, V6, V7] test { try toUnicodeFail("\xf0\xbe\xa2\xac\xef\xbd\xa1\xdc\xa9\xef\xb8\x92\xec\xaf\x99\xf0\x9d\x9f\xa7"); } // [B2, V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xef\xbd\xa1\xdc\xa9\xef\xb8\x92\xec\xaf\x99\xf0\x9d\x9f\xa7", false); } // [B2, V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xef\xbd\xa1\xdc\xa9\xef\xb8\x92\xec\xaf\x99\xf0\x9d\x9f\xa7", true); } // [B2, V7] test { try toUnicodeFail("\xf0\xbe\xa2\xac\xef\xbd\xa1\xdc\xa9\xef\xb8\x92\xe1\x84\x8d\xe1\x85\xb3\xe1\x86\xac\xf0\x9d\x9f\xa7"); } // [B2, V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xef\xbd\xa1\xdc\xa9\xef\xb8\x92\xe1\x84\x8d\xe1\x85\xb3\xe1\x86\xac\xf0\x9d\x9f\xa7", false); } // [B2, V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xef\xbd\xa1\xdc\xa9\xef\xb8\x92\xe1\x84\x8d\xe1\x85\xb3\xe1\x86\xac\xf0\x9d\x9f\xa7", true); } // [B2, V7] test { try toUnicodeFail("\xf0\xbe\xa2\xac\xe3\x80\x82\xdc\xa9\xe3\x80\x82\xec\xaf\x995"); } // [V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xe3\x80\x82\xdc\xa9\xe3\x80\x82\xec\xaf\x995", false); } // [V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xe3\x80\x82\xdc\xa9\xe3\x80\x82\xec\xaf\x995", true); } // [V7] test { try toUnicodeFail("\xf0\xbe\xa2\xac\xe3\x80\x82\xdc\xa9\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xb3\xe1\x86\xac5"); } // [V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xe3\x80\x82\xdc\xa9\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xb3\xe1\x86\xac5", false); } // [V7] +test { try toAsciiFail("\xf0\xbe\xa2\xac\xe3\x80\x82\xdc\xa9\xe3\x80\x82\xe1\x84\x8d\xe1\x85\xb3\xe1\x86\xac5", true); } // [V7] test { try toUnicodeFail("xn--t92s.xn--znb.xn--5-y88f"); } // [V7] +test { try toAsciiFail("xn--t92s.xn--znb.xn--5-y88f", false); } // [V7] +test { try toAsciiFail("xn--t92s.xn--znb.xn--5-y88f", true); } // [V7] test { try toUnicodeFail("xn--t92s.xn--5-p1c0712mm8rb"); } // [B2, V7] +test { try toAsciiFail("xn--t92s.xn--5-p1c0712mm8rb", false); } // [B2, V7] +test { try toAsciiFail("xn--t92s.xn--5-p1c0712mm8rb", true); } // [B2, V7] test { try toUnicodeFail("\xf0\x9e\xa4\x9f-\xe3\x80\x82\xdd\xa2\xe2\x89\xae\xeb\xbb\x90"); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x9f-\xe3\x80\x82\xdd\xa2\xe2\x89\xae\xeb\xbb\x90", false); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x9f-\xe3\x80\x82\xdd\xa2\xe2\x89\xae\xeb\xbb\x90", true); } // [B2, B3, V3] test { try toUnicodeFail("\xf0\x9e\xa4\x9f-\xe3\x80\x82\xdd\xa2<\xcc\xb8\xe1\x84\x88\xe1\x85\xa5"); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x9f-\xe3\x80\x82\xdd\xa2<\xcc\xb8\xe1\x84\x88\xe1\x85\xa5", false); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa4\x9f-\xe3\x80\x82\xdd\xa2<\xcc\xb8\xe1\x84\x88\xe1\x85\xa5", true); } // [B2, B3, V3] test { try toUnicodeFail("\xf0\x9e\xa5\x81-\xe3\x80\x82\xdd\xa2<\xcc\xb8\xe1\x84\x88\xe1\x85\xa5"); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa5\x81-\xe3\x80\x82\xdd\xa2<\xcc\xb8\xe1\x84\x88\xe1\x85\xa5", false); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa5\x81-\xe3\x80\x82\xdd\xa2<\xcc\xb8\xe1\x84\x88\xe1\x85\xa5", true); } // [B2, B3, V3] test { try toUnicodeFail("\xf0\x9e\xa5\x81-\xe3\x80\x82\xdd\xa2\xe2\x89\xae\xeb\xbb\x90"); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa5\x81-\xe3\x80\x82\xdd\xa2\xe2\x89\xae\xeb\xbb\x90", false); } // [B2, B3, V3] +test { try toAsciiFail("\xf0\x9e\xa5\x81-\xe3\x80\x82\xdd\xa2\xe2\x89\xae\xeb\xbb\x90", true); } // [B2, B3, V3] test { try toUnicodeFail("xn----1j8r.xn--mpb269krv4i"); } // [B2, B3, V3] +test { try toAsciiFail("xn----1j8r.xn--mpb269krv4i", false); } // [B2, B3, V3] +test { try toAsciiFail("xn----1j8r.xn--mpb269krv4i", true); } // [B2, B3, V3] test { try toUnicodeFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0\xef\xbc\x8e\xe0\xa2\xb4\xe2\x89\xa0"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0\xef\xbc\x8e\xe0\xa2\xb4\xe2\x89\xa0", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0\xef\xbc\x8e\xe0\xa2\xb4\xe2\x89\xa0", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0\xef\xbc\x8e\xe0\xa2\xb4=\xcc\xb8"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0\xef\xbc\x8e\xe0\xa2\xb4=\xcc\xb8", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0\xef\xbc\x8e\xe0\xa2\xb4=\xcc\xb8", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0.\xe0\xa2\xb4\xe2\x89\xa0"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0.\xe0\xa2\xb4\xe2\x89\xa0", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0.\xe0\xa2\xb4\xe2\x89\xa0", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0.\xe0\xa2\xb4=\xcc\xb8"); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0.\xe0\xa2\xb4=\xcc\xb8", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf0\x9e\xa5\xa9-\xf2\x8a\xab\xa0.\xe0\xa2\xb4=\xcc\xb8", true); } // [B2, B3, V7] test { try toUnicodeFail("xn----cm8rp3609a.xn--9yb852k"); } // [B2, B3, V7] +test { try toAsciiFail("xn----cm8rp3609a.xn--9yb852k", false); } // [B2, B3, V7] +test { try toAsciiFail("xn----cm8rp3609a.xn--9yb852k", true); } // [B2, B3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xcf\x82\xe1\x82\xbc\xef\xbc\x8e\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe1\x82\xbc\xef\xbc\x8e\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe1\x82\xbc\xef\xbc\x8e\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xcf\x82\xe1\x82\xbc.\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe1\x82\xbc.\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe1\x82\xbc.\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xcf\x82\xe2\xb4\x9c.\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe2\xb4\x9c.\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe2\xb4\x9c.\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xce\xa3\xe1\x82\xbc.\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe1\x82\xbc.\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe1\x82\xbc.\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xcf\x83\xe2\xb4\x9c.\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x83\xe2\xb4\x9c.\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x83\xe2\xb4\x9c.\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xce\xa3\xe2\xb4\x9c.\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe2\xb4\x9c.\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe2\xb4\x9c.\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----0mb9682aov12f.xn--9hb"); } // [B1, V3, V7] +test { try toAsciiFail("xn----0mb9682aov12f.xn--9hb", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----0mb9682aov12f.xn--9hb", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ymb2782aov12f.xn--9hb"); } // [B1, V3, V7] +test { try toAsciiFail("xn----ymb2782aov12f.xn--9hb", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----ymb2782aov12f.xn--9hb", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xcf\x82\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x82\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xce\xa3\xe1\x82\xbc\xef\xbc\x8e\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe1\x82\xbc\xef\xbc\x8e\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe1\x82\xbc\xef\xbc\x8e\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xcf\x83\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x83\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xcf\x83\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf1\x85\x82\x8f\xce\xa3\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf1\x85\x82\x8f\xce\xa3\xe2\xb4\x9c\xef\xbc\x8e\xd9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----0mb770hun11i.xn--9hb"); } // [B1, V3, V7] +test { try toAsciiFail("xn----0mb770hun11i.xn--9hb", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----0mb770hun11i.xn--9hb", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ymb080hun11i.xn--9hb"); } // [B1, V3, V7] +test { try toAsciiFail("xn----ymb080hun11i.xn--9hb", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----ymb080hun11i.xn--9hb", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe1\x9f\x8a.\xe2\x80\x8d\xf0\x9d\x9f\xae\xf0\x91\x80\xbf"); } // [C2, V6] +test { try toAsciiFail("\xe1\x9f\x8a.\xe2\x80\x8d\xf0\x9d\x9f\xae\xf0\x91\x80\xbf", false); } // [C2, V6] +test { try toAsciiFail("\xe1\x9f\x8a.\xe2\x80\x8d\xf0\x9d\x9f\xae\xf0\x91\x80\xbf", true); } // [V6] test { try toUnicodeFail("\xe1\x9f\x8a.\xe2\x80\x8d2\xf0\x91\x80\xbf"); } // [C2, V6] +test { try toAsciiFail("\xe1\x9f\x8a.\xe2\x80\x8d2\xf0\x91\x80\xbf", false); } // [C2, V6] +test { try toAsciiFail("\xe1\x9f\x8a.\xe2\x80\x8d2\xf0\x91\x80\xbf", true); } // [V6] test { try toUnicodeFail("xn--m4e.xn--2-ku7i"); } // [V6] +test { try toAsciiFail("xn--m4e.xn--2-ku7i", false); } // [V6] +test { try toAsciiFail("xn--m4e.xn--2-ku7i", true); } // [V6] test { try toUnicodeFail("xn--m4e.xn--2-tgnv469h"); } // [C2, V6] +test { try toAsciiFail("xn--m4e.xn--2-tgnv469h", false); } // [C2, V6] +test { try toAsciiFail("xn--m4e.xn--2-tgnv469h", true); } // [C2, V6] test { try toUnicodeFail("\xe2\x89\xaf\xf0\x9d\x9f\x96\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9d\x9f\x96\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x89\xaf\xf0\x9d\x9f\x96\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", true); } // [B1, V6, V7] test { try toUnicodeFail(">\xcc\xb8\xf0\x9d\x9f\x96\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91"); } // [B1, V6, V7] +test { try toAsciiFail(">\xcc\xb8\xf0\x9d\x9f\x96\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", false); } // [B1, V6, V7] +test { try toAsciiFail(">\xcc\xb8\xf0\x9d\x9f\x96\xef\xbd\xa1\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe2\x89\xaf8\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x89\xaf8\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x89\xaf8\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", true); } // [B1, V6, V7] test { try toUnicodeFail(">\xcc\xb88\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91"); } // [B1, V6, V7] +test { try toAsciiFail(">\xcc\xb88\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", false); } // [B1, V6, V7] +test { try toAsciiFail(">\xcc\xb88\xe3\x80\x82\xe1\xa9\xa0\xf0\x90\xab\x93\xf2\x9f\x87\x91", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--8-ogo.xn--jof5303iv1z5d"); } // [B1, V6, V7] +test { try toAsciiFail("xn--8-ogo.xn--jof5303iv1z5d", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--8-ogo.xn--jof5303iv1z5d", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x91\xb2\xab\xe2\x86\x83\xd9\xa4\xef\xbd\xa1\xe2\x80\x8c"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x83\xd9\xa4\xef\xbd\xa1\xe2\x80\x8c", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x83\xd9\xa4\xef\xbd\xa1\xe2\x80\x8c", true); } // [B1, V6, A4_2] test { try toUnicodeFail("\xf0\x91\xb2\xab\xe2\x86\x83\xd9\xa4\xe3\x80\x82\xe2\x80\x8c"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x83\xd9\xa4\xe3\x80\x82\xe2\x80\x8c", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x83\xd9\xa4\xe3\x80\x82\xe2\x80\x8c", true); } // [B1, V6, A4_2] test { try toUnicodeFail("\xf0\x91\xb2\xab\xe2\x86\x84\xd9\xa4\xe3\x80\x82\xe2\x80\x8c"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x84\xd9\xa4\xe3\x80\x82\xe2\x80\x8c", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x84\xd9\xa4\xe3\x80\x82\xe2\x80\x8c", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--dib100l8x1p."); } // [B1, V6] +test { try toAsciiFail("xn--dib100l8x1p.", false); } // [B1, V6, A4_2] +test { try toAsciiFail("xn--dib100l8x1p.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--dib100l8x1p.xn--0ug"); } // [B1, C1, V6] +test { try toAsciiFail("xn--dib100l8x1p.xn--0ug", false); } // [B1, C1, V6] +test { try toAsciiFail("xn--dib100l8x1p.xn--0ug", true); } // [B1, C1, V6] test { try toUnicodeFail("\xf0\x91\xb2\xab\xe2\x86\x84\xd9\xa4\xef\xbd\xa1\xe2\x80\x8c"); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x84\xd9\xa4\xef\xbd\xa1\xe2\x80\x8c", false); } // [B1, C1, V6] +test { try toAsciiFail("\xf0\x91\xb2\xab\xe2\x86\x84\xd9\xa4\xef\xbd\xa1\xe2\x80\x8c", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--dib999kcy1p."); } // [B1, V6, V7] +test { try toAsciiFail("xn--dib999kcy1p.", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("xn--dib999kcy1p.", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--dib999kcy1p.xn--0ug"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--dib999kcy1p.xn--0ug", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--dib999kcy1p.xn--0ug", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xe0\xb0\x80\xf0\x9d\x9f\xb5\xe2\x80\x8d\xef\xb2\x9d.\xe2\x80\x8d\xdd\x90\xe2\x92\x88"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb0\x80\xf0\x9d\x9f\xb5\xe2\x80\x8d\xef\xb2\x9d.\xe2\x80\x8d\xdd\x90\xe2\x92\x88", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb0\x80\xf0\x9d\x9f\xb5\xe2\x80\x8d\xef\xb2\x9d.\xe2\x80\x8d\xdd\x90\xe2\x92\x88", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe0\xb0\x809\xe2\x80\x8d\xd8\xa8\xd8\xad.\xe2\x80\x8d\xdd\x901."); } // [B1, C2, V6] +test { try toAsciiFail("\xe0\xb0\x809\xe2\x80\x8d\xd8\xa8\xd8\xad.\xe2\x80\x8d\xdd\x901.", false); } // [B1, C2, V6, A4_2] +test { try toAsciiFail("\xe0\xb0\x809\xe2\x80\x8d\xd8\xa8\xd8\xad.\xe2\x80\x8d\xdd\x901.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--9-1mcp570d.xn--1-x3c."); } // [B1, V6] +test { try toAsciiFail("xn--9-1mcp570d.xn--1-x3c.", false); } // [B1, V6, A4_2] +test { try toAsciiFail("xn--9-1mcp570d.xn--1-x3c.", true); } // [B1, V6, A4_2] test { try toUnicodeFail("xn--9-1mcp570dl51a.xn--1-x3c211q."); } // [B1, C2, V6] +test { try toAsciiFail("xn--9-1mcp570dl51a.xn--1-x3c211q.", false); } // [B1, C2, V6, A4_2] +test { try toAsciiFail("xn--9-1mcp570dl51a.xn--1-x3c211q.", true); } // [B1, C2, V6, A4_2] test { try toUnicodeFail("xn--9-1mcp570d.xn--3ob470m"); } // [B1, V6, V7] +test { try toAsciiFail("xn--9-1mcp570d.xn--3ob470m", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--9-1mcp570d.xn--3ob470m", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--9-1mcp570dl51a.xn--3ob977jmfd"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--9-1mcp570dl51a.xn--3ob977jmfd", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--9-1mcp570dl51a.xn--3ob977jmfd", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6\xc3\x9f\xe8\x91\xbd"); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6\xc3\x9f\xe8\x91\xbd", false); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6\xc3\x9f\xe8\x91\xbd", true); } // [V6] test { try toUnicodeFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6SS\xe8\x91\xbd"); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6SS\xe8\x91\xbd", false); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6SS\xe8\x91\xbd", true); } // [V6] test { try toUnicodeFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6ss\xe8\x91\xbd"); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6ss\xe8\x91\xbd", false); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6ss\xe8\x91\xbd", true); } // [V6] test { try toUnicodeFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6Ss\xe8\x91\xbd"); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6Ss\xe8\x91\xbd", false); } // [V6] +test { try toAsciiFail("\xea\xab\xb6\xe3\x80\x82\xe5\xac\xb6Ss\xe8\x91\xbd", true); } // [V6] test { try toUnicodeFail("xn--2v9a.xn--ss-q40dp97m"); } // [V6] +test { try toAsciiFail("xn--2v9a.xn--ss-q40dp97m", false); } // [V6] +test { try toAsciiFail("xn--2v9a.xn--ss-q40dp97m", true); } // [V6] test { try toUnicodeFail("xn--2v9a.xn--zca7637b14za"); } // [V6] +test { try toAsciiFail("xn--2v9a.xn--zca7637b14za", false); } // [V6] +test { try toAsciiFail("xn--2v9a.xn--zca7637b14za", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x9a\xb6\xe2\x92\x88\xe3\x80\x82\xf1\x9e\xbb\xa1\xf0\x90\xb9\xba"); } // [B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9a\xb6\xe2\x92\x88\xe3\x80\x82\xf1\x9e\xbb\xa1\xf0\x90\xb9\xba", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9a\xb6\xe2\x92\x88\xe3\x80\x82\xf1\x9e\xbb\xa1\xf0\x90\xb9\xba", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x91\x9a\xb61.\xe3\x80\x82\xf1\x9e\xbb\xa1\xf0\x90\xb9\xba"); } // [B5, B6, V6, V7, X4_2] +test { try toAsciiFail("\xf0\x91\x9a\xb61.\xe3\x80\x82\xf1\x9e\xbb\xa1\xf0\x90\xb9\xba", false); } // [B5, B6, V6, V7, A4_2] +test { try toAsciiFail("\xf0\x91\x9a\xb61.\xe3\x80\x82\xf1\x9e\xbb\xa1\xf0\x90\xb9\xba", true); } // [B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--1-3j0j..xn--yo0d5914s"); } // [B5, B6, V6, V7, X4_2] +test { try toAsciiFail("xn--1-3j0j..xn--yo0d5914s", false); } // [B5, B6, V6, V7, A4_2] +test { try toAsciiFail("xn--1-3j0j..xn--yo0d5914s", true); } // [B5, B6, V6, V7, A4_2] test { try toUnicodeFail("xn--tshz969f.xn--yo0d5914s"); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--tshz969f.xn--yo0d5914s", false); } // [B5, B6, V6, V7] +test { try toAsciiFail("xn--tshz969f.xn--yo0d5914s", true); } // [B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x91\x9c\xa4\xef\xb8\x92\xe2\x89\xae\xef\xbc\x8e\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xef\xb8\x92\xe2\x89\xae\xef\xbc\x8e\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xef\xb8\x92\xe2\x89\xae\xef\xbc\x8e\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x91\x9c\xa4\xef\xb8\x92<\xcc\xb8\xef\xbc\x8e\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xef\xb8\x92<\xcc\xb8\xef\xbc\x8e\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xef\xb8\x92<\xcc\xb8\xef\xbc\x8e\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x91\x9c\xa4\xe3\x80\x82\xe2\x89\xae.\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xe3\x80\x82\xe2\x89\xae.\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xe3\x80\x82\xe2\x89\xae.\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf0\x91\x9c\xa4\xe3\x80\x82<\xcc\xb8.\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xe3\x80\x82<\xcc\xb8.\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("\xf0\x91\x9c\xa4\xe3\x80\x82<\xcc\xb8.\xf1\x9a\x95\xbd\xd7\x98\xf0\x9e\xbe\xa9", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--ci2d.xn--gdh.xn--deb0091w5q9u"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ci2d.xn--gdh.xn--deb0091w5q9u", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--ci2d.xn--gdh.xn--deb0091w5q9u", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("xn--gdh5267fdzpa.xn--deb0091w5q9u"); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--gdh5267fdzpa.xn--deb0091w5q9u", false); } // [B1, B5, B6, V6, V7] +test { try toAsciiFail("xn--gdh5267fdzpa.xn--deb0091w5q9u", true); } // [B1, B5, B6, V6, V7] test { try toUnicodeFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xcf\x82\xf2\x8f\x8b\x88\xf2\xba\x87\xa5"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xcf\x82\xf2\x8f\x8b\x88\xf2\xba\x87\xa5", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xcf\x82\xf2\x8f\x8b\x88\xf2\xba\x87\xa5", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xce\xa3\xf2\x8f\x8b\x88\xf2\xba\x87\xa5"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xce\xa3\xf2\x8f\x8b\x88\xf2\xba\x87\xa5", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xce\xa3\xf2\x8f\x8b\x88\xf2\xba\x87\xa5", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xcf\x83\xf2\x8f\x8b\x88\xf2\xba\x87\xa5"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xcf\x83\xf2\x8f\x8b\x88\xf2\xba\x87\xa5", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x86\x8b\xd8\x83\xf1\x8f\xa6\xa4.\xe2\x87\x81\xcf\x83\xf2\x8f\x8b\x88\xf2\xba\x87\xa5", true); } // [B1, V7] test { try toUnicodeFail("xn--lfb04106d.xn--4xa964mxv16m8moq"); } // [B1, V7] +test { try toAsciiFail("xn--lfb04106d.xn--4xa964mxv16m8moq", false); } // [B1, V7] +test { try toAsciiFail("xn--lfb04106d.xn--4xa964mxv16m8moq", true); } // [B1, V7] test { try toUnicodeFail("xn--lfb04106d.xn--3xa174mxv16m8moq"); } // [B1, V7] +test { try toAsciiFail("xn--lfb04106d.xn--3xa174mxv16m8moq", false); } // [B1, V7] +test { try toAsciiFail("xn--lfb04106d.xn--3xa174mxv16m8moq", true); } // [B1, V7] test { try toUnicodeFail("\xcf\x82\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84"); } // [C1, V7] +test { try toAsciiFail("\xcf\x82\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", false); } // [C1, V7] +test { try toAsciiFail("\xcf\x82\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", true); } // [V7] test { try toUnicodeFail("\xcf\x82\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84"); } // [C1, V7] +test { try toAsciiFail("\xcf\x82\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", false); } // [C1, V7] +test { try toAsciiFail("\xcf\x82\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", true); } // [V7] test { try toUnicodeFail("\xce\xa3\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84"); } // [C1, V7] +test { try toAsciiFail("\xce\xa3\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", false); } // [C1, V7] +test { try toAsciiFail("\xce\xa3\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", true); } // [V7] test { try toUnicodeFail("\xcf\x83\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84"); } // [C1, V7] +test { try toAsciiFail("\xcf\x83\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", false); } // [C1, V7] +test { try toAsciiFail("\xcf\x83\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xe3\x80\x82\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", true); } // [V7] test { try toUnicodeFail("xn--4xa2260lk3b8z15g.xn--tw9ct349a"); } // [V7] +test { try toAsciiFail("xn--4xa2260lk3b8z15g.xn--tw9ct349a", false); } // [V7] +test { try toAsciiFail("xn--4xa2260lk3b8z15g.xn--tw9ct349a", true); } // [V7] test { try toUnicodeFail("xn--4xa2260lk3b8z15g.xn--0ug4653g2xzf"); } // [C1, V7] +test { try toAsciiFail("xn--4xa2260lk3b8z15g.xn--0ug4653g2xzf", false); } // [C1, V7] +test { try toAsciiFail("xn--4xa2260lk3b8z15g.xn--0ug4653g2xzf", true); } // [C1, V7] test { try toUnicodeFail("xn--3xa4260lk3b8z15g.xn--0ug4653g2xzf"); } // [C1, V7] +test { try toAsciiFail("xn--3xa4260lk3b8z15g.xn--0ug4653g2xzf", false); } // [C1, V7] +test { try toAsciiFail("xn--3xa4260lk3b8z15g.xn--0ug4653g2xzf", true); } // [C1, V7] test { try toUnicodeFail("\xce\xa3\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84"); } // [C1, V7] +test { try toAsciiFail("\xce\xa3\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", false); } // [C1, V7] +test { try toAsciiFail("\xce\xa3\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", true); } // [V7] test { try toUnicodeFail("\xcf\x83\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84"); } // [C1, V7] +test { try toAsciiFail("\xcf\x83\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", false); } // [C1, V7] +test { try toAsciiFail("\xcf\x83\xf0\x91\x90\xbd\xf0\xb5\xa2\x88\xf0\x91\x9c\xab\xef\xbd\xa1\xf0\x9e\xac\xa9\xe2\x80\x8c\xf0\x90\xab\x84", true); } // [V7] test { try toUnicodeFail("-\xf2\xb5\x8f\xbd\xef\xbd\xa1-\xef\xb1\x8c\xdd\x9b"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf2\xb5\x8f\xbd\xef\xbd\xa1-\xef\xb1\x8c\xdd\x9b", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf2\xb5\x8f\xbd\xef\xbd\xa1-\xef\xb1\x8c\xdd\x9b", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xf2\xb5\x8f\xbd\xe3\x80\x82-\xd9\x86\xd8\xad\xdd\x9b"); } // [B1, V3, V7] +test { try toAsciiFail("-\xf2\xb5\x8f\xbd\xe3\x80\x82-\xd9\x86\xd8\xad\xdd\x9b", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xf2\xb5\x8f\xbd\xe3\x80\x82-\xd9\x86\xd8\xad\xdd\x9b", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----o452j.xn----cnc8e38c"); } // [B1, V3, V7] +test { try toAsciiFail("xn----o452j.xn----cnc8e38c", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----o452j.xn----cnc8e38c", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\xba\xa2\xf2\x87\xba\x85\xf0\x9d\x9f\xa4\xef\xbd\xa1\xe2\x80\x8d\xf0\x9f\x9a\xb7"); } // [C2, V7] +test { try toAsciiFail("\xe2\xba\xa2\xf2\x87\xba\x85\xf0\x9d\x9f\xa4\xef\xbd\xa1\xe2\x80\x8d\xf0\x9f\x9a\xb7", false); } // [C2, V7] +test { try toAsciiFail("\xe2\xba\xa2\xf2\x87\xba\x85\xf0\x9d\x9f\xa4\xef\xbd\xa1\xe2\x80\x8d\xf0\x9f\x9a\xb7", true); } // [V7] test { try toUnicodeFail("\xe2\xba\xa2\xf2\x87\xba\x852\xe3\x80\x82\xe2\x80\x8d\xf0\x9f\x9a\xb7"); } // [C2, V7] +test { try toAsciiFail("\xe2\xba\xa2\xf2\x87\xba\x852\xe3\x80\x82\xe2\x80\x8d\xf0\x9f\x9a\xb7", false); } // [C2, V7] +test { try toAsciiFail("\xe2\xba\xa2\xf2\x87\xba\x852\xe3\x80\x82\xe2\x80\x8d\xf0\x9f\x9a\xb7", true); } // [V7] test { try toUnicodeFail("xn--2-4jtr4282f.xn--m78h"); } // [V7] +test { try toAsciiFail("xn--2-4jtr4282f.xn--m78h", false); } // [V7] +test { try toAsciiFail("xn--2-4jtr4282f.xn--m78h", true); } // [V7] test { try toUnicodeFail("xn--2-4jtr4282f.xn--1ugz946p"); } // [C2, V7] +test { try toAsciiFail("xn--2-4jtr4282f.xn--1ugz946p", false); } // [C2, V7] +test { try toAsciiFail("xn--2-4jtr4282f.xn--1ugz946p", true); } // [C2, V7] test { try toUnicodeFail("\xe0\xb3\xb8\xe2\x80\x8d\xe2\xb7\xbe\xf0\x90\xb9\xb2\xef\xbd\xa1\xf2\xa4\x90\xb6"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe0\xb3\xb8\xe2\x80\x8d\xe2\xb7\xbe\xf0\x90\xb9\xb2\xef\xbd\xa1\xf2\xa4\x90\xb6", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe0\xb3\xb8\xe2\x80\x8d\xe2\xb7\xbe\xf0\x90\xb9\xb2\xef\xbd\xa1\xf2\xa4\x90\xb6", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe0\xb3\xb8\xe2\x80\x8d\xe2\xb7\xbe\xf0\x90\xb9\xb2\xe3\x80\x82\xf2\xa4\x90\xb6"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe0\xb3\xb8\xe2\x80\x8d\xe2\xb7\xbe\xf0\x90\xb9\xb2\xe3\x80\x82\xf2\xa4\x90\xb6", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe0\xb3\xb8\xe2\x80\x8d\xe2\xb7\xbe\xf0\x90\xb9\xb2\xe3\x80\x82\xf2\xa4\x90\xb6", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--hvc220of37m.xn--3e36c"); } // [B5, B6, V7] +test { try toAsciiFail("xn--hvc220of37m.xn--3e36c", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--hvc220of37m.xn--3e36c", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--hvc488g69j402t.xn--3e36c"); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--hvc488g69j402t.xn--3e36c", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--hvc488g69j402t.xn--3e36c", true); } // [B5, B6, C2, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa2\xef\xbc\x8e\xe1\x82\xad\xe2\x82\x89\xe2\x81\xb8"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xef\xbc\x8e\xe1\x82\xad\xe2\x82\x89\xe2\x81\xb8", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xef\xbc\x8e\xe1\x82\xad\xe2\x82\x89\xe2\x81\xb8", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa2.\xe1\x82\xad98"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2.\xe1\x82\xad98", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2.\xe1\x82\xad98", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa2.\xe2\xb4\x8d98"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2.\xe2\xb4\x8d98", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2.\xe2\xb4\x8d98", true); } // [B1] test { try toUnicodeFail("xn--9n0d.xn--98-u61a"); } // [B1] +test { try toAsciiFail("xn--9n0d.xn--98-u61a", false); } // [B1] +test { try toAsciiFail("xn--9n0d.xn--98-u61a", true); } // [B1] test { try toUnicodeFail("\xf0\x90\xb9\xa2\xef\xbc\x8e\xe2\xb4\x8d\xe2\x82\x89\xe2\x81\xb8"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xef\xbc\x8e\xe2\xb4\x8d\xe2\x82\x89\xe2\x81\xb8", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa2\xef\xbc\x8e\xe2\xb4\x8d\xe2\x82\x89\xe2\x81\xb8", true); } // [B1] test { try toUnicodeFail("xn--9n0d.xn--98-7ek"); } // [B1, V7] +test { try toAsciiFail("xn--9n0d.xn--98-7ek", false); } // [B1, V7] +test { try toAsciiFail("xn--9n0d.xn--98-7ek", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1\xc3\x9f\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1\xc3\x9f\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1\xc3\x9f\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1\xc3\x9f\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1\xc3\x9f\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1\xc3\x9f\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82\xc3\x9f\xe0\xa3\xa219.\xe2\x89\xaf"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82\xc3\x9f\xe0\xa3\xa219.\xe2\x89\xaf", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82\xc3\x9f\xe0\xa3\xa219.\xe2\x89\xaf", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82\xc3\x9f\xe0\xa3\xa219.>\xcc\xb8"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82\xc3\x9f\xe0\xa3\xa219.>\xcc\xb8", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82\xc3\x9f\xe0\xa3\xa219.>\xcc\xb8", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82SS\xe0\xa3\xa219.>\xcc\xb8"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82SS\xe0\xa3\xa219.>\xcc\xb8", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82SS\xe0\xa3\xa219.>\xcc\xb8", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82SS\xe0\xa3\xa219.\xe2\x89\xaf"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82SS\xe0\xa3\xa219.\xe2\x89\xaf", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82SS\xe0\xa3\xa219.\xe2\x89\xaf", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82ss\xe0\xa3\xa219.\xe2\x89\xaf"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82ss\xe0\xa3\xa219.\xe2\x89\xaf", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82ss\xe0\xa3\xa219.\xe2\x89\xaf", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82ss\xe0\xa3\xa219.>\xcc\xb8"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82ss\xe0\xa3\xa219.>\xcc\xb8", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82ss\xe0\xa3\xa219.>\xcc\xb8", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82Ss\xe0\xa3\xa219.>\xcc\xb8"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82Ss\xe0\xa3\xa219.>\xcc\xb8", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82Ss\xe0\xa3\xa219.>\xcc\xb8", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82Ss\xe0\xa3\xa219.\xe2\x89\xaf"); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82Ss\xe0\xa3\xa219.\xe2\x89\xaf", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xe3\x80\x82Ss\xe0\xa3\xa219.\xe2\x89\xaf", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail(".xn--ss19-w0i.xn--hdh"); } // [B1, B5, V7, X4_2] +test { try toAsciiFail(".xn--ss19-w0i.xn--hdh", false); } // [B1, B5, V7, A4_2] +test { try toAsciiFail(".xn--ss19-w0i.xn--hdh", true); } // [B1, B5, V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--ss19-w0i.xn--hdh"); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--0ug.xn--ss19-w0i.xn--hdh", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--0ug.xn--ss19-w0i.xn--hdh", true); } // [B1, B5, C1, V7] test { try toUnicodeFail("xn--0ug.xn--19-fia813f.xn--hdh"); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--0ug.xn--19-fia813f.xn--hdh", false); } // [B1, B5, C1, V7] +test { try toAsciiFail("xn--0ug.xn--19-fia813f.xn--hdh", true); } // [B1, B5, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1SS\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1SS\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1SS\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1SS\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1SS\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1SS\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1ss\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1ss\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1ss\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1ss\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1ss\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1ss\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1Ss\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1Ss\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1Ss\xe0\xa3\xa2\xe2\x92\x9a>\xcc\xb8", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1Ss\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1Ss\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xcd\x8f\xef\xbd\xa1Ss\xe0\xa3\xa2\xe2\x92\x9a\xe2\x89\xaf", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail(".xn--ss-9if872xjjc"); } // [B5, B6, V7, X4_2] +test { try toAsciiFail(".xn--ss-9if872xjjc", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail(".xn--ss-9if872xjjc", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--0ug.xn--ss-9if872xjjc"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug.xn--ss-9if872xjjc", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug.xn--ss-9if872xjjc", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("xn--0ug.xn--zca612bx9vo5b"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug.xn--zca612bx9vo5b", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--0ug.xn--zca612bx9vo5b", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x9e\xa5\x8d\xe1\xa1\x8c\xef\xbc\x8e\xf0\xa3\x83\x94"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xa5\x8d\xe1\xa1\x8c\xef\xbc\x8e\xf0\xa3\x83\x94", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xa5\x8d\xe1\xa1\x8c\xef\xbc\x8e\xf0\xa3\x83\x94", true); } // [B2, B3, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x9e\xa5\x8d\xe1\xa1\x8c.\xf0\xa3\x83\x94"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xa5\x8d\xe1\xa1\x8c.\xf0\xa3\x83\x94", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x9e\xa5\x8d\xe1\xa1\x8c.\xf0\xa3\x83\x94", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--c8e5919u.xn--od1j"); } // [B2, B3, V7] +test { try toAsciiFail("xn--c8e5919u.xn--od1j", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--c8e5919u.xn--od1j", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--c8e180bqz13b.xn--od1j"); } // [B1, C1, V7] +test { try toAsciiFail("xn--c8e180bqz13b.xn--od1j", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--c8e180bqz13b.xn--od1j", true); } // [B1, C1, V7] test { try toUnicodeFail("\xdf\x90\xf2\x9c\xac\x9d-\xf1\xa1\xa2\xac\xe3\x80\x82\xe0\xbe\xa0\xe1\x82\xbb\xf0\x9e\xb7\x8f\xf0\x9d\x86\xac"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x90\xf2\x9c\xac\x9d-\xf1\xa1\xa2\xac\xe3\x80\x82\xe0\xbe\xa0\xe1\x82\xbb\xf0\x9e\xb7\x8f\xf0\x9d\x86\xac", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x90\xf2\x9c\xac\x9d-\xf1\xa1\xa2\xac\xe3\x80\x82\xe0\xbe\xa0\xe1\x82\xbb\xf0\x9e\xb7\x8f\xf0\x9d\x86\xac", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xdf\x90\xf2\x9c\xac\x9d-\xf1\xa1\xa2\xac\xe3\x80\x82\xe0\xbe\xa0\xe2\xb4\x9b\xf0\x9e\xb7\x8f\xf0\x9d\x86\xac"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x90\xf2\x9c\xac\x9d-\xf1\xa1\xa2\xac\xe3\x80\x82\xe0\xbe\xa0\xe2\xb4\x9b\xf0\x9e\xb7\x8f\xf0\x9d\x86\xac", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("\xdf\x90\xf2\x9c\xac\x9d-\xf1\xa1\xa2\xac\xe3\x80\x82\xe0\xbe\xa0\xe2\xb4\x9b\xf0\x9e\xb7\x8f\xf0\x9d\x86\xac", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn----8bd11730jefvw.xn--wfd802mpm20agsxa"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn----8bd11730jefvw.xn--wfd802mpm20agsxa", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn----8bd11730jefvw.xn--wfd802mpm20agsxa", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("xn----8bd11730jefvw.xn--wfd08cd265hgsxa"); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn----8bd11730jefvw.xn--wfd08cd265hgsxa", false); } // [B1, B2, B3, V6, V7] +test { try toAsciiFail("xn----8bd11730jefvw.xn--wfd08cd265hgsxa", true); } // [B1, B2, B3, V6, V7] test { try toUnicodeFail("\xf0\x9d\xa8\xa5\xe3\x80\x82\xe2\xab\x9f\xf0\x91\x88\xbe"); } // [V6] +test { try toAsciiFail("\xf0\x9d\xa8\xa5\xe3\x80\x82\xe2\xab\x9f\xf0\x91\x88\xbe", false); } // [V6] +test { try toAsciiFail("\xf0\x9d\xa8\xa5\xe3\x80\x82\xe2\xab\x9f\xf0\x91\x88\xbe", true); } // [V6] test { try toUnicodeFail("xn--n82h.xn--63iw010f"); } // [V6] +test { try toAsciiFail("xn--n82h.xn--63iw010f", false); } // [V6] +test { try toAsciiFail("xn--n82h.xn--63iw010f", true); } // [V6] test { try toUnicodeFail("\xe2\xbe\x9b\xdd\x93.\xe1\x82\xb5\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xdd\x93.\xe1\x82\xb5\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xdd\x93.\xe1\x82\xb5\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xdd\x93.\xe1\x82\xb5\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xdd\x93.\xe1\x82\xb5\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xdd\x93.\xe1\x82\xb5\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe8\xb5\xb0\xdd\x93.\xe2\xb4\x95\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xdd\x93.\xe2\xb4\x95\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe8\xb5\xb0\xdd\x93.\xe2\xb4\x95\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--6ob9779d.xn--mfb511rxu80a"); } // [B5, B6, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb511rxu80a", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb511rxu80a", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--6ob9779d.xn--mfb444k5gjt754b"); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb444k5gjt754b", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb444k5gjt754b", true); } // [B5, B6, C2, V7] test { try toUnicodeFail("\xe2\xbe\x9b\xdd\x93.\xe2\xb4\x95\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xdd\x93.\xe2\xb4\x95\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xe2\xbe\x9b\xdd\x93.\xe2\xb4\x95\xf0\x9e\xa0\xac\xd8\x84\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--6ob9779d.xn--mfb785ck569a"); } // [B5, B6, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb785ck569a", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb785ck569a", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--6ob9779d.xn--mfb785czmm0y85b"); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb785czmm0y85b", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--6ob9779d.xn--mfb785czmm0y85b", true); } // [B5, B6, C2, V7] test { try toUnicodeFail("-\xe1\xa2\x97\xe2\x80\x8c\xf0\x9f\x84\x84.\xf0\x91\x9c\xa2"); } // [C1, V3, V6, U1] +test { try toAsciiFail("-\xe1\xa2\x97\xe2\x80\x8c\xf0\x9f\x84\x84.\xf0\x91\x9c\xa2", false); } // [C1, V3, V6, U1] +test { try toAsciiFail("-\xe1\xa2\x97\xe2\x80\x8c\xf0\x9f\x84\x84.\xf0\x91\x9c\xa2", true); } // [V3, V6, U1] test { try toUnicodeFail("-\xe1\xa2\x97\xe2\x80\x8c3,.\xf0\x91\x9c\xa2"); } // [C1, V3, V6, U1] +test { try toAsciiFail("-\xe1\xa2\x97\xe2\x80\x8c3,.\xf0\x91\x9c\xa2", false); } // [C1, V3, V6, U1] +test { try toAsciiFail("-\xe1\xa2\x97\xe2\x80\x8c3,.\xf0\x91\x9c\xa2", true); } // [V3, V6, U1] test { try toUnicodeFail("xn---3,-3eu.xn--9h2d"); } // [V3, V6, U1] +test { try toAsciiFail("xn---3,-3eu.xn--9h2d", false); } // [V3, V6, U1] +test { try toAsciiFail("xn---3,-3eu.xn--9h2d", true); } // [V3, V6, U1] test { try toUnicodeFail("xn---3,-3eu051c.xn--9h2d"); } // [C1, V3, V6, U1] +test { try toAsciiFail("xn---3,-3eu051c.xn--9h2d", false); } // [C1, V3, V6, U1] +test { try toAsciiFail("xn---3,-3eu051c.xn--9h2d", true); } // [C1, V3, V6, U1] test { try toUnicodeFail("xn----pck1820x.xn--9h2d"); } // [V3, V6, V7] +test { try toAsciiFail("xn----pck1820x.xn--9h2d", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----pck1820x.xn--9h2d", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----pck312bx563c.xn--9h2d"); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----pck312bx563c.xn--9h2d", false); } // [C1, V3, V6, V7] +test { try toAsciiFail("xn----pck312bx563c.xn--9h2d", true); } // [C1, V3, V6, V7] test { try toUnicodeFail("\xe2\x89\xa0\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe1\x82\xba\xf2\xb3\x84\xa0"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe1\x82\xba\xf2\xb3\x84\xa0", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe1\x82\xba\xf2\xb3\x84\xa0", true); } // [B1, V7] test { try toUnicodeFail("=\xcc\xb8\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe1\x82\xba\xf2\xb3\x84\xa0"); } // [B1, C1, V7] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe1\x82\xba\xf2\xb3\x84\xa0", false); } // [B1, C1, V7] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe1\x82\xba\xf2\xb3\x84\xa0", true); } // [B1, V7] test { try toUnicodeFail("=\xcc\xb8\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe2\xb4\x9a\xf2\xb3\x84\xa0"); } // [B1, C1, V7] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe2\xb4\x9a\xf2\xb3\x84\xa0", false); } // [B1, C1, V7] +test { try toAsciiFail("=\xcc\xb8\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe2\xb4\x9a\xf2\xb3\x84\xa0", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xa0\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe2\xb4\x9a\xf2\xb3\x84\xa0"); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe2\xb4\x9a\xf2\xb3\x84\xa0", false); } // [B1, C1, V7] +test { try toAsciiFail("\xe2\x89\xa0\xf0\x90\xb8\x81\xf0\xb9\x8f\x81\xe2\x80\x8c.\xe2\xb4\x9a\xf2\xb3\x84\xa0", true); } // [B1, V7] test { try toUnicodeFail("xn--1ch2293gv3nr.xn--ilj23531g"); } // [B1, V7] +test { try toAsciiFail("xn--1ch2293gv3nr.xn--ilj23531g", false); } // [B1, V7] +test { try toAsciiFail("xn--1ch2293gv3nr.xn--ilj23531g", true); } // [B1, V7] test { try toUnicodeFail("xn--0ug83gn618a21ov.xn--ilj23531g"); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug83gn618a21ov.xn--ilj23531g", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug83gn618a21ov.xn--ilj23531g", true); } // [B1, C1, V7] test { try toUnicodeFail("xn--1ch2293gv3nr.xn--ynd49496l"); } // [B1, V7] +test { try toAsciiFail("xn--1ch2293gv3nr.xn--ynd49496l", false); } // [B1, V7] +test { try toAsciiFail("xn--1ch2293gv3nr.xn--ynd49496l", true); } // [B1, V7] test { try toUnicodeFail("xn--0ug83gn618a21ov.xn--ynd49496l"); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug83gn618a21ov.xn--ynd49496l", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--0ug83gn618a21ov.xn--ynd49496l", true); } // [B1, C1, V7] test { try toUnicodeFail("\xd9\xa9\xef\xbd\xa1\xf3\xa0\x87\x80\xf0\x91\x87\x8a"); } // [B1, V6] +test { try toAsciiFail("\xd9\xa9\xef\xbd\xa1\xf3\xa0\x87\x80\xf0\x91\x87\x8a", false); } // [B1, V6] +test { try toAsciiFail("\xd9\xa9\xef\xbd\xa1\xf3\xa0\x87\x80\xf0\x91\x87\x8a", true); } // [B1, V6] test { try toUnicodeFail("\xd9\xa9\xe3\x80\x82\xf3\xa0\x87\x80\xf0\x91\x87\x8a"); } // [B1, V6] +test { try toAsciiFail("\xd9\xa9\xe3\x80\x82\xf3\xa0\x87\x80\xf0\x91\x87\x8a", false); } // [B1, V6] +test { try toAsciiFail("\xd9\xa9\xe3\x80\x82\xf3\xa0\x87\x80\xf0\x91\x87\x8a", true); } // [B1, V6] test { try toUnicodeFail("xn--iib.xn--6d1d"); } // [B1, V6] +test { try toAsciiFail("xn--iib.xn--6d1d", false); } // [B1, V6] +test { try toAsciiFail("xn--iib.xn--6d1d", true); } // [B1, V6] test { try toUnicodeFail("\xe1\x82\x86\xf0\x9e\xb6\x80\xe2\x89\xaf\xe2\x92\x8d\xe3\x80\x82-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80\xe2\x89\xaf\xe2\x92\x8d\xe3\x80\x82-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80\xe2\x89\xaf\xe2\x92\x8d\xe3\x80\x82-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\x82\x86\xf0\x9e\xb6\x80>\xcc\xb8\xe2\x92\x8d\xe3\x80\x82-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80>\xcc\xb8\xe2\x92\x8d\xe3\x80\x82-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80>\xcc\xb8\xe2\x92\x8d\xe3\x80\x82-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\x82\x86\xf0\x9e\xb6\x80\xe2\x89\xaf6.\xe3\x80\x82-"); } // [B1, V3, V6, V7, X4_2] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80\xe2\x89\xaf6.\xe3\x80\x82-", false); } // [B1, V3, V6, V7, A4_2] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80\xe2\x89\xaf6.\xe3\x80\x82-", true); } // [B1, V3, V6, V7, A4_2] test { try toUnicodeFail("\xe1\x82\x86\xf0\x9e\xb6\x80>\xcc\xb86.\xe3\x80\x82-"); } // [B1, V3, V6, V7, X4_2] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80>\xcc\xb86.\xe3\x80\x82-", false); } // [B1, V3, V6, V7, A4_2] +test { try toAsciiFail("\xe1\x82\x86\xf0\x9e\xb6\x80>\xcc\xb86.\xe3\x80\x82-", true); } // [B1, V3, V6, V7, A4_2] test { try toUnicodeFail("xn--6-oyg968k7h74b..-"); } // [B1, V3, V6, V7, X4_2] +test { try toAsciiFail("xn--6-oyg968k7h74b..-", false); } // [B1, V3, V6, V7, A4_2] +test { try toAsciiFail("xn--6-oyg968k7h74b..-", true); } // [B1, V3, V6, V7, A4_2] test { try toUnicodeFail("xn--hmd482gqqb8730g.-"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--hmd482gqqb8730g.-", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--hmd482gqqb8730g.-", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("\xe1\x9e\xb4.\xec\xae\x87-"); } // [V3, X4_2] +test { try toAsciiFail("\xe1\x9e\xb4.\xec\xae\x87-", false); } // [V3, A4_2] +test { try toAsciiFail("\xe1\x9e\xb4.\xec\xae\x87-", true); } // [V3, A4_2] test { try toUnicodeFail("\xe1\x9e\xb4.\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xae-"); } // [V3, X4_2] +test { try toAsciiFail("\xe1\x9e\xb4.\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xae-", false); } // [V3, A4_2] +test { try toAsciiFail("\xe1\x9e\xb4.\xe1\x84\x8d\xe1\x85\xb0\xe1\x86\xae-", true); } // [V3, A4_2] test { try toUnicodeFail(".xn----938f"); } // [V3, X4_2] +test { try toAsciiFail(".xn----938f", false); } // [V3, A4_2] +test { try toAsciiFail(".xn----938f", true); } // [V3, A4_2] test { try toUnicodeFail("xn--z3e.xn----938f"); } // [V3, V6, V7] +test { try toAsciiFail("xn--z3e.xn----938f", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--z3e.xn----938f", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x91\x93\x82\xe3\x80\x82\xe2\x92\x88-\xf4\x80\xaa\x9b"); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x91\x93\x82\xe3\x80\x82\xe2\x92\x88-\xf4\x80\xaa\x9b", false); } // [C1, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x91\x93\x82\xe3\x80\x82\xe2\x92\x88-\xf4\x80\xaa\x9b", true); } // [V6, V7] test { try toUnicodeFail("\xe2\x80\x8c\xf0\x91\x93\x82\xe3\x80\x821.-\xf4\x80\xaa\x9b"); } // [C1, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x91\x93\x82\xe3\x80\x821.-\xf4\x80\xaa\x9b", false); } // [C1, V3, V7] +test { try toAsciiFail("\xe2\x80\x8c\xf0\x91\x93\x82\xe3\x80\x821.-\xf4\x80\xaa\x9b", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--wz1d.1.xn----rg03o"); } // [V3, V6, V7] +test { try toAsciiFail("xn--wz1d.1.xn----rg03o", false); } // [V3, V6, V7] +test { try toAsciiFail("xn--wz1d.1.xn----rg03o", true); } // [V3, V6, V7] test { try toUnicodeFail("xn--0ugy057g.1.xn----rg03o"); } // [C1, V3, V7] +test { try toAsciiFail("xn--0ugy057g.1.xn----rg03o", false); } // [C1, V3, V7] +test { try toAsciiFail("xn--0ugy057g.1.xn----rg03o", true); } // [C1, V3, V7] test { try toUnicodeFail("xn--wz1d.xn----dcp29674o"); } // [V6, V7] +test { try toAsciiFail("xn--wz1d.xn----dcp29674o", false); } // [V6, V7] +test { try toAsciiFail("xn--wz1d.xn----dcp29674o", true); } // [V6, V7] test { try toUnicodeFail("xn--0ugy057g.xn----dcp29674o"); } // [C1, V7] +test { try toAsciiFail("xn--0ugy057g.xn----dcp29674o", false); } // [C1, V7] +test { try toAsciiFail("xn--0ugy057g.xn----dcp29674o", true); } // [C1, V7] test { try toUnicodeFail("\xe2\x92\x88\xef\xba\xae\xe2\x80\x8c\xe3\x80\x82\xe2\x83\xa9\xf0\x9f\x96\x9e\xe2\x80\x8c\xf0\x96\xac\xb4"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xef\xba\xae\xe2\x80\x8c\xe3\x80\x82\xe2\x83\xa9\xf0\x9f\x96\x9e\xe2\x80\x8c\xf0\x96\xac\xb4", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xe2\x92\x88\xef\xba\xae\xe2\x80\x8c\xe3\x80\x82\xe2\x83\xa9\xf0\x9f\x96\x9e\xe2\x80\x8c\xf0\x96\xac\xb4", true); } // [B1, V6, V7] test { try toUnicodeFail("1.\xd8\xb1\xe2\x80\x8c\xe3\x80\x82\xe2\x83\xa9\xf0\x9f\x96\x9e\xe2\x80\x8c\xf0\x96\xac\xb4"); } // [B1, B3, C1, V6] +test { try toAsciiFail("1.\xd8\xb1\xe2\x80\x8c\xe3\x80\x82\xe2\x83\xa9\xf0\x9f\x96\x9e\xe2\x80\x8c\xf0\x96\xac\xb4", false); } // [B1, B3, C1, V6] +test { try toAsciiFail("1.\xd8\xb1\xe2\x80\x8c\xe3\x80\x82\xe2\x83\xa9\xf0\x9f\x96\x9e\xe2\x80\x8c\xf0\x96\xac\xb4", true); } // [B1, V6] test { try toUnicodeFail("1.xn--wgb.xn--c1g6021kg18c"); } // [B1, V6] +test { try toAsciiFail("1.xn--wgb.xn--c1g6021kg18c", false); } // [B1, V6] +test { try toAsciiFail("1.xn--wgb.xn--c1g6021kg18c", true); } // [B1, V6] test { try toUnicodeFail("1.xn--wgb253k.xn--0ugz6a8040fty5d"); } // [B1, B3, C1, V6] +test { try toAsciiFail("1.xn--wgb253k.xn--0ugz6a8040fty5d", false); } // [B1, B3, C1, V6] +test { try toAsciiFail("1.xn--wgb253k.xn--0ugz6a8040fty5d", true); } // [B1, B3, C1, V6] test { try toUnicodeFail("xn--wgb746m.xn--c1g6021kg18c"); } // [B1, V6, V7] +test { try toAsciiFail("xn--wgb746m.xn--c1g6021kg18c", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--wgb746m.xn--c1g6021kg18c", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--wgb253kmfd.xn--0ugz6a8040fty5d"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--wgb253kmfd.xn--0ugz6a8040fty5d", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--wgb253kmfd.xn--0ugz6a8040fty5d", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xf3\x8c\xad\x87\xef\xbd\xa1\xf0\x9d\x9f\x90\xe1\xae\xa8\xdf\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\x8c\xad\x87\xef\xbd\xa1\xf0\x9d\x9f\x90\xe1\xae\xa8\xdf\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\x8c\xad\x87\xef\xbd\xa1\xf0\x9d\x9f\x90\xe1\xae\xa8\xdf\x94", true); } // [B1, V7] test { try toUnicodeFail("\xf3\x8c\xad\x87\xe3\x80\x822\xe1\xae\xa8\xdf\x94"); } // [B1, V7] +test { try toAsciiFail("\xf3\x8c\xad\x87\xe3\x80\x822\xe1\xae\xa8\xdf\x94", false); } // [B1, V7] +test { try toAsciiFail("\xf3\x8c\xad\x87\xe3\x80\x822\xe1\xae\xa8\xdf\x94", true); } // [B1, V7] test { try toUnicodeFail("xn--xm89d.xn--2-icd143m"); } // [B1, V7] +test { try toAsciiFail("xn--xm89d.xn--2-icd143m", false); } // [B1, V7] +test { try toAsciiFail("xn--xm89d.xn--2-icd143m", true); } // [B1, V7] test { try toUnicodeFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xb7"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xb7", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xb7", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xb7"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xb7", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xcf\x82\xe2\x80\x8d\xf0\x90\xb9\xb7", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xb7"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xb7", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xb7", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xb7"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xb7", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xd9\x85\xd8\xae\xd9\x85\xf2\xab\xb3\xba.\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xb7", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--tgb9bb64691z.xn--4xa6667k"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--tgb9bb64691z.xn--4xa6667k", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--tgb9bb64691z.xn--4xa6667k", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--tgb9bb64691z.xn--4xa895lrp7n"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--tgb9bb64691z.xn--4xa895lrp7n", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--tgb9bb64691z.xn--4xa895lrp7n", true); } // [B2, B3, B5, B6, C2, V7] test { try toUnicodeFail("xn--tgb9bb64691z.xn--3xa006lrp7n"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--tgb9bb64691z.xn--3xa006lrp7n", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--tgb9bb64691z.xn--3xa006lrp7n", true); } // [B2, B3, B5, B6, C2, V7] test { try toUnicodeFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xb7"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xb7", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xce\xa3\xe2\x80\x8d\xf0\x90\xb9\xb7", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xb7"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xb7", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xef\xb6\x8f\xf2\xab\xb3\xba.\xcf\x83\xe2\x80\x8d\xf0\x90\xb9\xb7", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xe2\x92\x8e\xdb\x81\xd8\x85\xef\xbd\xa1\xea\xab\xb6\xdb\xb5\xf0\x90\x87\xbd"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x92\x8e\xdb\x81\xd8\x85\xef\xbd\xa1\xea\xab\xb6\xdb\xb5\xf0\x90\x87\xbd", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x92\x8e\xdb\x81\xd8\x85\xef\xbd\xa1\xea\xab\xb6\xdb\xb5\xf0\x90\x87\xbd", true); } // [B1, V6, V7] test { try toUnicodeFail("7.\xdb\x81\xd8\x85\xe3\x80\x82\xea\xab\xb6\xdb\xb5\xf0\x90\x87\xbd"); } // [B1, V6, V7] +test { try toAsciiFail("7.\xdb\x81\xd8\x85\xe3\x80\x82\xea\xab\xb6\xdb\xb5\xf0\x90\x87\xbd", false); } // [B1, V6, V7] +test { try toAsciiFail("7.\xdb\x81\xd8\x85\xe3\x80\x82\xea\xab\xb6\xdb\xb5\xf0\x90\x87\xbd", true); } // [B1, V6, V7] test { try toUnicodeFail("7.xn--nfb98a.xn--imb3805fxt8b"); } // [B1, V6, V7] +test { try toAsciiFail("7.xn--nfb98a.xn--imb3805fxt8b", false); } // [B1, V6, V7] +test { try toAsciiFail("7.xn--nfb98a.xn--imb3805fxt8b", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--nfb98ai25e.xn--imb3805fxt8b"); } // [B1, V6, V7] +test { try toAsciiFail("xn--nfb98ai25e.xn--imb3805fxt8b", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--nfb98ai25e.xn--imb3805fxt8b", true); } // [B1, V6, V7] test { try toUnicodeFail("-\xe1\xa1\xa5\xe1\xa0\x86\xf3\x8d\xb2\xad\xe3\x80\x82\xd8\x85\xe1\xa9\x9d\xf0\x90\xb9\xa1"); } // [B1, V3, V7] +test { try toAsciiFail("-\xe1\xa1\xa5\xe1\xa0\x86\xf3\x8d\xb2\xad\xe3\x80\x82\xd8\x85\xe1\xa9\x9d\xf0\x90\xb9\xa1", false); } // [B1, V3, V7] +test { try toAsciiFail("-\xe1\xa1\xa5\xe1\xa0\x86\xf3\x8d\xb2\xad\xe3\x80\x82\xd8\x85\xe1\xa9\x9d\xf0\x90\xb9\xa1", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----f3j6s87156i.xn--nfb035hoo2p"); } // [B1, V3, V7] +test { try toAsciiFail("xn----f3j6s87156i.xn--nfb035hoo2p", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----f3j6s87156i.xn--nfb035hoo2p", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d.\xda\xbd\xd9\xa3\xd6\x96"); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d.\xda\xbd\xd9\xa3\xd6\x96", false); } // [B1, C2] +test { try toAsciiFail("\xe2\x80\x8d.\xda\xbd\xd9\xa3\xd6\x96", true); } // [A4_2] test { try toUnicodeFail(".xn--hcb32bni"); } // [X4_2] +test { try toAsciiFail(".xn--hcb32bni", false); } // [A4_2] +test { try toAsciiFail(".xn--hcb32bni", true); } // [A4_2] test { try toUnicodeFail("xn--1ug.xn--hcb32bni"); } // [B1, C2] +test { try toAsciiFail("xn--1ug.xn--hcb32bni", false); } // [B1, C2] +test { try toAsciiFail("xn--1ug.xn--hcb32bni", true); } // [B1, C2] test { try toUnicodePass("xn--hcb32bni", "\xda\xbd\xd9\xa3\xd6\x96"); } test { try toAsciiPass("xn--hcb32bni", "xn--hcb32bni", false); } test { try toAsciiPass("xn--hcb32bni", "xn--hcb32bni", true); } @@ -7173,129 +17883,371 @@ test { try toUnicodePass("\xda\xbd\xd9\xa3\xd6\x96", "\xda\xbd\xd9\xa3\xd6\x96") test { try toAsciiPass("\xda\xbd\xd9\xa3\xd6\x96", "xn--hcb32bni", false); } test { try toAsciiPass("\xda\xbd\xd9\xa3\xd6\x96", "xn--hcb32bni", true); } test { try toUnicodeFail("\xe3\x92\xa7\xdb\xb1.\xe1\x82\xba\xd9\xb8\xe2\x80\x8d"); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe1\x82\xba\xd9\xb8\xe2\x80\x8d", false); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe1\x82\xba\xd9\xb8\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe3\x92\xa7\xdb\xb1.\xe1\x82\xba\xd9\x8a\xd9\xb4\xe2\x80\x8d"); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe1\x82\xba\xd9\x8a\xd9\xb4\xe2\x80\x8d", false); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe1\x82\xba\xd9\x8a\xd9\xb4\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("\xe3\x92\xa7\xdb\xb1.\xe2\xb4\x9a\xd9\x8a\xd9\xb4\xe2\x80\x8d"); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe2\xb4\x9a\xd9\x8a\xd9\xb4\xe2\x80\x8d", false); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe2\xb4\x9a\xd9\x8a\xd9\xb4\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("xn--emb715u.xn--mhb8fy26k"); } // [B5, B6] +test { try toAsciiFail("xn--emb715u.xn--mhb8fy26k", false); } // [B5, B6] +test { try toAsciiFail("xn--emb715u.xn--mhb8fy26k", true); } // [B5, B6] test { try toUnicodeFail("xn--emb715u.xn--mhb8f960g03l"); } // [B5, B6, C2] +test { try toAsciiFail("xn--emb715u.xn--mhb8f960g03l", false); } // [B5, B6, C2] +test { try toAsciiFail("xn--emb715u.xn--mhb8f960g03l", true); } // [B5, B6, C2] test { try toUnicodeFail("\xe3\x92\xa7\xdb\xb1.\xe2\xb4\x9a\xd9\xb8\xe2\x80\x8d"); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe2\xb4\x9a\xd9\xb8\xe2\x80\x8d", false); } // [B5, B6, C2] +test { try toAsciiFail("\xe3\x92\xa7\xdb\xb1.\xe2\xb4\x9a\xd9\xb8\xe2\x80\x8d", true); } // [B5, B6] test { try toUnicodeFail("xn--emb715u.xn--mhb8f817a"); } // [B5, B6, V7] +test { try toAsciiFail("xn--emb715u.xn--mhb8f817a", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--emb715u.xn--mhb8f817a", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--emb715u.xn--mhb8f817ao2p"); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--emb715u.xn--mhb8f817ao2p", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--emb715u.xn--mhb8f817ao2p", true); } // [B5, B6, C2, V7] test { try toUnicodeFail("\xe0\xbe\x94\xea\xa1\x8b-\xef\xbc\x8e-\xf0\x96\xac\xb4"); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x94\xea\xa1\x8b-\xef\xbc\x8e-\xf0\x96\xac\xb4", false); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x94\xea\xa1\x8b-\xef\xbc\x8e-\xf0\x96\xac\xb4", true); } // [V3, V6] test { try toUnicodeFail("\xe0\xbe\x94\xea\xa1\x8b-.-\xf0\x96\xac\xb4"); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x94\xea\xa1\x8b-.-\xf0\x96\xac\xb4", false); } // [V3, V6] +test { try toAsciiFail("\xe0\xbe\x94\xea\xa1\x8b-.-\xf0\x96\xac\xb4", true); } // [V3, V6] test { try toUnicodeFail("xn----ukg9938i.xn----4u5m"); } // [V3, V6] +test { try toAsciiFail("xn----ukg9938i.xn----4u5m", false); } // [V3, V6] +test { try toAsciiFail("xn----ukg9938i.xn----4u5m", true); } // [V3, V6] test { try toUnicodeFail("\xf1\xbf\x92\xb3-\xe2\x8b\xa2\xe2\x80\x8c\xef\xbc\x8e\xe6\xa0\x87-"); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8b\xa2\xe2\x80\x8c\xef\xbc\x8e\xe6\xa0\x87-", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8b\xa2\xe2\x80\x8c\xef\xbc\x8e\xe6\xa0\x87-", true); } // [V3, V7] test { try toUnicodeFail("\xf1\xbf\x92\xb3-\xe2\x8a\x91\xcc\xb8\xe2\x80\x8c\xef\xbc\x8e\xe6\xa0\x87-"); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8a\x91\xcc\xb8\xe2\x80\x8c\xef\xbc\x8e\xe6\xa0\x87-", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8a\x91\xcc\xb8\xe2\x80\x8c\xef\xbc\x8e\xe6\xa0\x87-", true); } // [V3, V7] test { try toUnicodeFail("\xf1\xbf\x92\xb3-\xe2\x8b\xa2\xe2\x80\x8c.\xe6\xa0\x87-"); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8b\xa2\xe2\x80\x8c.\xe6\xa0\x87-", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8b\xa2\xe2\x80\x8c.\xe6\xa0\x87-", true); } // [V3, V7] test { try toUnicodeFail("\xf1\xbf\x92\xb3-\xe2\x8a\x91\xcc\xb8\xe2\x80\x8c.\xe6\xa0\x87-"); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8a\x91\xcc\xb8\xe2\x80\x8c.\xe6\xa0\x87-", false); } // [C1, V3, V7] +test { try toAsciiFail("\xf1\xbf\x92\xb3-\xe2\x8a\x91\xcc\xb8\xe2\x80\x8c.\xe6\xa0\x87-", true); } // [V3, V7] test { try toUnicodeFail("xn----9mo67451g.xn----qj7b"); } // [V3, V7] +test { try toAsciiFail("xn----9mo67451g.xn----qj7b", false); } // [V3, V7] +test { try toAsciiFail("xn----9mo67451g.xn----qj7b", true); } // [V3, V7] test { try toUnicodeFail("xn----sgn90kn5663a.xn----qj7b"); } // [C1, V3, V7] +test { try toAsciiFail("xn----sgn90kn5663a.xn----qj7b", false); } // [C1, V3, V7] +test { try toAsciiFail("xn----sgn90kn5663a.xn----qj7b", true); } // [C1, V3, V7] test { try toUnicodeFail("\xd9\xb1\xef\xbc\x8e\xcf\x82\xdf\x9c"); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1\xef\xbc\x8e\xcf\x82\xdf\x9c", false); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1\xef\xbc\x8e\xcf\x82\xdf\x9c", true); } // [B5, B6] test { try toUnicodeFail("\xd9\xb1.\xcf\x82\xdf\x9c"); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1.\xcf\x82\xdf\x9c", false); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1.\xcf\x82\xdf\x9c", true); } // [B5, B6] test { try toUnicodeFail("\xd9\xb1.\xce\xa3\xdf\x9c"); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1.\xce\xa3\xdf\x9c", false); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1.\xce\xa3\xdf\x9c", true); } // [B5, B6] test { try toUnicodeFail("\xd9\xb1.\xcf\x83\xdf\x9c"); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1.\xcf\x83\xdf\x9c", false); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1.\xcf\x83\xdf\x9c", true); } // [B5, B6] test { try toUnicodeFail("xn--qib.xn--4xa21s"); } // [B5, B6] +test { try toAsciiFail("xn--qib.xn--4xa21s", false); } // [B5, B6] +test { try toAsciiFail("xn--qib.xn--4xa21s", true); } // [B5, B6] test { try toUnicodeFail("xn--qib.xn--3xa41s"); } // [B5, B6] +test { try toAsciiFail("xn--qib.xn--3xa41s", false); } // [B5, B6] +test { try toAsciiFail("xn--qib.xn--3xa41s", true); } // [B5, B6] test { try toUnicodeFail("\xd9\xb1\xef\xbc\x8e\xce\xa3\xdf\x9c"); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1\xef\xbc\x8e\xce\xa3\xdf\x9c", false); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1\xef\xbc\x8e\xce\xa3\xdf\x9c", true); } // [B5, B6] test { try toUnicodeFail("\xd9\xb1\xef\xbc\x8e\xcf\x83\xdf\x9c"); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1\xef\xbc\x8e\xcf\x83\xdf\x9c", false); } // [B5, B6] +test { try toAsciiFail("\xd9\xb1\xef\xbc\x8e\xcf\x83\xdf\x9c", true); } // [B5, B6] test { try toUnicodeFail("\xf1\xbc\x88\xb6\xd8\x85\xef\xbc\x8e\xe0\xa3\x81\xe2\x80\x8d\xf0\x91\x91\x82\xf0\xb1\xbc\xb1"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xf1\xbc\x88\xb6\xd8\x85\xef\xbc\x8e\xe0\xa3\x81\xe2\x80\x8d\xf0\x91\x91\x82\xf0\xb1\xbc\xb1", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xf1\xbc\x88\xb6\xd8\x85\xef\xbc\x8e\xe0\xa3\x81\xe2\x80\x8d\xf0\x91\x91\x82\xf0\xb1\xbc\xb1", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("\xf1\xbc\x88\xb6\xd8\x85.\xe0\xa3\x81\xe2\x80\x8d\xf0\x91\x91\x82\xf0\xb1\xbc\xb1"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xf1\xbc\x88\xb6\xd8\x85.\xe0\xa3\x81\xe2\x80\x8d\xf0\x91\x91\x82\xf0\xb1\xbc\xb1", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("\xf1\xbc\x88\xb6\xd8\x85.\xe0\xa3\x81\xe2\x80\x8d\xf0\x91\x91\x82\xf0\xb1\xbc\xb1", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--nfb17942h.xn--nzb6708kx3pn"); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--nfb17942h.xn--nzb6708kx3pn", false); } // [B2, B3, B5, B6, V7] +test { try toAsciiFail("xn--nfb17942h.xn--nzb6708kx3pn", true); } // [B2, B3, B5, B6, V7] test { try toUnicodeFail("xn--nfb17942h.xn--nzb240jv06otevq"); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--nfb17942h.xn--nzb240jv06otevq", false); } // [B2, B3, B5, B6, C2, V7] +test { try toAsciiFail("xn--nfb17942h.xn--nzb240jv06otevq", true); } // [B2, B3, B5, B6, C2, V7] test { try toUnicodeFail("\xf0\x90\xb9\xbe\xf0\x90\x8b\xa9\xf0\x9e\xb5\x9c\xef\xbd\xa1\xe1\xaf\xb2"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xbe\xf0\x90\x8b\xa9\xf0\x9e\xb5\x9c\xef\xbd\xa1\xe1\xaf\xb2", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xbe\xf0\x90\x8b\xa9\xf0\x9e\xb5\x9c\xef\xbd\xa1\xe1\xaf\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xbe\xf0\x90\x8b\xa9\xf0\x9e\xb5\x9c\xe3\x80\x82\xe1\xaf\xb2"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xbe\xf0\x90\x8b\xa9\xf0\x9e\xb5\x9c\xe3\x80\x82\xe1\xaf\xb2", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xbe\xf0\x90\x8b\xa9\xf0\x9e\xb5\x9c\xe3\x80\x82\xe1\xaf\xb2", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--d97cn8rn44p.xn--0zf"); } // [B1, V6, V7] +test { try toAsciiFail("xn--d97cn8rn44p.xn--0zf", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--d97cn8rn44p.xn--0zf", true); } // [B1, V6, V7] test { try toUnicodeFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xcf\x82"); } // [B1, B5, V7] +test { try toAsciiFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xcf\x82", false); } // [B1, B5, V7] +test { try toAsciiFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xcf\x82", true); } // [B1, B5, V7] test { try toUnicodeFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xce\xa3"); } // [B1, B5, V7] +test { try toAsciiFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xce\xa3", false); } // [B1, B5, V7] +test { try toAsciiFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xce\xa3", true); } // [B1, B5, V7] test { try toUnicodeFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xcf\x83"); } // [B1, B5, V7] +test { try toAsciiFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xcf\x83", false); } // [B1, B5, V7] +test { try toAsciiFail("6\xe1\x85\xa0\xe1\xb0\xb3\xf3\xa0\xb8\xa7.\xf2\x9f\x9c\x8a\xe9\x94\xb0\xdc\xac\xcf\x83", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6-iuly4983p.xn--4xa95ohw6pk078g"); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-iuly4983p.xn--4xa95ohw6pk078g", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-iuly4983p.xn--4xa95ohw6pk078g", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6-iuly4983p.xn--3xa16ohw6pk078g"); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-iuly4983p.xn--3xa16ohw6pk078g", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-iuly4983p.xn--3xa16ohw6pk078g", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6-5bh476ewr517a.xn--4xa95ohw6pk078g"); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-5bh476ewr517a.xn--4xa95ohw6pk078g", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-5bh476ewr517a.xn--4xa95ohw6pk078g", true); } // [B1, B5, V7] test { try toUnicodeFail("xn--6-5bh476ewr517a.xn--3xa16ohw6pk078g"); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-5bh476ewr517a.xn--3xa16ohw6pk078g", false); } // [B1, B5, V7] +test { try toAsciiFail("xn--6-5bh476ewr517a.xn--3xa16ohw6pk078g", true); } // [B1, B5, V7] test { try toUnicodeFail("\xda\xb3\xef\xb8\x84\xf1\x85\x8e\xa6\xf0\x9d\x9f\xbd\xef\xbd\xa1\xf0\x90\xb9\xbd"); } // [B1, B2, V7] +test { try toAsciiFail("\xda\xb3\xef\xb8\x84\xf1\x85\x8e\xa6\xf0\x9d\x9f\xbd\xef\xbd\xa1\xf0\x90\xb9\xbd", false); } // [B1, B2, V7] +test { try toAsciiFail("\xda\xb3\xef\xb8\x84\xf1\x85\x8e\xa6\xf0\x9d\x9f\xbd\xef\xbd\xa1\xf0\x90\xb9\xbd", true); } // [B1, B2, V7] test { try toUnicodeFail("\xda\xb3\xef\xb8\x84\xf1\x85\x8e\xa67\xe3\x80\x82\xf0\x90\xb9\xbd"); } // [B1, B2, V7] +test { try toAsciiFail("\xda\xb3\xef\xb8\x84\xf1\x85\x8e\xa67\xe3\x80\x82\xf0\x90\xb9\xbd", false); } // [B1, B2, V7] +test { try toAsciiFail("\xda\xb3\xef\xb8\x84\xf1\x85\x8e\xa67\xe3\x80\x82\xf0\x90\xb9\xbd", true); } // [B1, B2, V7] test { try toUnicodeFail("xn--7-yuc34665f.xn--1o0d"); } // [B1, B2, V7] +test { try toAsciiFail("xn--7-yuc34665f.xn--1o0d", false); } // [B1, B2, V7] +test { try toAsciiFail("xn--7-yuc34665f.xn--1o0d", true); } // [B1, B2, V7] test { try toUnicodeFail("\xf0\x9e\xae\xa7\xef\xbc\x8e\xe2\x80\x8c\xe2\xab\x9e"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9e\xae\xa7\xef\xbc\x8e\xe2\x80\x8c\xe2\xab\x9e", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9e\xae\xa7\xef\xbc\x8e\xe2\x80\x8c\xe2\xab\x9e", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9e\xae\xa7.\xe2\x80\x8c\xe2\xab\x9e"); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9e\xae\xa7.\xe2\x80\x8c\xe2\xab\x9e", false); } // [B1, C1, V7] +test { try toAsciiFail("\xf0\x9e\xae\xa7.\xe2\x80\x8c\xe2\xab\x9e", true); } // [B1, V7] test { try toUnicodeFail("xn--pw6h.xn--53i"); } // [B1, V7] +test { try toAsciiFail("xn--pw6h.xn--53i", false); } // [B1, V7] +test { try toAsciiFail("xn--pw6h.xn--53i", true); } // [B1, V7] test { try toUnicodeFail("xn--pw6h.xn--0ug283b"); } // [B1, C1, V7] +test { try toAsciiFail("xn--pw6h.xn--0ug283b", false); } // [B1, C1, V7] +test { try toAsciiFail("xn--pw6h.xn--0ug283b", true); } // [B1, C1, V7] test { try toUnicodeFail("-\xf1\x95\x89\xb4.\xdb\xa0\xe1\xa2\x9a-"); } // [V3, V6, V7] +test { try toAsciiFail("-\xf1\x95\x89\xb4.\xdb\xa0\xe1\xa2\x9a-", false); } // [V3, V6, V7] +test { try toAsciiFail("-\xf1\x95\x89\xb4.\xdb\xa0\xe1\xa2\x9a-", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----qi38c.xn----jxc827k"); } // [V3, V6, V7] +test { try toAsciiFail("xn----qi38c.xn----jxc827k", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----qi38c.xn----jxc827k", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe2\x8c\x81\xe2\x80\x8d\xf0\x91\x84\xb4\xef\xbc\x8e\xe2\x80\x8c\xf0\x9d\x9f\xa9\xd9\xac"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x8c\x81\xe2\x80\x8d\xf0\x91\x84\xb4\xef\xbc\x8e\xe2\x80\x8c\xf0\x9d\x9f\xa9\xd9\xac", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x8c\x81\xe2\x80\x8d\xf0\x91\x84\xb4\xef\xbc\x8e\xe2\x80\x8c\xf0\x9d\x9f\xa9\xd9\xac", true); } // [B1] test { try toUnicodeFail("\xe2\x8c\x81\xe2\x80\x8d\xf0\x91\x84\xb4.\xe2\x80\x8c7\xd9\xac"); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x8c\x81\xe2\x80\x8d\xf0\x91\x84\xb4.\xe2\x80\x8c7\xd9\xac", false); } // [B1, C1, C2] +test { try toAsciiFail("\xe2\x8c\x81\xe2\x80\x8d\xf0\x91\x84\xb4.\xe2\x80\x8c7\xd9\xac", true); } // [B1] test { try toUnicodeFail("xn--nhh5394g.xn--7-xqc"); } // [B1] +test { try toAsciiFail("xn--nhh5394g.xn--7-xqc", false); } // [B1] +test { try toAsciiFail("xn--nhh5394g.xn--7-xqc", true); } // [B1] test { try toUnicodeFail("xn--1ug38i2093a.xn--7-xqc297q"); } // [B1, C1, C2] +test { try toAsciiFail("xn--1ug38i2093a.xn--7-xqc297q", false); } // [B1, C1, C2] +test { try toAsciiFail("xn--1ug38i2093a.xn--7-xqc297q", true); } // [B1, C1, C2] test { try toUnicodeFail("\xef\xb8\x92\xef\xb4\x85\xe0\xb8\xb7\xef\xbb\xbc\xe3\x80\x82\xe5\xb2\x93\xe1\xaf\xb2\xf3\xa0\xbe\x83\xe1\xa1\x82"); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xb4\x85\xe0\xb8\xb7\xef\xbb\xbc\xe3\x80\x82\xe5\xb2\x93\xe1\xaf\xb2\xf3\xa0\xbe\x83\xe1\xa1\x82", false); } // [B1, V7] +test { try toAsciiFail("\xef\xb8\x92\xef\xb4\x85\xe0\xb8\xb7\xef\xbb\xbc\xe3\x80\x82\xe5\xb2\x93\xe1\xaf\xb2\xf3\xa0\xbe\x83\xe1\xa1\x82", true); } // [B1, V7] test { try toUnicodeFail("\xe3\x80\x82\xd8\xb5\xd9\x89\xe0\xb8\xb7\xd9\x84\xd8\xa7\xe3\x80\x82\xe5\xb2\x93\xe1\xaf\xb2\xf3\xa0\xbe\x83\xe1\xa1\x82"); } // [V7, X4_2] +test { try toAsciiFail("\xe3\x80\x82\xd8\xb5\xd9\x89\xe0\xb8\xb7\xd9\x84\xd8\xa7\xe3\x80\x82\xe5\xb2\x93\xe1\xaf\xb2\xf3\xa0\xbe\x83\xe1\xa1\x82", false); } // [V7, A4_2] +test { try toAsciiFail("\xe3\x80\x82\xd8\xb5\xd9\x89\xe0\xb8\xb7\xd9\x84\xd8\xa7\xe3\x80\x82\xe5\xb2\x93\xe1\xaf\xb2\xf3\xa0\xbe\x83\xe1\xa1\x82", true); } // [V7, A4_2] test { try toUnicodeFail(".xn--mgb1a7bt462h.xn--17e10qe61f9r71s"); } // [V7, X4_2] +test { try toAsciiFail(".xn--mgb1a7bt462h.xn--17e10qe61f9r71s", false); } // [V7, A4_2] +test { try toAsciiFail(".xn--mgb1a7bt462h.xn--17e10qe61f9r71s", true); } // [V7, A4_2] test { try toUnicodeFail("xn--mgb1a7bt462hf267a.xn--17e10qe61f9r71s"); } // [B1, V7] +test { try toAsciiFail("xn--mgb1a7bt462hf267a.xn--17e10qe61f9r71s", false); } // [B1, V7] +test { try toAsciiFail("xn--mgb1a7bt462hf267a.xn--17e10qe61f9r71s", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa8\xe3\x80\x828\xf0\x91\x81\x86"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa8\xe3\x80\x828\xf0\x91\x81\x86", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa8\xe3\x80\x828\xf0\x91\x81\x86", true); } // [B1] test { try toUnicodeFail("xn--go0d.xn--8-yu7i"); } // [B1] +test { try toAsciiFail("xn--go0d.xn--8-yu7i", false); } // [B1] +test { try toAsciiFail("xn--go0d.xn--8-yu7i", true); } // [B1] test { try toUnicodeFail("\xf0\x9e\x80\x95\xe0\xb5\x83\xef\xbc\x8e\xea\xa1\x9a\xe0\xa3\xba\xf0\x90\xb9\xb0\xe0\xb5\x84"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x9e\x80\x95\xe0\xb5\x83\xef\xbc\x8e\xea\xa1\x9a\xe0\xa3\xba\xf0\x90\xb9\xb0\xe0\xb5\x84", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x9e\x80\x95\xe0\xb5\x83\xef\xbc\x8e\xea\xa1\x9a\xe0\xa3\xba\xf0\x90\xb9\xb0\xe0\xb5\x84", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf0\x9e\x80\x95\xe0\xb5\x83.\xea\xa1\x9a\xe0\xa3\xba\xf0\x90\xb9\xb0\xe0\xb5\x84"); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x9e\x80\x95\xe0\xb5\x83.\xea\xa1\x9a\xe0\xa3\xba\xf0\x90\xb9\xb0\xe0\xb5\x84", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("\xf0\x9e\x80\x95\xe0\xb5\x83.\xea\xa1\x9a\xe0\xa3\xba\xf0\x90\xb9\xb0\xe0\xb5\x84", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("xn--mxc5210v.xn--90b01t8u2p1ltd"); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--mxc5210v.xn--90b01t8u2p1ltd", false); } // [B1, B5, B6, V6] +test { try toAsciiFail("xn--mxc5210v.xn--90b01t8u2p1ltd", true); } // [B1, B5, B6, V6] test { try toUnicodeFail("\xf3\x86\xa9\x8f\xf0\x90\xa6\xb9\xcc\x83\xef\xbd\xa1\xf3\xa0\x8d\x85"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\x86\xa9\x8f\xf0\x90\xa6\xb9\xcc\x83\xef\xbd\xa1\xf3\xa0\x8d\x85", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\x86\xa9\x8f\xf0\x90\xa6\xb9\xcc\x83\xef\xbd\xa1\xf3\xa0\x8d\x85", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xf3\x86\xa9\x8f\xf0\x90\xa6\xb9\xcc\x83\xe3\x80\x82\xf3\xa0\x8d\x85"); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\x86\xa9\x8f\xf0\x90\xa6\xb9\xcc\x83\xe3\x80\x82\xf3\xa0\x8d\x85", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("\xf3\x86\xa9\x8f\xf0\x90\xa6\xb9\xcc\x83\xe3\x80\x82\xf3\xa0\x8d\x85", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn--nsa1265kp9z9e.xn--xt36e"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--nsa1265kp9z9e.xn--xt36e", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn--nsa1265kp9z9e.xn--xt36e", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("\xe1\xa2\x8c\xef\xbc\x8e-\xe0\xa1\x9a"); } // [V3] +test { try toAsciiFail("\xe1\xa2\x8c\xef\xbc\x8e-\xe0\xa1\x9a", false); } // [V3] +test { try toAsciiFail("\xe1\xa2\x8c\xef\xbc\x8e-\xe0\xa1\x9a", true); } // [V3] test { try toUnicodeFail("\xe1\xa2\x8c.-\xe0\xa1\x9a"); } // [V3] +test { try toAsciiFail("\xe1\xa2\x8c.-\xe0\xa1\x9a", false); } // [V3] +test { try toAsciiFail("\xe1\xa2\x8c.-\xe0\xa1\x9a", true); } // [V3] test { try toUnicodeFail("xn--59e.xn----5jd"); } // [V3] +test { try toAsciiFail("xn--59e.xn----5jd", false); } // [V3] +test { try toAsciiFail("xn--59e.xn----5jd", true); } // [V3] test { try toUnicodeFail("\xf0\xa5\x9b\x9b\xf0\x91\x98\xb6\xef\xbd\xa1\xf0\x90\xb9\xac\xf0\x90\xb2\xb8\xe0\xaf\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf0\xa5\x9b\x9b\xf0\x91\x98\xb6\xef\xbd\xa1\xf0\x90\xb9\xac\xf0\x90\xb2\xb8\xe0\xaf\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf0\xa5\x9b\x9b\xf0\x91\x98\xb6\xef\xbd\xa1\xf0\x90\xb9\xac\xf0\x90\xb2\xb8\xe0\xaf\x8d", true); } // [B1, V7] test { try toUnicodeFail("\xf0\xa5\x9b\x9b\xf0\x91\x98\xb6\xe3\x80\x82\xf0\x90\xb9\xac\xf0\x90\xb2\xb8\xe0\xaf\x8d"); } // [B1, V7] +test { try toAsciiFail("\xf0\xa5\x9b\x9b\xf0\x91\x98\xb6\xe3\x80\x82\xf0\x90\xb9\xac\xf0\x90\xb2\xb8\xe0\xaf\x8d", false); } // [B1, V7] +test { try toAsciiFail("\xf0\xa5\x9b\x9b\xf0\x91\x98\xb6\xe3\x80\x82\xf0\x90\xb9\xac\xf0\x90\xb2\xb8\xe0\xaf\x8d", true); } // [B1, V7] test { try toUnicodeFail("xn--jb2dj685c.xn--xmc5562kmcb"); } // [B1, V7] +test { try toAsciiFail("xn--jb2dj685c.xn--xmc5562kmcb", false); } // [B1, V7] +test { try toAsciiFail("xn--jb2dj685c.xn--xmc5562kmcb", true); } // [B1, V7] test { try toUnicodeFail("\xe1\x82\xb0\xdd\xbf\xef\xbc\x8e\xe2\x80\x8c"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe1\x82\xb0\xdd\xbf\xef\xbc\x8e\xe2\x80\x8c", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe1\x82\xb0\xdd\xbf\xef\xbc\x8e\xe2\x80\x8c", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe1\x82\xb0\xdd\xbf.\xe2\x80\x8c"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe1\x82\xb0\xdd\xbf.\xe2\x80\x8c", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe1\x82\xb0\xdd\xbf.\xe2\x80\x8c", true); } // [B5, B6, A4_2] test { try toUnicodeFail("\xe2\xb4\x90\xdd\xbf.\xe2\x80\x8c"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\xb4\x90\xdd\xbf.\xe2\x80\x8c", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\xb4\x90\xdd\xbf.\xe2\x80\x8c", true); } // [B5, B6, A4_2] test { try toUnicodeFail("xn--gqb743q."); } // [B5, B6] +test { try toAsciiFail("xn--gqb743q.", false); } // [B5, B6, A4_2] +test { try toAsciiFail("xn--gqb743q.", true); } // [B5, B6, A4_2] test { try toUnicodeFail("xn--gqb743q.xn--0ug"); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn--gqb743q.xn--0ug", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("xn--gqb743q.xn--0ug", true); } // [B1, B5, B6, C1] test { try toUnicodeFail("\xe2\xb4\x90\xdd\xbf\xef\xbc\x8e\xe2\x80\x8c"); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\xb4\x90\xdd\xbf\xef\xbc\x8e\xe2\x80\x8c", false); } // [B1, B5, B6, C1] +test { try toAsciiFail("\xe2\xb4\x90\xdd\xbf\xef\xbc\x8e\xe2\x80\x8c", true); } // [B5, B6, A4_2] test { try toUnicodeFail("xn--gqb918b."); } // [B5, B6, V7] +test { try toAsciiFail("xn--gqb918b.", false); } // [B5, B6, V7, A4_2] +test { try toAsciiFail("xn--gqb918b.", true); } // [B5, B6, V7, A4_2] test { try toUnicodeFail("xn--gqb918b.xn--0ug"); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--gqb918b.xn--0ug", false); } // [B1, B5, B6, C1, V7] +test { try toAsciiFail("xn--gqb918b.xn--0ug", true); } // [B1, B5, B6, C1, V7] test { try toUnicodeFail("\xf0\x9f\x84\x85\xf0\x91\xb2\x9e-\xe2\x92\x88\xe3\x80\x82\xe2\x80\x8d\xe1\xa0\xa9\xda\xa5"); } // [B1, C2, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x85\xf0\x91\xb2\x9e-\xe2\x92\x88\xe3\x80\x82\xe2\x80\x8d\xe1\xa0\xa9\xda\xa5", false); } // [B1, C2, V7, U1] +test { try toAsciiFail("\xf0\x9f\x84\x85\xf0\x91\xb2\x9e-\xe2\x92\x88\xe3\x80\x82\xe2\x80\x8d\xe1\xa0\xa9\xda\xa5", true); } // [B1, B5, B6, V7, U1] test { try toUnicodeFail("4,\xf0\x91\xb2\x9e-1.\xe3\x80\x82\xe2\x80\x8d\xe1\xa0\xa9\xda\xa5"); } // [B1, C2, U1, X4_2] +test { try toAsciiFail("4,\xf0\x91\xb2\x9e-1.\xe3\x80\x82\xe2\x80\x8d\xe1\xa0\xa9\xda\xa5", false); } // [B1, C2, U1, A4_2] +test { try toAsciiFail("4,\xf0\x91\xb2\x9e-1.\xe3\x80\x82\xe2\x80\x8d\xe1\xa0\xa9\xda\xa5", true); } // [B1, B5, B6, U1, A4_2] test { try toUnicodeFail("xn--4,-1-w401a..xn--7jb180g"); } // [B1, B5, B6, U1, X4_2] +test { try toAsciiFail("xn--4,-1-w401a..xn--7jb180g", false); } // [B1, B5, B6, U1, A4_2] +test { try toAsciiFail("xn--4,-1-w401a..xn--7jb180g", true); } // [B1, B5, B6, U1, A4_2] test { try toUnicodeFail("xn--4,-1-w401a..xn--7jb180gexf"); } // [B1, C2, U1, X4_2] +test { try toAsciiFail("xn--4,-1-w401a..xn--7jb180gexf", false); } // [B1, C2, U1, A4_2] +test { try toAsciiFail("xn--4,-1-w401a..xn--7jb180gexf", true); } // [B1, C2, U1, A4_2] test { try toUnicodeFail("xn--4,--je4aw745l.xn--7jb180g"); } // [B1, B5, B6, V7, U1] +test { try toAsciiFail("xn--4,--je4aw745l.xn--7jb180g", false); } // [B1, B5, B6, V7, U1] +test { try toAsciiFail("xn--4,--je4aw745l.xn--7jb180g", true); } // [B1, B5, B6, V7, U1] test { try toUnicodeFail("xn--4,--je4aw745l.xn--7jb180gexf"); } // [B1, C2, V7, U1] +test { try toAsciiFail("xn--4,--je4aw745l.xn--7jb180gexf", false); } // [B1, C2, V7, U1] +test { try toAsciiFail("xn--4,--je4aw745l.xn--7jb180gexf", true); } // [B1, C2, V7, U1] test { try toUnicodeFail("xn----ecp8796hjtvg.xn--7jb180g"); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn----ecp8796hjtvg.xn--7jb180g", false); } // [B1, B5, B6, V7] +test { try toAsciiFail("xn----ecp8796hjtvg.xn--7jb180g", true); } // [B1, B5, B6, V7] test { try toUnicodeFail("xn----ecp8796hjtvg.xn--7jb180gexf"); } // [B1, C2, V7] +test { try toAsciiFail("xn----ecp8796hjtvg.xn--7jb180gexf", false); } // [B1, C2, V7] +test { try toAsciiFail("xn----ecp8796hjtvg.xn--7jb180gexf", true); } // [B1, C2, V7] test { try toUnicodeFail("\xf1\x97\x80\xa4\xe3\x80\x82\xf0\x9e\xa4\xaa\xf2\xae\xbf\x8b"); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x97\x80\xa4\xe3\x80\x82\xf0\x9e\xa4\xaa\xf2\xae\xbf\x8b", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x97\x80\xa4\xe3\x80\x82\xf0\x9e\xa4\xaa\xf2\xae\xbf\x8b", true); } // [B2, B3, V7] test { try toUnicodeFail("\xf1\x97\x80\xa4\xe3\x80\x82\xf0\x9e\xa4\x88\xf2\xae\xbf\x8b"); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x97\x80\xa4\xe3\x80\x82\xf0\x9e\xa4\x88\xf2\xae\xbf\x8b", false); } // [B2, B3, V7] +test { try toAsciiFail("\xf1\x97\x80\xa4\xe3\x80\x82\xf0\x9e\xa4\x88\xf2\xae\xbf\x8b", true); } // [B2, B3, V7] test { try toUnicodeFail("xn--4240a.xn--ie6h83808a"); } // [B2, B3, V7] +test { try toAsciiFail("xn--4240a.xn--ie6h83808a", false); } // [B2, B3, V7] +test { try toAsciiFail("xn--4240a.xn--ie6h83808a", true); } // [B2, B3, V7] test { try toUnicodeFail("\xd7\x81\xdb\xb2\xef\xbd\xa1\xf0\x90\xae\x8a\xd9\xac\xf0\x9d\xa8\x8a\xe9\x84\xa8"); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xd7\x81\xdb\xb2\xef\xbd\xa1\xf0\x90\xae\x8a\xd9\xac\xf0\x9d\xa8\x8a\xe9\x84\xa8", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xd7\x81\xdb\xb2\xef\xbd\xa1\xf0\x90\xae\x8a\xd9\xac\xf0\x9d\xa8\x8a\xe9\x84\xa8", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("\xd7\x81\xdb\xb2\xe3\x80\x82\xf0\x90\xae\x8a\xd9\xac\xf0\x9d\xa8\x8a\xe9\x84\xa8"); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xd7\x81\xdb\xb2\xe3\x80\x82\xf0\x90\xae\x8a\xd9\xac\xf0\x9d\xa8\x8a\xe9\x84\xa8", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("\xd7\x81\xdb\xb2\xe3\x80\x82\xf0\x90\xae\x8a\xd9\xac\xf0\x9d\xa8\x8a\xe9\x84\xa8", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("xn--pdb42d.xn--lib6412enztdwv6h"); } // [B1, B2, B3, V6] +test { try toAsciiFail("xn--pdb42d.xn--lib6412enztdwv6h", false); } // [B1, B2, B3, V6] +test { try toAsciiFail("xn--pdb42d.xn--lib6412enztdwv6h", true); } // [B1, B2, B3, V6] test { try toUnicodeFail("\xf0\x9e\xad\xb3-\xea\xa1\x81\xe3\x80\x82\xe1\xa9\xa9\xe0\xaf\x8d-"); } // [B1, B2, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xad\xb3-\xea\xa1\x81\xe3\x80\x82\xe1\xa9\xa9\xe0\xaf\x8d-", false); } // [B1, B2, B3, V3, V6, V7] +test { try toAsciiFail("\xf0\x9e\xad\xb3-\xea\xa1\x81\xe3\x80\x82\xe1\xa9\xa9\xe0\xaf\x8d-", true); } // [B1, B2, B3, V3, V6, V7] test { try toUnicodeFail("xn----be4e4276f.xn----lze333i"); } // [B1, B2, B3, V3, V6, V7] +test { try toAsciiFail("xn----be4e4276f.xn----lze333i", false); } // [B1, B2, B3, V3, V6, V7] +test { try toAsciiFail("xn----be4e4276f.xn----lze333i", true); } // [B1, B2, B3, V3, V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8e\xc3\x9f"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8e\xc3\x9f", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8e\xc3\x9f", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.\xc3\x9f"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.\xc3\x9f", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.\xc3\x9f", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.SS"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.SS", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.SS", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.ss"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.ss", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.ss", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.Ss"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.Ss", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2.Ss", true); } // [V6, V7] test { try toUnicodeFail("xn----9tg11172akr8b.ss"); } // [V6, V7] +test { try toAsciiFail("xn----9tg11172akr8b.ss", false); } // [V6, V7] +test { try toAsciiFail("xn----9tg11172akr8b.ss", true); } // [V6, V7] test { try toUnicodeFail("xn----9tg11172akr8b.xn--zca"); } // [V6, V7] +test { try toAsciiFail("xn----9tg11172akr8b.xn--zca", false); } // [V6, V7] +test { try toAsciiFail("xn----9tg11172akr8b.xn--zca", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8eSS"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8eSS", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8eSS", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8ess"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8ess", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8ess", true); } // [V6, V7] test { try toUnicodeFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8eSs"); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8eSs", false); } // [V6, V7] +test { try toAsciiFail("\xe1\x80\xb9-\xf0\x9a\xae\xad\xf0\x9f\x9e\xa2\xef\xbc\x8eSs", true); } // [V6, V7] test { try toUnicodeFail("\xef\xb3\xb2-\xe2\x80\x8c\xef\xbd\xa1\xe1\x82\xbf\xe2\x80\x8c\xe2\x90\xa3"); } // [B3, B6, C1] +test { try toAsciiFail("\xef\xb3\xb2-\xe2\x80\x8c\xef\xbd\xa1\xe1\x82\xbf\xe2\x80\x8c\xe2\x90\xa3", false); } // [B3, B6, C1] +test { try toAsciiFail("\xef\xb3\xb2-\xe2\x80\x8c\xef\xbd\xa1\xe1\x82\xbf\xe2\x80\x8c\xe2\x90\xa3", true); } // [B3, B6, V3] test { try toUnicodeFail("\xd9\x80\xd9\x8e\xd9\x91-\xe2\x80\x8c\xe3\x80\x82\xe1\x82\xbf\xe2\x80\x8c\xe2\x90\xa3"); } // [B3, B6, C1] +test { try toAsciiFail("\xd9\x80\xd9\x8e\xd9\x91-\xe2\x80\x8c\xe3\x80\x82\xe1\x82\xbf\xe2\x80\x8c\xe2\x90\xa3", false); } // [B3, B6, C1] +test { try toAsciiFail("\xd9\x80\xd9\x8e\xd9\x91-\xe2\x80\x8c\xe3\x80\x82\xe1\x82\xbf\xe2\x80\x8c\xe2\x90\xa3", true); } // [B3, B6, V3] test { try toUnicodeFail("\xd9\x80\xd9\x8e\xd9\x91-\xe2\x80\x8c\xe3\x80\x82\xe2\xb4\x9f\xe2\x80\x8c\xe2\x90\xa3"); } // [B3, B6, C1] +test { try toAsciiFail("\xd9\x80\xd9\x8e\xd9\x91-\xe2\x80\x8c\xe3\x80\x82\xe2\xb4\x9f\xe2\x80\x8c\xe2\x90\xa3", false); } // [B3, B6, C1] +test { try toAsciiFail("\xd9\x80\xd9\x8e\xd9\x91-\xe2\x80\x8c\xe3\x80\x82\xe2\xb4\x9f\xe2\x80\x8c\xe2\x90\xa3", true); } // [B3, B6, V3] test { try toUnicodeFail("xn----eoc6bm.xn--xph904a"); } // [B3, B6, V3] +test { try toAsciiFail("xn----eoc6bm.xn--xph904a", false); } // [B3, B6, V3] +test { try toAsciiFail("xn----eoc6bm.xn--xph904a", true); } // [B3, B6, V3] test { try toUnicodeFail("xn----eoc6bm0504a.xn--0ug13nd0j"); } // [B3, B6, C1] +test { try toAsciiFail("xn----eoc6bm0504a.xn--0ug13nd0j", false); } // [B3, B6, C1] +test { try toAsciiFail("xn----eoc6bm0504a.xn--0ug13nd0j", true); } // [B3, B6, C1] test { try toUnicodeFail("\xef\xb3\xb2-\xe2\x80\x8c\xef\xbd\xa1\xe2\xb4\x9f\xe2\x80\x8c\xe2\x90\xa3"); } // [B3, B6, C1] +test { try toAsciiFail("\xef\xb3\xb2-\xe2\x80\x8c\xef\xbd\xa1\xe2\xb4\x9f\xe2\x80\x8c\xe2\x90\xa3", false); } // [B3, B6, C1] +test { try toAsciiFail("\xef\xb3\xb2-\xe2\x80\x8c\xef\xbd\xa1\xe2\xb4\x9f\xe2\x80\x8c\xe2\x90\xa3", true); } // [B3, B6, V3] test { try toUnicodeFail("xn----eoc6bm.xn--3nd240h"); } // [B3, B6, V3, V7] +test { try toAsciiFail("xn----eoc6bm.xn--3nd240h", false); } // [B3, B6, V3, V7] +test { try toAsciiFail("xn----eoc6bm.xn--3nd240h", true); } // [B3, B6, V3, V7] test { try toUnicodeFail("xn----eoc6bm0504a.xn--3nd849e05c"); } // [B3, B6, C1, V7] +test { try toAsciiFail("xn----eoc6bm0504a.xn--3nd849e05c", false); } // [B3, B6, C1, V7] +test { try toAsciiFail("xn----eoc6bm0504a.xn--3nd849e05c", true); } // [B3, B6, C1, V7] test { try toUnicodeFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xef\xbd\xa1\xf1\xa5\x9e\xa7\xe2\x82\x85\xe2\x89\xa0"); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xef\xbd\xa1\xf1\xa5\x9e\xa7\xe2\x82\x85\xe2\x89\xa0", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xef\xbd\xa1\xf1\xa5\x9e\xa7\xe2\x82\x85\xe2\x89\xa0", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xef\xbd\xa1\xf1\xa5\x9e\xa7\xe2\x82\x85=\xcc\xb8"); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xef\xbd\xa1\xf1\xa5\x9e\xa7\xe2\x82\x85=\xcc\xb8", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xef\xbd\xa1\xf1\xa5\x9e\xa7\xe2\x82\x85=\xcc\xb8", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xf1\xa5\x9e\xa75\xe2\x89\xa0"); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xf1\xa5\x9e\xa75\xe2\x89\xa0", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xf1\xa5\x9e\xa75\xe2\x89\xa0", true); } // [V3, V6, V7] test { try toUnicodeFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xf1\xa5\x9e\xa75=\xcc\xb8"); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xf1\xa5\x9e\xa75=\xcc\xb8", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("\xe0\xb5\x8d-\xe2\x80\x8d\xe2\x80\x8c\xe3\x80\x82\xf1\xa5\x9e\xa75=\xcc\xb8", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----jmf.xn--5-ufo50192e"); } // [V3, V6, V7] +test { try toAsciiFail("xn----jmf.xn--5-ufo50192e", false); } // [V3, V6, V7] +test { try toAsciiFail("xn----jmf.xn--5-ufo50192e", true); } // [V3, V6, V7] test { try toUnicodeFail("xn----jmf215lda.xn--5-ufo50192e"); } // [C1, C2, V6, V7] +test { try toAsciiFail("xn----jmf215lda.xn--5-ufo50192e", false); } // [C1, C2, V6, V7] +test { try toAsciiFail("xn----jmf215lda.xn--5-ufo50192e", true); } // [C1, C2, V6, V7] test { try toUnicodeFail("\xe9\x94\xa3\xe3\x80\x82\xe0\xa9\x8d\xf3\xa0\x98\xbb\xf3\xa0\x9a\x86"); } // [V6, V7] +test { try toAsciiFail("\xe9\x94\xa3\xe3\x80\x82\xe0\xa9\x8d\xf3\xa0\x98\xbb\xf3\xa0\x9a\x86", false); } // [V6, V7] +test { try toAsciiFail("\xe9\x94\xa3\xe3\x80\x82\xe0\xa9\x8d\xf3\xa0\x98\xbb\xf3\xa0\x9a\x86", true); } // [V6, V7] test { try toUnicodeFail("xn--gc5a.xn--ybc83044ppga"); } // [V6, V7] +test { try toAsciiFail("xn--gc5a.xn--ybc83044ppga", false); } // [V6, V7] +test { try toAsciiFail("xn--gc5a.xn--ybc83044ppga", true); } // [V6, V7] test { try toAsciiPass("\xd8\xbd\xf0\x91\x88\xbe\xef\xbc\x8e\xd9\x89\xe2\x80\x8d\xea\xa4\xab", "xn--8gb2338k.xn--lhb0154f", true); } test { try toUnicodeFail("\xd8\xbd\xf0\x91\x88\xbe\xef\xbc\x8e\xd9\x89\xe2\x80\x8d\xea\xa4\xab"); } // [B3, C2] +test { try toAsciiFail("\xd8\xbd\xf0\x91\x88\xbe\xef\xbc\x8e\xd9\x89\xe2\x80\x8d\xea\xa4\xab", false); } // [B3, C2] test { try toAsciiPass("\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xe2\x80\x8d\xea\xa4\xab", "xn--8gb2338k.xn--lhb0154f", true); } test { try toUnicodeFail("\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xe2\x80\x8d\xea\xa4\xab"); } // [B3, C2] +test { try toAsciiFail("\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xe2\x80\x8d\xea\xa4\xab", false); } // [B3, C2] test { try toUnicodePass("xn--8gb2338k.xn--lhb0154f", "\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xea\xa4\xab"); } test { try toAsciiPass("xn--8gb2338k.xn--lhb0154f", "xn--8gb2338k.xn--lhb0154f", false); } test { try toAsciiPass("xn--8gb2338k.xn--lhb0154f", "xn--8gb2338k.xn--lhb0154f", true); } @@ -7303,14 +18255,32 @@ test { try toUnicodePass("\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xea\xa4\xab", "\xd8\ test { try toAsciiPass("\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xea\xa4\xab", "xn--8gb2338k.xn--lhb0154f", false); } test { try toAsciiPass("\xd8\xbd\xf0\x91\x88\xbe.\xd9\x89\xea\xa4\xab", "xn--8gb2338k.xn--lhb0154f", true); } test { try toUnicodeFail("xn--8gb2338k.xn--lhb603k060h"); } // [B3, C2] +test { try toAsciiFail("xn--8gb2338k.xn--lhb603k060h", false); } // [B3, C2] +test { try toAsciiFail("xn--8gb2338k.xn--lhb603k060h", true); } // [B3, C2] test { try toUnicodeFail("\xd9\xa6\xe2\x81\xb4\xe1\x82\xa5\xef\xbc\x8e\xe0\xa2\xbd\xe2\x80\x8c"); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa6\xe2\x81\xb4\xe1\x82\xa5\xef\xbc\x8e\xe0\xa2\xbd\xe2\x80\x8c", false); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa6\xe2\x81\xb4\xe1\x82\xa5\xef\xbc\x8e\xe0\xa2\xbd\xe2\x80\x8c", true); } // [B1] test { try toUnicodeFail("\xd9\xa64\xe1\x82\xa5.\xe0\xa2\xbd\xe2\x80\x8c"); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa64\xe1\x82\xa5.\xe0\xa2\xbd\xe2\x80\x8c", false); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa64\xe1\x82\xa5.\xe0\xa2\xbd\xe2\x80\x8c", true); } // [B1] test { try toUnicodeFail("\xd9\xa64\xe2\xb4\x85.\xe0\xa2\xbd\xe2\x80\x8c"); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa64\xe2\xb4\x85.\xe0\xa2\xbd\xe2\x80\x8c", false); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa64\xe2\xb4\x85.\xe0\xa2\xbd\xe2\x80\x8c", true); } // [B1] test { try toUnicodeFail("xn--4-kqc6770a.xn--jzb"); } // [B1] +test { try toAsciiFail("xn--4-kqc6770a.xn--jzb", false); } // [B1] +test { try toAsciiFail("xn--4-kqc6770a.xn--jzb", true); } // [B1] test { try toUnicodeFail("xn--4-kqc6770a.xn--jzb840j"); } // [B1, B3, C1] +test { try toAsciiFail("xn--4-kqc6770a.xn--jzb840j", false); } // [B1, B3, C1] +test { try toAsciiFail("xn--4-kqc6770a.xn--jzb840j", true); } // [B1, B3, C1] test { try toUnicodeFail("\xd9\xa6\xe2\x81\xb4\xe2\xb4\x85\xef\xbc\x8e\xe0\xa2\xbd\xe2\x80\x8c"); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa6\xe2\x81\xb4\xe2\xb4\x85\xef\xbc\x8e\xe0\xa2\xbd\xe2\x80\x8c", false); } // [B1, B3, C1] +test { try toAsciiFail("\xd9\xa6\xe2\x81\xb4\xe2\xb4\x85\xef\xbc\x8e\xe0\xa2\xbd\xe2\x80\x8c", true); } // [B1] test { try toUnicodeFail("xn--4-kqc489e.xn--jzb"); } // [B1, V7] +test { try toAsciiFail("xn--4-kqc489e.xn--jzb", false); } // [B1, V7] +test { try toAsciiFail("xn--4-kqc489e.xn--jzb", true); } // [B1, V7] test { try toUnicodeFail("xn--4-kqc489e.xn--jzb840j"); } // [B1, B3, C1, V7] +test { try toAsciiFail("xn--4-kqc489e.xn--jzb840j", false); } // [B1, B3, C1, V7] +test { try toAsciiFail("xn--4-kqc489e.xn--jzb840j", true); } // [B1, B3, C1, V7] test { try toUnicodePass("\xe1\x83\x81\xe1\x82\xb16\xcc\x98\xe3\x80\x82\xc3\x9f\xe1\xac\x83", "\xe2\xb4\xa1\xe2\xb4\x916\xcc\x98.\xc3\x9f\xe1\xac\x83"); } test { try toAsciiPass("\xe1\x83\x81\xe1\x82\xb16\xcc\x98\xe3\x80\x82\xc3\x9f\xe1\xac\x83", "xn--6-8cb7433a2ba.xn--zca894k", false); } test { try toAsciiPass("\xe1\x83\x81\xe1\x82\xb16\xcc\x98\xe3\x80\x82\xc3\x9f\xe1\xac\x83", "xn--6-8cb7433a2ba.xn--ss-2vq", true); } @@ -7345,117 +18315,329 @@ test { try toUnicodePass("\xe2\xb4\xa1\xe2\xb4\x916\xcc\x98.\xc3\x9f\xe1\xac\x83 test { try toAsciiPass("\xe2\xb4\xa1\xe2\xb4\x916\xcc\x98.\xc3\x9f\xe1\xac\x83", "xn--6-8cb7433a2ba.xn--zca894k", false); } test { try toAsciiPass("\xe2\xb4\xa1\xe2\xb4\x916\xcc\x98.\xc3\x9f\xe1\xac\x83", "xn--6-8cb7433a2ba.xn--ss-2vq", true); } test { try toUnicodeFail("xn--6-8cb306hms1a.xn--ss-2vq"); } // [V7] +test { try toAsciiFail("xn--6-8cb306hms1a.xn--ss-2vq", false); } // [V7] +test { try toAsciiFail("xn--6-8cb306hms1a.xn--ss-2vq", true); } // [V7] test { try toUnicodeFail("xn--6-8cb555h2b.xn--ss-2vq"); } // [V7] +test { try toAsciiFail("xn--6-8cb555h2b.xn--ss-2vq", false); } // [V7] +test { try toAsciiFail("xn--6-8cb555h2b.xn--ss-2vq", true); } // [V7] test { try toUnicodeFail("xn--6-8cb555h2b.xn--zca894k"); } // [V7] +test { try toAsciiFail("xn--6-8cb555h2b.xn--zca894k", false); } // [V7] +test { try toAsciiFail("xn--6-8cb555h2b.xn--zca894k", true); } // [V7] test { try toUnicodeFail("\xf2\x8b\xa1\x90\xef\xbd\xa1\xe2\x89\xaf\xf0\x91\x8b\xaa"); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xef\xbd\xa1\xe2\x89\xaf\xf0\x91\x8b\xaa", false); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xef\xbd\xa1\xe2\x89\xaf\xf0\x91\x8b\xaa", true); } // [V7] test { try toUnicodeFail("\xf2\x8b\xa1\x90\xef\xbd\xa1>\xcc\xb8\xf0\x91\x8b\xaa"); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xef\xbd\xa1>\xcc\xb8\xf0\x91\x8b\xaa", false); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xef\xbd\xa1>\xcc\xb8\xf0\x91\x8b\xaa", true); } // [V7] test { try toUnicodeFail("\xf2\x8b\xa1\x90\xe3\x80\x82\xe2\x89\xaf\xf0\x91\x8b\xaa"); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xe3\x80\x82\xe2\x89\xaf\xf0\x91\x8b\xaa", false); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xe3\x80\x82\xe2\x89\xaf\xf0\x91\x8b\xaa", true); } // [V7] test { try toUnicodeFail("\xf2\x8b\xa1\x90\xe3\x80\x82>\xcc\xb8\xf0\x91\x8b\xaa"); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xe3\x80\x82>\xcc\xb8\xf0\x91\x8b\xaa", false); } // [V7] +test { try toAsciiFail("\xf2\x8b\xa1\x90\xe3\x80\x82>\xcc\xb8\xf0\x91\x8b\xaa", true); } // [V7] test { try toUnicodeFail("xn--eo08b.xn--hdh3385g"); } // [V7] +test { try toAsciiFail("xn--eo08b.xn--hdh3385g", false); } // [V7] +test { try toAsciiFail("xn--eo08b.xn--hdh3385g", true); } // [V7] test { try toUnicodeFail("\xd9\x9a\xdb\xb2\xe3\x80\x82\xe2\x80\x8c-\xe1\xaf\xb3\xe0\xa3\xa2"); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xd9\x9a\xdb\xb2\xe3\x80\x82\xe2\x80\x8c-\xe1\xaf\xb3\xe0\xa3\xa2", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("\xd9\x9a\xdb\xb2\xe3\x80\x82\xe2\x80\x8c-\xe1\xaf\xb3\xe0\xa3\xa2", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--2hb81a.xn----xrd657l"); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--2hb81a.xn----xrd657l", false); } // [B1, V3, V6, V7] +test { try toAsciiFail("xn--2hb81a.xn----xrd657l", true); } // [B1, V3, V6, V7] test { try toUnicodeFail("xn--2hb81a.xn----xrd657l30d"); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--2hb81a.xn----xrd657l30d", false); } // [B1, C1, V6, V7] +test { try toAsciiFail("xn--2hb81a.xn----xrd657l30d", true); } // [B1, C1, V6, V7] test { try toUnicodeFail("\xf3\xa0\x84\x8f\xf0\x96\xac\xb4\xf3\xa0\xb2\xbd\xef\xbd\xa1\xef\xbe\xa0"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\x8f\xf0\x96\xac\xb4\xf3\xa0\xb2\xbd\xef\xbd\xa1\xef\xbe\xa0", false); } // [V6, V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x84\x8f\xf0\x96\xac\xb4\xf3\xa0\xb2\xbd\xef\xbd\xa1\xef\xbe\xa0", true); } // [V6, V7, A4_2] test { try toUnicodeFail("\xf3\xa0\x84\x8f\xf0\x96\xac\xb4\xf3\xa0\xb2\xbd\xe3\x80\x82\xe1\x85\xa0"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\x84\x8f\xf0\x96\xac\xb4\xf3\xa0\xb2\xbd\xe3\x80\x82\xe1\x85\xa0", false); } // [V6, V7, A4_2] +test { try toAsciiFail("\xf3\xa0\x84\x8f\xf0\x96\xac\xb4\xf3\xa0\xb2\xbd\xe3\x80\x82\xe1\x85\xa0", true); } // [V6, V7, A4_2] test { try toUnicodeFail("xn--619ep9154c."); } // [V6, V7] +test { try toAsciiFail("xn--619ep9154c.", false); } // [V6, V7, A4_2] +test { try toAsciiFail("xn--619ep9154c.", true); } // [V6, V7, A4_2] test { try toUnicodeFail("xn--619ep9154c.xn--psd"); } // [V6, V7] +test { try toAsciiFail("xn--619ep9154c.xn--psd", false); } // [V6, V7] +test { try toAsciiFail("xn--619ep9154c.xn--psd", true); } // [V6, V7] test { try toUnicodeFail("xn--619ep9154c.xn--cl7c"); } // [V6, V7] +test { try toAsciiFail("xn--619ep9154c.xn--cl7c", false); } // [V6, V7] +test { try toAsciiFail("xn--619ep9154c.xn--cl7c", true); } // [V6, V7] test { try toUnicodeFail("\xc3\x9f\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B5, V7] +test { try toAsciiFail("\xc3\x9f\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B5, V7] +test { try toAsciiFail("\xc3\x9f\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B5, V7] test { try toUnicodeFail("\xc3\x9f1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B2, B3, B5, V7] +test { try toAsciiFail("\xc3\x9f1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B2, B3, B5, V7] +test { try toAsciiFail("\xc3\x9f1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B2, B3, B5, V7] test { try toUnicodeFail("SS1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B2, B3, B5, V7] +test { try toAsciiFail("SS1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B2, B3, B5, V7] +test { try toAsciiFail("SS1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B2, B3, B5, V7] test { try toUnicodeFail("ss1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B2, B3, B5, V7] +test { try toAsciiFail("ss1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B2, B3, B5, V7] +test { try toAsciiFail("ss1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B2, B3, B5, V7] test { try toUnicodeFail("Ss1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B2, B3, B5, V7] +test { try toAsciiFail("Ss1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B2, B3, B5, V7] +test { try toAsciiFail("Ss1.\xdd\xa0\xed\x9e\xae.\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B2, B3, B5, V7] test { try toUnicodeFail("ss1.xn--kpb6677h.xn--nfb09923ifkyyb"); } // [B2, B3, B5, V7] +test { try toAsciiFail("ss1.xn--kpb6677h.xn--nfb09923ifkyyb", false); } // [B2, B3, B5, V7] +test { try toAsciiFail("ss1.xn--kpb6677h.xn--nfb09923ifkyyb", true); } // [B2, B3, B5, V7] test { try toUnicodeFail("xn--1-pfa.xn--kpb6677h.xn--nfb09923ifkyyb"); } // [B2, B3, B5, V7] +test { try toAsciiFail("xn--1-pfa.xn--kpb6677h.xn--nfb09923ifkyyb", false); } // [B2, B3, B5, V7] +test { try toAsciiFail("xn--1-pfa.xn--kpb6677h.xn--nfb09923ifkyyb", true); } // [B2, B3, B5, V7] test { try toUnicodeFail("SS\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B5, V7] +test { try toAsciiFail("SS\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B5, V7] +test { try toAsciiFail("SS\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B5, V7] test { try toUnicodeFail("ss\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B5, V7] +test { try toAsciiFail("ss\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B5, V7] +test { try toAsciiFail("ss\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B5, V7] test { try toUnicodeFail("Ss\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf"); } // [B5, V7] +test { try toAsciiFail("Ss\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", false); } // [B5, V7] +test { try toAsciiFail("Ss\xe2\x92\x88\xdd\xa0\xed\x9e\xae\xef\xbc\x8e\xf4\x89\x96\xb2\xf3\xa0\x85\x84\xd8\x85\xf2\x89\x94\xaf", true); } // [B5, V7] test { try toUnicodeFail("xn--ss-6ke9690a0g1q.xn--nfb09923ifkyyb"); } // [B5, V7] +test { try toAsciiFail("xn--ss-6ke9690a0g1q.xn--nfb09923ifkyyb", false); } // [B5, V7] +test { try toAsciiFail("xn--ss-6ke9690a0g1q.xn--nfb09923ifkyyb", true); } // [B5, V7] test { try toUnicodeFail("xn--zca444a0s1ao12n.xn--nfb09923ifkyyb"); } // [B5, V7] +test { try toAsciiFail("xn--zca444a0s1ao12n.xn--nfb09923ifkyyb", false); } // [B5, V7] +test { try toAsciiFail("xn--zca444a0s1ao12n.xn--nfb09923ifkyyb", true); } // [B5, V7] test { try toUnicodeFail("\xf3\xa0\xad\x94.\xf0\x90\x8b\xb1\xe2\x82\x82"); } // [V7] +test { try toAsciiFail("\xf3\xa0\xad\x94.\xf0\x90\x8b\xb1\xe2\x82\x82", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\xad\x94.\xf0\x90\x8b\xb1\xe2\x82\x82", true); } // [V7] test { try toUnicodeFail("\xf3\xa0\xad\x94.\xf0\x90\x8b\xb12"); } // [V7] +test { try toAsciiFail("\xf3\xa0\xad\x94.\xf0\x90\x8b\xb12", false); } // [V7] +test { try toAsciiFail("\xf3\xa0\xad\x94.\xf0\x90\x8b\xb12", true); } // [V7] test { try toUnicodeFail("xn--vi56e.xn--2-w91i"); } // [V7] +test { try toAsciiFail("xn--vi56e.xn--2-w91i", false); } // [V7] +test { try toAsciiFail("xn--vi56e.xn--2-w91i", true); } // [V7] test { try toUnicodeFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-\xc3\x9f\xda\xa5\xe2\x80\x8c"); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-\xc3\x9f\xda\xa5\xe2\x80\x8c", false); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-\xc3\x9f\xda\xa5\xe2\x80\x8c", true); } // [B1, V3] test { try toUnicodeFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-SS\xda\xa5\xe2\x80\x8c"); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-SS\xda\xa5\xe2\x80\x8c", false); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-SS\xda\xa5\xe2\x80\x8c", true); } // [B1, V3] test { try toUnicodeFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-ss\xda\xa5\xe2\x80\x8c"); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-ss\xda\xa5\xe2\x80\x8c", false); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-ss\xda\xa5\xe2\x80\x8c", true); } // [B1, V3] test { try toUnicodeFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-Ss\xda\xa5\xe2\x80\x8c"); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-Ss\xda\xa5\xe2\x80\x8c", false); } // [B1, C1, V3] +test { try toAsciiFail("\xdc\x96\xe0\xa5\x87\xe3\x80\x82-Ss\xda\xa5\xe2\x80\x8c", true); } // [B1, V3] test { try toUnicodeFail("xn--gnb63i.xn---ss-4ef"); } // [B1, V3] +test { try toAsciiFail("xn--gnb63i.xn---ss-4ef", false); } // [B1, V3] +test { try toAsciiFail("xn--gnb63i.xn---ss-4ef", true); } // [B1, V3] test { try toUnicodeFail("xn--gnb63i.xn---ss-4ef9263a"); } // [B1, C1, V3] +test { try toAsciiFail("xn--gnb63i.xn---ss-4ef9263a", false); } // [B1, C1, V3] +test { try toAsciiFail("xn--gnb63i.xn---ss-4ef9263a", true); } // [B1, C1, V3] test { try toUnicodeFail("xn--gnb63i.xn----qfa845bhx4a"); } // [B1, C1, V3] +test { try toAsciiFail("xn--gnb63i.xn----qfa845bhx4a", false); } // [B1, C1, V3] +test { try toAsciiFail("xn--gnb63i.xn----qfa845bhx4a", true); } // [B1, C1, V3] test { try toUnicodeFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88\xef\xbc\x8e\xe1\xb3\x95\xe4\xb7\x89\xe1\x83\x81"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88\xef\xbc\x8e\xe1\xb3\x95\xe4\xb7\x89\xe1\x83\x81", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88\xef\xbc\x8e\xe1\xb3\x95\xe4\xb7\x89\xe1\x83\x81", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88.\xe1\xb3\x95\xe4\xb7\x89\xe1\x83\x81"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88.\xe1\xb3\x95\xe4\xb7\x89\xe1\x83\x81", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88.\xe1\xb3\x95\xe4\xb7\x89\xe1\x83\x81", true); } // [B1, V6, V7] test { try toUnicodeFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88.\xe1\xb3\x95\xe4\xb7\x89\xe2\xb4\xa1"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88.\xe1\xb3\x95\xe4\xb7\x89\xe2\xb4\xa1", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88.\xe1\xb3\x95\xe4\xb7\x89\xe2\xb4\xa1", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--pgb911izv33i.xn--i6f270etuy"); } // [B1, V6, V7] +test { try toAsciiFail("xn--pgb911izv33i.xn--i6f270etuy", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--pgb911izv33i.xn--i6f270etuy", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--pgb911imgdrw34r.xn--i6f270etuy"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--pgb911imgdrw34r.xn--i6f270etuy", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--pgb911imgdrw34r.xn--i6f270etuy", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88\xef\xbc\x8e\xe1\xb3\x95\xe4\xb7\x89\xe2\xb4\xa1"); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88\xef\xbc\x8e\xe1\xb3\x95\xe4\xb7\x89\xe2\xb4\xa1", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("\xe1\xae\xa9\xe2\x80\x8d\xd8\xaa\xf1\xa1\x9a\x88\xef\xbc\x8e\xe1\xb3\x95\xe4\xb7\x89\xe2\xb4\xa1", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--pgb911izv33i.xn--5nd792dgv3b"); } // [B1, V6, V7] +test { try toAsciiFail("xn--pgb911izv33i.xn--5nd792dgv3b", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--pgb911izv33i.xn--5nd792dgv3b", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--pgb911imgdrw34r.xn--5nd792dgv3b"); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--pgb911imgdrw34r.xn--5nd792dgv3b", false); } // [B1, C2, V6, V7] +test { try toAsciiFail("xn--pgb911imgdrw34r.xn--5nd792dgv3b", true); } // [B1, C2, V6, V7] test { try toUnicodeFail("\xe2\xb6\xbf.\xc3\x9f\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.\xc3\x9f\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.\xc3\x9f\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\xb6\xbf.SS\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.SS\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.SS\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\xb6\xbf.ss\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.ss\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.ss\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("\xe2\xb6\xbf.Ss\xe2\x80\x8d"); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.Ss\xe2\x80\x8d", false); } // [C2, V7] +test { try toAsciiFail("\xe2\xb6\xbf.Ss\xe2\x80\x8d", true); } // [V7] test { try toUnicodeFail("xn--7pj.ss"); } // [V7] +test { try toAsciiFail("xn--7pj.ss", false); } // [V7] +test { try toAsciiFail("xn--7pj.ss", true); } // [V7] test { try toUnicodeFail("xn--7pj.xn--ss-n1t"); } // [C2, V7] +test { try toAsciiFail("xn--7pj.xn--ss-n1t", false); } // [C2, V7] +test { try toAsciiFail("xn--7pj.xn--ss-n1t", true); } // [C2, V7] test { try toUnicodeFail("xn--7pj.xn--zca870n"); } // [C2, V7] +test { try toAsciiFail("xn--7pj.xn--zca870n", false); } // [C2, V7] +test { try toAsciiFail("xn--7pj.xn--zca870n", true); } // [C2, V7] test { try toUnicodeFail("\xe1\xaf\xb3\xef\xb8\x92.\xd8\xaa\xe2\x89\xaf\xea\xa1\x82"); } // [B2, B3, B6, V6, V7] +test { try toAsciiFail("\xe1\xaf\xb3\xef\xb8\x92.\xd8\xaa\xe2\x89\xaf\xea\xa1\x82", false); } // [B2, B3, B6, V6, V7] +test { try toAsciiFail("\xe1\xaf\xb3\xef\xb8\x92.\xd8\xaa\xe2\x89\xaf\xea\xa1\x82", true); } // [B2, B3, B6, V6, V7] test { try toUnicodeFail("\xe1\xaf\xb3\xef\xb8\x92.\xd8\xaa>\xcc\xb8\xea\xa1\x82"); } // [B2, B3, B6, V6, V7] +test { try toAsciiFail("\xe1\xaf\xb3\xef\xb8\x92.\xd8\xaa>\xcc\xb8\xea\xa1\x82", false); } // [B2, B3, B6, V6, V7] +test { try toAsciiFail("\xe1\xaf\xb3\xef\xb8\x92.\xd8\xaa>\xcc\xb8\xea\xa1\x82", true); } // [B2, B3, B6, V6, V7] test { try toUnicodeFail("\xe1\xaf\xb3\xe3\x80\x82.\xd8\xaa\xe2\x89\xaf\xea\xa1\x82"); } // [B2, B3, V6, X4_2] +test { try toAsciiFail("\xe1\xaf\xb3\xe3\x80\x82.\xd8\xaa\xe2\x89\xaf\xea\xa1\x82", false); } // [B2, B3, V6, A4_2] +test { try toAsciiFail("\xe1\xaf\xb3\xe3\x80\x82.\xd8\xaa\xe2\x89\xaf\xea\xa1\x82", true); } // [B2, B3, V6, A4_2] test { try toUnicodeFail("\xe1\xaf\xb3\xe3\x80\x82.\xd8\xaa>\xcc\xb8\xea\xa1\x82"); } // [B2, B3, V6, X4_2] +test { try toAsciiFail("\xe1\xaf\xb3\xe3\x80\x82.\xd8\xaa>\xcc\xb8\xea\xa1\x82", false); } // [B2, B3, V6, A4_2] +test { try toAsciiFail("\xe1\xaf\xb3\xe3\x80\x82.\xd8\xaa>\xcc\xb8\xea\xa1\x82", true); } // [B2, B3, V6, A4_2] test { try toUnicodeFail("xn--1zf..xn--pgb885lry5g"); } // [B2, B3, V6, X4_2] +test { try toAsciiFail("xn--1zf..xn--pgb885lry5g", false); } // [B2, B3, V6, A4_2] +test { try toAsciiFail("xn--1zf..xn--pgb885lry5g", true); } // [B2, B3, V6, A4_2] test { try toUnicodeFail("xn--1zf8957g.xn--pgb885lry5g"); } // [B2, B3, B6, V6, V7] +test { try toAsciiFail("xn--1zf8957g.xn--pgb885lry5g", false); } // [B2, B3, B6, V6, V7] +test { try toAsciiFail("xn--1zf8957g.xn--pgb885lry5g", true); } // [B2, B3, B6, V6, V7] test { try toUnicodeFail("\xe2\x89\xae\xe2\x89\xa0\xf1\x8f\xbb\x83\xef\xbd\xa1-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xae\xe2\x89\xa0\xf1\x8f\xbb\x83\xef\xbd\xa1-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xae\xe2\x89\xa0\xf1\x8f\xbb\x83\xef\xbd\xa1-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", true); } // [B1, V3, V7] test { try toUnicodeFail("<\xcc\xb8=\xcc\xb8\xf1\x8f\xbb\x83\xef\xbd\xa1-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa"); } // [B1, V3, V7] +test { try toAsciiFail("<\xcc\xb8=\xcc\xb8\xf1\x8f\xbb\x83\xef\xbd\xa1-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", false); } // [B1, V3, V7] +test { try toAsciiFail("<\xcc\xb8=\xcc\xb8\xf1\x8f\xbb\x83\xef\xbd\xa1-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", true); } // [B1, V3, V7] test { try toUnicodeFail("\xe2\x89\xae\xe2\x89\xa0\xf1\x8f\xbb\x83\xe3\x80\x82-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa"); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xae\xe2\x89\xa0\xf1\x8f\xbb\x83\xe3\x80\x82-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", false); } // [B1, V3, V7] +test { try toAsciiFail("\xe2\x89\xae\xe2\x89\xa0\xf1\x8f\xbb\x83\xe3\x80\x82-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", true); } // [B1, V3, V7] test { try toUnicodeFail("<\xcc\xb8=\xcc\xb8\xf1\x8f\xbb\x83\xe3\x80\x82-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa"); } // [B1, V3, V7] +test { try toAsciiFail("<\xcc\xb8=\xcc\xb8\xf1\x8f\xbb\x83\xe3\x80\x82-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", false); } // [B1, V3, V7] +test { try toAsciiFail("<\xcc\xb8=\xcc\xb8\xf1\x8f\xbb\x83\xe3\x80\x82-\xf0\xab\xa0\x86\xda\xb7\xf0\x90\xb9\xaa", true); } // [B1, V3, V7] test { try toUnicodeFail("xn--1ch1a29470f.xn----7uc5363rc1rn"); } // [B1, V3, V7] +test { try toAsciiFail("xn--1ch1a29470f.xn----7uc5363rc1rn", false); } // [B1, V3, V7] +test { try toAsciiFail("xn--1ch1a29470f.xn----7uc5363rc1rn", true); } // [B1, V3, V7] test { try toUnicodeFail("\xf0\x90\xb9\xa1\xdd\xb7\xe3\x80\x82\xea\xa1\x82"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa1\xdd\xb7\xe3\x80\x82\xea\xa1\x82", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xa1\xdd\xb7\xe3\x80\x82\xea\xa1\x82", true); } // [B1] test { try toUnicodeFail("xn--7pb5275k.xn--bc9a"); } // [B1] +test { try toAsciiFail("xn--7pb5275k.xn--bc9a", false); } // [B1] +test { try toAsciiFail("xn--7pb5275k.xn--bc9a", true); } // [B1] test { try toUnicodeFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.\xc3\x9f\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.\xc3\x9f\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.\xc3\x9f\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\xb4\x89\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.\xc3\x9f\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x89\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.\xc3\x9f\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x89\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.\xc3\x9f\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.SS\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.SS\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.SS\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\xb4\x89\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.ss\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x89\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.ss\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe2\xb4\x89\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.ss\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.Ss\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5"); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.Ss\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe1\x82\xa9\xf0\x9d\x86\x85\xf1\x94\xbb\x85\xd8\x99.Ss\xf0\x90\xa7\xa6\xf0\x90\xb9\xb3\xdd\xb5", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--7fb940rwt3z7xvz.xn--ss-zme7575xp0e"); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb940rwt3z7xvz.xn--ss-zme7575xp0e", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb940rwt3z7xvz.xn--ss-zme7575xp0e", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--7fb940rwt3z7xvz.xn--zca684a699vf2d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb940rwt3z7xvz.xn--zca684a699vf2d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb940rwt3z7xvz.xn--zca684a699vf2d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--7fb125cjv87a7xvz.xn--ss-zme7575xp0e"); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb125cjv87a7xvz.xn--ss-zme7575xp0e", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb125cjv87a7xvz.xn--ss-zme7575xp0e", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--7fb125cjv87a7xvz.xn--zca684a699vf2d"); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb125cjv87a7xvz.xn--zca684a699vf2d", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--7fb125cjv87a7xvz.xn--zca684a699vf2d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe2\x80\x8d\xd9\x83\xf0\x90\xa7\xbe\xe2\x86\x99.\xf1\x8a\xbd\xa1"); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xd9\x83\xf0\x90\xa7\xbe\xe2\x86\x99.\xf1\x8a\xbd\xa1", false); } // [B1, C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xd9\x83\xf0\x90\xa7\xbe\xe2\x86\x99.\xf1\x8a\xbd\xa1", true); } // [B3, V7] test { try toUnicodeFail("xn--fhb011lnp8n.xn--7s4w"); } // [B3, V7] +test { try toAsciiFail("xn--fhb011lnp8n.xn--7s4w", false); } // [B3, V7] +test { try toAsciiFail("xn--fhb011lnp8n.xn--7s4w", true); } // [B3, V7] test { try toUnicodeFail("xn--fhb713k87ag053c.xn--7s4w"); } // [B1, C2, V7] +test { try toAsciiFail("xn--fhb713k87ag053c.xn--7s4w", false); } // [B1, C2, V7] +test { try toAsciiFail("xn--fhb713k87ag053c.xn--7s4w", true); } // [B1, C2, V7] test { try toUnicodeFail("\xe6\xa2\x89\xe3\x80\x82\xe2\x80\x8c"); } // [C1] +test { try toAsciiFail("\xe6\xa2\x89\xe3\x80\x82\xe2\x80\x8c", false); } // [C1] +test { try toAsciiFail("\xe6\xa2\x89\xe3\x80\x82\xe2\x80\x8c", true); } // [A4_2] test { try toUnicodePass("xn--7zv.", "\xe6\xa2\x89."); } +test { try toAsciiFail("xn--7zv.", false); } // [A4_2] +test { try toAsciiFail("xn--7zv.", true); } // [A4_2] test { try toUnicodePass("\xe6\xa2\x89.", "\xe6\xa2\x89."); } +test { try toAsciiFail("\xe6\xa2\x89.", false); } // [A4_2] +test { try toAsciiFail("\xe6\xa2\x89.", true); } // [A4_2] test { try toUnicodeFail("xn--7zv.xn--0ug"); } // [C1] +test { try toAsciiFail("xn--7zv.xn--0ug", false); } // [C1] +test { try toAsciiFail("xn--7zv.xn--0ug", true); } // [C1] test { try toUnicodeFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x83"); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x83", false); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x83", true); } // [B2, B3, B6] test { try toUnicodeFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x83"); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x83", false); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x83", true); } // [B2, B3, B6] test { try toUnicodeFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\xb9\xf0\x90\x85\xa2\xe2\x86\x84"); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\xb9\xf0\x90\x85\xa2\xe2\x86\x84", false); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\xb9\xf0\x90\x85\xa2\xe2\x86\x84", true); } // [B2, B3, B6] test { try toUnicodeFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\xb9\xf0\x90\x85\xa2\xe2\x86\x84"); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\xb9\xf0\x90\x85\xa2\xe2\x86\x84", false); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\xb9\xf0\x90\x85\xa2\xe2\x86\x84", true); } // [B2, B3, B6] test { try toUnicodeFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x84"); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x84", false); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-\xe2\x89\xa0.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x84", true); } // [B2, B3, B6] test { try toUnicodeFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x84"); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x84", false); } // [B1, B6, C2] +test { try toAsciiFail("\xea\xa1\xa3-=\xcc\xb8.\xe2\x80\x8d\xf0\x9e\xa4\x97\xf0\x90\x85\xa2\xe2\x86\x84", true); } // [B2, B3, B6] test { try toUnicodeFail("xn----ufo9661d.xn--r5gy929fhm4f"); } // [B2, B3, B6] +test { try toAsciiFail("xn----ufo9661d.xn--r5gy929fhm4f", false); } // [B2, B3, B6] +test { try toAsciiFail("xn----ufo9661d.xn--r5gy929fhm4f", true); } // [B2, B3, B6] test { try toUnicodeFail("xn----ufo9661d.xn--1ug99cj620c71sh"); } // [B1, B6, C2] +test { try toAsciiFail("xn----ufo9661d.xn--1ug99cj620c71sh", false); } // [B1, B6, C2] +test { try toAsciiFail("xn----ufo9661d.xn--1ug99cj620c71sh", true); } // [B1, B6, C2] test { try toUnicodeFail("xn----ufo9661d.xn--q5g0929fhm4f"); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn----ufo9661d.xn--q5g0929fhm4f", false); } // [B2, B3, B6, V7] +test { try toAsciiFail("xn----ufo9661d.xn--q5g0929fhm4f", true); } // [B2, B3, B6, V7] test { try toUnicodeFail("xn----ufo9661d.xn--1ug79cm620c71sh"); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn----ufo9661d.xn--1ug79cm620c71sh", false); } // [B1, B6, C2, V7] +test { try toAsciiFail("xn----ufo9661d.xn--1ug79cm620c71sh", true); } // [B1, B6, C2, V7] test { try toUnicodeFail("\xcf\x82\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3"); } // [B6, V7, U1] +test { try toAsciiFail("\xcf\x82\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3", false); } // [B6, V7, U1] +test { try toAsciiFail("\xcf\x82\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3", true); } // [B6, V7, U1] test { try toUnicodeFail("\xcf\x829.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xcf\x829.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xcf\x829.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xce\xa39.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xce\xa39.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xce\xa39.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xcf\x839.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7"); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xcf\x839.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("\xcf\x839.\xf0\x9d\x86\xab\xe2\xb8\xb5\xe3\x80\x82\xf0\x90\xb1\xa29,7", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("xn--9-zmb.xn--ltj1535k.xn--9,7-r67t"); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--9-zmb.xn--ltj1535k.xn--9,7-r67t", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--9-zmb.xn--ltj1535k.xn--9,7-r67t", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("xn--9-xmb.xn--ltj1535k.xn--9,7-r67t"); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--9-xmb.xn--ltj1535k.xn--9,7-r67t", false); } // [B1, V6, V7, U1] +test { try toAsciiFail("xn--9-xmb.xn--ltj1535k.xn--9,7-r67t", true); } // [B1, V6, V7, U1] test { try toUnicodeFail("\xce\xa3\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3"); } // [B6, V7, U1] +test { try toAsciiFail("\xce\xa3\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3", false); } // [B6, V7, U1] +test { try toAsciiFail("\xce\xa3\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3", true); } // [B6, V7, U1] test { try toUnicodeFail("\xcf\x83\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3"); } // [B6, V7, U1] +test { try toAsciiFail("\xcf\x83\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3", false); } // [B6, V7, U1] +test { try toAsciiFail("\xcf\x83\xe2\x92\x90\xf0\x9d\x86\xab\xe2\xb8\xb5\xef\xbd\xa1\xf0\x90\xb1\xa2\xf0\x9f\x84\x8a\xf0\x9d\x9f\xb3", true); } // [B6, V7, U1] test { try toUnicodeFail("xn--4xa809nwtghi25b.xn--9,7-r67t"); } // [B6, V7, U1] +test { try toAsciiFail("xn--4xa809nwtghi25b.xn--9,7-r67t", false); } // [B6, V7, U1] +test { try toAsciiFail("xn--4xa809nwtghi25b.xn--9,7-r67t", true); } // [B6, V7, U1] test { try toUnicodeFail("xn--3xa019nwtghi25b.xn--9,7-r67t"); } // [B6, V7, U1] +test { try toAsciiFail("xn--3xa019nwtghi25b.xn--9,7-r67t", false); } // [B6, V7, U1] +test { try toAsciiFail("xn--3xa019nwtghi25b.xn--9,7-r67t", true); } // [B6, V7, U1] test { try toUnicodeFail("xn--4xa809nwtghi25b.xn--7-075iy877c"); } // [B6, V7] +test { try toAsciiFail("xn--4xa809nwtghi25b.xn--7-075iy877c", false); } // [B6, V7] +test { try toAsciiFail("xn--4xa809nwtghi25b.xn--7-075iy877c", true); } // [B6, V7] test { try toUnicodeFail("xn--3xa019nwtghi25b.xn--7-075iy877c"); } // [B6, V7] +test { try toAsciiFail("xn--3xa019nwtghi25b.xn--7-075iy877c", false); } // [B6, V7] +test { try toAsciiFail("xn--3xa019nwtghi25b.xn--7-075iy877c", true); } // [B6, V7] test { try toAsciiPass("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8c\xc3\x9f", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8c\xc3\x9f"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8c\xc3\x9f", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93.\xe2\x80\x8c\xc3\x9f", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93.\xe2\x80\x8c\xc3\x9f"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93.\xe2\x80\x8c\xc3\x9f", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93.\xe2\x80\x8cSS", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93.\xe2\x80\x8cSS"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93.\xe2\x80\x8cSS", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93.\xe2\x80\x8css", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93.\xe2\x80\x8css"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93.\xe2\x80\x8css", false); } // [B1, C1] test { try toUnicodePass("xn--iwb.ss", "\xe0\xa1\x93.ss"); } test { try toAsciiPass("xn--iwb.ss", "xn--iwb.ss", false); } test { try toAsciiPass("xn--iwb.ss", "xn--iwb.ss", true); } @@ -7466,81 +18648,215 @@ test { try toUnicodePass("\xe0\xa1\x93.SS", "\xe0\xa1\x93.ss"); } test { try toAsciiPass("\xe0\xa1\x93.SS", "xn--iwb.ss", false); } test { try toAsciiPass("\xe0\xa1\x93.SS", "xn--iwb.ss", true); } test { try toUnicodeFail("xn--iwb.xn--ss-i1t"); } // [B1, C1] +test { try toAsciiFail("xn--iwb.xn--ss-i1t", false); } // [B1, C1] +test { try toAsciiFail("xn--iwb.xn--ss-i1t", true); } // [B1, C1] test { try toUnicodeFail("xn--iwb.xn--zca570n"); } // [B1, C1] +test { try toAsciiFail("xn--iwb.xn--zca570n", false); } // [B1, C1] +test { try toAsciiFail("xn--iwb.xn--zca570n", true); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8cSS", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8cSS"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8cSS", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8css", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8css"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8css", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93.\xe2\x80\x8cSs", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93.\xe2\x80\x8cSs"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93.\xe2\x80\x8cSs", false); } // [B1, C1] test { try toAsciiPass("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8cSs", "xn--iwb.ss", true); } test { try toUnicodeFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8cSs"); } // [B1, C1] +test { try toAsciiFail("\xe0\xa1\x93\xef\xbc\x8e\xe2\x80\x8cSs", false); } // [B1, C1] test { try toUnicodeFail("\xf1\xaf\xb6\xa3-.\xe2\x80\x8d\xdd\x8e\xea\xa5\x8d\xf3\xa0\xbb\xa8"); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("\xf1\xaf\xb6\xa3-.\xe2\x80\x8d\xdd\x8e\xea\xa5\x8d\xf3\xa0\xbb\xa8", false); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("\xf1\xaf\xb6\xa3-.\xe2\x80\x8d\xdd\x8e\xea\xa5\x8d\xf3\xa0\xbb\xa8", true); } // [B3, B6, V3, V7] test { try toUnicodeFail("xn----s116e.xn--1ob6504fmf40i"); } // [B3, B6, V3, V7] +test { try toAsciiFail("xn----s116e.xn--1ob6504fmf40i", false); } // [B3, B6, V3, V7] +test { try toAsciiFail("xn----s116e.xn--1ob6504fmf40i", true); } // [B3, B6, V3, V7] test { try toUnicodeFail("xn----s116e.xn--1ob387jy90hq459k"); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("xn----s116e.xn--1ob387jy90hq459k", false); } // [B1, B6, C2, V3, V7] +test { try toAsciiFail("xn----s116e.xn--1ob387jy90hq459k", true); } // [B1, B6, C2, V3, V7] test { try toUnicodeFail("\xe4\x83\x9a\xe8\x9f\xa5-\xe3\x80\x82-\xf1\xbd\x92\x98\xe2\x92\x88"); } // [V3, V7] +test { try toAsciiFail("\xe4\x83\x9a\xe8\x9f\xa5-\xe3\x80\x82-\xf1\xbd\x92\x98\xe2\x92\x88", false); } // [V3, V7] +test { try toAsciiFail("\xe4\x83\x9a\xe8\x9f\xa5-\xe3\x80\x82-\xf1\xbd\x92\x98\xe2\x92\x88", true); } // [V3, V7] test { try toUnicodeFail("\xe4\x83\x9a\xe8\x9f\xa5-\xe3\x80\x82-\xf1\xbd\x92\x981."); } // [V3, V7] +test { try toAsciiFail("\xe4\x83\x9a\xe8\x9f\xa5-\xe3\x80\x82-\xf1\xbd\x92\x981.", false); } // [V3, V7, A4_2] +test { try toAsciiFail("\xe4\x83\x9a\xe8\x9f\xa5-\xe3\x80\x82-\xf1\xbd\x92\x981.", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----n50a258u.xn---1-up07j."); } // [V3, V7] +test { try toAsciiFail("xn----n50a258u.xn---1-up07j.", false); } // [V3, V7, A4_2] +test { try toAsciiFail("xn----n50a258u.xn---1-up07j.", true); } // [V3, V7, A4_2] test { try toUnicodeFail("xn----n50a258u.xn----ecp33805f"); } // [V3, V7] +test { try toAsciiFail("xn----n50a258u.xn----ecp33805f", false); } // [V3, V7] +test { try toAsciiFail("xn----n50a258u.xn----ecp33805f", true); } // [V3, V7] test { try toUnicodeFail("\xf0\x90\xb9\xb8\xe4\x9a\xb5-\xea\xa1\xa1\xe3\x80\x82\xe2\xba\x87"); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xe4\x9a\xb5-\xea\xa1\xa1\xe3\x80\x82\xe2\xba\x87", false); } // [B1] +test { try toAsciiFail("\xf0\x90\xb9\xb8\xe4\x9a\xb5-\xea\xa1\xa1\xe3\x80\x82\xe2\xba\x87", true); } // [B1] test { try toUnicodeFail("xn----bm3an932a1l5d.xn--xvj"); } // [B1] +test { try toAsciiFail("xn----bm3an932a1l5d.xn--xvj", false); } // [B1] +test { try toAsciiFail("xn----bm3an932a1l5d.xn--xvj", true); } // [B1] test { try toUnicodeFail("\xf0\x91\x84\xb3\xe3\x80\x82\xe1\xab\x9c\xf0\x90\xb9\xbb"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x84\xb3\xe3\x80\x82\xe1\xab\x9c\xf0\x90\xb9\xbb", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x84\xb3\xe3\x80\x82\xe1\xab\x9c\xf0\x90\xb9\xbb", true); } // [B1, V6] test { try toUnicodeFail("xn--v80d.xn--2rf1154i"); } // [B1, V6] +test { try toAsciiFail("xn--v80d.xn--2rf1154i", false); } // [B1, V6] +test { try toAsciiFail("xn--v80d.xn--2rf1154i", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xae\xf0\x90\xb9\xbb.\xe2\x92\x8e\xf0\x91\x82\xb5\xda\xba\xd8\x82"); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xbb.\xe2\x92\x8e\xf0\x91\x82\xb5\xda\xba\xd8\x82", false); } // [B1, V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xbb.\xe2\x92\x8e\xf0\x91\x82\xb5\xda\xba\xd8\x82", true); } // [B1, V7] test { try toUnicodeFail("<\xcc\xb8\xf0\x90\xb9\xbb.\xe2\x92\x8e\xf0\x91\x82\xb5\xda\xba\xd8\x82"); } // [B1, V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xbb.\xe2\x92\x8e\xf0\x91\x82\xb5\xda\xba\xd8\x82", false); } // [B1, V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xbb.\xe2\x92\x8e\xf0\x91\x82\xb5\xda\xba\xd8\x82", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x89\xae\xf0\x90\xb9\xbb.7.\xf0\x91\x82\xb5\xda\xba\xd8\x82"); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xbb.7.\xf0\x91\x82\xb5\xda\xba\xd8\x82", false); } // [B1, V6, V7] +test { try toAsciiFail("\xe2\x89\xae\xf0\x90\xb9\xbb.7.\xf0\x91\x82\xb5\xda\xba\xd8\x82", true); } // [B1, V6, V7] test { try toUnicodeFail("<\xcc\xb8\xf0\x90\xb9\xbb.7.\xf0\x91\x82\xb5\xda\xba\xd8\x82"); } // [B1, V6, V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xbb.7.\xf0\x91\x82\xb5\xda\xba\xd8\x82", false); } // [B1, V6, V7] +test { try toAsciiFail("<\xcc\xb8\xf0\x90\xb9\xbb.7.\xf0\x91\x82\xb5\xda\xba\xd8\x82", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--gdhx904g.7.xn--kfb18an307d"); } // [B1, V6, V7] +test { try toAsciiFail("xn--gdhx904g.7.xn--kfb18an307d", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--gdhx904g.7.xn--kfb18an307d", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--gdhx904g.xn--kfb18a325efm3s"); } // [B1, V7] +test { try toAsciiFail("xn--gdhx904g.xn--kfb18a325efm3s", false); } // [B1, V7] +test { try toAsciiFail("xn--gdhx904g.xn--kfb18a325efm3s", true); } // [B1, V7] test { try toUnicodeFail("\xe1\xa2\x94\xe2\x89\xa0\xf4\x8b\x89\x82.\xe2\x80\x8d\xf0\x90\x8b\xa2"); } // [C2, V7] +test { try toAsciiFail("\xe1\xa2\x94\xe2\x89\xa0\xf4\x8b\x89\x82.\xe2\x80\x8d\xf0\x90\x8b\xa2", false); } // [C2, V7] +test { try toAsciiFail("\xe1\xa2\x94\xe2\x89\xa0\xf4\x8b\x89\x82.\xe2\x80\x8d\xf0\x90\x8b\xa2", true); } // [V7] test { try toUnicodeFail("\xe1\xa2\x94=\xcc\xb8\xf4\x8b\x89\x82.\xe2\x80\x8d\xf0\x90\x8b\xa2"); } // [C2, V7] +test { try toAsciiFail("\xe1\xa2\x94=\xcc\xb8\xf4\x8b\x89\x82.\xe2\x80\x8d\xf0\x90\x8b\xa2", false); } // [C2, V7] +test { try toAsciiFail("\xe1\xa2\x94=\xcc\xb8\xf4\x8b\x89\x82.\xe2\x80\x8d\xf0\x90\x8b\xa2", true); } // [V7] test { try toUnicodeFail("xn--ebf031cf7196a.xn--587c"); } // [V7] +test { try toAsciiFail("xn--ebf031cf7196a.xn--587c", false); } // [V7] +test { try toAsciiFail("xn--ebf031cf7196a.xn--587c", true); } // [V7] test { try toUnicodeFail("xn--ebf031cf7196a.xn--1ug9540g"); } // [C2, V7] +test { try toAsciiFail("xn--ebf031cf7196a.xn--1ug9540g", false); } // [C2, V7] +test { try toAsciiFail("xn--ebf031cf7196a.xn--1ug9540g", true); } // [C2, V7] test { try toUnicodeFail("\xf0\x90\xa9\x81\xe2\x89\xae\xf1\xa3\x8a\x9b\xe2\x89\xaf\xef\xbc\x8e\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81\xe2\x89\xae\xf1\xa3\x8a\x9b\xe2\x89\xaf\xef\xbc\x8e\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81\xe2\x89\xae\xf1\xa3\x8a\x9b\xe2\x89\xaf\xef\xbc\x8e\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xa9\x81<\xcc\xb8\xf1\xa3\x8a\x9b>\xcc\xb8\xef\xbc\x8e\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81<\xcc\xb8\xf1\xa3\x8a\x9b>\xcc\xb8\xef\xbc\x8e\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81<\xcc\xb8\xf1\xa3\x8a\x9b>\xcc\xb8\xef\xbc\x8e\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xa9\x81\xe2\x89\xae\xf1\xa3\x8a\x9b\xe2\x89\xaf.\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81\xe2\x89\xae\xf1\xa3\x8a\x9b\xe2\x89\xaf.\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81\xe2\x89\xae\xf1\xa3\x8a\x9b\xe2\x89\xaf.\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("\xf0\x90\xa9\x81<\xcc\xb8\xf1\xa3\x8a\x9b>\xcc\xb8.\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf"); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81<\xcc\xb8\xf1\xa3\x8a\x9b>\xcc\xb8.\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("\xf0\x90\xa9\x81<\xcc\xb8\xf1\xa3\x8a\x9b>\xcc\xb8.\xd9\xac\xf0\x9e\xb5\x95\xe2\xb3\xbf", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("xn--gdhc0519o0y27b.xn--lib468q0d21a"); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--gdhc0519o0y27b.xn--lib468q0d21a", false); } // [B1, B2, B3, V7] +test { try toAsciiFail("xn--gdhc0519o0y27b.xn--lib468q0d21a", true); } // [B1, B2, B3, V7] test { try toUnicodeFail("-\xef\xbd\xa1\xe2\xba\x90"); } // [V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe2\xba\x90", false); } // [V3] +test { try toAsciiFail("-\xef\xbd\xa1\xe2\xba\x90", true); } // [V3] test { try toUnicodeFail("-\xe3\x80\x82\xe2\xba\x90"); } // [V3] +test { try toAsciiFail("-\xe3\x80\x82\xe2\xba\x90", false); } // [V3] +test { try toAsciiFail("-\xe3\x80\x82\xe2\xba\x90", true); } // [V3] test { try toUnicodeFail("-.xn--6vj"); } // [V3] +test { try toAsciiFail("-.xn--6vj", false); } // [V3] +test { try toAsciiFail("-.xn--6vj", true); } // [V3] test { try toUnicodeFail("\xf3\xa0\xb0\xa9\xf0\x91\xb2\xac\xef\xbc\x8e\xd9\x9c"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\xa9\xf0\x91\xb2\xac\xef\xbc\x8e\xd9\x9c", false); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\xa9\xf0\x91\xb2\xac\xef\xbc\x8e\xd9\x9c", true); } // [V6, V7] test { try toUnicodeFail("\xf3\xa0\xb0\xa9\xf0\x91\xb2\xac.\xd9\x9c"); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\xa9\xf0\x91\xb2\xac.\xd9\x9c", false); } // [V6, V7] +test { try toAsciiFail("\xf3\xa0\xb0\xa9\xf0\x91\xb2\xac.\xd9\x9c", true); } // [V6, V7] test { try toUnicodeFail("xn--sn3d59267c.xn--4hb"); } // [V6, V7] +test { try toAsciiFail("xn--sn3d59267c.xn--4hb", false); } // [V6, V7] +test { try toAsciiFail("xn--sn3d59267c.xn--4hb", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x90\x8d\xba.\xf1\x9a\x87\x83\xe2\x80\x8c"); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x90\x8d\xba.\xf1\x9a\x87\x83\xe2\x80\x8c", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x90\x8d\xba.\xf1\x9a\x87\x83\xe2\x80\x8c", true); } // [V6, V7] test { try toUnicodeFail("xn--ie8c.xn--2g51a"); } // [V6, V7] +test { try toAsciiFail("xn--ie8c.xn--2g51a", false); } // [V6, V7] +test { try toAsciiFail("xn--ie8c.xn--2g51a", true); } // [V6, V7] test { try toUnicodeFail("xn--ie8c.xn--0ug03366c"); } // [C1, V6, V7] +test { try toAsciiFail("xn--ie8c.xn--0ug03366c", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--ie8c.xn--0ug03366c", true); } // [C1, V6, V7] test { try toUnicodeFail("\xd8\xbd\xdb\xa3.\xf0\x90\xa8\x8e"); } // [B1, V6] +test { try toAsciiFail("\xd8\xbd\xdb\xa3.\xf0\x90\xa8\x8e", false); } // [B1, V6] +test { try toAsciiFail("\xd8\xbd\xdb\xa3.\xf0\x90\xa8\x8e", true); } // [B1, V6] test { try toUnicodeFail("xn--8gb64a.xn--mr9c"); } // [B1, V6] +test { try toAsciiFail("xn--8gb64a.xn--mr9c", false); } // [B1, V6] +test { try toAsciiFail("xn--8gb64a.xn--mr9c", true); } // [B1, V6] test { try toUnicodeFail("\xe6\xbc\xa6\xe1\x82\xb9\xcf\x82.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84"); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe1\x82\xb9\xcf\x82.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe1\x82\xb9\xcf\x82.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe6\xbc\xa6\xe2\xb4\x99\xcf\x82.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84"); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe2\xb4\x99\xcf\x82.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe2\xb4\x99\xcf\x82.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe6\xbc\xa6\xe1\x82\xb9\xce\xa3.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84"); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe1\x82\xb9\xce\xa3.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe1\x82\xb9\xce\xa3.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe6\xbc\xa6\xe2\xb4\x99\xcf\x83.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84"); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe2\xb4\x99\xcf\x83.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe2\xb4\x99\xcf\x83.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", true); } // [B5, B6, V7] test { try toUnicodeFail("\xe6\xbc\xa6\xe1\x82\xb9\xcf\x83.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84"); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe1\x82\xb9\xcf\x83.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", false); } // [B5, B6, V7] +test { try toAsciiFail("\xe6\xbc\xa6\xe1\x82\xb9\xcf\x83.\xf1\xa1\xbb\x80\xf0\x90\xb4\x84", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--4xa772sl47b.xn--9d0d3162t"); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa772sl47b.xn--9d0d3162t", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa772sl47b.xn--9d0d3162t", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3xa972sl47b.xn--9d0d3162t"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa972sl47b.xn--9d0d3162t", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa972sl47b.xn--9d0d3162t", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--4xa947d717e.xn--9d0d3162t"); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa947d717e.xn--9d0d3162t", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa947d717e.xn--9d0d3162t", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3xa157d717e.xn--9d0d3162t"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa157d717e.xn--9d0d3162t", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa157d717e.xn--9d0d3162t", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x90\xb9\xab\xe8\xb8\xa7\xe0\xb3\x8d\xf2\xab\x9a\x87.\xf3\x9c\x80\x83\xe2\x92\x88\xf0\x9d\xa8\xa4"); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xab\xe8\xb8\xa7\xe0\xb3\x8d\xf2\xab\x9a\x87.\xf3\x9c\x80\x83\xe2\x92\x88\xf0\x9d\xa8\xa4", false); } // [B1, V7] +test { try toAsciiFail("\xf0\x90\xb9\xab\xe8\xb8\xa7\xe0\xb3\x8d\xf2\xab\x9a\x87.\xf3\x9c\x80\x83\xe2\x92\x88\xf0\x9d\xa8\xa4", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x90\xb9\xab\xe8\xb8\xa7\xe0\xb3\x8d\xf2\xab\x9a\x87.\xf3\x9c\x80\x831.\xf0\x9d\xa8\xa4"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xab\xe8\xb8\xa7\xe0\xb3\x8d\xf2\xab\x9a\x87.\xf3\x9c\x80\x831.\xf0\x9d\xa8\xa4", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x90\xb9\xab\xe8\xb8\xa7\xe0\xb3\x8d\xf2\xab\x9a\x87.\xf3\x9c\x80\x831.\xf0\x9d\xa8\xa4", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--8tc1437dro0d6q06h.xn--1-p948l.xn--m82h"); } // [B1, V6, V7] +test { try toAsciiFail("xn--8tc1437dro0d6q06h.xn--1-p948l.xn--m82h", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--8tc1437dro0d6q06h.xn--1-p948l.xn--m82h", true); } // [B1, V6, V7] test { try toUnicodeFail("xn--8tc1437dro0d6q06h.xn--tsh2611ncu71e"); } // [B1, V7] +test { try toAsciiFail("xn--8tc1437dro0d6q06h.xn--tsh2611ncu71e", false); } // [B1, V7] +test { try toAsciiFail("xn--8tc1437dro0d6q06h.xn--tsh2611ncu71e", true); } // [B1, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x89\xae\xef\xbc\x8e\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-"); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x89\xae\xef\xbc\x8e\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x89\xae\xef\xbc\x8e\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x80\x8d<\xcc\xb8\xef\xbc\x8e\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-"); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d<\xcc\xb8\xef\xbc\x8e\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d<\xcc\xb8\xef\xbc\x8e\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x89\xae.\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-"); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x89\xae.\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x89\xae.\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", true); } // [V3, V7] test { try toUnicodeFail("\xe2\x80\x8d<\xcc\xb8.\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-"); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d<\xcc\xb8.\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", false); } // [C2, V3, V7] +test { try toAsciiFail("\xe2\x80\x8d<\xcc\xb8.\xf3\xa0\x9f\xaa\xf0\xb9\xab\x8f-", true); } // [V3, V7] test { try toUnicodeFail("xn--gdh.xn----cr99a1w710b"); } // [V3, V7] +test { try toAsciiFail("xn--gdh.xn----cr99a1w710b", false); } // [V3, V7] +test { try toAsciiFail("xn--gdh.xn----cr99a1w710b", true); } // [V3, V7] test { try toUnicodeFail("xn--1ug95g.xn----cr99a1w710b"); } // [C2, V3, V7] +test { try toAsciiFail("xn--1ug95g.xn----cr99a1w710b", false); } // [C2, V3, V7] +test { try toAsciiFail("xn--1ug95g.xn----cr99a1w710b", true); } // [C2, V3, V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8d\xe8\xa5\x94\xe3\x80\x82\xe1\x82\xbc5\xea\xa1\xae\xf1\xb5\x9d\x8f"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8d\xe8\xa5\x94\xe3\x80\x82\xe1\x82\xbc5\xea\xa1\xae\xf1\xb5\x9d\x8f", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8d\xe8\xa5\x94\xe3\x80\x82\xe1\x82\xbc5\xea\xa1\xae\xf1\xb5\x9d\x8f", true); } // [V7] test { try toUnicodeFail("\xe2\x80\x8d\xe2\x80\x8d\xe8\xa5\x94\xe3\x80\x82\xe2\xb4\x9c5\xea\xa1\xae\xf1\xb5\x9d\x8f"); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8d\xe8\xa5\x94\xe3\x80\x82\xe2\xb4\x9c5\xea\xa1\xae\xf1\xb5\x9d\x8f", false); } // [C2, V7] +test { try toAsciiFail("\xe2\x80\x8d\xe2\x80\x8d\xe8\xa5\x94\xe3\x80\x82\xe2\xb4\x9c5\xea\xa1\xae\xf1\xb5\x9d\x8f", true); } // [V7] test { try toUnicodeFail("xn--2u2a.xn--5-uws5848bpf44e"); } // [V7] +test { try toAsciiFail("xn--2u2a.xn--5-uws5848bpf44e", false); } // [V7] +test { try toAsciiFail("xn--2u2a.xn--5-uws5848bpf44e", true); } // [V7] test { try toUnicodeFail("xn--1uga7691f.xn--5-uws5848bpf44e"); } // [C2, V7] +test { try toAsciiFail("xn--1uga7691f.xn--5-uws5848bpf44e", false); } // [C2, V7] +test { try toAsciiFail("xn--1uga7691f.xn--5-uws5848bpf44e", true); } // [C2, V7] test { try toUnicodeFail("xn--2u2a.xn--5-r1g7167ipfw8d"); } // [V7] +test { try toAsciiFail("xn--2u2a.xn--5-r1g7167ipfw8d", false); } // [V7] +test { try toAsciiFail("xn--2u2a.xn--5-r1g7167ipfw8d", true); } // [V7] test { try toUnicodeFail("xn--1uga7691f.xn--5-r1g7167ipfw8d"); } // [C2, V7] +test { try toAsciiFail("xn--1uga7691f.xn--5-r1g7167ipfw8d", false); } // [C2, V7] +test { try toAsciiFail("xn--1uga7691f.xn--5-r1g7167ipfw8d", true); } // [C2, V7] test { try toAsciiPass("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc\xe2\x80\x8d\xef\xbc\x8e\xe5\xa9\x80", "xn--ix9c26l.xn--q0s", true); } test { try toUnicodeFail("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc\xe2\x80\x8d\xef\xbc\x8e\xe5\xa9\x80"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc\xe2\x80\x8d\xef\xbc\x8e\xe5\xa9\x80", false); } // [B3, C2] test { try toAsciiPass("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc\xe2\x80\x8d.\xe5\xa9\x80", "xn--ix9c26l.xn--q0s", true); } test { try toUnicodeFail("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc\xe2\x80\x8d.\xe5\xa9\x80"); } // [B3, C2] +test { try toAsciiFail("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc\xe2\x80\x8d.\xe5\xa9\x80", false); } // [B3, C2] test { try toUnicodePass("xn--ix9c26l.xn--q0s", "\xf0\x90\xab\x9c\xf0\x91\x8c\xbc.\xe5\xa9\x80"); } test { try toAsciiPass("xn--ix9c26l.xn--q0s", "xn--ix9c26l.xn--q0s", false); } test { try toAsciiPass("xn--ix9c26l.xn--q0s", "xn--ix9c26l.xn--q0s", true); } @@ -7548,65 +18864,185 @@ test { try toUnicodePass("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc.\xe5\xa9\x80", "\xf0\ test { try toAsciiPass("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc.\xe5\xa9\x80", "xn--ix9c26l.xn--q0s", false); } test { try toAsciiPass("\xf0\x90\xab\x9c\xf0\x91\x8c\xbc.\xe5\xa9\x80", "xn--ix9c26l.xn--q0s", true); } test { try toUnicodeFail("xn--1ugx063g1if.xn--q0s"); } // [B3, C2] +test { try toAsciiFail("xn--1ugx063g1if.xn--q0s", false); } // [B3, C2] +test { try toAsciiFail("xn--1ugx063g1if.xn--q0s", true); } // [B3, C2] test { try toUnicodeFail("\xf3\xa0\x85\xbd\xef\xb8\x92\xef\xb8\x92\xf0\x90\xb9\xaf\xef\xbd\xa1\xe2\xac\xb3\xe1\xa9\xb8"); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x85\xbd\xef\xb8\x92\xef\xb8\x92\xf0\x90\xb9\xaf\xef\xbd\xa1\xe2\xac\xb3\xe1\xa9\xb8", false); } // [B1, V7] +test { try toAsciiFail("\xf3\xa0\x85\xbd\xef\xb8\x92\xef\xb8\x92\xf0\x90\xb9\xaf\xef\xbd\xa1\xe2\xac\xb3\xe1\xa9\xb8", true); } // [B1, V7] test { try toUnicodeFail("\xf3\xa0\x85\xbd\xe3\x80\x82\xe3\x80\x82\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xac\xb3\xe1\xa9\xb8"); } // [B1, X4_2] +test { try toAsciiFail("\xf3\xa0\x85\xbd\xe3\x80\x82\xe3\x80\x82\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xac\xb3\xe1\xa9\xb8", false); } // [B1, A4_2] +test { try toAsciiFail("\xf3\xa0\x85\xbd\xe3\x80\x82\xe3\x80\x82\xf0\x90\xb9\xaf\xe3\x80\x82\xe2\xac\xb3\xe1\xa9\xb8", true); } // [B1, A4_2] test { try toUnicodeFail("..xn--no0d.xn--7of309e"); } // [B1, X4_2] +test { try toAsciiFail("..xn--no0d.xn--7of309e", false); } // [B1, A4_2] +test { try toAsciiFail("..xn--no0d.xn--7of309e", true); } // [B1, A4_2] test { try toUnicodeFail("xn--y86ca186j.xn--7of309e"); } // [B1, V7] +test { try toAsciiFail("xn--y86ca186j.xn--7of309e", false); } // [B1, V7] +test { try toAsciiFail("xn--y86ca186j.xn--7of309e", true); } // [B1, V7] test { try toUnicodeFail("\xf0\x9d\x9f\x96\xc3\x9f\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96\xc3\x9f\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96\xc3\x9f\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8\xc3\x9f.\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("8\xc3\x9f.\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("8\xc3\x9f.\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8\xc3\x9f.\xf3\xa0\x84\x90-?\xe2\xb4\x8f"); } // [V3, U1] +test { try toAsciiFail("8\xc3\x9f.\xf3\xa0\x84\x90-?\xe2\xb4\x8f", false); } // [V3, U1] +test { try toAsciiFail("8\xc3\x9f.\xf3\xa0\x84\x90-?\xe2\xb4\x8f", true); } // [V3, U1] test { try toUnicodeFail("8SS.\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("8SS.\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("8SS.\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8ss.\xf3\xa0\x84\x90-?\xe2\xb4\x8f"); } // [V3, U1] +test { try toAsciiFail("8ss.\xf3\xa0\x84\x90-?\xe2\xb4\x8f", false); } // [V3, U1] +test { try toAsciiFail("8ss.\xf3\xa0\x84\x90-?\xe2\xb4\x8f", true); } // [V3, U1] test { try toUnicodeFail("8ss.\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("8ss.\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("8ss.\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8ss.xn---?-261a"); } // [V3, U1] +test { try toAsciiFail("8ss.xn---?-261a", false); } // [V3, U1] +test { try toAsciiFail("8ss.xn---?-261a", true); } // [V3, U1] test { try toUnicodeFail("xn--8-qfa.xn---?-261a"); } // [V3, U1] +test { try toAsciiFail("xn--8-qfa.xn---?-261a", false); } // [V3, U1] +test { try toAsciiFail("xn--8-qfa.xn---?-261a", true); } // [V3, U1] test { try toUnicodeFail("\xf0\x9d\x9f\x96\xc3\x9f\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe2\xb4\x8f"); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96\xc3\x9f\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe2\xb4\x8f", false); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96\xc3\x9f\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe2\xb4\x8f", true); } // [V3, U1] test { try toUnicodeFail("\xf0\x9d\x9f\x96SS\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96SS\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96SS\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("\xf0\x9d\x9f\x96ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe2\xb4\x8f"); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe2\xb4\x8f", false); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe2\xb4\x8f", true); } // [V3, U1] test { try toUnicodeFail("\xf0\x9d\x9f\x96ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8ss.xn---?-gfk"); } // [V3, V7, U1] +test { try toAsciiFail("8ss.xn---?-gfk", false); } // [V3, V7, U1] +test { try toAsciiFail("8ss.xn---?-gfk", true); } // [V3, V7, U1] test { try toUnicodeFail("xn--8-qfa.xn---?-gfk"); } // [V3, V7, U1] +test { try toAsciiFail("xn--8-qfa.xn---?-gfk", false); } // [V3, V7, U1] +test { try toAsciiFail("xn--8-qfa.xn---?-gfk", true); } // [V3, V7, U1] test { try toUnicodeFail("8ss.-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("8ss.-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("8ss.-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8ss.-?\xe2\xb4\x8f"); } // [V3, U1] +test { try toAsciiFail("8ss.-?\xe2\xb4\x8f", false); } // [V3, U1] +test { try toAsciiFail("8ss.-?\xe2\xb4\x8f", true); } // [V3, U1] test { try toUnicodeFail("8SS.-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("8SS.-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("8SS.-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("xn--8-qfa.-?\xe2\xb4\x8f"); } // [V3, U1] +test { try toAsciiFail("xn--8-qfa.-?\xe2\xb4\x8f", false); } // [V3, U1] +test { try toAsciiFail("xn--8-qfa.-?\xe2\xb4\x8f", true); } // [V3, U1] test { try toUnicodeFail("XN--8-QFA.-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("XN--8-QFA.-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("XN--8-QFA.-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("Xn--8-Qfa.-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("Xn--8-Qfa.-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("Xn--8-Qfa.-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("xn--8-qfa.-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("xn--8-qfa.-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("xn--8-qfa.-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("\xf0\x9d\x9f\x96Ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96Ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("\xf0\x9d\x9f\x96Ss\xef\xbc\x8e\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("8Ss.\xf3\xa0\x84\x90-?\xe1\x82\xaf"); } // [V3, U1] +test { try toAsciiFail("8Ss.\xf3\xa0\x84\x90-?\xe1\x82\xaf", false); } // [V3, U1] +test { try toAsciiFail("8Ss.\xf3\xa0\x84\x90-?\xe1\x82\xaf", true); } // [V3, U1] test { try toUnicodeFail("-\xe2\x80\x8d\xf3\xa0\x8b\x9f.\xe2\x80\x8c\xf0\x90\xb9\xa3\xe1\x82\xa5"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xf3\xa0\x8b\x9f.\xe2\x80\x8c\xf0\x90\xb9\xa3\xe1\x82\xa5", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xf3\xa0\x8b\x9f.\xe2\x80\x8c\xf0\x90\xb9\xa3\xe1\x82\xa5", true); } // [B1, V3, V7] test { try toUnicodeFail("-\xe2\x80\x8d\xf3\xa0\x8b\x9f.\xe2\x80\x8c\xf0\x90\xb9\xa3\xe2\xb4\x85"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xf3\xa0\x8b\x9f.\xe2\x80\x8c\xf0\x90\xb9\xa3\xe2\xb4\x85", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("-\xe2\x80\x8d\xf3\xa0\x8b\x9f.\xe2\x80\x8c\xf0\x90\xb9\xa3\xe2\xb4\x85", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----s721m.xn--wkj1423e"); } // [B1, V3, V7] +test { try toAsciiFail("xn----s721m.xn--wkj1423e", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----s721m.xn--wkj1423e", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ugnv7071n.xn--0ugz32cgr0p"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn----ugnv7071n.xn--0ugz32cgr0p", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn----ugnv7071n.xn--0ugz32cgr0p", true); } // [B1, C1, C2, V3, V7] test { try toUnicodeFail("xn----s721m.xn--dnd9201k"); } // [B1, V3, V7] +test { try toAsciiFail("xn----s721m.xn--dnd9201k", false); } // [B1, V3, V7] +test { try toAsciiFail("xn----s721m.xn--dnd9201k", true); } // [B1, V3, V7] test { try toUnicodeFail("xn----ugnv7071n.xn--dnd999e4j4p"); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn----ugnv7071n.xn--dnd999e4j4p", false); } // [B1, C1, C2, V3, V7] +test { try toAsciiFail("xn----ugnv7071n.xn--dnd999e4j4p", true); } // [B1, C1, C2, V3, V7] test { try toUnicodeFail("\xea\xa6\xb9\xe2\x80\x8d\xed\x81\xb7\xf0\xbb\xb6\xa1\xef\xbd\xa1\xe2\x82\x82"); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xed\x81\xb7\xf0\xbb\xb6\xa1\xef\xbd\xa1\xe2\x82\x82", false); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xed\x81\xb7\xf0\xbb\xb6\xa1\xef\xbd\xa1\xe2\x82\x82", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa6\xb9\xe2\x80\x8d\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xb2\xf0\xbb\xb6\xa1\xef\xbd\xa1\xe2\x82\x82"); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xb2\xf0\xbb\xb6\xa1\xef\xbd\xa1\xe2\x82\x82", false); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xb2\xf0\xbb\xb6\xa1\xef\xbd\xa1\xe2\x82\x82", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa6\xb9\xe2\x80\x8d\xed\x81\xb7\xf0\xbb\xb6\xa1\xe3\x80\x822"); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xed\x81\xb7\xf0\xbb\xb6\xa1\xe3\x80\x822", false); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xed\x81\xb7\xf0\xbb\xb6\xa1\xe3\x80\x822", true); } // [V6, V7] test { try toUnicodeFail("\xea\xa6\xb9\xe2\x80\x8d\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xb2\xf0\xbb\xb6\xa1\xe3\x80\x822"); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xb2\xf0\xbb\xb6\xa1\xe3\x80\x822", false); } // [C2, V6, V7] +test { try toAsciiFail("\xea\xa6\xb9\xe2\x80\x8d\xe1\x84\x8f\xe1\x85\xb3\xe1\x86\xb2\xf0\xbb\xb6\xa1\xe3\x80\x822", true); } // [V6, V7] test { try toUnicodeFail("xn--0m9as84e2e21c.c"); } // [V6, V7] +test { try toAsciiFail("xn--0m9as84e2e21c.c", false); } // [V6, V7] +test { try toAsciiFail("xn--0m9as84e2e21c.c", true); } // [V6, V7] test { try toUnicodeFail("xn--1ug1435cfkyaoi04d.c"); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug1435cfkyaoi04d.c", false); } // [C2, V6, V7] +test { try toAsciiFail("xn--1ug1435cfkyaoi04d.c", true); } // [C2, V6, V7] test { try toUnicodeFail("?.\xf0\x9f\x84\x84\xf0\x9e\xaf\x98"); } // [B1, V7, U1] +test { try toAsciiFail("?.\xf0\x9f\x84\x84\xf0\x9e\xaf\x98", false); } // [B1, V7, U1] +test { try toAsciiFail("?.\xf0\x9f\x84\x84\xf0\x9e\xaf\x98", true); } // [B1, V7, U1] test { try toUnicodeFail("?.3,\xf0\x9e\xaf\x98"); } // [B1, V7, U1] +test { try toAsciiFail("?.3,\xf0\x9e\xaf\x98", false); } // [B1, V7, U1] +test { try toAsciiFail("?.3,\xf0\x9e\xaf\x98", true); } // [B1, V7, U1] test { try toUnicodeFail("?.xn--3,-tb22a"); } // [B1, V7, U1] +test { try toAsciiFail("?.xn--3,-tb22a", false); } // [B1, V7, U1] +test { try toAsciiFail("?.xn--3,-tb22a", true); } // [B1, V7, U1] test { try toUnicodeFail("?.xn--3x6hx6f"); } // [B1, V7, U1] +test { try toAsciiFail("?.xn--3x6hx6f", false); } // [B1, V7, U1] +test { try toAsciiFail("?.xn--3x6hx6f", true); } // [B1, V7, U1] test { try toUnicodeFail("\xf0\x9d\xa8\x96\xf0\x90\xa9\x99\xe3\x80\x82\xdb\x9d\xf3\x80\xa1\xb6\xea\xa3\x85\xe2\x92\x88"); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa8\x96\xf0\x90\xa9\x99\xe3\x80\x82\xdb\x9d\xf3\x80\xa1\xb6\xea\xa3\x85\xe2\x92\x88", false); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa8\x96\xf0\x90\xa9\x99\xe3\x80\x82\xdb\x9d\xf3\x80\xa1\xb6\xea\xa3\x85\xe2\x92\x88", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf0\x9d\xa8\x96\xf0\x90\xa9\x99\xe3\x80\x82\xdb\x9d\xf3\x80\xa1\xb6\xea\xa3\x851."); } // [B1, V6, V7] +test { try toAsciiFail("\xf0\x9d\xa8\x96\xf0\x90\xa9\x99\xe3\x80\x82\xdb\x9d\xf3\x80\xa1\xb6\xea\xa3\x851.", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("\xf0\x9d\xa8\x96\xf0\x90\xa9\x99\xe3\x80\x82\xdb\x9d\xf3\x80\xa1\xb6\xea\xa3\x851.", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--rt9cl956a.xn--1-dxc8545j0693i."); } // [B1, V6, V7] +test { try toAsciiFail("xn--rt9cl956a.xn--1-dxc8545j0693i.", false); } // [B1, V6, V7, A4_2] +test { try toAsciiFail("xn--rt9cl956a.xn--1-dxc8545j0693i.", true); } // [B1, V6, V7, A4_2] test { try toUnicodeFail("xn--rt9cl956a.xn--tlb403mxv4g06s9i"); } // [B1, V6, V7] +test { try toAsciiFail("xn--rt9cl956a.xn--tlb403mxv4g06s9i", false); } // [B1, V6, V7] +test { try toAsciiFail("xn--rt9cl956a.xn--tlb403mxv4g06s9i", true); } // [B1, V6, V7] test { try toUnicodeFail("\xf2\x92\x88\xa3\xd7\xa1\xda\xb8\xe3\x80\x82\xe1\x82\xa8\xe2\x80\x8d"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xf2\x92\x88\xa3\xd7\xa1\xda\xb8\xe3\x80\x82\xe1\x82\xa8\xe2\x80\x8d", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xf2\x92\x88\xa3\xd7\xa1\xda\xb8\xe3\x80\x82\xe1\x82\xa8\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf2\x92\x88\xa3\xd7\xa1\xda\xb8\xe3\x80\x82\xe2\xb4\x88\xe2\x80\x8d"); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xf2\x92\x88\xa3\xd7\xa1\xda\xb8\xe3\x80\x82\xe2\xb4\x88\xe2\x80\x8d", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("\xf2\x92\x88\xa3\xd7\xa1\xda\xb8\xe3\x80\x82\xe2\xb4\x88\xe2\x80\x8d", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--meb44b57607c.xn--zkj"); } // [B5, B6, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--zkj", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--zkj", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--meb44b57607c.xn--1ug232c"); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--1ug232c", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--1ug232c", true); } // [B5, B6, C2, V7] test { try toUnicodeFail("xn--meb44b57607c.xn--gnd"); } // [B5, B6, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--gnd", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--gnd", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--meb44b57607c.xn--gnd699e"); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--gnd699e", false); } // [B5, B6, C2, V7] +test { try toAsciiFail("xn--meb44b57607c.xn--gnd699e", true); } // [B5, B6, C2, V7] test { try toUnicodeFail("\xf3\x80\x9a\xb6\xf0\x9d\xa8\xb1\xdf\xa6\xe2\x92\x88\xef\xbc\x8e\xf0\x91\x97\x9d\xe9\xab\xaf\xe2\x80\x8c"); } // [B1, B5, C1, V6, V7] +test { try toAsciiFail("\xf3\x80\x9a\xb6\xf0\x9d\xa8\xb1\xdf\xa6\xe2\x92\x88\xef\xbc\x8e\xf0\x91\x97\x9d\xe9\xab\xaf\xe2\x80\x8c", false); } // [B1, B5, C1, V6, V7] +test { try toAsciiFail("\xf3\x80\x9a\xb6\xf0\x9d\xa8\xb1\xdf\xa6\xe2\x92\x88\xef\xbc\x8e\xf0\x91\x97\x9d\xe9\xab\xaf\xe2\x80\x8c", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("\xf3\x80\x9a\xb6\xf0\x9d\xa8\xb1\xdf\xa61..\xf0\x91\x97\x9d\xe9\xab\xaf\xe2\x80\x8c"); } // [B1, B5, C1, V6, V7, X4_2] +test { try toAsciiFail("\xf3\x80\x9a\xb6\xf0\x9d\xa8\xb1\xdf\xa61..\xf0\x91\x97\x9d\xe9\xab\xaf\xe2\x80\x8c", false); } // [B1, B5, C1, V6, V7, A4_2] +test { try toAsciiFail("\xf3\x80\x9a\xb6\xf0\x9d\xa8\xb1\xdf\xa61..\xf0\x91\x97\x9d\xe9\xab\xaf\xe2\x80\x8c", true); } // [B1, B5, V6, V7, A4_2] test { try toUnicodeFail("xn--1-idd62296a1fr6e..xn--uj6at43v"); } // [B1, B5, V6, V7, X4_2] +test { try toAsciiFail("xn--1-idd62296a1fr6e..xn--uj6at43v", false); } // [B1, B5, V6, V7, A4_2] +test { try toAsciiFail("xn--1-idd62296a1fr6e..xn--uj6at43v", true); } // [B1, B5, V6, V7, A4_2] test { try toUnicodeFail("xn--1-idd62296a1fr6e..xn--0ugx259bocxd"); } // [B1, B5, C1, V6, V7, X4_2] +test { try toAsciiFail("xn--1-idd62296a1fr6e..xn--0ugx259bocxd", false); } // [B1, B5, C1, V6, V7, A4_2] +test { try toAsciiFail("xn--1-idd62296a1fr6e..xn--0ugx259bocxd", true); } // [B1, B5, C1, V6, V7, A4_2] test { try toUnicodeFail("xn--etb477lq931a1f58e.xn--uj6at43v"); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--etb477lq931a1f58e.xn--uj6at43v", false); } // [B1, B5, V6, V7] +test { try toAsciiFail("xn--etb477lq931a1f58e.xn--uj6at43v", true); } // [B1, B5, V6, V7] test { try toUnicodeFail("xn--etb477lq931a1f58e.xn--0ugx259bocxd"); } // [B1, B5, C1, V6, V7] +test { try toAsciiFail("xn--etb477lq931a1f58e.xn--0ugx259bocxd", false); } // [B1, B5, C1, V6, V7] +test { try toAsciiFail("xn--etb477lq931a1f58e.xn--0ugx259bocxd", true); } // [B1, B5, C1, V6, V7] test { try toUnicodePass("\xf0\x90\xab\x80\xef\xbc\x8e\xda\x89\xf0\x91\x8c\x80", "\xf0\x90\xab\x80.\xda\x89\xf0\x91\x8c\x80"); } test { try toAsciiPass("\xf0\x90\xab\x80\xef\xbc\x8e\xda\x89\xf0\x91\x8c\x80", "xn--pw9c.xn--fjb8658k", false); } test { try toAsciiPass("\xf0\x90\xab\x80\xef\xbc\x8e\xda\x89\xf0\x91\x8c\x80", "xn--pw9c.xn--fjb8658k", true); } @@ -7617,61 +19053,179 @@ test { try toUnicodePass("xn--pw9c.xn--fjb8658k", "\xf0\x90\xab\x80.\xda\x89\xf0 test { try toAsciiPass("xn--pw9c.xn--fjb8658k", "xn--pw9c.xn--fjb8658k", false); } test { try toAsciiPass("xn--pw9c.xn--fjb8658k", "xn--pw9c.xn--fjb8658k", true); } test { try toUnicodeFail("\xf0\x91\x8b\xaa\xef\xbc\x8e\xf0\x90\xb3\x9d"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xef\xbc\x8e\xf0\x90\xb3\x9d", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xef\xbc\x8e\xf0\x90\xb3\x9d", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\x8b\xaa.\xf0\x90\xb3\x9d"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa.\xf0\x90\xb3\x9d", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa.\xf0\x90\xb3\x9d", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\x8b\xaa.\xf0\x90\xb2\x9d"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa.\xf0\x90\xb2\x9d", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa.\xf0\x90\xb2\x9d", true); } // [B1, V6] test { try toUnicodeFail("xn--fm1d.xn--5c0d"); } // [B1, V6] +test { try toAsciiFail("xn--fm1d.xn--5c0d", false); } // [B1, V6] +test { try toAsciiFail("xn--fm1d.xn--5c0d", true); } // [B1, V6] test { try toUnicodeFail("\xf0\x91\x8b\xaa\xef\xbc\x8e\xf0\x90\xb2\x9d"); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xef\xbc\x8e\xf0\x90\xb2\x9d", false); } // [B1, V6] +test { try toAsciiFail("\xf0\x91\x8b\xaa\xef\xbc\x8e\xf0\x90\xb2\x9d", true); } // [B1, V6] test { try toUnicodeFail("\xe2\x89\xa0\xe8\x86\xa3\xe3\x80\x82\xe0\xbe\x83"); } // [V6] +test { try toAsciiFail("\xe2\x89\xa0\xe8\x86\xa3\xe3\x80\x82\xe0\xbe\x83", false); } // [V6] +test { try toAsciiFail("\xe2\x89\xa0\xe8\x86\xa3\xe3\x80\x82\xe0\xbe\x83", true); } // [V6] test { try toUnicodeFail("=\xcc\xb8\xe8\x86\xa3\xe3\x80\x82\xe0\xbe\x83"); } // [V6] +test { try toAsciiFail("=\xcc\xb8\xe8\x86\xa3\xe3\x80\x82\xe0\xbe\x83", false); } // [V6] +test { try toAsciiFail("=\xcc\xb8\xe8\x86\xa3\xe3\x80\x82\xe0\xbe\x83", true); } // [V6] test { try toUnicodeFail("xn--1chy468a.xn--2ed"); } // [V6] +test { try toAsciiFail("xn--1chy468a.xn--2ed", false); } // [V6] +test { try toAsciiFail("xn--1chy468a.xn--2ed", true); } // [V6] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1\xc3\x9f"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1\xc3\x9f", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1\xc3\x9f", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82\xc3\x9f"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82\xc3\x9f", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82\xc3\x9f", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82SS"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82SS", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82SS", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82ss"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82ss", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82ss", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82Ss"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82Ss", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xe3\x80\x82Ss", true); } // [B5, B6, V7] test { try toUnicodeFail("xn----j6c95618k.ss"); } // [B5, B6, V7] +test { try toAsciiFail("xn----j6c95618k.ss", false); } // [B5, B6, V7] +test { try toAsciiFail("xn----j6c95618k.ss", true); } // [B5, B6, V7] test { try toUnicodeFail("xn----j6c95618k.xn--zca"); } // [B5, B6, V7] +test { try toAsciiFail("xn----j6c95618k.xn--zca", false); } // [B5, B6, V7] +test { try toAsciiFail("xn----j6c95618k.xn--zca", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1SS"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1SS", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1SS", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1ss"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1ss", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1ss", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1Ss"); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1Ss", false); } // [B5, B6, V7] +test { try toAsciiFail("\xf1\xb0\x80\x8e-\xdd\xbd\xef\xbd\xa1Ss", true); } // [B5, B6, V7] test { try toUnicodeFail("\xcf\x82\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x82\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x82\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xcf\x82\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x82\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x82\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xce\xa3\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c"); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", false); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xcf\x83\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3.\xe9\x9d\x91\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--4xa656hp23pxmc.xn--es5a888tvjc2u15h"); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa656hp23pxmc.xn--es5a888tvjc2u15h", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--4xa656hp23pxmc.xn--es5a888tvjc2u15h", true); } // [B5, B6, V7] test { try toUnicodeFail("xn--3xa856hp23pxmc.xn--es5a888tvjc2u15h"); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa856hp23pxmc.xn--es5a888tvjc2u15h", false); } // [B5, B6, V7] +test { try toAsciiFail("xn--3xa856hp23pxmc.xn--es5a888tvjc2u15h", true); } // [B5, B6, V7] test { try toUnicodeFail("\xce\xa3\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c"); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", false); } // [B5, B6, V7] +test { try toAsciiFail("\xce\xa3\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xcf\x83\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c"); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", false); } // [B5, B6, V7] +test { try toAsciiFail("\xcf\x83\xf0\x90\xb9\xa0\xe1\xa1\x9a\xf0\x91\x84\xb3\xef\xbc\x8e\xe2\xbe\xad\xf0\x90\xb9\xbd\xf0\xbd\x90\x96\xf0\x90\xab\x9c", true); } // [B5, B6, V7] test { try toUnicodeFail("\xf0\x90\x8b\xb7\xe3\x80\x82\xe2\x80\x8d"); } // [C2] +test { try toAsciiFail("\xf0\x90\x8b\xb7\xe3\x80\x82\xe2\x80\x8d", false); } // [C2] +test { try toAsciiFail("\xf0\x90\x8b\xb7\xe3\x80\x82\xe2\x80\x8d", true); } // [A4_2] test { try toUnicodePass("xn--r97c.", "\xf0\x90\x8b\xb7."); } +test { try toAsciiFail("xn--r97c.", false); } // [A4_2] +test { try toAsciiFail("xn--r97c.", true); } // [A4_2] test { try toUnicodePass("\xf0\x90\x8b\xb7.", "\xf0\x90\x8b\xb7."); } +test { try toAsciiFail("\xf0\x90\x8b\xb7.", false); } // [A4_2] +test { try toAsciiFail("\xf0\x90\x8b\xb7.", true); } // [A4_2] test { try toUnicodeFail("xn--r97c.xn--1ug"); } // [C2] +test { try toAsciiFail("xn--r97c.xn--1ug", false); } // [C2] +test { try toAsciiFail("xn--r97c.xn--1ug", true); } // [C2] test { try toUnicodeFail("\xf0\x91\xb0\xb3\xf0\x91\x88\xaf\xe3\x80\x82\xe2\xa5\xaa"); } // [V6] +test { try toAsciiFail("\xf0\x91\xb0\xb3\xf0\x91\x88\xaf\xe3\x80\x82\xe2\xa5\xaa", false); } // [V6] +test { try toAsciiFail("\xf0\x91\xb0\xb3\xf0\x91\x88\xaf\xe3\x80\x82\xe2\xa5\xaa", true); } // [V6] test { try toUnicodeFail("xn--2g1d14o.xn--jti"); } // [V6] +test { try toAsciiFail("xn--2g1d14o.xn--jti", false); } // [V6] +test { try toAsciiFail("xn--2g1d14o.xn--jti", true); } // [V6] test { try toUnicodeFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3\xef\xbc\x8e\xe1\x82\xb5\xf0\x9d\x9f\x9c\xe2\x80\x8c\xcd\x88"); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3\xef\xbc\x8e\xe1\x82\xb5\xf0\x9d\x9f\x9c\xe2\x80\x8c\xcd\x88", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3\xef\xbc\x8e\xe1\x82\xb5\xf0\x9d\x9f\x9c\xe2\x80\x8c\xcd\x88", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3.\xe1\x82\xb54\xe2\x80\x8c\xcd\x88"); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3.\xe1\x82\xb54\xe2\x80\x8c\xcd\x88", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3.\xe1\x82\xb54\xe2\x80\x8c\xcd\x88", true); } // [V6, V7] test { try toUnicodeFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3.\xe2\xb4\x954\xe2\x80\x8c\xcd\x88"); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3.\xe2\xb4\x954\xe2\x80\x8c\xcd\x88", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3.\xe2\xb4\x954\xe2\x80\x8c\xcd\x88", true); } // [V6, V7] test { try toUnicodeFail("xn--1mnx647cg3x1b.xn--4-zfb5123a"); } // [V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb5123a", false); } // [V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb5123a", true); } // [V6, V7] test { try toUnicodeFail("xn--1mnx647cg3x1b.xn--4-zfb502tlsl"); } // [C1, V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb502tlsl", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb502tlsl", true); } // [C1, V6, V7] test { try toUnicodeFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3\xef\xbc\x8e\xe2\xb4\x95\xf0\x9d\x9f\x9c\xe2\x80\x8c\xcd\x88"); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3\xef\xbc\x8e\xe2\xb4\x95\xf0\x9d\x9f\x9c\xe2\x80\x8c\xcd\x88", false); } // [C1, V6, V7] +test { try toAsciiFail("\xf0\x91\x86\x80\xe4\x81\xb4\xf1\xa4\xa7\xa3\xef\xbc\x8e\xe2\xb4\x95\xf0\x9d\x9f\x9c\xe2\x80\x8c\xcd\x88", true); } // [V6, V7] test { try toUnicodeFail("xn--1mnx647cg3x1b.xn--4-zfb324h"); } // [V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb324h", false); } // [V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb324h", true); } // [V6, V7] test { try toUnicodeFail("xn--1mnx647cg3x1b.xn--4-zfb324h32o"); } // [C1, V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb324h32o", false); } // [C1, V6, V7] +test { try toAsciiFail("xn--1mnx647cg3x1b.xn--4-zfb324h32o", true); } // [C1, V6, V7] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.\xf0\x90\x8b\xae\xe2\x80\x8d\xe2\x89\xa0"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.\xf0\x90\x8b\xae\xe2\x80\x8d\xe2\x89\xa0", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.\xf0\x90\x8b\xae\xe2\x80\x8d\xe2\x89\xa0", true); } // [U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.\xf0\x90\x8b\xae\xe2\x80\x8d=\xcc\xb8"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.\xf0\x90\x8b\xae\xe2\x80\x8d=\xcc\xb8", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.\xf0\x90\x8b\xae\xe2\x80\x8d=\xcc\xb8", true); } // [U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.\xf0\x90\x8b\xae\xe2\x80\x8d=\xcc\xb8"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.\xf0\x90\x8b\xae\xe2\x80\x8d=\xcc\xb8", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.\xf0\x90\x8b\xae\xe2\x80\x8d=\xcc\xb8", true); } // [U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.\xf0\x90\x8b\xae\xe2\x80\x8d\xe2\x89\xa0"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.\xf0\x90\x8b\xae\xe2\x80\x8d\xe2\x89\xa0", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.\xf0\x90\x8b\xae\xe2\x80\x8d\xe2\x89\xa0", true); } // [U1] test { try toUnicodeFail("xn--?-fwsr13r.xn--1chz659f"); } // [U1] +test { try toAsciiFail("xn--?-fwsr13r.xn--1chz659f", false); } // [U1] +test { try toAsciiFail("xn--?-fwsr13r.xn--1chz659f", true); } // [U1] test { try toUnicodeFail("xn--?-sgn310doh5c.xn--1ug73gl146a"); } // [C1, C2, U1] +test { try toAsciiFail("xn--?-sgn310doh5c.xn--1ug73gl146a", false); } // [C1, C2, U1] +test { try toAsciiFail("xn--?-sgn310doh5c.xn--1ug73gl146a", true); } // [C1, C2, U1] test { try toUnicodeFail("xn--?-c1g3623d.xn--1chz659f"); } // [V7, U1] +test { try toAsciiFail("xn--?-c1g3623d.xn--1chz659f", false); } // [V7, U1] +test { try toAsciiFail("xn--?-c1g3623d.xn--1chz659f", true); } // [V7, U1] test { try toUnicodeFail("xn--?-c1g798iy27d.xn--1ug73gl146a"); } // [C1, C2, V7, U1] +test { try toAsciiFail("xn--?-c1g798iy27d.xn--1ug73gl146a", false); } // [C1, C2, V7, U1] +test { try toAsciiFail("xn--?-c1g798iy27d.xn--1ug73gl146a", true); } // [C1, C2, V7, U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\xb4\x94.xn--1chz659f"); } // [U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\xb4\x94.xn--1chz659f", false); } // [U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\xb4\x94.xn--1chz659f", true); } // [U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe1\x82\xb4.XN--1CHZ659F"); } // [U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.XN--1CHZ659F", false); } // [U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.XN--1CHZ659F", true); } // [U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe1\x82\xb4.xn--1chz659f"); } // [U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.xn--1chz659f", false); } // [U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.xn--1chz659f", true); } // [U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.xn--1ug73gl146a"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.xn--1ug73gl146a", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe2\xb4\x94.xn--1ug73gl146a", true); } // [C2, U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.XN--1UG73GL146A"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.XN--1UG73GL146A", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.XN--1UG73GL146A", true); } // [C2, U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.xn--1ug73gl146a"); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.xn--1ug73gl146a", false); } // [C1, C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\x80\x8c\xe1\x82\xb4.xn--1ug73gl146a", true); } // [C2, U1] test { try toUnicodeFail("xn--?-fwsr13r.xn--1ug73gl146a"); } // [C2, U1] +test { try toAsciiFail("xn--?-fwsr13r.xn--1ug73gl146a", false); } // [C2, U1] +test { try toAsciiFail("xn--?-fwsr13r.xn--1ug73gl146a", true); } // [C2, U1] test { try toUnicodeFail("xn--?-c1g3623d.xn--1ug73gl146a"); } // [C2, V7, U1] +test { try toAsciiFail("xn--?-c1g3623d.xn--1ug73gl146a", false); } // [C2, V7, U1] +test { try toAsciiFail("xn--?-c1g3623d.xn--1ug73gl146a", true); } // [C2, V7, U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe1\x82\xb4.xn--1ug73gl146a"); } // [C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.xn--1ug73gl146a", false); } // [C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.xn--1ug73gl146a", true); } // [C2, U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe2\xb4\x94.xn--1ug73gl146a"); } // [C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\xb4\x94.xn--1ug73gl146a", false); } // [C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe2\xb4\x94.xn--1ug73gl146a", true); } // [C2, U1] test { try toUnicodeFail("\xe6\x86\xa1?\xe1\x82\xb4.XN--1UG73GL146A"); } // [C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.XN--1UG73GL146A", false); } // [C2, U1] +test { try toAsciiFail("\xe6\x86\xa1?\xe1\x82\xb4.XN--1UG73GL146A", true); } // [C2, U1] -- 2.54.0