Browse Source

Add UT

pull/7594/head
Luis von der Eltz 5 years ago
parent
commit
843676d876
  1. 52
      tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs

52
tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs

@ -1,9 +1,11 @@
using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Reactive.Disposables;
using Avalonia.Collections; using Avalonia.Collections;
using Avalonia.Controls.Presenters; using Avalonia.Controls.Presenters;
using Avalonia.Controls.Primitives; using Avalonia.Controls.Primitives;
@ -13,7 +15,9 @@ using Avalonia.Data;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.Markup.Data; using Avalonia.Markup.Data;
using Avalonia.Platform;
using Avalonia.Styling; using Avalonia.Styling;
using Avalonia.Threading;
using Avalonia.UnitTests; using Avalonia.UnitTests;
using Moq; using Moq;
using Xunit; using Xunit;
@ -1895,6 +1899,54 @@ namespace Avalonia.Controls.UnitTests.Primitives
Assert.Equal(1, carouselRaised); Assert.Equal(1, carouselRaised);
} }
[Fact]
public void Setting_IsTextSearchEnabled_Enables_Or_Disables_Text_Search()
{
var pti = Mock.Of<IPlatformThreadingInterface>(x => x.CurrentThreadIsLoopThread == true);
Mock.Get(pti)
.Setup(v => v.StartTimer(It.IsAny<DispatcherPriority>(), It.IsAny<TimeSpan>(), It.IsAny<Action>()))
.Returns(Disposable.Empty);
using (UnitTestApplication.Start(TestServices.StyledWindow.With(threadingInterface: pti)))
{
var items = new[]
{
new Item { [TextSearch.TextProperty] = "Foo" },
new Item { [TextSearch.TextProperty] = "Bar" }
};
var target = new SelectingItemsControl
{
Items = items,
Template = Template(),
IsTextSearchEnabled = false
};
Prepare(target);
target.RaiseEvent(new TextInputEventArgs
{
RoutedEvent = InputElement.TextInputEvent,
Device = KeyboardDevice.Instance,
Text = "Foo"
});
Assert.Null(target.SelectedItem);
target.IsTextSearchEnabled = true;
target.RaiseEvent(new TextInputEventArgs
{
RoutedEvent = InputElement.TextInputEvent,
Device = KeyboardDevice.Instance,
Text = "Foo"
});
Assert.Equal(items[0], target.SelectedItem);
}
}
private static void Prepare(SelectingItemsControl target) private static void Prepare(SelectingItemsControl target)
{ {
var root = new TestRoot var root = new TestRoot

Loading…
Cancel
Save