public void LoadTest_Empty() { string xtml = string.Empty; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_option, null); Assert.AreEqual <int>(0, document.ChildNodes.Count()); }
public void RenderTest() { string xtml = "文章信息\r\n名称:[dst:Name /]\r\n作者:[dst:Author /]\r\n时间:[dst:CreateTime /]"; TemplateEngine.TagSystem.RegisterTag(new XtmlNodeRendererWrapper(new DataSourcePropertyXtmlElementRenderer <ArticleInfo, string>("Name")) { Name = "名称", TagName = "dst:Name", }); TemplateEngine.TagSystem.RegisterTag(new XtmlNodeRendererWrapper(new DataSourcePropertyXtmlElementRenderer <ArticleInfo, string>("Author")) { Name = "作者", TagName = "dst:Author", }); TemplateEngine.TagSystem.RegisterTag(new XtmlNodeRendererWrapper(new DataSourcePropertyXtmlElementRenderer <ArticleInfo, DateTime>("CreateTime", null, "yyyy-MM-dd HH:mm:ss")) { Name = "时间", TagName = "dst:CreateTime", }); string filePath = Guid.NewGuid() + ".txt"; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_prefixOption, null); TemplateEngine.TemplateSystem.Render(document, new ArticleInfo { Name = "名称", Author = "作者", CreateTime = new DateTime(2012, 12, 7, 8, 10, 30), }, null, filePath); Assert.AreEqual <string>("文章信息\r\n名称:名称\r\n作者:作者\r\n时间:2012-12-07 08:10:30", File.ReadAllText(filePath, Encoding.GetEncoding(document.Declaration.Encoding))); }
public void LoadTest_File() { string file = Path.Combine(new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName, "Resources\\Template.html"); using (TextReader reader = new StreamReader(file, Encoding.UTF8)) { IXtmlDocument document = TemplateEngine.TemplateSystem.Load(reader, this.m_onePrefixOption, null); } }
public void LoadTest_OneElement() { string xtml = "[?xtml version=\"1.1\" encoding=\"gb2312\" ?]\r\n[name a0=\"value0\"]holder[/name]holder"; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_option, null); Assert.AreEqual <int>(4, document.ChildNodes.Count()); Assert.AreEqual <string>("name", document.ChildNodes.ElementAt(2).LocalName); }
public void LoadTest_NoChildren() { string xtml = "holder<e;占位符>e;holder"; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_option, null); Assert.AreEqual <int>(1, document.ChildNodes.Count()); Assert.AreEqual <string>(xtml, document.ChildNodes.ElementAt(0).NodeXtml); Assert.AreEqual <string>(this.m_option.Context.Decode(xtml), ((IXtmlText)document.ChildNodes.ElementAt(0)).Text); }
public void LoadTest_MutipleElement_MultiplePrefix() { string xtml = "[?xtml version=\"1.1\" encoding=\"gb2312\" ?]\r\n[x:a a0=\"<e;value0>e;\"]holder\r\n[y:b /][/x:a]holder"; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_twoPrefixOption, "abc"); Assert.AreEqual <int>(4, document.ChildNodes.Count()); Assert.AreEqual <string>("x:a", ((IXtmlElement)document.ChildNodes.ElementAt(2)).QualifiedName); Assert.AreEqual <string>("[value0]", ((IXtmlElement)document.ChildNodes.ElementAt(2)).Attributes.ElementAt(0).GetValue(null, null)); Assert.AreEqual <string>("holder\r\n", document.ChildNodes.ElementAt(2).ChildNodes.ElementAt(0).NodeXtml); Assert.AreEqual <string>("y:b", ((IXtmlElement)document.ChildNodes.ElementAt(2).ChildNodes.ElementAt(1)).QualifiedName); }
public void LoadTest_MutipleElement() { string xtml = "[?xtml version=\"1.1\" encoding=\"gb2312\" ?]\r\n[a a0=\"<e;value<e;0>e;\"]holder\r\n[b /][/a]holder"; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_option, null); Assert.AreEqual <int>(4, document.ChildNodes.Count()); Assert.AreEqual <string>("a", document.ChildNodes.ElementAt(2).LocalName); Assert.AreEqual <string>("[value[0]", ((IXtmlElement)document.ChildNodes.ElementAt(2)).Attributes.ElementAt(0).GetValue(null, null)); Assert.AreEqual <string>("holder\r\n", document.ChildNodes.ElementAt(2).ChildNodes.ElementAt(0).NodeXtml); Assert.AreEqual <string>("b", document.ChildNodes.ElementAt(2).ChildNodes.ElementAt(1).LocalName); }
public void LoadTest_NoChildren_HasDeclaration() { string xtml = "[?xtml version=\"1.1\" type=\"text/javascript\" encoding=\"gb2312\" ?]holder占位符holder"; IXtmlDocument document = TemplateEngine.TemplateSystem.Load(xtml, this.m_option, null); Assert.AreEqual <int>(2, document.ChildNodes.Count()); Assert.AreEqual <string>("1.1", document.Declaration.Version); Assert.AreEqual <string>("text/javascript", document.Declaration.Type); Assert.AreEqual <string>("gb2312", document.Declaration.Encoding); Assert.AreEqual <string>("holder占位符holder", document.ChildNodes.ElementAt(1).NodeXtml); }