mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 02:36:19 +02:00
Added functionality for left/right key navigation (#5067)
* Added functionality for left/right key navigation * Update Behviour of left/right navigation * Code cleanup * Null check for results VM * Added tests for results view model * Update test namings
This commit is contained in:
committed by
GitHub
parent
25d43354b3
commit
f773604dec
172
src/modules/launcher/Wox.Test/ResultsViewModelTest.cs
Normal file
172
src/modules/launcher/Wox.Test/ResultsViewModelTest.cs
Normal file
@@ -0,0 +1,172 @@
|
||||
using NUnit.Framework;
|
||||
using PowerLauncher.ViewModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Wox.Core.Plugin;
|
||||
using Wox.Plugin;
|
||||
|
||||
namespace Wox.Test
|
||||
{
|
||||
[TestFixture]
|
||||
class ResultsViewModelTest
|
||||
{
|
||||
[Test]
|
||||
public void ContextMenuSelectedIndex_ShouldEqualNoSelectionIndex_WhenInitialized()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(selectedItem.ContextMenuSelectedIndex, ResultViewModel.NoSelectionIndex);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SelectNextContextMenuItem_IncrementsContextMenuSelectedIndex_WhenCalled()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
|
||||
// Act
|
||||
rvm.SelectNextContextMenuItem();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(selectedItem.ContextMenuSelectedIndex, 0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SelectNextContextMenuItem_DoesnNotIncrementContextMenuSelectedIndex_WhenCalledOnLastItem()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
|
||||
// Act
|
||||
rvm.SelectNextContextMenuItem();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(selectedItem.ContextMenuSelectedIndex, 0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SelectPreviousContextMenuItem_DecrementsContextMenuSelectedIndex_WhenCalled()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu 1"
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu 2"
|
||||
});
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu 3"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
|
||||
// Act
|
||||
rvm.SelectNextContextMenuItem();
|
||||
rvm.SelectNextContextMenuItem();
|
||||
rvm.SelectNextContextMenuItem();
|
||||
rvm.SelectPreviousContextMenuItem();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(selectedItem.ContextMenuSelectedIndex, 1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SelectPreviousContextMenuItem_ResetsContextMenuSelectedIndex_WhenCalledOnFirstItem()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
|
||||
// Act
|
||||
rvm.SelectNextContextMenuItem();
|
||||
rvm.SelectPreviousContextMenuItem();
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(selectedItem.ContextMenuSelectedIndex, ResultViewModel.NoSelectionIndex);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsContextMenuItemSelected_ReturnsTrue_WhenContextMenuItemIsSelected()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
|
||||
// Act
|
||||
rvm.SelectNextContextMenuItem();
|
||||
bool isContextMenuItemSelected = rvm.IsContextMenuItemSelected();
|
||||
|
||||
// Assert
|
||||
Assert.IsTrue(isContextMenuItemSelected);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsContextMenuItemSelected_ReturnsFalse_WhenContextMenuItemIsNotSelected()
|
||||
{
|
||||
// Arrange
|
||||
ResultsViewModel rvm = new ResultsViewModel();
|
||||
Result result = new Result();
|
||||
ResultViewModel selectedItem = new ResultViewModel(result);
|
||||
selectedItem.ContextMenuItems.Add(new ContextMenuItemViewModel()
|
||||
{
|
||||
Title = "Dummy Context Menu"
|
||||
});
|
||||
rvm.SelectedItem = selectedItem;
|
||||
|
||||
|
||||
// Act
|
||||
rvm.SelectNextContextMenuItem();
|
||||
rvm.SelectPreviousContextMenuItem();
|
||||
bool isContextMenuItemSelected = rvm.IsContextMenuItemSelected();
|
||||
|
||||
// Assert
|
||||
Assert.IsFalse(isContextMenuItemSelected);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user