private async Task ProcessWithEnter(string value) { var keyInputs = string.IsNullOrEmpty(value) ? new[] { KeyInputUtil.EnterKey } : VimUtil.ConvertTextToKeyInput(value, enter: true); await _search.DoSearchAsync(keyInputs); }
public async Task SearchCantCompleteUntilMessagePump() { Create("cat", "dog", "fish"); var session = _search.CreateSession(SearchPath.Forward); var bindResult = session.Start().CreateBindResult(); foreach (var keyInput in VimUtil.ConvertTextToKeyInput("dog")) { bindResult = bindResult.Run(keyInput); var task = session.GetSearchResultAsync(); Assert.False(task.IsCompleted); Assert.True(session.SearchResult.IsNone()); await task; Assert.True(session.SearchResult.IsSome()); Assert.True(session.SearchResult.Value.IsFound); } }