diff options
Diffstat (limited to 'mcs/class/corlib')
-rw-r--r-- | mcs/class/corlib/System.Globalization/CultureInfo.cs | 5 | ||||
-rw-r--r-- | mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/mcs/class/corlib/System.Globalization/CultureInfo.cs b/mcs/class/corlib/System.Globalization/CultureInfo.cs index e9f9ac4f7b0..7865e0c92bb 100644 --- a/mcs/class/corlib/System.Globalization/CultureInfo.cs +++ b/mcs/class/corlib/System.Globalization/CultureInfo.cs @@ -417,11 +417,12 @@ namespace System.Globalization // The runtime returns a NULL in the first position of the array when // 'neutral' is true. We fill it in with a clone of InvariantCulture // since it must not be read-only + int i = 0; if (neutral && infos.Length > 0 && infos [0] == null) { - infos [0] = (CultureInfo) InvariantCulture.Clone (); + infos [i++] = (CultureInfo) InvariantCulture.Clone (); } - for (int i = 1; i < infos.Length; ++i) { + for (; i < infos.Length; ++i) { var ci = infos [i]; infos [i].m_cultureData = CultureData.GetCultureData (ci.m_name, false, ci.datetime_index, ci.CalendarType, ci.iso2lang); } diff --git a/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs b/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs index 3b743845371..48a8e76b63d 100644 --- a/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs +++ b/mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs @@ -226,6 +226,15 @@ namespace MonoTests.System.Globalization } [Test] + public void GetAllCultures_Specific () + { + CultureInfo [] infos = CultureInfo.GetCultures (CultureTypes.SpecificCultures); + foreach (CultureInfo ci in infos) { + Assert.IsNotNull (ci.DateTimeFormat); + } + } + + [Test] #if !NET_4_0 [ExpectedException (typeof (NotSupportedException))] #endif |