示例#1
0
 private async Task ProcessWithEnter(string value)
 {
     var keyInputs = string.IsNullOrEmpty(value)
         ? new[] { KeyInputUtil.EnterKey }
         : VimUtil.ConvertTextToKeyInput(value, enter: true);
     await _search.DoSearchAsync(keyInputs);
 }
示例#2
0
            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);
                }
            }