A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

64 lines
1.7 KiB

using Avalonia.Data;
using Avalonia.Media;
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_EmptyString()
{
var textBlock = new TextBlock();
Assert.Equal(
"",
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);
}
}
}