public static void valid(string test_folder) { ValidationEventHandler cb = (object sender, ValidationEventArgs e) => { Console.WriteLine($"{e.Severity}: {e.Message}"); Console.WriteLine($"{e.Exception.ToString()}"); }; string filePath = Path.Combine(test_folder, "hello_valid.xml"); string schemaPath = Path.Combine(test_folder, schema_name); using (var xmlStream = File.OpenRead(filePath)) using (var schemaStream = File.OpenRead(schemaPath)) { try { ExmlValidator.Validate(xmlStream, schemaStream, cb); } catch (XmlSchemaException e) { Console.WriteLine($"{e.ToString()}"); throw e; } } }
private List <Exml.ValidatorModel.ValidationIssue> GetIssues(string resourceName) { var assembly = Assembly.GetExecutingAssembly(); using (var stream = assembly.GetManifestResourceStream("ExmlTests." + resourceName)) { return(ExmlValidator.Validate(stream)); } }
public static void unkown_tag(string test_folder) { var issues = ExmlValidator.Validate(Path.Combine(test_folder, "unknown_widget.xml")); Test.AssertEquals(issues.Count, 1); var issue = issues[0]; Test.AssertEquals(issue.Severity, ValidationIssueSeverity.Error); Test.AssertEquals(issue.Line, 4); Test.AssertEquals(issue.Position, 10); Test.AssertEquals(issue.Message, "Unknown type MyUnknownButton"); }
public static void invalid(string test_folder) { var issues = ExmlValidator.Validate(Path.Combine(test_folder, "invalid_xml.xml")); Test.AssertEquals(issues.Count, 1); var issue = issues[0]; Test.AssertEquals(issue.Severity, ValidationIssueSeverity.CriticalError); Test.AssertEquals(issue.Line, 9); Test.AssertEquals(issue.Position, 3); }
public static void invalid_container(string test_folder) { var issues = ExmlValidator.Validate(Path.Combine(test_folder, "invalid_container.xml")); Test.AssertEquals(issues.Count, 2); var issue = issues[0]; Test.AssertEquals(issue.Severity, ValidationIssueSeverity.Error); Test.AssertEquals(issue.Line, 4); Test.AssertEquals(issue.Position, 10); Test.AssertEquals(issue.Message, "Type Button is not a container"); issue = issues[1]; Test.AssertEquals(issue.Severity, ValidationIssueSeverity.Error); Test.AssertEquals(issue.Line, 5); Test.AssertEquals(issue.Position, 10); Test.AssertEquals(issue.Message, "Type Button is not a container"); }
public static void valid(string test_folder) { var issues = ExmlValidator.Validate(Path.Combine(test_folder, "hello_valid.xml")); Test.AssertEquals(issues.Count, 0); }