public void ConstructorTest02() { using (var script = new ControlTestScript(typeof(VariableView))) { var actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableExplorer02"); } }
public async Task SortTest01() { VisualTreeObject actual = null; using (var hostScript = new VariableRHostScript()) { using (var script = new ControlTestScript(typeof(VariableGridHost))) { await PrepareControl(hostScript, script, "grid.test <- matrix(1:10, 2, 5)"); var header = await VisualTreeExtensions.FindChildAsync <HeaderTextVisual>(script.Control); var grid = await VisualTreeExtensions.FindChildAsync <VisualGrid>(script.Control); header.Should().NotBeNull(); await UIThreadHelper.Instance.InvokeAsync(() => { grid.ToggleSort(header, false); DoIdle(200); grid.ToggleSort(header, false); }); DoIdle(200); actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableGridSorted01"); } } }
public async Task SortTest02() { VisualTreeObject actual = null; using (var script = new ControlTestScript(typeof(VariableGridHost))) { await PrepareControl(_hostScript, script, "grid.test <- mtcars"); UIThreadHelper.Instance.Invoke(() => { var grid = VisualTreeTestExtensions.FindFirstVisualChildOfType <VisualGrid>(script.Control); var header = VisualTreeTestExtensions.FindFirstVisualChildOfType <HeaderTextVisual>(script.Control); // mpg header = VisualTreeTestExtensions.FindNextVisualSiblingOfType <HeaderTextVisual>(header); // cyl header.Should().NotBeNull(); grid.ToggleSort(header, false); DoIdle(200); header = VisualTreeTestExtensions.FindNextVisualSiblingOfType <HeaderTextVisual>(header); // disp header = VisualTreeTestExtensions.FindNextVisualSiblingOfType <HeaderTextVisual>(header); // hp grid.ToggleSort(header, add: true); grid.ToggleSort(header, add: true); DoIdle(200); }); actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableGridSorted02"); } }
public async Task VariableGrid_ConstructorTest02() { VisualTreeObject actual = null; using (var hostScript = new VariableRHostScript()) { using (var script = new ControlTestScript(typeof(VariableGridHost))) { DoIdle(100); var result = await hostScript.EvaluateAsync("grid.test <- matrix(1:10, 2, 5)"); EvaluationWrapper wrapper = new EvaluationWrapper(result); DoIdle(2000); wrapper.Should().NotBeNull(); UIThreadHelper.Instance.Invoke(() => { var host = (VariableGridHost)script.Control; host.SetEvaluation(wrapper); }); DoIdle(1000); actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableGrid02"); } } }
public async Task VariableGrid_ConstructorTest() { VisualTreeObject actual = null; using (var hostScript = new VariableRHostScript()) { using (var script = new ControlTestScript(typeof(VariableGridHost))) { DoIdle(100); var result = await hostScript.EvaluateAsync("grid.test <- matrix(1:10, 2, 5)"); VariableViewModel wrapper = new VariableViewModel(result, VsAppShell.Current.ExportProvider.GetExportedValue <IObjectDetailsViewerAggregator>()); DoIdle(2000); wrapper.Should().NotBeNull(); UIThreadHelper.Instance.Invoke(() => { var host = (VariableGridHost)script.Control; host.SetEvaluation(wrapper); }); DoIdle(1000); actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableGrid02"); } } }
public async Task ConstructorTest() { using (var script = new ControlTestScript(typeof(VariableGridHost), Services)) { await PrepareControl(_hostScript, script, "grid.test <- matrix(1:10, 2, 5)"); var actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableGrid02"); } }
private Task <bool> WaitForControlReady(ControlTestScript script) => Task.Run(async() => { var startTime = DateTime.Now; HeaderTextVisual header = null; while (header == null && (DateTime.Now - startTime).TotalMilliseconds < 5000) { DoIdle(200); header = await VisualTreeTestExtensions.FindFirstVisualChildOfType <HeaderTextVisual>(script.Control); } return(header != null); });
public async Task SimpleFunctionTest() { using (var script = new ControlTestScript(typeof(VariableView), Services)) { DoIdle(100); await HostScript.Session.ExecuteAsync("x <- lm"); DoIdle(1000); var actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableExplorer04"); } }
public async Task SimpleDataTest() { VisualTreeObject actual = null; using (var script = new ControlTestScript(typeof(VariableView))) { DoIdle(100); await HostScript.Session.ExecuteAsync("x <- c(1:10)"); DoIdle(1000); actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableExplorer03"); } }
public void SimpleFunctionTest() { VisualTreeObject actual = null; using (var script = new ControlTestScript(typeof(VariableView))) { DoIdle(100); Task.Run(async() => { await HostScript.Session.ExecuteAsync("x <- lm"); }).Wait(); DoIdle(1000); actual = VisualTreeObject.Create(script.Control); } ViewTreeDump.CompareVisualTrees(_files, actual, "VariableExplorer04"); }
private async Task PrepareControl(VariableRHostScript hostScript, ControlTestScript script, string expression) { DoIdle(100); var result = await hostScript.EvaluateAsync(expression); VariableViewModel wrapper = new VariableViewModel(result, VsAppShell.Current.Services); DoIdle(2000); wrapper.Should().NotBeNull(); UIThreadHelper.Instance.Invoke(() => { var host = (VariableGridHost)script.Control; host.SetEvaluation(wrapper); }); DoIdle(1000); }
public void VariableExplorer_SimpleDataTest() { VisualTreeObject actual = null; using (var hostScript = new VsRHostScript()) { using (var script = new ControlTestScript(typeof(VariableView))) { DoIdle(100); Task.Run(async() => { using (var eval = await hostScript.Session.BeginEvaluationAsync()) { await eval.EvaluateAsync("x <- c(1:10)", REvaluationKind.Mutating); } }).Wait(); DoIdle(2000); actual = VisualTreeObject.Create(script.Control); } } ViewTreeDump.CompareVisualTrees(_files, actual, "VariableExplorer03"); }
public void HelpTest() { var clientApp = new RHostClientHelpTestApp(); using (var hostScript = new VsRHostScript(clientApp)) { using (var script = new ControlTestScript(typeof(HelpWindowVisualComponent))) { DoIdle(100); var component = ControlWindow.Component as IHelpWindowVisualComponent; component.Should().NotBeNull(); component.VisualTheme = "Dark.css"; clientApp.Component = component; ShowHelp("?plot\n", hostScript, clientApp); clientApp.Uri.IsLoopback.Should().Be(true); clientApp.Uri.PathAndQuery.Should().Be("/library/graphics/html/plot.html"); GetBackgroundColor(component.Browser).Should().Be(darkThemeCssColor); UIThreadHelper.Instance.Invoke(() => { component.Browser.Refresh(); WaitForDocumentComplete(component.Browser); }); GetBackgroundColor(component.Browser).Should().Be(darkThemeCssColor); component.VisualTheme = "Light.css"; ShowHelp("?lm\n", hostScript, clientApp); clientApp.Uri.PathAndQuery.Should().Be("/library/stats/html/lm.html"); GetBackgroundColor(component.Browser).Should().Be("white"); ExecCommand(clientApp, RPackageCommandId.icmdHelpPrevious); clientApp.Uri.PathAndQuery.Should().Be("/library/graphics/html/plot.html"); ExecCommand(clientApp, RPackageCommandId.icmdHelpNext); clientApp.Uri.PathAndQuery.Should().Be("/library/stats/html/lm.html"); ExecCommand(clientApp, RPackageCommandId.icmdHelpHome); clientApp.Uri.PathAndQuery.Should().Be("/doc/html/index.html"); } } }
public async Task HelpTest() { var clientApp = new RHostClientHelpTestApp(); await HostScript.InitializeAsync(clientApp); using (var script = new ControlTestScript(typeof(HelpVisualComponent))) { DoIdle(100); var component = ControlWindow.Component as IHelpVisualComponent; component.Should().NotBeNull(); component.VisualTheme = "Dark.css"; await UIThreadHelper.Instance.InvokeAsync(() => { clientApp.Component = component; }); await ShowHelpAsync("plot", HostScript, clientApp); clientApp.Uri.IsLoopback.Should().Be(true); clientApp.Uri.PathAndQuery.Should().Be("/library/graphics/html/plot.html"); (await GetBackgroundColorAsync(component, clientApp)).Should().Be(darkThemeCssColor); component.VisualTheme = "Light.css"; await ShowHelpAsync("lm", HostScript, clientApp); clientApp.Uri.PathAndQuery.Should().Be("/library/stats/html/lm.html"); (await GetBackgroundColorAsync(component, clientApp)).Should().Be("white"); await ExecCommandAsync(clientApp, RPackageCommandId.icmdHelpPrevious); clientApp.Uri.PathAndQuery.Should().Be("/library/graphics/html/plot.html"); await ExecCommandAsync(clientApp, RPackageCommandId.icmdHelpNext); clientApp.Uri.PathAndQuery.Should().Be("/library/stats/html/lm.html"); await ExecCommandAsync(clientApp, RPackageCommandId.icmdHelpHome); clientApp.Uri.PathAndQuery.Should().Be("/doc/html/index.html"); } }
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); } } }
public async Task EvalModeTest(bool dynamicMode, string baselineName) { using (var script = new ControlTestScript(typeof(VariableGridHost), Services)) { using (var inter = await _hostScript.Session.BeginInteractionAsync()) { await inter.RespondAsync("grid.test <- matrix(1:10)"); } await PrepareControl(_hostScript, script, "grid.test"); Services.GetService <IRSettings>().GridDynamicEvaluation = dynamicMode; using (var inter = await _hostScript.Session.BeginInteractionAsync()) { await inter.RespondAsync("grid.test <- matrix(1:20)"); } await UIThreadHelper.Instance.InvokeAsync(() => { DoIdle(500); }); var actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, baselineName); } }
public async Task SortTest01() { using (var script = new ControlTestScript(typeof(VariableGridHost), Services)) { await PrepareControl(_hostScript, script, "grid.test <- matrix(1:10, 2, 5)"); var header = await VisualTreeTestExtensions.FindFirstVisualChildOfType <HeaderTextVisual>(script.Control); header.Should().NotBeNull(); var grid = await VisualTreeTestExtensions.FindFirstVisualChildOfType <VisualGrid>(script.Control); await UIThreadHelper.Instance.InvokeAsync(() => { grid.ToggleSort(new GridIndex(0, header.ColumnIndex), false); DoIdle(200); grid.ToggleSort(new GridIndex(0, header.ColumnIndex), false); }); DoIdle(200); var actual = VisualTreeObject.Create(script.Control); ViewTreeDump.CompareVisualTrees(_files, actual, "VariableGridSorted01"); } }