Beispiel #1
0
        public void SigHelpInClass()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.TypeAndWaitForAnalysis("class C(): pass\n");
                view.MoveCaret(1, 9);

                view.ParamInfo();

                view.View.AssertNoIntellisenseSession();
            }
        }
Beispiel #2
0
        public void BuiltinFunctionCompletions()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.TypeAndWaitForAnalysis("min");
                view.Type(".");

                using (var sh = view.View.WaitForSession <ICompletionSession>())
                {
                    AssertUtil.Contains(sh.Session.Completions(), "__call__");
                }
            }
        }
Beispiel #3
0
        public void EnterCommits()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.TypeAndWaitForAnalysis("min");
                view.Type(".");

                using (var sh = view.View.WaitForSession <ICompletionSession>())
                {
                    AssertUtil.ContainsAtLeast(sh.Session.Completions(), "__class__");
                    view.Type("class\r");
                }

                Assert.AreEqual("min.__class__", view.Text);
            }
        }
Beispiel #4
0
        public void DotCompletes()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.TypeAndWaitForAnalysis("min");
                view.Type(".");

                using (var sh = view.View.WaitForSession <ICompletionSession>())
                {
                    AssertUtil.Contains(sh.Session.Completions(), "__call__");

                    view.Type("class.");

                    Assert.AreEqual("min.__class__.", view.Text);
                }
            }
        }
Beispiel #5
0
        public void EnterDismisses()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.AdvancedOptions.EnterCommitsIntellisense = false;
                view.AdvancedOptions.AutoListMembers          = true;

                view.TypeAndWaitForAnalysis("min");
                view.Type(".");

                using (var sh = view.View.WaitForSession <ICompletionSession>())
                {
                    AssertUtil.ContainsAtLeast(sh.Session.Completions(), "__class__");

                    view.Type("class\r");
                }
                Assert.AreEqual("min.class\r\n", view.Text);
            }
        }
Beispiel #6
0
        public void NonIdentifierDismisses()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.TypeAndWaitForAnalysis("min");
                view.Type(".");

                using (var sh = view.View.WaitForSession <ICompletionSession>())
                {
                    AssertUtil.Contains(sh.Session.Completions(), "__call__");

                    view.Type("#");

                    Assert.IsTrue(sh.Session.IsDismissed);
                }
                view.View.AssertNoIntellisenseSession();
                Assert.AreEqual("min.#", view.Text);
            }
        }
Beispiel #7
0
        public void CompletionsAtEndOfLastChildScope()
        {
            using (PythonEditor view = new PythonEditor(@"class A:
    def f(param1, param2):
        y = 234

        

class B:
    pass
"))
            {
                view.MoveCaret(5, 9);
                view.TypeAndWaitForAnalysis("p");
                view.MemberList();
                using (var sh = view.View.WaitForSession <ICompletionSession>())
                {
                    AssertUtil.ContainsAtLeast(sh.Session.Completions(), "param1", "param2");
                }
            }
        }
Beispiel #8
0
        public void BuiltinFunctionSigHelp()
        {
            using (PythonEditor view = new PythonEditor())
            {
                view.TypeAndWaitForAnalysis("min");
                view.Type("(");

                for (int retries = 10; retries > 0; --retries)
                {
                    using (var sh = view.View.WaitForSession <ISignatureHelpSession>())
                    {
                        var doc = sh.Session.Signatures[0].Documentation;
                        if (doc.Contains("still being calculated"))
                        {
                            view.VS.Sleep(100);
                            continue;
                        }
                        AssertUtil.AreEqual(new Regex(@".*min\([^)]+\).*"), doc);
                        break;
                    }
                }
            }
        }