private void UpdateUi() { var srcList = referenceLink.Sources; var action = referenceLink.Action; var spannableTextBuilder = new SpannableTextBuilder(); ISpanned spannedText; string html = new HtmlTagHelper().FormatAdditionalTags(referenceLink.HtmlText); if (Build.VERSION.SdkInt >= BuildVersionCodes.N) { spannedText = Html.FromHtml(html, FromHtmlOptions.ModeLegacy); } else { #pragma warning disable 618 spannedText = Html.FromHtml(html); #pragma warning restore 618 } Control.TextFormatted = spannableTextBuilder.CreateSubtitlesText(action(), spannedText, srcList); // Make links clickable Control.MovementMethod = LinkMovementMethod.Instance; Control.AutoLinkMask = MatchOptions.All; Control.Clickable = true; Control.LinksClickable = true; }
public List <string> ToTokenList(string format, IFormatProvider formatProvider) { List <string> words = new List <string>(); if (format == "html" && new String[] { "ona", "mi", "sina" }.Contains(head.Text)) { words.Add(HtmlTagHelper.SpanWrap("anaphora", head.ToString(format, formatProvider))); } else { words.Add(head.ToString(format, formatProvider)); } if (Modifiers != null && Modifiers.Count > 0) { words.AddIfNeeded("(", format); words.AddRange(modifiers.Select(x => x.ToString(format, formatProvider))); words.AddIfNeeded(")", format); } if (prepositionalPhrases != null) { foreach (PrepositionalPhrase phrase in prepositionalPhrases) { words.AddIfNeeded("(", format); words.AddRange(phrase.ToTokenList(format, formatProvider)); words.AddIfNeeded(")", format); } } return(words); }
public void HtmlTagFor_Expression_Constant() { var helper = new HtmlTagHelper <Model1>(); Assert.Throws <InvalidOperationException>( () => helper.HtmlTagFor(m => 1, "input")); }
public void HtmlTagFor_Expression_MethodCall() { var helper = new HtmlTagHelper <Model1>(); Assert.Throws <InvalidOperationException>( () => helper.HtmlTagFor(m => m.PropInt.ToString(), "input")); }
public void SelectFor_NotNull_DefaultValue() { var model = new Model1() { PropInt = 1 }; var helper = new HtmlTagHelper <Model1>(model); var propExpression = Expr((Model1 m) => m.PropInt); var tag = helper.SelectFor( propExpression, OptionsList.CreateForEnum <Enum1>(), defaultValue: 2); AssertValid(tag, "select", "PropInt"); var firstChild = tag.Children.First(); var secondChild = tag.Children.Skip(1).First(); var thirdChild = tag.Children.Skip(2).First(); Assert.Equal("Option1", firstChild.Text()); Assert.True(firstChild.ValueIsEqual(1)); Assert.True(firstChild.HasAttr("selected")); Assert.Equal("Option2", secondChild.Text()); Assert.True(secondChild.ValueIsEqual(2)); Assert.False(secondChild.HasAttr("selected")); Assert.Equal("Option3", thirdChild.Text()); Assert.True(thirdChild.ValueIsEqual(3)); Assert.False(thirdChild.HasAttr("selected")); }
public override string ToString(string format, IFormatProvider formatProvider) { Dialect c = formatProvider.GetFormat(typeof(Word)) as Dialect; string headString = head.ToString(format, formatProvider); List <string> parts = new List <string>(tags.Count); foreach (Word tag in tags) { parts.Add(tag.ToString(format, formatProvider)); } if (format == "html") { return(headString + " " + HtmlTagHelper.SpanWrap("conjunction", string.Join(" ", parts))); } else if (format.StartCheck("b")) { return(headString + " |" + string.Join(" ", parts) + "| "); } else { return(headString + " " + string.Join(" ", parts)); } }
protected override void OnElementChanged(ElementChangedEventArgs <Label> elementChangedEventArgs) { base.OnElementChanged(elementChangedEventArgs); formslink = elementChangedEventArgs.NewElement as HtmlLink; if (formslink != null) { string html = new HtmlTagHelper().FormatAdditionalTags(formslink.HtmlText); if (Build.VERSION.SdkInt >= BuildVersionCodes.N) { Control.TextFormatted = Html.FromHtml(html, FromHtmlOptions.ModeLegacy); } else { #pragma warning disable 618 Control.TextFormatted = Html.FromHtml(html); #pragma warning restore 618 } // Make links clickable Control.MovementMethod = LinkMovementMethod.Instance; Control.AutoLinkMask = MatchOptions.All; Control.Clickable = true; Control.LinksClickable = true; } }
public void Select_Null_DefaultValue() { var model = new Model1() { PropInt = null }; var helper = new HtmlTagHelper(model); var name = "PropInt"; var tag = helper.Select( name, OptionsList.CreateForEnum <Enum1>(), defaultValue: 2); AssertValid(tag, "select", name); var firstChild = tag.Children.First(); var secondChild = tag.Children.Skip(1).First(); var thirdChild = tag.Children.Skip(2).First(); Assert.Equal("Option1", firstChild.Text()); Assert.True(firstChild.ValueIsEqual(1)); Assert.False(firstChild.HasAttr("selected")); Assert.Equal("Option2", secondChild.Text()); Assert.True(secondChild.ValueIsEqual(2)); Assert.True(secondChild.HasAttr("selected")); Assert.Equal("Option3", thirdChild.Text()); Assert.True(thirdChild.ValueIsEqual(3)); Assert.False(thirdChild.HasAttr("selected")); }
//Dupe public string ToString(string format, IFormatProvider formatProvider) { if (format == null) { format = "g"; } Dialect c = formatProvider.GetFormat(typeof(Particle)) as Dialect; //// Handle null or empty string. if (String.IsNullOrEmpty(format)) { format = "g"; } // Remove spaces and convert to uppercase. format = format.Trim(); if (format == null || format == "g" || format == "G") { return(Text); } if (format == "html") { return(HtmlTagHelper.SpanWrap("function", Text)); } bool includePos = false; if (format.ContainsCheck(":")) { string[] parts = format.Split(new char[] { ':' }); format = parts[0]; includePos = Convert.ToBoolean(parts[1]); } CultureInfo ci = Thread.CurrentThread.CurrentCulture; string language; if (c.TargetGloss == "thread") { language = ci.TwoLetterISOLanguageName; } else { language = c.TargetGloss; } if (language == "tp") { return(Text == " "?"":Text); //And maybe POS } if (includePos) { return(TryGloss(language, format) + "(" + format + ")"); } else { return(TryGloss(language, format)); } }
public void File() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.File(name); AssertValid(tag, "input", name, "file"); }
public void TextArea() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.TextArea(name); AssertValid(tag, "textarea", name); }
public void Password() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.Password(name); AssertValid(tag, "input", name, "password"); }
public void Hidden() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.Hidden(name); AssertValid(tag, "input", name, "hidden"); }
public void TextBox() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.TextBox(name); AssertValid(tag, "input", name, "text"); }
public void HtmlTag_Any() { var helper = new HtmlTagHelper(); var tagName = "any"; var name = "name2"; var tag = helper.HtmlTag(tagName, name); AssertValid(tag, tagName, name); }
public void HtmlTag_Input() { var helper = new HtmlTagHelper(); var tagName = "input"; var name = "name1"; var tag = helper.HtmlTag(tagName, name); AssertValid(tag, tagName, name); }
public void Radio_Checked() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.Radio(name, isChecked: true); AssertValid(tag, "input", name, "radio"); Assert.True(tag.Checked()); }
public void CheckBox_Checked() { var helper = new HtmlTagHelper(); var name = "name1"; var tag = helper.CheckBox(name, isChecked: true); AssertValid(tag, "input", name, "checkbox"); Assert.True(tag.Checked()); }
public void Input_Any() { var helper = new HtmlTagHelper(); var name = "name1"; var type = "any"; var tag = helper.Input(type, name); AssertValid(tag, "input", name, type); }
public void Input_Text_InputType() { var helper = new HtmlTagHelper(); var name = "name1"; var type = InputType.Text; var tag = helper.Input(type, name); AssertValid(tag, "input", name, "text"); }
public void HtmlTag_Input_Value_Date() { var model = new Model1() { PropDate = DateTime.UtcNow }; var helper = new HtmlTagHelper(model); var tagName = "input"; var name = "PropDate"; var tag = helper.HtmlTag(tagName, name); AssertValid(tag, tagName, name, value: model.PropDate); }
public void GetHeadTag_OnExecuteWithMultipleHeadTags_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html><head><title>Title</title></head><head><title>Title</title></head></html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetHeadTag(doc.DocumentNode); }
public void GetBodyTag_OnExecuteWithNoBodyTag_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html><title>Title</title></html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetBodyTag(doc.DocumentNode); }
public void HtmlTag_Input_Value_Null() { var model = new Model1() { PropInt = null }; var helper = new HtmlTagHelper(model); var tagName = "input"; var name = "PropInt"; var tag = helper.HtmlTag(tagName, name); AssertValid(tag, tagName, name, value: model.PropInt); }
public void HtmlTagFor_Any() { var helper = new HtmlTagHelper <Model1>(); var propExpression = Expr((Model1 m) => m.PropInt); var tagName = "any"; var tag = helper.HtmlTagFor(propExpression, tagName); AssertValid(tag, tagName, "PropInt"); }
public void GetMetaTags_OnExecuteWithNoMetaTags_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html>Empty</html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetMetaTags(doc.DocumentNode); }
public void GetBodyTag_OnExecuteWithMultipleBodyTags_ThrowsException() { var doc = new HtmlDocument(); doc.LoadHtml("<html><body><div>Content</div></body><body><div>Content</div></body></html>"); var htmlTagHelper = new HtmlTagHelper(); htmlTagHelper.GetBodyTag(doc.DocumentNode); }
public void GetMetaTags_OnExecuteWithMetaTags_ReturnsMetaTagsNodes() { var doc = new HtmlDocument(); doc.LoadHtml("<html><meta /><meta /></html>"); var htmlTagHelper = new HtmlTagHelper(); var metaTags = htmlTagHelper.GetMetaTags(doc.DocumentNode); Assert.IsNotNull(metaTags); Assert.AreEqual(2, metaTags.Count()); }
public void GetHeadTag_OnExecuteWithHeadTag_ReturnsTheHeadNode() { var doc = new HtmlDocument(); doc.LoadHtml("<html><head><title>Title</title></head></html>"); var htmlTagHelper = new HtmlTagHelper(); var headTag = htmlTagHelper.GetHeadTag(doc.DocumentNode); Assert.IsNotNull(headTag); Assert.AreEqual("<title>Title</title>", headTag.InnerHtml); }
public void GetBodyTag_OnExecuteWithBodyTag_ReturnsTheBodyNode() { var doc = new HtmlDocument(); doc.LoadHtml("<html><body><div>Content</div></body></html>"); var htmlTagHelper = new HtmlTagHelper(); var bodyTag = htmlTagHelper.GetBodyTag(doc.DocumentNode); Assert.IsNotNull(bodyTag); Assert.AreEqual("<div>Content</div>", bodyTag.InnerHtml); }
public void RadioFor_Value_Int() { var model = new Model1() { PropInt = 1 }; var helper = new HtmlTagHelper <Model1>(model); var propExpression = Expr((Model1 m) => m.PropInt); var tag = helper.RadioFor(propExpression); AssertValid(tag, "input", "PropInt", type: "radio", value: model.PropInt); }
public void TextAreaFor_Value_Int() { var model = new Model1() { PropInt = 1 }; var helper = new HtmlTagHelper <Model1>(model); var propExpression = Expr((Model1 m) => m.PropInt); var tag = helper.TextAreaFor(propExpression); AssertValid(tag, "textarea", "PropInt", value: model.PropInt); }
public void Select_NotNull_DefaultValue() { var model = new Model1() { PropInt = 1 }; var helper = new HtmlTagHelper(model); var name = "PropInt"; var tag = helper.Select( name, OptionsList.CreateForEnum<Enum1>(), defaultValue: 2); AssertValid(tag, "select", name); var firstChild = tag.Children.First(); var secondChild = tag.Children.Skip(1).First(); var thirdChild = tag.Children.Skip(2).First(); Assert.Equal("Option1", firstChild.Text()); Assert.True(firstChild.ValueIsEqual(1)); Assert.True(firstChild.HasAttr("selected")); Assert.Equal("Option2", secondChild.Text()); Assert.True(secondChild.ValueIsEqual(2)); Assert.False(secondChild.HasAttr("selected")); Assert.Equal("Option3", thirdChild.Text()); Assert.True(thirdChild.ValueIsEqual(3)); Assert.False(thirdChild.HasAttr("selected")); }
public void CheckBoxList_NotNull_DefaultValue() { var model = new Model1() { PropIntList = Coll.Array(2, 3) }; var helper = new HtmlTagHelper(model); var name = "PropIntList"; var tag = helper.CheckBoxList( name, OptionsList.CreateForEnum<Enum1>(), defaultValues: Coll.Array(1, 2, 4)); Assert.Equal(3, tag.Children.Count()); CheckBoxListTagTest.AssertValidOption(tag.Options.Skip(0).First(), name: name, display: "Option1", value: 1, isChecked: false); CheckBoxListTagTest.AssertValidOption(tag.Options.Skip(1).First(), name: name, display: "Option2", value: 2, isChecked: true); CheckBoxListTagTest.AssertValidOption(tag.Options.Skip(2).First(), name: name, display: "Option3", value: 3, isChecked: true); }