String.StartWith has culture in it.
-----------------------------------
Key: LUCENENET-420
URL: https://issues.apache.org/jira/browse/LUCENENET-420
Project: Lucene.Net
Issue Type: Bug
Components: Lucene.Net Core
Affects Versions: Lucene.Net 2.9.2, Lucene.Net 2.9.4, Lucene.Net 3.x
Environment: .NET in (at least) da-DK culture
Reporter: Niels Kühnel
Fix For: Lucene.Net 2.9.2, Lucene.Net 2.9.4, Lucene.Net 3.x
I've been hunting a weird bug for a long time. I finally found it's cause.
I'm Danish, thus my .NET culture is "da-DK". In this culture "Gaard", doesn't
start with "Ga" because it thinks that "aa" is "å" (in Danish it was before
1948).
That gives some unexpected results when doing prefix queries.
The solution is to add StringComparison.InvariantCulture in all StartsWith
comparisons.
To verify my claim, try running:
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("da-DK");
Assert.IsFalse("Gaard".StartsWith("Ga"));
Assert.IsTrue("Gaard".StartsWith("Ga", StringComparison.InvariantCulture));
Cheers,
Niels Kühnel
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira