Browse Source

Merge pull request #743 from AvaloniaUI/fixes/718-test-locale-failure

Run certain tests in invariant culture.
pull/751/head
Wiesław Šoltés 10 years ago
committed by GitHub
parent
commit
7bd3a176ef
  1. 2
      tests/Avalonia.Markup.UnitTests/Data/BindingExpressionTests.cs
  2. 2
      tests/Avalonia.Markup.UnitTests/Data/ExpressionObserverTests_DataValidation.cs
  3. 3
      tests/Avalonia.Markup.UnitTests/Data/Plugins/DataAnnotationsValidationPluginTests.cs
  4. 1
      tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj
  5. 33
      tests/Avalonia.UnitTests/InvariantCultureFixture.cs

2
tests/Avalonia.Markup.UnitTests/Data/BindingExpressionTests.cs

@ -14,7 +14,7 @@ using Xunit;
namespace Avalonia.Markup.UnitTests.Data
{
public class BindingExpressionTests
public class BindingExpressionTests : IClassFixture<InvariantCultureFixture>
{
[Fact]
public async void Should_Get_Simple_Property_Value()

2
tests/Avalonia.Markup.UnitTests/Data/ExpressionObserverTests_DataValidation.cs

@ -13,7 +13,7 @@ using Xunit;
namespace Avalonia.Markup.UnitTests.Data
{
public class ExpressionObserverTests_DataValidation
public class ExpressionObserverTests_DataValidation : IClassFixture<InvariantCultureFixture>
{
[Fact]
public void Doesnt_Send_DataValidationError_When_DataValidatation_Not_Enabled()

3
tests/Avalonia.Markup.UnitTests/Data/Plugins/DataAnnotationsValidationPluginTests.cs

@ -6,11 +6,12 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Avalonia.Data;
using Avalonia.Markup.Data.Plugins;
using Avalonia.UnitTests;
using Xunit;
namespace Avalonia.Markup.UnitTests.Data.Plugins
{
public class DataAnnotationsValidationPluginTests
public class DataAnnotationsValidationPluginTests : IClassFixture<InvariantCultureFixture>
{
[Fact]
public void Should_Match_Property_With_ValidatorAttribute()

1
tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj

@ -54,6 +54,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="InvariantCultureFixture.cs" />
<Compile Include="NotifyingBase.cs" />
<Compile Include="TestLogSink.cs" />
<Compile Include="TestTemplatedRoot.cs" />

33
tests/Avalonia.UnitTests/InvariantCultureFixture.cs

@ -0,0 +1,33 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Globalization;
using System.Threading;
namespace Avalonia.UnitTests
{
/// <summary>
/// Runs tests in the invariant culture.
/// </summary>
/// <remarks>
/// Some tests check exception messages, and those from the .NET framework will be translated.
/// Use this fixture to set the current culture to the invariant culture.
/// </remarks>
public class InvariantCultureFixture : IDisposable
{
private CultureInfo _restore;
public InvariantCultureFixture()
{
_restore = Thread.CurrentThread.CurrentUICulture;
Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
}
public void Dispose()
{
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture = _restore;
}
}
}
Loading…
Cancel
Save