Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@ -1296,6 +1296,21 @@ namespace MonoTests.System
}
}
[Test]
public void Parse_SameTimeAndDateSeparator ()
{
var fiFI = (CultureInfo) CultureInfo.GetCultureInfo("fi-FI").Clone();
fiFI.DateTimeFormat.TimeSeparator = fiFI.DateTimeFormat.DateSeparator;
var dt = DateTime.Parse("4.3.2010", fiFI);
Assert.AreEqual (2010, dt.Year, "#1");
Assert.AreEqual (3, dt.Month, "#2");
Assert.AreEqual (4, dt.Day, "#3");
}
[Test]
[ExpectedException (typeof (FormatException))]
public void Parse_RequireSpaceSeparator ()
@ -2530,9 +2545,7 @@ namespace MonoTests.System
DateTime expected2 = new DateTime (2011, 03, 22, 08, 32, 00, DateTimeKind.Utc);
string [] cultures = new string [] {"es-ES", "en-US", "en-GB", "de-DE", "fr-FR"
#if NET_4_0
,"es", "en", "de", "fr"
#endif
};
foreach (string culture in cultures) {
@ -2631,5 +2644,28 @@ namespace MonoTests.System
Assert.AreEqual (2, res.Year, "#1");
Assert.AreEqual (12, res.Month, "#2");
}
[Test]
[Culture ("en-us")]
public void ToUniversalTime_TimeZoneOffsetShouldNotOverflow ()
{
var m = DateTime.MaxValue;
var res = m.ToUniversalTime ();
// It does not matter which time zone but we should never overflow or have DateTime.MinValue
Assert.AreEqual (9999, res.Year, "#1");
Assert.AreEqual (12, res.Month, "#2");
Assert.AreEqual (31, res.Day, "#3");
Assert.AreEqual (DateTimeKind.Utc, res.Kind, "#4");
m = DateTime.MinValue;
res = m.ToUniversalTime ();
// It does not matter which time zone but we should never overflow or have DateTime.MinValue
Assert.AreEqual (0, res.Year, "#10");
Assert.AreEqual (1, res.Month, "#11");
Assert.AreEqual (1, res.Day, "#12");
Assert.AreEqual (DateTimeKind.Utc, res.Kind, "#13");
}
}
}