public CurrentDirectoryTest()
        {
            var sessionProvider       = VsAppShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();
            var historyProvider       = VsAppShell.Current.ExportProvider.GetExportedValue <IRHistoryProvider>();
            var activeTextViewTracker = new ActiveTextViewTrackerMock(string.Empty, string.Empty);
            var debuggerModeTracker   = new TestDebuggerModeTracker();

            _interactiveWorkflow = new RInteractiveWorkflow(sessionProvider, historyProvider, activeTextViewTracker, debuggerModeTracker, null, VsAppShell.Current, RToolsSettings.Current, () => {});
        }
        public CurrentDirectoryTest()
        {
            var connectionsProvider   = VsAppShell.Current.GetService <IConnectionManagerProvider>();
            var historyProvider       = VsAppShell.Current.GetService <IRHistoryProvider>();
            var packagesProvider      = VsAppShell.Current.GetService <IRPackageManagerProvider>();
            var plotsProvider         = VsAppShell.Current.GetService <IRPlotManagerProvider>();
            var activeTextViewTracker = new ActiveTextViewTrackerMock(string.Empty, string.Empty);
            var debuggerModeTracker   = new TestDebuggerModeTracker();

            _interactiveWorkflow = UIThreadHelper.Instance.Invoke(() => new RInteractiveWorkflow(
                                                                      connectionsProvider, historyProvider, packagesProvider, plotsProvider, activeTextViewTracker,
                                                                      debuggerModeTracker, VsAppShell.Current));

            _sessionProvider = _interactiveWorkflow.RSessions;
        }
Exemple #3
0
        public CurrentDirectoryTest()
        {
            _sessionProvider = new RSessionProvider(TestCoreServices.CreateReal());

            var connectionsProvider   = VsAppShell.Current.ExportProvider.GetExportedValue <IConnectionManagerProvider>();
            var historyProvider       = VsAppShell.Current.ExportProvider.GetExportedValue <IRHistoryProvider>();
            var packagesProvider      = VsAppShell.Current.ExportProvider.GetExportedValue <IRPackageManagerProvider>();
            var plotsProvider         = VsAppShell.Current.ExportProvider.GetExportedValue <IRPlotManagerProvider>();
            var activeTextViewTracker = new ActiveTextViewTrackerMock(string.Empty, string.Empty);
            var debuggerModeTracker   = new TestDebuggerModeTracker();

            _interactiveWorkflow = UIThreadHelper.Instance.Invoke(() => new RInteractiveWorkflow(
                                                                      _sessionProvider, connectionsProvider, historyProvider, packagesProvider, plotsProvider, activeTextViewTracker,
                                                                      debuggerModeTracker, VsAppShell.Current, RToolsSettings.Current, null, () => { }));
        }
        public CurrentDirectoryTest(BrokerFixture broker)
        {
            _broker          = broker;
            _sessionProvider = VsAppShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();

            var connectionsProvider   = VsAppShell.Current.ExportProvider.GetExportedValue <IConnectionManagerProvider>();
            var historyProvider       = VsAppShell.Current.ExportProvider.GetExportedValue <IRHistoryProvider>();
            var packagesProvider      = VsAppShell.Current.ExportProvider.GetExportedValue <IRPackageManagerProvider>();
            var plotsProvider         = VsAppShell.Current.ExportProvider.GetExportedValue <IRPlotManagerProvider>();
            var activeTextViewTracker = new ActiveTextViewTrackerMock(string.Empty, string.Empty);
            var debuggerModeTracker   = new TestDebuggerModeTracker();

            _interactiveWorkflow = new RInteractiveWorkflow(
                _sessionProvider, connectionsProvider, historyProvider, packagesProvider, plotsProvider, activeTextViewTracker,
                debuggerModeTracker, _broker.BrokerConnector, VsAppShell.Current, RToolsSettings.Current, null, () => { });
        }
Exemple #5
0
        public CurrentDirectoryTest()
        {
            var sessionProvider       = VsAppShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();
            var connectionsProvider   = VsAppShell.Current.ExportProvider.GetExportedValue <IConnectionManagerProvider>();
            var historyProvider       = VsAppShell.Current.ExportProvider.GetExportedValue <IRHistoryProvider>();
            var packagesProvider      = VsAppShell.Current.ExportProvider.GetExportedValue <IRPackageManagerProvider>();
            var plotsProvider         = VsAppShell.Current.ExportProvider.GetExportedValue <IRPlotManagerProvider>();
            var activeTextViewTracker = new ActiveTextViewTrackerMock(string.Empty, string.Empty);
            var debuggerModeTracker   = new TestDebuggerModeTracker();
            var brokerConnector       = new RHostBrokerConnector();

            brokerConnector.SwitchToLocalBroker(nameof(CurrentDirectoryTest));
            _interactiveWorkflow = new RInteractiveWorkflow(
                sessionProvider, connectionsProvider, historyProvider, packagesProvider, plotsProvider, activeTextViewTracker,
                debuggerModeTracker, brokerConnector, VsAppShell.Current, RToolsSettings.Current, () => brokerConnector.Dispose());
        }
Exemple #6
0
        public void HelpTest()
        {
            var clientApp       = new RHostClientHelpTestApp();
            var historyProvider = RHistoryProviderStubFactory.CreateDefault();

            using (var hostScript = new VsRHostScript(clientApp)) {
                using (var script = new ControlTestScript(typeof(HelpWindowVisualComponent))) {
                    DoIdle(100);

                    var activeViewTrackerMock       = new ActiveTextViewTrackerMock("  plot", RContentTypeDefinition.ContentType);
                    var activeReplTrackerMock       = new ActiveRInteractiveWindowTrackerMock();
                    var sessionProvider             = VsAppShell.Current.ExportProvider.GetExportedValue <IRSessionProvider>();
                    var interactiveWorkflowProvider = TestRInteractiveWorkflowProviderFactory.Create(sessionProvider, activeTextViewTracker: activeViewTrackerMock);
                    var interactiveWorkflow         = interactiveWorkflowProvider.GetOrCreate();

                    var component = ControlWindow.Component as IHelpWindowVisualComponent;
                    component.Should().NotBeNull();

                    component.VisualTheme = "Light.css";
                    clientApp.Component   = component;

                    var view = activeViewTrackerMock.GetLastActiveTextView(RContentTypeDefinition.ContentType);

                    var cmd = new ShowHelpOnCurrentCommand(interactiveWorkflow, activeViewTrackerMock, activeReplTrackerMock);

                    cmd.Should().BeVisibleAndDisabled();
                    view.Caret.MoveTo(new SnapshotPoint(view.TextBuffer.CurrentSnapshot, 3));

                    cmd.Should().BeVisibleAndEnabled();
                    cmd.Text.Should().EndWith("plot");

                    cmd.Invoke();
                    WaitForAppReady(clientApp);

                    clientApp.Uri.IsLoopback.Should().Be(true);
                    clientApp.Uri.PathAndQuery.Should().Be("/library/graphics/html/plot.html");

                    DoIdle(500);
                }
            }
        }
Exemple #7
0
        public async Task HelpTest()
        {
            var clientApp = new RHostClientHelpTestApp();
            await HostScript.InitializeAsync(clientApp);

            using (new ControlTestScript(typeof(HelpVisualComponent))) {
                DoIdle(100);

                var activeViewTrackerMock = new ActiveTextViewTrackerMock("  plot", RContentTypeDefinition.ContentType);
                var activeReplTrackerMock = new ActiveRInteractiveWindowTrackerMock();

                var interactiveWorkflow = Substitute.For <IRInteractiveWorkflow>();
                interactiveWorkflow.RSession.Returns(HostScript.Session);

                var component = ControlWindow.Component as IHelpVisualComponent;
                component.Should().NotBeNull();

                component.VisualTheme = "Light.css";
                await UIThreadHelper.Instance.InvokeAsync(() => {
                    clientApp.Component = component;

                    var view = activeViewTrackerMock.GetLastActiveTextView(RContentTypeDefinition.ContentType);
                    var cmd  = new ShowHelpOnCurrentCommand(interactiveWorkflow, activeViewTrackerMock, activeReplTrackerMock);
                    cmd.Should().BeVisibleAndDisabled();

                    view.Caret.MoveTo(new SnapshotPoint(view.TextBuffer.CurrentSnapshot, 3));

                    cmd.Should().BeVisibleAndEnabled();
                    cmd.Text.Should().EndWith("plot");

                    clientApp.Ready.Reset();
                    cmd.Invoke();
                });

                await clientApp.WaitForReadyAndRenderedAsync((ms) => DoIdle(ms), nameof(HelpTest));

                clientApp.Uri.IsLoopback.Should().Be(true);
                clientApp.Uri.PathAndQuery.Should().Be("/library/graphics/html/plot.html");
            }
        }