using System.ComponentModel.Design.Serialization;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
-using System.Reflection;
namespace System.ComponentModel
{
culture ??= CultureInfo.CurrentCulture;
- DateTimeFormatInfo? formatInfo = (DateTimeFormatInfo?)culture.GetFormat(typeof(DateTimeFormatInfo));
-
if (culture == CultureInfo.InvariantCulture)
{
return dateOnly.ToString("yyyy-MM-dd", culture);
}
- string format = formatInfo!.ShortDatePattern;
-
- return dateOnly.ToString(format, CultureInfo.CurrentCulture);
+ return dateOnly.ToString(culture.DateTimeFormat.ShortDatePattern, culture);
}
if (destinationType == typeof(InstanceDescriptor) && value is DateOnly date)
format = formatInfo!.ShortDatePattern + " " + formatInfo.ShortTimePattern;
}
- return dt.ToString(format, CultureInfo.CurrentCulture);
+ return dt.ToString(format, culture);
}
if (destinationType == typeof(InstanceDescriptor) && value is DateTime)
format = formatInfo!.ShortDatePattern + " " + formatInfo.ShortTimePattern + " zzz";
}
- return dto.ToString(format, CultureInfo.CurrentCulture);
+ return dto.ToString(format, culture);
}
if (destinationType == typeof(InstanceDescriptor) && value is DateTimeOffset)
{
using System.ComponentModel.Design.Serialization;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
-using System.Reflection;
namespace System.ComponentModel
{
culture ??= CultureInfo.CurrentCulture;
- DateTimeFormatInfo formatInfo = (DateTimeFormatInfo)culture.GetFormat(typeof(DateTimeFormatInfo))!;
-
- return timeOnly.ToString(formatInfo.ShortTimePattern, CultureInfo.CurrentCulture);
+ return timeOnly.ToString(culture.DateTimeFormat.ShortTimePattern, culture);
}
if (destinationType == typeof(InstanceDescriptor) && value is TimeOnly time)
using System.Collections.Generic;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
-using System.Reflection;
-using Microsoft.DotNet.RemoteExecutor;
using Xunit;
namespace System.ComponentModel.Tests
public override IEnumerable<ConvertTest> ConvertToTestData()
{
+ CultureInfo frenchCulture = new CultureInfo("fr-FR");
CultureInfo polandCulture = new CultureInfo("pl-PL");
DateTimeFormatInfo formatInfo = CultureInfo.CurrentCulture.DateTimeFormat;
DateOnly dateOnly = new DateOnly(1998, 12, 5);
yield return ConvertTest.Valid(dateOnly, dateOnly.ToString(formatInfo.ShortDatePattern));
- yield return ConvertTest.Valid(dateOnly, dateOnly.ToString(polandCulture.DateTimeFormat.ShortDatePattern, polandCulture.DateTimeFormat))
+ yield return ConvertTest.Valid(dateOnly, dateOnly.ToString(frenchCulture.DateTimeFormat.ShortDatePattern, frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
+ yield return ConvertTest.Valid(dateOnly, dateOnly.ToString(frenchCulture.DateTimeFormat.ShortDatePattern, frenchCulture.DateTimeFormat), frenchCulture)
.WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(dateOnly, dateOnly.ToString(polandCulture.DateTimeFormat.ShortDatePattern, polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(dateOnly, dateOnly.ToString(polandCulture.DateTimeFormat.ShortDatePattern, polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
yield return ConvertTest.Valid(dateOnly, "1998-12-05", CultureInfo.InvariantCulture)
.WithRemoteInvokeCulture(polandCulture);
using System.Collections.Generic;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
-using System.Reflection;
-using Microsoft.DotNet.RemoteExecutor;
using Xunit;
namespace System.ComponentModel.Tests
public override IEnumerable<ConvertTest> ConvertToTestData()
{
+ CultureInfo frenchCulture = new CultureInfo("fr-FR");
CultureInfo polandCulture = new CultureInfo("pl-PL");
DateTimeFormatInfo formatInfo = CultureInfo.CurrentCulture.DateTimeFormat;
DateTime date = new DateTime(1998, 12, 5);
yield return ConvertTest.Valid(date, date.ToString(formatInfo.ShortDatePattern));
- yield return ConvertTest.Valid(date, date.ToString(polandCulture.DateTimeFormat.ShortDatePattern, polandCulture.DateTimeFormat))
+ yield return ConvertTest.Valid(date, date.ToString(frenchCulture.DateTimeFormat.ShortDatePattern, frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
+ yield return ConvertTest.Valid(date, date.ToString(frenchCulture.DateTimeFormat.ShortDatePattern, frenchCulture.DateTimeFormat), frenchCulture)
.WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(date, date.ToString(polandCulture.DateTimeFormat.ShortDatePattern, polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(date, date.ToString(polandCulture.DateTimeFormat.ShortDatePattern, polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
yield return ConvertTest.Valid(date, "1998-12-05", CultureInfo.InvariantCulture)
.WithRemoteInvokeCulture(polandCulture);
DateTime dateWithTime = new DateTime(1998, 12, 5, 22, 30, 30);
yield return ConvertTest.Valid(dateWithTime, dateWithTime.ToString(formatInfo.ShortDatePattern + " " + formatInfo.ShortTimePattern));
- yield return ConvertTest.Valid(dateWithTime, dateWithTime.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " " + polandCulture.DateTimeFormat.ShortTimePattern, polandCulture.DateTimeFormat))
+ yield return ConvertTest.Valid(dateWithTime, dateWithTime.ToString(frenchCulture.DateTimeFormat.ShortDatePattern + " " + frenchCulture.DateTimeFormat.ShortTimePattern, frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
+ yield return ConvertTest.Valid(dateWithTime, dateWithTime.ToString(frenchCulture.DateTimeFormat.ShortDatePattern + " " + frenchCulture.DateTimeFormat.ShortTimePattern, frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(dateWithTime, dateWithTime.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " " + polandCulture.DateTimeFormat.ShortTimePattern, polandCulture.DateTimeFormat), polandCulture)
.WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(dateWithTime, dateWithTime.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " " + polandCulture.DateTimeFormat.ShortTimePattern, polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
yield return ConvertTest.Valid(dateWithTime, "12/05/1998 22:30:30", CultureInfo.InvariantCulture)
.WithRemoteInvokeCulture(polandCulture);
public override IEnumerable<ConvertTest> ConvertToTestData()
{
+ CultureInfo frenchCulture = new CultureInfo("fr-FR");
CultureInfo polandCulture = new CultureInfo("pl-PL");
DateTimeFormatInfo formatInfo = CultureInfo.CurrentCulture.DateTimeFormat;
DateTimeOffset offset = new DateTimeOffset(new DateTime(1998, 12, 5));
yield return ConvertTest.Valid(offset, offset.ToString(formatInfo.ShortDatePattern + " zzz"));
- yield return ConvertTest.Valid(offset, offset.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " zzz", polandCulture.DateTimeFormat))
- .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(offset, offset.ToString(frenchCulture.DateTimeFormat.ShortDatePattern + " zzz", frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
+ yield return ConvertTest.Valid(offset, offset.ToString(frenchCulture.DateTimeFormat.ShortDatePattern + " zzz", frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(offset, offset.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " zzz", polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(offset, offset.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " zzz", polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
yield return ConvertTest.Valid(offset, offset.ToString("yyyy-MM-dd zzz", CultureInfo.InvariantCulture), CultureInfo.InvariantCulture)
.WithRemoteInvokeCulture(polandCulture);
DateTimeOffset offsetWithTime = new DateTimeOffset(new DateTime(1998, 12, 5, 22, 30, 30));
yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(formatInfo.ShortDatePattern + " " + formatInfo.ShortTimePattern + " zzz"));
- yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " " + polandCulture.DateTimeFormat.ShortTimePattern + " zzz", polandCulture.DateTimeFormat))
+ yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(frenchCulture.DateTimeFormat.ShortDatePattern + " " + frenchCulture.DateTimeFormat.ShortTimePattern + " zzz", frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
+ yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(frenchCulture.DateTimeFormat.ShortDatePattern + " " + frenchCulture.DateTimeFormat.ShortTimePattern + " zzz", frenchCulture.DateTimeFormat), frenchCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " " + polandCulture.DateTimeFormat.ShortTimePattern + " zzz", polandCulture.DateTimeFormat), polandCulture)
.WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(polandCulture.DateTimeFormat.ShortDatePattern + " " + polandCulture.DateTimeFormat.ShortTimePattern + " zzz", polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(frenchCulture);
yield return ConvertTest.Valid(offsetWithTime, offsetWithTime.ToString(CultureInfo.InvariantCulture), CultureInfo.InvariantCulture)
.WithRemoteInvokeCulture(polandCulture);
using System.Collections.Generic;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
-using System.Reflection;
-using Microsoft.DotNet.RemoteExecutor;
using Xunit;
namespace System.ComponentModel.Tests
public override IEnumerable<ConvertTest> ConvertToTestData()
{
+ CultureInfo egyptCulture = new CultureInfo("ar-EG");
CultureInfo polandCulture = new CultureInfo("pl-PL");
DateTimeFormatInfo formatInfo = CultureInfo.CurrentCulture.DateTimeFormat;
TimeOnly timeOnly = new TimeOnly(10, 30, 50);
+ TimeOnly timeOnlyWithMultipleRepresentation = new TimeOnly(13, 14, 15);
yield return ConvertTest.Valid(timeOnly, timeOnly.ToString(formatInfo.ShortTimePattern));
yield return ConvertTest.Valid(timeOnly, timeOnly.ToString(polandCulture.DateTimeFormat.ShortTimePattern, polandCulture.DateTimeFormat))
.WithRemoteInvokeCulture(polandCulture);
+ yield return ConvertTest.Valid(timeOnly, timeOnly.ToString(polandCulture.DateTimeFormat.ShortTimePattern, polandCulture.DateTimeFormat), polandCulture)
+ .WithRemoteInvokeCulture(egyptCulture);
+
yield return ConvertTest.Valid(timeOnly, "10:30", CultureInfo.InvariantCulture);
+ yield return ConvertTest.Valid(timeOnlyWithMultipleRepresentation, timeOnlyWithMultipleRepresentation.ToString(egyptCulture.DateTimeFormat.ShortTimePattern, egyptCulture.DateTimeFormat), egyptCulture)
+ .WithRemoteInvokeCulture(egyptCulture);
+
+ yield return ConvertTest.Valid(timeOnlyWithMultipleRepresentation, timeOnlyWithMultipleRepresentation.ToString(egyptCulture.DateTimeFormat.ShortTimePattern, egyptCulture.DateTimeFormat), egyptCulture)
+ .WithRemoteInvokeCulture(polandCulture);
+
+
yield return ConvertTest.Valid(TimeOnly.MinValue, string.Empty);
yield return ConvertTest.Valid(
using System.Collections.Generic;
using System.ComponentModel.Design.Serialization;
-using System.Diagnostics;
using System.Globalization;
-using System.Linq;
using System.IO;
+using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
-using Microsoft.DotNet.RemoteExecutor;
-using Xunit;
using System.Tests;
+using Xunit;
namespace System.ComponentModel.Tests
{