From 22bfab95b0ee6bc63535748277b56317a4bd370d Mon Sep 17 00:00:00 2001 From: Valerus9 Date: Sat, 6 Sep 2025 06:43:13 +0200 Subject: [PATCH 1/5] Fix testdouble failure. --- osu.Game/Extensions/NumberFormattingExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Extensions/NumberFormattingExtensions.cs b/osu.Game/Extensions/NumberFormattingExtensions.cs index 33252448fc..fe2ce37a0f 100644 --- a/osu.Game/Extensions/NumberFormattingExtensions.cs +++ b/osu.Game/Extensions/NumberFormattingExtensions.cs @@ -36,7 +36,7 @@ namespace osu.Game.Extensions string negativeSign = Math.Round(floatValue, significantDigits) < 0 ? "-" : string.Empty; - return FormattableString.Invariant($"{negativeSign}{Math.Abs(floatValue).ToString($"N{significantDigits}")}"); + return FormattableString.Invariant($"{negativeSign}{Math.Abs(floatValue).ToString($"N{significantDigits}", CultureInfo.InvariantCulture)}"); } /// From e34b0659da8d7dcdd182151327ac4c56aef6a5bd Mon Sep 17 00:00:00 2001 From: Valerus9 Date: Sat, 13 Sep 2025 06:44:29 +0200 Subject: [PATCH 2/5] Fix testtooltip failure --- osu.Game/Rulesets/Mods/ModRateAdjust.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osu.Game/Rulesets/Mods/ModRateAdjust.cs b/osu.Game/Rulesets/Mods/ModRateAdjust.cs index d5fc1363bb..1950f8b66e 100644 --- a/osu.Game/Rulesets/Mods/ModRateAdjust.cs +++ b/osu.Game/Rulesets/Mods/ModRateAdjust.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Globalization; using osu.Framework.Audio; using osu.Framework.Bindables; using osu.Framework.Localisation; @@ -32,7 +33,7 @@ namespace osu.Game.Rulesets.Mods get { if (!SpeedChange.IsDefault) - yield return ("Speed change", $"{SpeedChange.Value:N2}x"); + yield return ("Speed change", $"{SpeedChange.Value.ToString("N2", CultureInfo.InvariantCulture)}x"); } } From 295adf9f28c9d9cc381fd0d2cc417d428b896e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 29 Sep 2025 08:31:54 +0200 Subject: [PATCH 3/5] Add actual test coverage for relevant failure --- .../Extensions/NumberFormattingExtensionsTest.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs b/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs index b02bf01019..3a96459b73 100644 --- a/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs +++ b/osu.Game.Tests/Extensions/NumberFormattingExtensionsTest.cs @@ -46,9 +46,12 @@ namespace osu.Game.Tests.Extensions [Test] [SetCulture("fr-FR")] - public void TestCultureInsensitivity() + [TestCase(0.4, true, 2, ExpectedResult = "40%")] + [TestCase(1e-6, false, 6, ExpectedResult = "0.000001")] + [TestCase(0.48333, true, 4, ExpectedResult = "48.33%")] + public string TestCultureInsensitivity(double input, bool percent, int decimalDigits) { - Assert.That(0.4.ToStandardFormattedString(maxDecimalDigits: 2, asPercentage: true), Is.EqualTo("40%")); + return input.ToStandardFormattedString(decimalDigits, percent); } } } From d1cf248b9a253095d92e1640075b15592ac2e7b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 29 Sep 2025 08:33:18 +0200 Subject: [PATCH 4/5] Remove redundant double string invariance --- osu.Game/Extensions/NumberFormattingExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Extensions/NumberFormattingExtensions.cs b/osu.Game/Extensions/NumberFormattingExtensions.cs index fe2ce37a0f..ff35dbc2a0 100644 --- a/osu.Game/Extensions/NumberFormattingExtensions.cs +++ b/osu.Game/Extensions/NumberFormattingExtensions.cs @@ -36,7 +36,7 @@ namespace osu.Game.Extensions string negativeSign = Math.Round(floatValue, significantDigits) < 0 ? "-" : string.Empty; - return FormattableString.Invariant($"{negativeSign}{Math.Abs(floatValue).ToString($"N{significantDigits}", CultureInfo.InvariantCulture)}"); + return $"{negativeSign}{Math.Abs(floatValue).ToString($"N{significantDigits}", CultureInfo.InvariantCulture)}"; } /// From 70f683e7fa4a5a59aa15ffe8dea435e4eebdb14d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 29 Sep 2025 08:38:06 +0200 Subject: [PATCH 5/5] Use slightly nicer way of invarianting rate adjust setting value --- osu.Game/Rulesets/Mods/ModRateAdjust.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/osu.Game/Rulesets/Mods/ModRateAdjust.cs b/osu.Game/Rulesets/Mods/ModRateAdjust.cs index 1950f8b66e..49bdd93bc6 100644 --- a/osu.Game/Rulesets/Mods/ModRateAdjust.cs +++ b/osu.Game/Rulesets/Mods/ModRateAdjust.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Globalization; using osu.Framework.Audio; using osu.Framework.Bindables; using osu.Framework.Localisation; @@ -33,7 +32,7 @@ namespace osu.Game.Rulesets.Mods get { if (!SpeedChange.IsDefault) - yield return ("Speed change", $"{SpeedChange.Value.ToString("N2", CultureInfo.InvariantCulture)}x"); + yield return ("Speed change", FormattableString.Invariant($@"{SpeedChange.Value:N2}x")); } }