Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2013-03-29 21:35:17 +0400
committerMarek Safar <marek.safar@gmail.com>2013-03-29 21:36:55 +0400
commitdbdab197a7960ff2d373577ca0bbc39c4ffafa0a (patch)
tree30266ddf07606737a1a99101304f2418356ae4f6 /mcs/class/System.Data
parent1f739060e594cc427676bd36ebf8bb8701736023 (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.cs4
-rw-r--r--mcs/class/System.Data/Test/System.Data/DataSetTest2.cs12
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;