public void SetAndValidateValues(string expectedValue, string inputValue, Func <UIField, string> collectValueFromWidget, int delay = 200) { // Set expected and source this.ExpectedText.Text = expectedValue; this.InputText.Text = inputValue; // Update field field.SetValue(inputValue, false); // Assert expected field value Assert.AreEqual(expectedValue, field.Value); // Assert expected widget value Assert.AreEqual(expectedValue, collectValueFromWidget(field)); // Sleep System.Threading.Thread.Sleep(delay); }
public MarkdownEditPage(UIField uiField) { this.WindowTitle = "MatterControl - " + "Markdown Edit".Localize(); this.HeaderText = "Edit Page".Localize() + ":"; var tabControl = new SimpleTabs(theme, new GuiWidget()) { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Stretch, }; tabControl.TabBar.BackgroundColor = theme.TabBarBackground; tabControl.TabBar.Padding = 0; contentRow.AddChild(tabControl); contentRow.Padding = 0; var editContainer = new GuiWidget() { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Stretch, Padding = theme.DefaultContainerPadding, BackgroundColor = theme.BackgroundColor }; editWidget = new MHTextEditWidget("", theme, multiLine: true, typeFace: ApplicationController.GetTypeFace(NamedTypeFace.Liberation_Mono)) { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Stretch, Name = this.Name }; editWidget.DrawFromHintedCache(); editWidget.ActualTextEditWidget.VAnchor = VAnchor.Stretch; editContainer.AddChild(editWidget); markdownWidget = new MarkdownWidget(theme, true) { HAnchor = HAnchor.Stretch, VAnchor = VAnchor.Stretch, Margin = 0, Padding = 0, }; var previewTab = new ToolTab("Preview", "Preview".Localize(), tabControl, markdownWidget, theme, hasClose: false) { Name = "Preview Tab" }; tabControl.AddTab(previewTab); var editTab = new ToolTab("Edit", "Edit".Localize(), tabControl, editContainer, theme, hasClose: false) { Name = "Edit Tab" }; tabControl.AddTab(editTab); tabControl.ActiveTabChanged += (s, e) => { if (tabControl.SelectedTabIndex == 1) { markdownWidget.Markdown = editWidget.Text; } }; tabControl.SelectedTabIndex = 0; var saveButton = theme.CreateDialogButton("Save".Localize()); saveButton.Click += (s, e) => { uiField.SetValue( editWidget.Text.Replace("\n", "\\n"), userInitiated: true); this.DialogWindow.CloseOnIdle(); }; this.AddPageAction(saveButton); var link = new LinkLabel("Markdown Help", theme) { Margin = new BorderDouble(right: 20), VAnchor = VAnchor.Center }; link.Click += (s, e) => { ApplicationController.Instance.LaunchBrowser("https://guides.github.com/features/mastering-markdown/"); }; footerRow.AddChild(link, 0); }