Skip to content

Commit 0ed85d0

Browse files
Modify DecimalUpDown basic test to ensure culture is respected in string-value conversions (#3865)
* Consume new XAMLTest and ensure tests execute * Data-drive the (basic) DecimalUpDown test to verify culture-differences * Add net9.0 in the pipeline workflow
1 parent 6cef2f5 commit 0ed85d0

File tree

5 files changed

+24
-9
lines changed

5 files changed

+24
-9
lines changed

.github/workflows/build_artifacts.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ jobs:
3434
dotnet-version: |
3535
6.x
3636
8.x
37+
9.x
3738
3839
- name: Restore dependencies
3940
run: dotnet restore ${{ env.solution }}

Directory.packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
2727
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
2828
<PackageVersion Include="VirtualizingWrapPanel" Version="1.5.8" />
29-
<PackageVersion Include="XAMLTest" Version="1.2.2" />
29+
<PackageVersion Include="XAMLTest" Version="1.3.0-ci602" />
3030
<PackageVersion Include="xunit" Version="2.6.2" />
3131
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.4" />
3232
<PackageVersion Include="Xunit.StaFact" Version="1.1.11" />

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"sdk": {
3-
"version": "8.0.100",
3+
"version": "9.0.300",
44
"rollForward": "latestMinor"
55
}
66
}

tests/MaterialDesignThemes.UITests/MaterialDesignThemes.UITests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0-windows</TargetFramework>
3+
<TargetFramework>net9.0-windows</TargetFramework>
44
<IsPackable>false</IsPackable>
55
<SignAssembly>false</SignAssembly>
66
<UseWPF>true</UseWPF>

tests/MaterialDesignThemes.UITests/WPF/UpDownControls/DecimalUpDownTests.cs

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
1-
using System.ComponentModel;
1+
using System.ComponentModel;
2+
using System.Globalization;
3+
using System.Threading;
24

35
namespace MaterialDesignThemes.UITests.WPF.UpDownControls;
46

57
public class DecimalUpDownTests(ITestOutputHelper output) : TestBase(output)
68
{
7-
[Fact]
8-
public async Task NumericButtons_IncreaseAndDecreaseValue()
9+
[Theory]
10+
[InlineData("en-US")]
11+
[InlineData("da-DK")]
12+
[InlineData("fa-IR")]
13+
[InlineData("ja-JP")]
14+
[InlineData("zh-CN")]
15+
public async Task NumericButtons_IncreaseAndDecreaseValue(string culture)
916
{
1017
await using var recorder = new TestRecorder(App);
1118

1219
var numericUpDown = await LoadXaml<DecimalUpDown>("""
13-
<materialDesign:DecimalUpDown Value="1" />
20+
<materialDesign:DecimalUpDown Value="1" ValueStep="0.1" />
1421
""");
22+
await App.RemoteExecute<string>(SetCulture, [culture]);
23+
1524
var plusButton = await numericUpDown.GetElement<RepeatButton>("PART_IncreaseButton");
1625
var minusButton = await numericUpDown.GetElement<RepeatButton>("PART_DecreaseButton");
1726
var textBox = await numericUpDown.GetElement<TextBox>("PART_TextBox");
@@ -22,8 +31,8 @@ public async Task NumericButtons_IncreaseAndDecreaseValue()
2231
await plusButton.LeftClick();
2332
await Wait.For(async () =>
2433
{
25-
Assert.Equal("2", await textBox.GetText());
26-
Assert.Equal(2, await numericUpDown.GetValue());
34+
Assert.Equal(Convert.ToString(1.1, CultureInfo.GetCultureInfo(culture)), await textBox.GetText());
35+
Assert.Equal((decimal)1.1, await numericUpDown.GetValue());
2736
});
2837

2938
await minusButton.LeftClick();
@@ -34,6 +43,11 @@ await Wait.For(async () =>
3443
});
3544

3645
recorder.Success();
46+
47+
static void SetCulture(Application _, string culture)
48+
{
49+
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(culture);
50+
}
3751
}
3852

3953
[Fact]

0 commit comments

Comments
 (0)