示例#1
0
        public void R_AutoFormatFuncionDefinition03()
        {
            using (var script = new TestScript(RContentTypeDefinition.ContentType)) {
                string text1 = "x <-function(x, y,{ENTER}";
                string text2 = "a,b,";
                string text3 = "c, d)";

                script.Type(text1);
                script.DoIdle(300);

                script.Backspace();
                script.Backspace();
                script.Backspace();
                script.Backspace();

                script.DoIdle(300);
                script.Type(text2);
                script.Enter();

                script.Type(text3);

                string actual   = script.EditorText;
                string expected =
                    "x <- function(x, y,\r\n" +
                    "          a, b,\r\n" +
                    "          c, d)";
                actual.Should().Be(expected);
            }
        }
示例#2
0
        public void R_LoadedPackageFunctionCompletion()
        {
            using (var script = new TestScript(RContentTypeDefinition.ContentType)) {
                var provider = EditorShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();
                using (new RHostScript(provider)) {
                    REvaluationResult result;

                    script.Type("c");
                    script.DoIdle(200);
                    var session = script.GetCompletionSession();
                    session.Should().NotBeNull();
                    script.DoIdle(500);

                    var list = session.SelectedCompletionSet.Completions.ToList();
                    var item = list.FirstOrDefault(x => x.DisplayText == "codoc");
                    item.Should().BeNull();

                    var rSession = provider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid, null);
                    rSession.Should().NotBeNull();

                    using (var eval = rSession.BeginEvaluationAsync().Result) {
                        result = eval.EvaluateAsync("library('tools')", REvaluationKind.Mutating).Result;
                    }

                    script.DoIdle(1000);

                    script.Type("{ESC}");
                    script.DoIdle(200);
                    script.Backspace();
                    script.Type("{ENTER}");
                    script.DoIdle(100);

                    script.Type("c");
                    script.DoIdle(500);
                    script.Backspace();

                    session = script.GetCompletionSession();
                    session.Should().NotBeNull();
                    list = session.SelectedCompletionSet.Completions.ToList();
                    item = list.FirstOrDefault(x => x.DisplayText == "codoc");
                    item.Should().NotBeNull();
                }
            }
        }
示例#3
0
        public void R_CompletionFilter01()
        {
            using (var script = new TestScript(RContentTypeDefinition.ContentType)) {
                script.Type("x <- lm");
                script.DoIdle(100);
                script.Type("mmm");
                script.DoIdle(100);
                script.Backspace();
                script.Backspace();
                script.Backspace();
                script.Backspace();
                script.DoIdle(100);
                script.Type("abels.{TAB}");

                string expected = "x <- labels.default";
                string actual   = script.EditorText;

                actual.Should().Be(expected);
            }
        }
示例#4
0
        public async Task R_LoadedPackageFunctionCompletion()
        {
            using (var script = new TestScript(RContentTypeDefinition.ContentType)) {
                var provider = EditorShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();
                using (new RHostScript(provider)) {
                    script.Type("c");
                    script.DoIdle(200);
                    var session = script.GetCompletionSession();
                    session.Should().NotBeNull();
                    script.DoIdle(500);

                    var list = session.SelectedCompletionSet.Completions.ToList();
                    var item = list.FirstOrDefault(x => x.DisplayText == "codoc");
                    item.Should().BeNull();

                    var rSession = provider.GetOrCreate(GuidList.InteractiveWindowRSessionGuid);
                    rSession.Should().NotBeNull();

                    await rSession.ExecuteAsync("library('tools')");

                    script.DoIdle(1000);

                    script.Type("{ESC}");
                    script.DoIdle(200);
                    script.Backspace();
                    script.Type("{ENTER}");
                    script.DoIdle(100);

                    script.Type("c");
                    script.DoIdle(500);
                    script.Backspace();

                    session = script.GetCompletionSession();
                    session.Should().NotBeNull();
                    list = session.SelectedCompletionSet.Completions.ToList();
                    item = list.FirstOrDefault(x => x.DisplayText == "codoc");
                    item.Should().NotBeNull();
                }
            }
        }
示例#5
0
        public async Task R_DeclaredVariablesCompletion03()
        {
            using (var script = new TestScript(RContentTypeDefinition.ContentType)) {
                var provider = EditorShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();
                using (var hostScript = new RHostScript(provider)) {
                    await ExecuteRCode(hostScript.Session, "i1 <- 1\r\n");

                    PrimeIntellisenseProviders();
                    script.DoIdle(1000);

                    script.Type("i");

                    var session = script.GetCompletionSession();
                    session.Should().NotBeNull();

                    var list = session.SelectedCompletionSet.Completions.ToList();
                    var item = list.FirstOrDefault(x => x.DisplayText == "i1");
                    item.Should().NotBeNull();
                    script.DoIdle(100);

                    script.Type("{ESC}");
                    script.Backspace();

                    script.DoIdle(100);
                    script.Type("graphics::");
                    script.DoIdle(300);

                    session = script.GetCompletionSession();
                    session.Should().NotBeNull();

                    list = session.SelectedCompletionSet.Completions.ToList();
                    item = list.FirstOrDefault(x => x.DisplayText == "i1");
                    item.Should().BeNull();
                }
            }
        }