Ejemplo n.º 1
0
        private string FormatError(StringFragmentCollection expected, StringFragmentCollection resultFragments)
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.AppendLine($"Expected: {expected.Aggregate("", (x, y) => x + FormatSingle(y))}");
            stringBuilder.AppendLine($"  Actual:   {resultFragments.Aggregate("", (x, y) => x + FormatSingle(y))}");
            return(stringBuilder.ToString());
        }
Ejemplo n.º 2
0
        public void TextAndBlockContentIsWrapped(StringFragmentCollection stringFragments, StringFragmentCollection expected)
        {
            var xhtml = new FakeXHtmlString(stringFragments);

            var result = HtmlHelperExtensions.WrapContent(xhtml, "wrapper", "blockWrapper", null);

            CollectionAssert.AreEqual(expected, result.Fragments, new FragmentComparer(),
                                      this.FormatError(expected, result.Fragments));
        }
Ejemplo n.º 3
0
        public static XhtmlString GetXhtmlString(string s, params IStringFragment[] additionalFragments)
        {
            if (s == null)
            {
                return(null);
            }

            Mock <IStringFragment> fragmentMock = new Mock <IStringFragment>();

            fragmentMock.SetupAllProperties();
            fragmentMock.Setup(m => m.ToString()).Returns(s);
            fragmentMock.Setup(m => m.GetViewFormat()).Returns(s);

            Mock <XhtmlString>       xhtmlStringMock = new Mock <XhtmlString>();
            StringFragmentCollection fragments       = new StringFragmentCollection();

            if (!String.IsNullOrWhiteSpace(s))
            {
                fragments.Add(fragmentMock.Object);
            }

            if (additionalFragments != null && additionalFragments.Length > 0)
            {
                foreach (IStringFragment fragment in additionalFragments)
                {
                    fragments.Add(fragment);
                }
            }

            //xhtmlStringMock.Setup(m => m.FragmentParser).Returns(new Mock<Injected<IFragmentParser>>().Object);
            xhtmlStringMock.Setup(m => m.Fragments).Returns(fragments);
            xhtmlStringMock.Setup(m => m.ToString()).Returns(s);
            xhtmlStringMock.Setup(m => m.ToHtmlString()).Returns(s);
            xhtmlStringMock.Setup(m => m.ToInternalString()).Returns(s);
            xhtmlStringMock.Setup(m => m.ToEditString()).Returns(s);
            return(xhtmlStringMock.Object);
        }
Ejemplo n.º 4
0
        private static IEnumerable <TestCaseData> TestCases(bool includeTextWrappers, bool includeBlockWrappers)
        {
            var textWrapperStart = includeTextWrappers
                ? new StaticFragment("<div class=\"wrapper\">")
                : new StaticFragment("");
            var textWrapperEnd = includeTextWrappers
                ? new StaticFragment("</div>")
                : new StaticFragment("");
            var blockWrapperStart = includeBlockWrappers
                ? new StaticFragment("<section class=\"blockWrapper\">")
                : new StaticFragment("");
            var blockWrapperEnd = includeBlockWrappers
                ? new StaticFragment("</section>")
                : new StaticFragment("");

            var text            = new StaticFragment("<p>text</p>");
            var contentFragment = CreateContentFragmentMock();

            var stringFragments = new StringFragmentCollection(new List <IStringFragment>
            {
                text
            });
            var expected = new StringFragmentCollection(new List <IStringFragment>
            {
                textWrapperStart,
                text,
                textWrapperEnd
            });

            yield return(new TestCaseData(stringFragments, expected).SetName(
                             "1"));

            stringFragments = new StringFragmentCollection(new List <IStringFragment>
            {
                text,
                contentFragment,
                contentFragment,
                text,
                contentFragment
            });
            expected = new StringFragmentCollection(new List <IStringFragment>
            {
                textWrapperStart,
                text,
                textWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                textWrapperStart,
                text,
                textWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd
            });
            yield return(new TestCaseData(stringFragments, expected).SetName(
                             "2"));

            stringFragments = new StringFragmentCollection(new List <IStringFragment>
            {
                contentFragment,
                contentFragment,
                contentFragment
            });
            expected = new StringFragmentCollection(new List <IStringFragment>
            {
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd
            });

            yield return(new TestCaseData(stringFragments, expected).SetName(
                             "3"));

            stringFragments = new StringFragmentCollection(new List <IStringFragment>
            {
                contentFragment,
                text,
                contentFragment,
                contentFragment
            });
            expected = new StringFragmentCollection(new List <IStringFragment>
            {
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                textWrapperStart,
                text,
                textWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd
            });
            yield return(new TestCaseData(stringFragments, expected).SetName("4"));

            var emptyStringFragment = new StaticFragment("\n   \r\n");

            stringFragments = new StringFragmentCollection(new List <IStringFragment>
            {
                contentFragment,
                emptyStringFragment,
                contentFragment
            });
            expected = new StringFragmentCollection(new List <IStringFragment>
            {
                blockWrapperStart,
                contentFragment,
                blockWrapperEnd,
                blockWrapperStart,
                emptyStringFragment,
                contentFragment,
                blockWrapperEnd,
            });

            yield return(new TestCaseData(stringFragments, expected).SetName("Whitespace HTML block is not wrapped"));
        }
Ejemplo n.º 5
0
 public FakeXHtmlString(StringFragmentCollection fragments)
 {
     this.Fragments = fragments;
 }