diff options
author | Marek Safar <marek.safar@gmail.com> | 2013-03-29 21:35:17 +0400 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2013-03-29 21:36:55 +0400 |
commit | dbdab197a7960ff2d373577ca0bbc39c4ffafa0a (patch) | |
tree | 30266ddf07606737a1a99101304f2418356ae4f6 /mcs/class/System.Data | |
parent | 1f739060e594cc427676bd36ebf8bb8701736023 (diff) |
Make table name comparison dataset locale specific. Fixes #7899
Diffstat (limited to 'mcs/class/System.Data')
-rw-r--r-- | mcs/class/System.Data/System.Data/DataTableCollection.cs | 4 | ||||
-rw-r--r-- | mcs/class/System.Data/Test/System.Data/DataSetTest2.cs | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/mcs/class/System.Data/System.Data/DataTableCollection.cs b/mcs/class/System.Data/System.Data/DataTableCollection.cs index 21204a5d568..36e93707be5 100644 --- a/mcs/class/System.Data/System.Data/DataTableCollection.cs +++ b/mcs/class/System.Data/System.Data/DataTableCollection.cs @@ -274,9 +274,9 @@ namespace System.Data int count = 0, match = -1; for (int i = start; i < List.Count; i++) { String name2 = ((DataTable) List[i]).TableName; - if (String.Compare (name, name2, false) == 0) + if (String.Compare (name, name2, false, dataSet.Locale) == 0) return i; - if (String.Compare (name, name2, true) == 0) { + if (String.Compare (name, name2, true, dataSet.Locale) == 0) { match = i; count++; } diff --git a/mcs/class/System.Data/Test/System.Data/DataSetTest2.cs b/mcs/class/System.Data/Test/System.Data/DataSetTest2.cs index 1bb06ff6c4b..27df0f58984 100644 --- a/mcs/class/System.Data/Test/System.Data/DataSetTest2.cs +++ b/mcs/class/System.Data/Test/System.Data/DataSetTest2.cs @@ -37,6 +37,7 @@ using MonoTests.System.Data.Utils; using System.Xml; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; +using System.Globalization; namespace MonoTests_System.Data { @@ -985,6 +986,17 @@ namespace MonoTests_System.Data Assert.AreEqual(culInfo , ds.Locale , "DS157"); } + [Test] + [SetCulture ("cs-CZ")] + public void DataSetSpecificCulture () + { + var ds = new DataSet() ; + ds.Locale = CultureInfo.GetCultureInfo (1033); + var dt = ds.Tables.Add ("machine"); + dt.Locale = ds.Locale; + Assert.AreSame (dt, ds.Tables["MACHINE"]); + } + [Test] public void MergeFailed() { EventRaised = false; |