| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 | 
							- using System;
 
- using Avalonia.Controls.Documents;
 
- using Avalonia.Controls.Templates;
 
- using Avalonia.Data;
 
- using Avalonia.Media;
 
- using Avalonia.Metadata;
 
- using Avalonia.Rendering;
 
- using Avalonia.UnitTests;
 
- using Moq;
 
- using Xunit;
 
- namespace Avalonia.Controls.UnitTests
 
- {
 
-     public class TextBlockTests
 
-     {
 
-         [Fact]
 
-         public void DefaultBindingMode_Should_Be_OneWay()
 
-         {
 
-             Assert.Equal(
 
-                 BindingMode.OneWay,
 
-                 TextBlock.TextProperty.GetMetadata(typeof(TextBlock)).DefaultBindingMode);
 
-         }
 
-         [Fact]
 
-         public void Default_Text_Value_Should_Be_Null()
 
-         {
 
-             var textBlock = new TextBlock();
 
-             Assert.Equal(null, textBlock.Text);
 
-         }
 
-         [Fact]
 
-         public void Changing_Background_Brush_Color_Should_Invalidate_Visual()
 
-         {
 
-             var target = new TextBlock()
 
-             {
 
-                 Background = new SolidColorBrush(Colors.Red),
 
-             };
 
-             var root = new TestRoot(target);
 
-             var renderer = Mock.Get(root.Renderer);
 
-             renderer.Invocations.Clear();
 
-             ((SolidColorBrush)target.Background).Color = Colors.Green;
 
-             renderer.Verify(x => x.AddDirty(target), Times.Once);
 
-         }
 
-         [Fact]
 
-         public void Changing_Foreground_Brush_Color_Should_Invalidate_Visual()
 
-         {
 
-             var target = new TextBlock()
 
-             {
 
-                 Foreground = new SolidColorBrush(Colors.Red),
 
-             };
 
-             var root = new TestRoot(target);
 
-             var renderer = Mock.Get(root.Renderer);
 
-             renderer.Invocations.Clear();
 
-             ((SolidColorBrush)target.Foreground).Color = Colors.Green;
 
-             renderer.Verify(x => x.AddDirty(target), Times.Once);
 
-         }
 
-         [Fact]
 
-         public void Changing_InlinesCollection_Should_Invalidate_Measure()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface))
 
-             {
 
-                 var target = new TextBlock();
 
-                 target.Measure(Size.Infinity);
 
-                 Assert.True(target.IsMeasureValid);
 
-                 target.Inlines.Add(new Run("Hello"));
 
-                 Assert.False(target.IsMeasureValid);
 
-                 target.Measure(Size.Infinity);
 
-                 Assert.True(target.IsMeasureValid);
 
-             }
 
-         }
 
-         [Fact]
 
-         public void Changing_Inlines_Properties_Should_Invalidate_Measure()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface))
 
-             {
 
-                 var target = new TextBlock();
 
-                 var inline = new Run("Hello");
 
-                 target.Inlines.Add(inline);
 
-                 target.Measure(Size.Infinity);
 
-                 Assert.True(target.IsMeasureValid);
 
-                 inline.Foreground = Brushes.Green;
 
-                 Assert.False(target.IsMeasureValid);
 
-             }
 
-         }
 
-         [Fact]
 
-         public void Changing_Inlines_Should_Invalidate_Measure()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface))
 
-             {
 
-                 var target = new TextBlock();
 
-                 var inlines = new InlineCollection { new Run("Hello") };
 
-                 target.Measure(Size.Infinity);
 
-                 Assert.True(target.IsMeasureValid);
 
-                 target.Inlines = inlines;
 
-                 Assert.False(target.IsMeasureValid);
 
-             }
 
-         }
 
-         [Fact]
 
-         public void Changing_Inlines_Should_Reset_Inlines_Parent()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface))
 
-             {
 
-                 var target = new TextBlock();
 
-                 var run = new Run("Hello");
 
-                 target.Inlines.Add(run);
 
-                 target.Measure(Size.Infinity);
 
-                 Assert.True(target.IsMeasureValid);
 
-                 target.Inlines = null;
 
-                 Assert.Null(run.Parent);
 
-                 target.Inlines = new InlineCollection { run };
 
-                 Assert.Equal(target, run.Parent);
 
-             }
 
-         }
 
-         [Fact]
 
-         public void InlineUIContainer_Child_Schould_Be_Arranged()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.StyledWindow))
 
-             {
 
-                 var target = new TextBlock();
 
-                 var button = new Button { Content = "12345678" };
 
-                 button.Template = new FuncControlTemplate<Button>((parent, scope) =>
 
-                         new TextBlock
 
-                         {
 
-                             Name = "PART_ContentPresenter",
 
-                             [!TextBlock.TextProperty] = parent[!ContentControl.ContentProperty],
 
-                         }.RegisterInNameScope(scope)
 
-                 );
 
-                 target.Inlines!.Add("123456");
 
-                 target.Inlines.Add(new InlineUIContainer(button));
 
-                 target.Inlines.Add("123456");
 
-                 target.Measure(Size.Infinity);
 
-                 Assert.True(button.IsMeasureValid);
 
-                 Assert.Equal(80, button.DesiredSize.Width);
 
-                 target.Arrange(new Rect(new Size(200, 50)));
 
-                 Assert.True(button.IsArrangeValid);
 
-                 Assert.Equal(60, button.Bounds.Left);
 
-             }
 
-         }
 
-         [Fact]
 
-         public void Setting_Text_Should_Reset_Inlines()
 
-         {
 
-             using (UnitTestApplication.Start(TestServices.StyledWindow))
 
-             {
 
-                 var target = new TextBlock();
 
-                 target.Inlines.Add(new Run("Hello World"));
 
-                 Assert.Equal(null, target.Text);
 
-                 Assert.Equal(1, target.Inlines.Count);
 
-                 target.Text = "1234";
 
-                 Assert.Equal("1234", target.Text);
 
-                 Assert.Equal(0, target.Inlines.Count);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |