public void Invalid_Image_SourceNotValidUri() { var ev = this.GetElementValidator_Image(); var v = new XCRI.Validation.ContentValidation.UrlValidator() { XPathSelector = "@src", ExceptionMessage = "Image sources must be URIs conforming to the URI scheme as specified by IETF RFC 3986.", FailedValidationStatus = XCRI.Validation.ContentValidation.ValidationStatus.Exception, ValidationGroup = "Formatting", NamespaceManager = ev.NamespaceManager, AllowRelative = false }; ev.Validators.Add(v); var vr = ev .Validate(System.Xml.Linq.XDocument.Parse(Resources.IValidationService.Invalid.ElementValidation.Images.SourceNotValidUri).Root) .Where(r => r.Message == v.ExceptionMessage); Assert.AreEqual <int>(1, vr.Count()); ValidateResults ( result: vr.ElementAt(0), expectedStatus: XCRI.Validation.ContentValidation.ValidationStatus.Exception, expectedInstances: 1, expectedFailedCount: 1, expectedSuccessfulCount: 0 ); }
public void Invalid_TwoNotAUrl() { var xDoc = System.Xml.Linq.XDocument.Parse ( Resources.ContentValidation.UrlValidator.Invalid.TwoNotAUrl, System.Xml.Linq.LoadOptions.SetLineInfo ); XCRI.Validation.ContentValidation.UrlValidator v = new XCRI.Validation.ContentValidation.UrlValidator() { XPathSelector = "//url" }; var vrc = v.Validate(xDoc.Root); Assert.AreEqual <int>(1, vrc.Count()); var vr = vrc.ElementAt(0); Assert.IsNotNull(vr); Assert.AreEqual <XCRI.Validation.ContentValidation.ValidationStatus> ( XCRI.Validation.ContentValidation.ValidationStatus.Exception, vr.Status ); Assert.AreEqual <int> ( 2, vr.Count ); Assert.AreEqual <int> ( 0, vr.SuccessCount ); Assert.AreEqual <int> ( 2, vr.FailedCount ); Assert.IsTrue(vr.Instances[0].LineNumber.HasValue); Assert.IsTrue(vr.Instances[0].LinePosition.HasValue); Assert.AreEqual <int>(vr.Instances[0].LineNumber.Value, 2); Assert.AreEqual <int>(vr.Instances[0].LinePosition.Value, 4); Assert.IsTrue(vr.Instances[1].LineNumber.HasValue); Assert.IsTrue(vr.Instances[1].LinePosition.HasValue); Assert.AreEqual <int>(vr.Instances[1].LineNumber.Value, 3); Assert.AreEqual <int>(vr.Instances[1].LinePosition.Value, 4); }
public void Valid_SingleUrlWithNamespace() { var xDoc = System.Xml.Linq.XDocument.Parse ( Resources.ContentValidation.UrlValidator.Valid.SingleUrlWithNamespace, System.Xml.Linq.LoadOptions.SetLineInfo ); System.Xml.XmlNamespaceManager nsmgr = new System.Xml.XmlNamespaceManager(new System.Xml.NameTable()); nsmgr.AddNamespace("mlo", "http://purl.org/net/mlo"); XCRI.Validation.ContentValidation.UrlValidator v = new XCRI.Validation.ContentValidation.UrlValidator() { XPathSelector = "//mlo:url", NamespaceManager = nsmgr }; var vrc = v.Validate(xDoc.Root); Assert.AreEqual <int>(1, vrc.Count()); var vr = vrc.ElementAt(0); Assert.IsNotNull(vr); Assert.AreEqual <XCRI.Validation.ContentValidation.ValidationStatus> ( XCRI.Validation.ContentValidation.ValidationStatus.Passed, vr.Status ); Assert.AreEqual <int> ( 1, vr.Count ); Assert.AreEqual <int> ( 1, vr.SuccessCount ); Assert.AreEqual <int> ( 0, vr.FailedCount ); Assert.IsTrue(vr.Instances[0].LineNumber.HasValue); Assert.IsTrue(vr.Instances[0].LinePosition.HasValue); Assert.AreEqual <int>(vr.Instances[0].LineNumber.Value, 2); Assert.AreEqual <int>(vr.Instances[0].LinePosition.Value, 4); }
public void Valid_RelativeUrl() { var xDoc = System.Xml.Linq.XDocument.Parse ( Resources.ContentValidation.UrlValidator.Invalid.SingleRelativeUrl, System.Xml.Linq.LoadOptions.SetLineInfo ); XCRI.Validation.ContentValidation.UrlValidator v = new XCRI.Validation.ContentValidation.UrlValidator() { XPathSelector = "//url" }; v.AllowRelative = true; var vrc = v.Validate(xDoc.Root); Assert.AreEqual<int>(1, vrc.Count()); var vr = vrc.ElementAt(0); Assert.IsNotNull(vr); Assert.AreEqual<XCRI.Validation.ContentValidation.ValidationStatus> ( XCRI.Validation.ContentValidation.ValidationStatus.Passed, vr.Status ); Assert.AreEqual<int> ( 1, vr.Count ); Assert.AreEqual<int> ( 1, vr.SuccessCount ); Assert.AreEqual<int> ( 0, vr.FailedCount ); Assert.IsTrue(vr.Instances[0].LineNumber.HasValue); Assert.IsTrue(vr.Instances[0].LinePosition.HasValue); Assert.AreEqual<int>(vr.Instances[0].LineNumber.Value, 2); Assert.AreEqual<int>(vr.Instances[0].LinePosition.Value, 4); }
public void Valid_SingleUrlWithNamespace() { var xDoc = System.Xml.Linq.XDocument.Parse ( Resources.ContentValidation.UrlValidator.Valid.SingleUrlWithNamespace, System.Xml.Linq.LoadOptions.SetLineInfo ); System.Xml.XmlNamespaceManager nsmgr = new System.Xml.XmlNamespaceManager(new System.Xml.NameTable()); nsmgr.AddNamespace("mlo", "http://purl.org/net/mlo"); XCRI.Validation.ContentValidation.UrlValidator v = new XCRI.Validation.ContentValidation.UrlValidator() { XPathSelector = "//mlo:url", NamespaceManager = nsmgr }; var vrc = v.Validate(xDoc.Root); Assert.AreEqual<int>(1, vrc.Count()); var vr = vrc.ElementAt(0); Assert.IsNotNull(vr); Assert.AreEqual<XCRI.Validation.ContentValidation.ValidationStatus> ( XCRI.Validation.ContentValidation.ValidationStatus.Passed, vr.Status ); Assert.AreEqual<int> ( 1, vr.Count ); Assert.AreEqual<int> ( 1, vr.SuccessCount ); Assert.AreEqual<int> ( 0, vr.FailedCount ); Assert.IsTrue(vr.Instances[0].LineNumber.HasValue); Assert.IsTrue(vr.Instances[0].LinePosition.HasValue); Assert.AreEqual<int>(vr.Instances[0].LineNumber.Value, 2); Assert.AreEqual<int>(vr.Instances[0].LinePosition.Value, 4); }