コード例 #1
0
        public void GetDefaultCompletionListWithNoMatchesTest()
        {
            var scriptFile = new ScriptFile();

            scriptFile.SetFileContents("koko wants a bananas");

            ScriptParseInfo scriptInfo = new ScriptParseInfo {
                IsConnected = false
            };

            var scriptDocumentInfo = new TestScriptDocumentInfo(
                new TextDocumentPosition()
            {
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = TestObjects.ScriptUri
                },
                Position = new Position()
                {
                    Line = 0, Character = 0
                }
            }, scriptFile, scriptInfo);

            AutoCompleteHelper.GetDefaultCompletionItems(scriptDocumentInfo, false);
        }
コード例 #2
0
        private AutoCompletionResult CreateDefaultCompletionItems(ScriptParseInfo scriptParseInfo, ScriptDocumentInfo scriptDocumentInfo, bool useLowerCaseSuggestions)
        {
            AutoCompletionResult result = new AutoCompletionResult();

            CompletionItem[] completionList = AutoCompleteHelper.GetDefaultCompletionItems(scriptDocumentInfo, useLowerCaseSuggestions);
            result.CompleteResult(completionList);
            return(result);
        }
コード例 #3
0
        // Disable flaky test (mairvine - 3/15/2018)
        // [Fact]
        public void CompletionItemsShouldCreatedUsingSqlParserIfTheProcessDoesNotTimeout()
        {
            ConnectedBindingQueue bindingQueue      = new ConnectedBindingQueue();
            ScriptDocumentInfo    docInfo           = CreateScriptDocumentInfo();
            CompletionService     completionService = new CompletionService(bindingQueue);
            ConnectionInfo        connectionInfo    = new ConnectionInfo(null, null, null);
            bool useLowerCaseSuggestions            = true;

            CompletionItem[] defaultCompletionList = AutoCompleteHelper.GetDefaultCompletionItems(docInfo, useLowerCaseSuggestions);

            List <Declaration> declarations = new List <Declaration>();

            var sqlParserWrapper = new Mock <ISqlParserWrapper>();

            sqlParserWrapper.Setup(x => x.FindCompletions(docInfo.ScriptParseInfo.ParseResult, docInfo.ParserLine, docInfo.ParserColumn,
                                                          It.IsAny <IMetadataDisplayInfoProvider>())).Returns(declarations);
            completionService.SqlParserWrapper = sqlParserWrapper.Object;

            AutoCompletionResult result = completionService.CreateCompletions(connectionInfo, docInfo, useLowerCaseSuggestions);

            Assert.NotNull(result);
            Assert.NotEqual(result.CompletionItems == null ? 0 : result.CompletionItems.Count(), defaultCompletionList.Count());
        }
コード例 #4
0
        public void CompletionItemsShouldCreatedUsingDefaultListIfTheSqlParserProcessTimesout()
        {
            ConnectedBindingQueue bindingQueue      = new ConnectedBindingQueue();
            ScriptDocumentInfo    docInfo           = CreateScriptDocumentInfo();
            CompletionService     completionService = new CompletionService(bindingQueue);
            ConnectionInfo        connectionInfo    = new ConnectionInfo(null, null, null);
            bool useLowerCaseSuggestions            = true;
            List <Declaration> declarations         = new List <Declaration>();

            CompletionItem[] defaultCompletionList = AutoCompleteHelper.GetDefaultCompletionItems(docInfo, useLowerCaseSuggestions);

            var sqlParserWrapper = new Mock <ISqlParserWrapper>();

            sqlParserWrapper.Setup(x => x.FindCompletions(docInfo.ScriptParseInfo.ParseResult, docInfo.ParserLine, docInfo.ParserColumn,
                                                          It.IsAny <IMetadataDisplayInfoProvider>())).Callback(() => Thread.Sleep(LanguageService.BindingTimeout + 100)).Returns(declarations);
            completionService.SqlParserWrapper = sqlParserWrapper.Object;

            AutoCompletionResult result = completionService.CreateCompletions(connectionInfo, docInfo, useLowerCaseSuggestions);

            Assert.NotNull(result);
            Assert.Equal(result.CompletionItems.Count(), defaultCompletionList.Count());
            Thread.Sleep(3000);
            Assert.True(connectionInfo.IntellisenseMetrics.Quantile.Any());
        }