From 20971097caedf0153c358e55b1e0ec6507e040d7 Mon Sep 17 00:00:00 2001 From: Giuseppe Lippolis Date: Thu, 11 May 2023 09:42:58 +0200 Subject: [PATCH] test: Binding StringFormat without curly braces --- .../CompiledBindingExtensionTests.cs | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs index 9f0b84733d..60faed2c3f 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/MarkupExtensions/CompiledBindingExtensionTests.cs @@ -1795,7 +1795,33 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions Assert.Equal(123, comboBox.SelectedItem); } } - + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void Should_Use_StringFormat_Without_Braces(bool compileBindings) + { + using (UnitTestApplication.Start(TestServices.StyledWindow)) + { + var xaml = $@" + + +"; + var window = (Window)AvaloniaRuntimeXamlLoader.Load(xaml); + var textBlock = window.FindControl("textBlock"); + + var dataContext = new TestDataContext(); + window.DataContext = dataContext; + + Assert.Equal(string.Format("{0:c2}", TestDataContext.ExpectedDecimal) + , textBlock.GetValue(TextBlock.TextProperty)); + } + } + static void Throws(string type, Action cb) { try @@ -1891,7 +1917,10 @@ namespace Avalonia.Markup.Xaml.UnitTests.MarkupExtensions public static string StaticProperty => "World"; public ListItemCollectionView GenericProperty { get; } = new(); - + + public const decimal ExpectedDecimal = 15.756m; + public decimal DecimalValue { get; set; } = ExpectedDecimal; + public class NonIntegerIndexer : NotifyingBase, INonIntegerIndexerDerived { private readonly Dictionary _storage = new Dictionary();