System.Xml.Tests.TCLineInfoProvider.LineInfoProviderChangesDuringValidation C# (CSharp) Méthode

LineInfoProviderChangesDuringValidation() private méthode

private LineInfoProviderChangesDuringValidation ( ) : void
Résultat void
        public void LineInfoProviderChangesDuringValidation()
        {
            string xmlSrc = "<root><foo>FooText</foo></root>";
            XmlSchemaInfo info = new XmlSchemaInfo();
            CValidationEventHolder holder = new CValidationEventHolder();

            int lineNum = -1;
            int linePos = -1;

            XmlSchemaValidator val = CreateValidator(CreateSchemaSetFromXml(xmlSrc));

            val.ValidationEventHandler += holder.CallbackA;
            val.Initialize();

            foreach (int i in new int[] { 1111, 1333, 0 })
            {
                lineNum = i;
                linePos = i * 2;
                if (i == 0)
                    val.LineInfoProvider = null;
                else
                    val.LineInfoProvider = new CDummyLineInfo(lineNum, linePos);

                val.ValidateElement("root", "", info);
                val.ValidateEndOfAttributes(null);
                val.ValidateElement("bar", "", info);
                Assert.True(holder.IsCalledA);

                Assert.Equal(holder.lastException.LineNumber, lineNum);
                Assert.Equal(holder.lastException.LinePosition, linePos);

                val.SkipToEndElement(info);
                val.SkipToEndElement(info);
                holder.IsCalledA = false;
            }

            return;
        }