|
|
|
@ -2,11 +2,13 @@ using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Collections.ObjectModel; |
|
|
|
using System.Linq; |
|
|
|
using System.Runtime.CompilerServices; |
|
|
|
using Avalonia.Controls.Presenters; |
|
|
|
using Avalonia.Controls.Primitives; |
|
|
|
using Avalonia.Controls.Selection; |
|
|
|
using Avalonia.Controls.Templates; |
|
|
|
using Avalonia.Controls.Utils; |
|
|
|
using Avalonia.Data; |
|
|
|
using Avalonia.Input; |
|
|
|
using Avalonia.LogicalTree; |
|
|
|
using Avalonia.Markup.Xaml; |
|
|
|
@ -18,6 +20,11 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
{ |
|
|
|
public class TabControlTests |
|
|
|
{ |
|
|
|
static TabControlTests() |
|
|
|
{ |
|
|
|
RuntimeHelpers.RunClassConstructor(typeof(RelativeSource).TypeHandle); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void First_Tab_Should_Be_Selected_By_Default() |
|
|
|
{ |
|
|
|
@ -435,6 +442,29 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Should_Have_Initial_SelectedValue() |
|
|
|
{ |
|
|
|
var xaml = @"
|
|
|
|
<TabControl |
|
|
|
xmlns='https://github.com/avaloniaui'
|
|
|
|
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
|
|
|
|
xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.Xaml;assembly=Avalonia.Markup.Xaml.UnitTests' |
|
|
|
x:DataType='TabItem' |
|
|
|
x:Name='tabs' |
|
|
|
Tag='World' |
|
|
|
SelectedValue='{Binding $self.Tag}' |
|
|
|
SelectedValueBinding='{Binding Header}'> |
|
|
|
<TabItem Header='Hello'/> |
|
|
|
<TabItem Header='World'/> |
|
|
|
</TabControl>";
|
|
|
|
|
|
|
|
var tabControl = (TabControl)AvaloniaRuntimeXamlLoader.Load(xaml); |
|
|
|
|
|
|
|
Assert.Equal("World", tabControl.SelectedValue); |
|
|
|
Assert.Equal(1, tabControl.SelectedIndex); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Tab_Navigation_Should_Move_To_First_TabItem_When_No_Anchor_Element_Selected() |
|
|
|
{ |
|
|
|
|