public void ErrorInNamespaceDecl() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileWithNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//s:variable/@Name"; p.Namespaces = "<!THIS IS ERROR Namespace Prefix=\"s\" Uri=\"http://nsurl\" />"; bool executeResult = p.Execute(); Assert.IsTrue(engine.Log.Contains("MSB3742"), "Engine Log: " + engine.Log); Assert.IsFalse(executeResult, "Execution should've failed"); }
public void PeekWithNamespaceAttribute() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileWithNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//s:variable/@Name"; p.Namespaces = "<Namespace Prefix=\"s\" Uri=\"http://nsurl\" />"; Assert.True(p.Execute()); // "Test should've passed" Assert.Equal(3, p.Result.Length); // "result Length should be 3" string[] results = new string[] { "a", "b", "c" }; for (int i = 0; i < p.Result.Length; i++) { Assert.True(p.Result[i].ItemSpec.Equals(results[i]), "Results don't match: " + p.Result[i].ItemSpec); } }
public void MissingNamespaceParameters() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileWithNs, out xmlInputPath); string[] attrs = new string[] { "Prefix=\"s\"", "Uri=\"http://nsurl\"" }; for (int i = 0; i < Math.Pow(2, attrs.Length); i++) { string res = ""; for (int k = 0; k < attrs.Length; k++) { if ((i & (int)Math.Pow(2, k)) != 0) { res += attrs[k] + " "; } } XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//s:variable/@Name"; p.Namespaces = "<Namespace " + res + " />"; bool result = p.Execute(); Console.WriteLine(engine.Log); if (i == 3) { Assert.True(result); // "Only 3rd value should pass." } else { Assert.False(result); // "Only 3rd value should pass." } } }
public void PeekNoNSWPrefixedQueryError() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileNoNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//s:variable/@Name"; Assert.False(p.Execute()); // "Test should've failed" Assert.True(engine.Log.Contains("MSB3743")); // "Engine log should contain error code MSB3743" }
public void PeekNoNSXmlContentAndXmlInputError2() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileNoNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.Query = "//variable/@Name"; Assert.False(p.Execute()); // "Test should've failed" Assert.True(engine.Log.Contains("MSB3741")); // "Error message MSB3741 should fire" }
public void PeekNoNSXmlContent() { MockEngine engine = new MockEngine(true); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlContent = _xmlFileNoNs; p.Query = "//variable/@Name"; Assert.True(p.Execute()); // "Test should've passed" Assert.Equal(3, p.Result.Length); // "result Length should be 3" string[] results = new string[] { "a", "b", "c" }; for (int i = 0; i < p.Result.Length; i++) { Assert.True(p.Result[i].ItemSpec.Equals(results[i]), "Results don't match: " + p.Result[i].ItemSpec); } }
public void PeekWithNamespaceText() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileWithNsWithText, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//s:variable/text()"; p.Namespaces = "<Namespace Prefix=\"s\" Uri=\"http://nsurl\" />"; Assert.IsTrue(p.Namespaces.Equals("<Namespace Prefix=\"s\" Uri=\"http://nsurl\" />")); Assert.IsTrue(p.Execute(), "Test should've passed"); Assert.IsTrue(p.Result.Length == 3, "result Length should be 3"); string[] results = new string[] { "This", "is", "Sparta!" }; for (int i = 0; i < p.Result.Length; i++) { Assert.IsTrue(p.Result[i].ItemSpec.Equals(results[i]), "Results don't match: " + p.Result[i].ItemSpec); } }
public void PeekWithNamespaceNode() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileWithNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//s:variable/."; p.Namespaces = "<Namespace Prefix=\"s\" Uri=\"http://nsurl\" />"; Assert.IsTrue(p.Execute(), "Test should've passed"); Assert.IsTrue(p.Result.Length == 3, "result Length should be 3"); string[] results = new string[] { "<s:variable Type=\"String\" Name=\"a\" xmlns:s=\"http://nsurl\"></s:variable>", "<s:variable Type=\"String\" Name=\"b\" xmlns:s=\"http://nsurl\"></s:variable>", "<s:variable Type=\"String\" Name=\"c\" xmlns:s=\"http://nsurl\"></s:variable>" }; for (int i = 0; i < p.Result.Length; i++) { Assert.IsTrue(p.Result[i].ItemSpec.Equals(results[i]), "Results don't match: " + p.Result[i].ItemSpec); } }
public void PeekNoNSXmlContentAndXmlInputError1() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileNoNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.XmlContent = _xmlFileNoNs; Assert.IsTrue(p.XmlInputPath.ItemSpec.Equals(xmlInputPath)); Assert.IsTrue(p.XmlContent.Equals(_xmlFileNoNs)); p.Query = "//variable/@Name"; Assert.IsTrue(p.Query.Equals("//variable/@Name")); Assert.IsFalse(p.Execute(), "Test should've failed"); Assert.IsTrue(engine.Log.Contains("MSB3741"), "Error message MSB3741 should fire"); }
public void PeekNoNamespace() { MockEngine engine = new MockEngine(true); string xmlInputPath; Prepare(_xmlFileNoNs, out xmlInputPath); XmlPeek p = new XmlPeek(); p.BuildEngine = engine; p.XmlInputPath = new TaskItem(xmlInputPath); p.Query = "//variable/@Name"; Assert.IsTrue(p.Execute(), "Test should've passed"); Assert.IsTrue(p.Result.Length == 3, "result Length should be 3"); string[] results = new string[] { "a", "b", "c" }; for (int i = 0; i < p.Result.Length; i++) { Assert.IsTrue(p.Result[i].ItemSpec.Equals(results[i]), "Results don't match: " + p.Result[i].ItemSpec); } }