提交 7dcf0500 编写于 作者: M Martin Strecker

Revert "Test failure: Changed VB script...

Revert "Test failure: Changed VB script TestDisplayResultsWithCurrentUICulture1 to use three different cultures. Test shows unexpected results."

This reverts commit 8e05074b.
上级 8e05074b
......@@ -121,48 +121,35 @@ End Class", "1").EmitToArray())
<Fact()>
<WorkItem(7133, "https://github.com/dotnet/roslyn/issues/7133")>
<UseCulture("fr-FR")>
Public Sub TestDisplayResultsWithCurrentUICulture1()
Dim logoAndHelpPrompt = String.Format(VBScriptingResources.LogoLine1, s_compilerVersion) + vbNewLine + VBScriptingResources.LogoLine2 + "
" + ScriptingResources.HelpPrompt
' The runner starts with DefaultThreadCurrentUICulture set to fr-FR (via UseCulture attribute),
' switches to en-US and after that to de-DE. A DateTime should be printed with the following formats:
' fr-FR: #01/01/0001 00:00:00#
' en-US: #1/1/0001 12:00:00 AM#
' de-DE: #01.01.0001 00:00:00#
Dim runner = CreateRunner(args:={}, input:="Imports System.Globalization
Dim d = New System.DateTime()
? d
? System.Math.PI
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo(""en-US"")
? d
' Save the current thread culture as it is changed in the test.
' If the culture is not restored after the test all following tests
' would run in the en-GB culture.
Dim currentCulture = CultureInfo.DefaultThreadCurrentCulture
Dim currentUICulture = CultureInfo.DefaultThreadCurrentUICulture
Try
Dim runner = CreateRunner(args:={}, input:="Imports System.Globalization
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo(""en-GB"")
? System.Math.PI
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo(""de-DE"")
? d
? System.Math.PI")
runner.RunInteractive()
runner.RunInteractive()
AssertEx.AssertEqualToleratingWhitespaceDifferences(
logoAndHelpPrompt + "
AssertEx.AssertEqualToleratingWhitespaceDifferences(
s_logoAndHelpPrompt + "
> Imports System.Globalization
> Dim d = New System.DateTime()
> ? d
#01/01/0001 00:00:00#
> ? System.Math.PI
3,1415926535897931
> System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo(""en-US"")
> ? d
#1/1/0001 12:00:00 AM#
> System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo(""en-GB"")
> ? System.Math.PI
3.1415926535897931
> System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo(""de-DE"")
> ? d
#01.01.0001 00:00:00#
> ? System.Math.PI
3,1415926535897931
>", runner.Console.Out.ToString())
Finally
CultureInfo.DefaultThreadCurrentCulture = currentCulture
CultureInfo.DefaultThreadCurrentUICulture = currentUICulture
End Try
End Sub
<Fact()>
......
......@@ -24,12 +24,8 @@ public class UseCultureAttribute : BeforeAfterTestAttribute
{
private readonly Lazy<CultureInfo> _culture;
private readonly Lazy<CultureInfo> _uiCulture;
private readonly Lazy<CultureInfo> _defaultThreadCulture;
private readonly Lazy<CultureInfo> _defaultThreadUICulture;
private CultureInfo _originalCulture;
private CultureInfo _originalUICulture;
private CultureInfo _originalDefaultThreadCulture;
private CultureInfo _originalDefaultThreadUICulture;
/// <summary>
/// Replaces the culture and UI culture of the current thread with
......@@ -55,8 +51,6 @@ public UseCultureAttribute(string culture)
/// <param name="uiCulture">The name of the UI culture.</param>
public UseCultureAttribute(string culture, string uiCulture)
{
_defaultThreadCulture = new Lazy<CultureInfo>(() => CultureInfo.DefaultThreadCurrentCulture);
_defaultThreadUICulture = new Lazy<CultureInfo>(() => CultureInfo.DefaultThreadCurrentUICulture);
#if NET46 || NET461
_culture = new Lazy<CultureInfo>(() => new CultureInfo(culture, useUserOverride: false));
_uiCulture = new Lazy<CultureInfo>(() => new CultureInfo(uiCulture, useUserOverride: false));
......@@ -79,9 +73,6 @@ public UseCultureAttribute(string culture, string uiCulture)
/// </summary>
public CultureInfo UICulture => _uiCulture.Value;
public CultureInfo DefaultThreadCulture => _defaultThreadCulture.Value;
public CultureInfo DefaultThreadUICulture => _defaultThreadUICulture.Value;
/// <summary>
/// Stores the current <see cref="CultureInfo.CurrentCulture" /> and <see cref="CultureInfo.CurrentUICulture" />
/// and replaces them with the new cultures defined in the constructor.
......@@ -91,10 +82,6 @@ public override void Before(MethodInfo methodUnderTest)
{
_originalCulture = CultureInfo.CurrentCulture;
_originalUICulture = CultureInfo.CurrentUICulture;
_originalDefaultThreadCulture = CultureInfo.DefaultThreadCurrentCulture;
_originalDefaultThreadUICulture = CultureInfo.DefaultThreadCurrentUICulture;
CultureInfo.DefaultThreadCurrentCulture = Culture;
CultureInfo.DefaultThreadCurrentUICulture = Culture;
#if NET46 || NET461 || NETCOREAPP2_0
CultureInfo.CurrentCulture = Culture;
......@@ -104,6 +91,8 @@ public override void Before(MethodInfo methodUnderTest)
CultureInfo.CurrentCulture.ClearCachedData();
CultureInfo.CurrentUICulture.ClearCachedData();
#endif
#else
throw new NotSupportedException("Cannot set the current culture on this framework target.");
#endif
}
......@@ -114,8 +103,6 @@ public override void Before(MethodInfo methodUnderTest)
/// <param name="methodUnderTest">The method under test</param>
public override void After(MethodInfo methodUnderTest)
{
CultureInfo.DefaultThreadCurrentCulture = _originalDefaultThreadCulture;
CultureInfo.DefaultThreadCurrentUICulture = _originalDefaultThreadUICulture;
#if NET46 || NET461 || NETCOREAPP2_0
CultureInfo.CurrentCulture = _originalCulture;
CultureInfo.CurrentUICulture = _originalUICulture;
......@@ -124,6 +111,8 @@ public override void After(MethodInfo methodUnderTest)
CultureInfo.CurrentCulture.ClearCachedData();
CultureInfo.CurrentUICulture.ClearCachedData();
#endif
#else
throw new NotSupportedException("Cannot set the current culture on this framework target.");
#endif
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册