You've already forked linux-packaging-mono
Imported Upstream version 5.20.1.12
Former-commit-id: a44e4f5d88f923f0c98bbc6104e8bf0f469c3ba3
This commit is contained in:
parent
6220b8eaaf
commit
397341fa61
@ -55,6 +55,8 @@ namespace MonoTests.System
|
||||
return "GTB Standard Time";
|
||||
case "US/Eastern":
|
||||
return "Eastern Standard Time";
|
||||
case "US/Central":
|
||||
return "Central Standard Time";
|
||||
case "US/Pacific":
|
||||
return "Pacific Standard Time";
|
||||
case "Australia/Sydney":
|
||||
@ -385,23 +387,28 @@ namespace MonoTests.System
|
||||
[Test]
|
||||
public void TestAthensDST_InDSTDelta ()
|
||||
{
|
||||
// In .NET GetUtcOffset() returns the BaseUtcOffset for times within the hour
|
||||
// lost when DST starts but IsDaylightSavingTime() returns true.
|
||||
|
||||
// In .NET/.Net Core GetUtcOffset() returns the BaseUtcOffset for times within the hour
|
||||
// lost when DST starts and IsDaylightSavingTime() returns false for datetime and true for datetimeoffset
|
||||
|
||||
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById (MapTimeZoneId ("Europe/Athens"));
|
||||
|
||||
var date = new DateTime (2014, 3, 30 , 3, 0, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
var date = new DateTime (2014, 3, 30 , 2, 0, 0);
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
date = new DateTime (2014, 3, 30 , 3, 0, 0);
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
date = new DateTime (2014, 3, 30 , 3, 1, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
date = new DateTime (2014, 3, 30 , 3, 59, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
@ -429,17 +436,17 @@ namespace MonoTests.System
|
||||
try {
|
||||
|
||||
var date = new DateTime (2014, 3, 30 , 3, 0, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
date = new DateTime (2014, 3, 30 , 3, 1, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
date = new DateTime (2014, 3, 30 , 3, 59, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (2, 0, 0), tzi.GetUtcOffset (date));
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (new DateTimeOffset (date, tzi.GetUtcOffset (date))));
|
||||
|
||||
@ -467,6 +474,31 @@ namespace MonoTests.System
|
||||
dateOffset = new DateTimeOffset (date, offset);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (dateOffset));
|
||||
}
|
||||
|
||||
// https://github.com/mono/mono/issues/9664
|
||||
[Test]
|
||||
public void Bug_9664 ()
|
||||
{
|
||||
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById (MapTimeZoneId ("US/Central"));
|
||||
var date = new DateTime (2019, 3, 9, 21, 0, 0);
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (-6, 0, 0), tzi.GetUtcOffset (date));
|
||||
|
||||
tzi = TimeZoneInfo.FindSystemTimeZoneById (MapTimeZoneId ("US/Central"));
|
||||
date = new DateTime (2019, 3, 10, 2, 0, 0);
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (-6, 0, 0), tzi.GetUtcOffset (date));
|
||||
|
||||
tzi = TimeZoneInfo.FindSystemTimeZoneById (MapTimeZoneId ("US/Central"));
|
||||
date = new DateTime (2019, 3, 10, 2, 30, 0);
|
||||
Assert.IsFalse (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (-6, 0, 0), tzi.GetUtcOffset (date));
|
||||
|
||||
tzi = TimeZoneInfo.FindSystemTimeZoneById (MapTimeZoneId ("US/Central"));
|
||||
date = new DateTime (2019, 3, 10, 3, 0, 0);
|
||||
Assert.IsTrue (tzi.IsDaylightSavingTime (date));
|
||||
Assert.AreEqual (new TimeSpan (-5, 0, 0), tzi.GetUtcOffset (date));
|
||||
}
|
||||
}
|
||||
|
||||
[TestFixture]
|
||||
|
Reference in New Issue
Block a user