summaryrefslogtreecommitdiff
path: root/src/corefx
diff options
context:
space:
mode:
authorEric Erhardt <eric.erhardt@microsoft.com>2016-01-13 11:05:11 -0600
committerEric Erhardt <eric.erhardt@microsoft.com>2016-01-13 11:06:23 -0600
commit6cb2ac46f482daec74fc136675ae4007437bc10d (patch)
treeb57e7d95758cc0f72f29d238abf61e7d54ceefe6 /src/corefx
parenta31dbef16b121d388068f19c73516a611b65cfe8 (diff)
downloadcoreclr-6cb2ac46f482daec74fc136675ae4007437bc10d.tar.gz
coreclr-6cb2ac46f482daec74fc136675ae4007437bc10d.tar.bz2
coreclr-6cb2ac46f482daec74fc136675ae4007437bc10d.zip
IdnMapping GetUnicode conformance tests fail
The IdnaConformanceTests fail on Unix because \u00DF, \u200C and \u200D characters are not being handled as specified in the http://www.unicode.org/Public/idna/6.0.0/IdnaTest.txt file. The fix is to use UIDNA_NONTRANSITIONAL_TO_UNICODE and UIDNA_CHECK_CONTEXTJ options when calling uidna_openUTS46. Partial fix for https://github.com/dotnet/corefx/issues/3406.
Diffstat (limited to 'src/corefx')
-rw-r--r--src/corefx/System.Globalization.Native/idna.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corefx/System.Globalization.Native/idna.cpp b/src/corefx/System.Globalization.Native/idna.cpp
index 024c02a6c8..6101296f42 100644
--- a/src/corefx/System.Globalization.Native/idna.cpp
+++ b/src/corefx/System.Globalization.Native/idna.cpp
@@ -12,7 +12,8 @@ const uint32_t UseStd3AsciiRules = 0x2;
uint32_t GetOptions(uint32_t flags)
{
- uint32_t options = UIDNA_DEFAULT;
+ // Using Nontransitional to Unicode and Check ContextJ to match the current behavior of .NET on Windows
+ uint32_t options = UIDNA_NONTRANSITIONAL_TO_UNICODE | UIDNA_CHECK_CONTEXTJ;
if ((flags & AllowUnassigned) == AllowUnassigned)
{