コード例 #1
0
        public void InitializeShouldNotResetXmlResolver()
        {
            XmlSchemaInfo info = new XmlSchemaInfo();

            CXmlTestResolver res    = new CXmlTestResolver();
            CResolverHolder  holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity  += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlSchemaValidator val = CreateValidator(new XmlSchemaSet());

            val.Initialize();
            val.XmlResolver = res;
            val.EndValidation();

            val.Initialize();
            val.ValidateElement("foo", "", info, "type1", null, null, Path.Combine(TestData, XSDFILE_NO_TARGET_NAMESPACE));
            val.ValidateEndOfAttributes(null);
            val.ValidateElement("bar", "", info);
            val.ValidateEndOfAttributes(null);
            val.ValidateEndElement(info);
            val.ValidateEndElement(info);
            val.EndValidation();

            Assert.True(holder.IsCalledResolveUri);

            return;
        }
コード例 #2
0
        public void UsingCustomXmlResolverWith_SchemaLocation_NoNamespaceSchemaLocation(bool schemaLocation)
        {
            CXmlTestResolver res    = new CXmlTestResolver();
            CResolverHolder  holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity  += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaValidator  val     = new XmlSchemaValidator(new NameTable(),
                                                                 new XmlSchemaSet(),
                                                                 manager,
                                                                 AllFlags);

            val.XmlResolver = res;
            val.Initialize();

            if (schemaLocation)
            {
                manager.AddNamespace("t", "uri:tempuri");
                val.ValidateElement("foo", "", null, "t:type1", null, "uri:tempuri " + Path.Combine(TestData, XSDFILE_TARGET_NAMESPACE), null);
            }
            else
            {
                val.ValidateElement("foo", "", null, "type1", null, null, XSDFILE_NO_TARGET_NAMESPACE);
            }

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            return;
        }
コード例 #3
0
        public void InternalSchemaSetShouldUseSeparateXmlResolver()
        {
            CXmlTestResolver res    = new CXmlTestResolver();
            CResolverHolder  holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity  += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaValidator  val     = new XmlSchemaValidator(new NameTable(),
                                                                 new XmlSchemaSet()
            {
                XmlResolver = new XmlUrlResolver()
            },
                                                                 manager,
                                                                 AllFlags);

            val.XmlResolver = res;

            val.Initialize();
            val.AddSchema(XmlSchema.Read(XmlReader.Create(Path.Combine(TestData, XSDFILE_VALIDATE_ATTRIBUTE)), null)); // this schema has xs:import
            val.ValidateElement("NoAttributesElement", "", null);

            Assert.True(!holder.IsCalledResolveUri);
            Assert.True(!holder.IsCalledGetEntity);

            return;
        }
コード例 #4
0
        public void SetResolverToCustomValidateSomethignChangeResolverThenVerify()
        {
            CXmlTestResolver res    = new CXmlTestResolver();
            CResolverHolder  holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity  += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaInfo       info    = new XmlSchemaInfo();
            XmlSchemaValidator  val     = new XmlSchemaValidator(new NameTable(),
                                                                 new XmlSchemaSet(),
                                                                 manager,
                                                                 AllFlags);

            val.XmlResolver = res;
            val.Initialize();

            val.ValidateElement("foo", "", null, "type1", null, null, Path.Combine(TestData, XSDFILE_NO_TARGET_NAMESPACE));
            val.SkipToEndElement(null);

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            val.XmlResolver           = new XmlUrlResolver();
            holder.IsCalledGetEntity  = false;
            holder.IsCalledResolveUri = false;

            val.ValidateElement("foo", "", null, "type1", null, null, Path.Combine(TestData, XSDFILE_NO_TARGET_NAMESPACE));

            Assert.True(!holder.IsCalledResolveUri);
            Assert.True(!holder.IsCalledGetEntity);

            return;
        }
コード例 #5
0
ファイル: PropertiesTests.cs プロジェクト: geoffkizer/corefx
        public void UsingCustomXmlResolverWith_SchemaLocation_NoNamespaceSchemaLocation(bool schemaLocation)
        {
            CXmlTestResolver res = new CXmlTestResolver();
            CResolverHolder holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaValidator val = new XmlSchemaValidator(new NameTable(),
                                                            new XmlSchemaSet(),
                                                            manager,
                                                            AllFlags);
            val.XmlResolver = res;
            val.Initialize();

            if (schemaLocation)
            {
                manager.AddNamespace("t", "uri:tempuri");
                val.ValidateElement("foo", "", null, "t:type1", null, "uri:tempuri " + TestData + XSDFILE_TARGET_NAMESPACE, null);
            }
            else
            {
                val.ValidateElement("foo", "", null, "type1", null, null, XSDFILE_NO_TARGET_NAMESPACE);
            }

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            return;
        }
コード例 #6
0
        public void SetResolverToCustomValidateSomethingSetResolverToNullThenVerify()
        {
            CXmlTestResolver res    = new CXmlTestResolver();
            CResolverHolder  holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity  += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaInfo       info    = new XmlSchemaInfo();
            XmlSchemaValidator  val     = new XmlSchemaValidator(new NameTable(),
                                                                 new XmlSchemaSet(),
                                                                 manager,
                                                                 AllFlags);

            val.XmlResolver = res;
            val.Initialize();

            val.ValidateElement("foo", "", null, "type1", null, null, Path.Combine(TestData, XSDFILE_NO_TARGET_NAMESPACE));
            val.SkipToEndElement(null);

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            manager.AddNamespace("t", "uri:tempuri");
            val.XmlResolver = null;

            try
            {
                val.ValidateElement("bar", "", null, "t:type1", null, "uri:tempuri " + Path.Combine(TestData, XSDFILE_TARGET_NAMESPACE), null);
                Assert.True(false);
            }
            catch (XmlSchemaValidationException e)
            {
                _exVerifier.IsExceptionOk(e, "Sch_XsiTypeNotFound", new string[] { "uri:tempuri:type1" });
                return;
            }

            Assert.True(false);
        }
コード例 #7
0
ファイル: PropertiesTests.cs プロジェクト: geoffkizer/corefx
        public void InternalSchemaSetShouldUseSeparateXmlResolver()
        {
            CXmlTestResolver res = new CXmlTestResolver();
            CResolverHolder holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaValidator val = new XmlSchemaValidator(new NameTable(),
                                                            new XmlSchemaSet(){ XmlResolver = new XmlUrlResolver()},
                                                            manager,
                                                            AllFlags);
            val.XmlResolver = res;

            val.Initialize();
            val.AddSchema(XmlSchema.Read(XmlReader.Create(TestData + XSDFILE_VALIDATE_ATTRIBUTE), null)); // this schema has xs:import
            val.ValidateElement("NoAttributesElement", "", null);

            Assert.True(!holder.IsCalledResolveUri);
            Assert.True(!holder.IsCalledGetEntity);

            return;
        }
コード例 #8
0
ファイル: PropertiesTests.cs プロジェクト: geoffkizer/corefx
        public void SetResolverToCustomValidateSomethingSetResolverToNullThenVerify()
        {
            CXmlTestResolver res = new CXmlTestResolver();
            CResolverHolder holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaInfo info = new XmlSchemaInfo();
            XmlSchemaValidator val = new XmlSchemaValidator(new NameTable(),
                                                            new XmlSchemaSet(),
                                                            manager,
                                                            AllFlags);
            val.XmlResolver = res;
            val.Initialize();

            val.ValidateElement("foo", "", null, "type1", null, null, TestData + XSDFILE_NO_TARGET_NAMESPACE);
            val.SkipToEndElement(null);

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            manager.AddNamespace("t", "uri:tempuri");
            val.XmlResolver = null;

            try
            {
                val.ValidateElement("bar", "", null, "t:type1", null, "uri:tempuri " + TestData + XSDFILE_TARGET_NAMESPACE, null);
                Assert.True(false);
            }
            catch (XmlSchemaValidationException)
            {
                //XmlExceptionVerifier.IsExceptionOk(e, "Sch_XsiTypeNotFound", new string[] { "uri:tempuri:type1" });
                return;
            }

            Assert.True(false);
        }
コード例 #9
0
ファイル: PropertiesTests.cs プロジェクト: geoffkizer/corefx
        public void SetResolverToCustomValidateSomethignChangeResolverThenVerify()
        {
            CXmlTestResolver res = new CXmlTestResolver();
            CResolverHolder holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaInfo info = new XmlSchemaInfo();
            XmlSchemaValidator val = new XmlSchemaValidator(new NameTable(),
                                                            new XmlSchemaSet(),
                                                            manager,
                                                            AllFlags);
            val.XmlResolver = res;
            val.Initialize();

            val.ValidateElement("foo", "", null, "type1", null, null, TestData + XSDFILE_NO_TARGET_NAMESPACE);
            val.SkipToEndElement(null);

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            val.XmlResolver = new XmlUrlResolver();
            holder.IsCalledGetEntity = false;
            holder.IsCalledResolveUri = false;

            val.ValidateElement("foo", "", null, "type1", null, null, TestData + XSDFILE_NO_TARGET_NAMESPACE);

            Assert.True(!holder.IsCalledResolveUri);
            Assert.True(!holder.IsCalledGetEntity);

            return;
        }
コード例 #10
0
        public void InitializeShouldNotResetXmlResolver()
        {
            XmlSchemaInfo info = new XmlSchemaInfo();

            CXmlTestResolver res = new CXmlTestResolver();
            CResolverHolder holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlSchemaValidator val = CreateValidator(new XmlSchemaSet());

            val.Initialize();
            val.XmlResolver = res;
            val.EndValidation();

            val.Initialize();
            val.ValidateElement("foo", "", info, "type1", null, null, TestData + XSDFILE_NO_TARGET_NAMESPACE);
            val.ValidateEndOfAttributes(null);
            val.ValidateElement("bar", "", info);
            val.ValidateEndOfAttributes(null);
            val.ValidateEndElement(info);
            val.ValidateEndElement(info);
            val.EndValidation();

            Assert.True(holder.IsCalledResolveUri);

            return;
        }