Beispiel #1
0
        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;
                    }
                }
        }
Beispiel #2
0
        private List <Exml.ValidatorModel.ValidationIssue> GetIssues(string resourceName)
        {
            var assembly = Assembly.GetExecutingAssembly();

            using (var stream = assembly.GetManifestResourceStream("ExmlTests." + resourceName))
            {
                return(ExmlValidator.Validate(stream));
            }
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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");
        }
Beispiel #6
0
        public static void valid(string test_folder)
        {
            var issues = ExmlValidator.Validate(Path.Combine(test_folder, "hello_valid.xml"));

            Test.AssertEquals(issues.Count, 0);
        }