|
|
@ -363,6 +363,47 @@ namespace Avalonia.Controls.UnitTests |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
|
|
public void Test_Selectors() |
|
|
|
|
|
{ |
|
|
|
|
|
Assert.Equal(GetSelector(AutoCompleteMode.Replace)("Never", "gonna"), "gonna"); |
|
|
|
|
|
Assert.Equal(GetSelector(AutoCompleteMode.Replace)("give", "you"), "you"); |
|
|
|
|
|
Assert.NotEqual(GetSelector(AutoCompleteMode.Replace)("up", "!"), "42"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
|
|
public void AutoCompleteMode_Changes_To_Custom_And_Back() |
|
|
|
|
|
{ |
|
|
|
|
|
RunTest((control, textbox) => |
|
|
|
|
|
{ |
|
|
|
|
|
Assert.Equal(control.AutoCompleteMode, AutoCompleteMode.Replace); |
|
|
|
|
|
|
|
|
|
|
|
control.TextSelector = (text, item) => text + item; |
|
|
|
|
|
Assert.Equal(control.AutoCompleteMode, AutoCompleteMode.Custom); |
|
|
|
|
|
|
|
|
|
|
|
control.AutoCompleteMode = AutoCompleteMode.Replace; |
|
|
|
|
|
Assert.Equal(control.AutoCompleteMode, AutoCompleteMode.Replace); |
|
|
|
|
|
Assert.Equal(control.TextSelector, GetSelector(AutoCompleteMode.Replace)); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
[Fact] |
|
|
|
|
|
public void Custom_TextSelector() |
|
|
|
|
|
{ |
|
|
|
|
|
RunTest((control, textbox) => |
|
|
|
|
|
{ |
|
|
|
|
|
object selectedItem = control.Items.Cast<object>().First(); |
|
|
|
|
|
string input = "42"; |
|
|
|
|
|
|
|
|
|
|
|
control.TextSelector = (text, item) => text + item; |
|
|
|
|
|
Assert.Equal(control.TextSelector("4", "2"), "42"); |
|
|
|
|
|
|
|
|
|
|
|
control.Text = input; |
|
|
|
|
|
control.SelectedItem = selectedItem; |
|
|
|
|
|
Assert.Equal(control.Text, control.TextSelector(input, selectedItem.ToString())); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// Retrieves a defined predicate filter through a new AutoCompleteBox
|
|
|
/// Retrieves a defined predicate filter through a new AutoCompleteBox
|
|
|
/// control instance.
|
|
|
/// control instance.
|
|
|
@ -375,6 +416,17 @@ namespace Avalonia.Controls.UnitTests |
|
|
.TextFilter; |
|
|
.TextFilter; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Retrieves a defined selector through a new AutoCompleteBox
|
|
|
|
|
|
/// control instance.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="mode">The AutoCompleteMode of interest.</param>
|
|
|
|
|
|
/// <returns>Returns the selector instance.</returns>
|
|
|
|
|
|
private static AutoCompleteSelector<string> GetSelector(AutoCompleteMode mode) |
|
|
|
|
|
{ |
|
|
|
|
|
return new AutoCompleteBox { AutoCompleteMode = mode }.TextSelector; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// Creates a large list of strings for AutoCompleteBox testing.
|
|
|
/// Creates a large list of strings for AutoCompleteBox testing.
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
|