Browse Source

Added failing test for buggy TreeViewItem expander.

A selector of type `Control /template/ Control:class` is returning `AlwaysThisInstance` instead of `Sometimes`.
pull/2245/head
Steven Kirk 7 years ago
parent
commit
6f02e832f8
  1. 38
      tests/Avalonia.Styling.UnitTests/SelectorTests_Multiple.cs

38
tests/Avalonia.Styling.UnitTests/SelectorTests_Multiple.cs

@ -85,6 +85,44 @@ namespace Avalonia.Styling.UnitTests
Assert.Equal(SelectorMatchResult.NeverThisType, match.Result);
}
[Fact]
public void Named_Class_Template_Child_Of_Control()
{
var template = new FuncControlTemplate(parent =>
{
return new Border
{
Name = "border",
};
});
var control = new Button
{
Template = template,
};
control.ApplyTemplate();
var selector = default(Selector)
.OfType<Button>()
.Template()
.Name("border")
.Class("foo");
var border = (Border)((IVisual)control).VisualChildren.Single();
var values = new List<bool>();
var match = selector.Match(border);
Assert.Equal(SelectorMatchResult.Sometimes, match.Result);
match.Activator.Subscribe(x => values.Add(x));
Assert.Equal(new[] { false }, values);
border.Classes.AddRange(new[] { "foo" });
Assert.Equal(new[] { false, true }, values);
border.Classes.Remove("foo");
Assert.Equal(new[] { false, true, false }, values);
}
[Fact]
public void TargetType_OfType()
{

Loading…
Cancel
Save