コード例 #1
0
        public void EmptyStringProvidedUriReturnedWithError()
        {
            DmarcUri dmarcUri = new DmarcUri(null);

            dmarcUri.AddError(new Error(ErrorType.Error, string.Empty));
            A.CallTo(() => _dmarcUriParser.Parse(null)).Returns(dmarcUri);

            UriTag uriTag = _parser.Parse(string.Empty);

            Assert.That(uriTag.Uri, Is.SameAs(dmarcUri));
            Assert.That(uriTag.MaxReportSize, Is.Null);
            Assert.That(uriTag.AllErrorCount, Is.EqualTo(1));

            A.CallTo(() => _dmarcUriParser.Parse(null)).MustHaveHappened(Repeated.Exactly.Once);
            A.CallTo(() => _maxReportSizeParser.Parse(SizeString)).MustNotHaveHappened();
        }
コード例 #2
0
        public DmarcUri Parse(string value)
        {
            Uri uri = value != null && Uri.IsWellFormedUriString(value, UriKind.Absolute)
                ? new Uri(value, UriKind.Absolute)
                : null;

            DmarcUri dmarcUri = new DmarcUri(uri);

            if (uri == null)
            {
                string errorMessage = string.Format(DmarcParserResource.InvalidValueErrorMessage, "uri", value);
                dmarcUri.AddError(new Error(ErrorType.Error, errorMessage));
            }

            return(dmarcUri);
        }