|
@@ -572,6 +572,83 @@ namespace Avalonia.Controls.UnitTests
|
|
|
Assert.Equal("Header from style", tabItem.Header);
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void TabItem_TabStripPlacement_Should_Be_Correctly_Set()
|
|
|
+ {
|
|
|
+ var items = new object[]
|
|
|
+ {
|
|
|
+ "Foo",
|
|
|
+ new TabItem { Content = new TextBlock { Text = "Baz" } }
|
|
|
+ };
|
|
|
+
|
|
|
+ var target = new TabControl
|
|
|
+ {
|
|
|
+ Template = TabControlTemplate(),
|
|
|
+ DataContext = "Base",
|
|
|
+ ItemsSource = items
|
|
|
+ };
|
|
|
+
|
|
|
+ ApplyTemplate(target);
|
|
|
+
|
|
|
+ var result = target.GetLogicalChildren()
|
|
|
+ .OfType<TabItem>()
|
|
|
+ .ToList();
|
|
|
+ Assert.Collection(
|
|
|
+ result,
|
|
|
+ x => Assert.Equal(Dock.Top, x.TabStripPlacement),
|
|
|
+ x => Assert.Equal(Dock.Top, x.TabStripPlacement)
|
|
|
+ );
|
|
|
+
|
|
|
+ target.TabStripPlacement = Dock.Right;
|
|
|
+ result = target.GetLogicalChildren()
|
|
|
+ .OfType<TabItem>()
|
|
|
+ .ToList();
|
|
|
+ Assert.Collection(
|
|
|
+ result,
|
|
|
+ x => Assert.Equal(Dock.Right, x.TabStripPlacement),
|
|
|
+ x => Assert.Equal(Dock.Right, x.TabStripPlacement)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void TabItem_TabStripPlacement_Should_Be_Correctly_Set_For_New_Items()
|
|
|
+ {
|
|
|
+ var items = new object[]
|
|
|
+ {
|
|
|
+ "Foo",
|
|
|
+ new TabItem { Content = new TextBlock { Text = "Baz" } }
|
|
|
+ };
|
|
|
+
|
|
|
+ var target = new TabControl
|
|
|
+ {
|
|
|
+ Template = TabControlTemplate(),
|
|
|
+ DataContext = "Base"
|
|
|
+ };
|
|
|
+
|
|
|
+ ApplyTemplate(target);
|
|
|
+
|
|
|
+ target.ItemsSource = items;
|
|
|
+
|
|
|
+ var result = target.GetLogicalChildren()
|
|
|
+ .OfType<TabItem>()
|
|
|
+ .ToList();
|
|
|
+ Assert.Collection(
|
|
|
+ result,
|
|
|
+ x => Assert.Equal(Dock.Top, x.TabStripPlacement),
|
|
|
+ x => Assert.Equal(Dock.Top, x.TabStripPlacement)
|
|
|
+ );
|
|
|
+
|
|
|
+ target.TabStripPlacement = Dock.Right;
|
|
|
+ result = target.GetLogicalChildren()
|
|
|
+ .OfType<TabItem>()
|
|
|
+ .ToList();
|
|
|
+ Assert.Collection(
|
|
|
+ result,
|
|
|
+ x => Assert.Equal(Dock.Right, x.TabStripPlacement),
|
|
|
+ x => Assert.Equal(Dock.Right, x.TabStripPlacement)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
private static IControlTemplate TabControlTemplate()
|
|
|
{
|
|
|
return new FuncControlTemplate<TabControl>((parent, scope) =>
|