예제 #1
0
        public void TestParseAttributeQuoteMarks()
        {
            string[] keys   = { "bar", "tag", "z", "Bra", "new" };
            string[] values = { "1", "foo:Bar", "bra", "boo'loon", @"z\""ztop" };

            string testTag = "<foo ";

            for (int i = 0; i < keys.Length; i++)
            {
                testTag += " " + keys[i] + " = ";
                if (i % 2 == 0)
                {
                    testTag += "'" + values[i] + "'";
                }
                else
                {
                    testTag += "\"" + values[i] + "\"";
                }
            }

            testTag += " >hello</foo>";

            BaseGadgetControl ctl = new GadgetLiteral(testTag);

            Assert.IsTrue(ctl.AttributeCount == keys.Length);

            for (int i = 0; i < keys.Length; i++)
            {
                Assert.AreEqual(values[i], ctl.GetAttribute(keys[i]));
            }
        }
예제 #2
0
        public void TestSingleAttributes(string name, string value)
        {
            BaseGadgetControl item = new GadgetLiteral();

            item.SetAttribute(name, value);
            Assert.AreEqual(value, item.GetAttribute(name));
        }
예제 #3
0
        public void RawTagSet(string markup)
        {
            BaseGadgetControl target = new GadgetLiteral(markup);

            Assert.IsFalse(string.IsNullOrEmpty(target.RawTag));
            Assert.AreEqual(markup, target.RawTag);
        }
예제 #4
0
        public void InnerMarkupAndMarkupTagSet(string markup, string expectedTag, string expectedInner)
        {
            BaseGadgetControl target = new GadgetLiteral(markup);

            Assert.IsFalse(string.IsNullOrEmpty(target.RawTag));
            Assert.AreEqual(expectedTag, target.MarkupTag, "MarkupTag incorrect");
            Assert.AreEqual(expectedInner, target.InnerMarkup, "InnerMarkup incorrect");
        }
예제 #5
0
        public void TestParseSingleAttribute()
        {
            string testTag = "<foo bar=\"1\" >hello</foo>";

            GadgetLiteral ctl = new GadgetLiteral(testTag);

            Assert.IsTrue(ctl.AttributeCount > 0);
            Assert.AreEqual("1", ctl.GetAttribute("bar"));
        }
예제 #6
0
        public void TestParseMultipleAttributes()
        {
            string testTag = "<foo bar=\"1\" tag=\"foo:Bar\" >hello</foo>";

            GadgetLiteral ctl = new GadgetLiteral(testTag);

            Assert.IsTrue(ctl.AttributeCount == 2);
            Assert.AreEqual("1", ctl.GetAttribute("bar"));
            Assert.AreEqual("foo:Bar", ctl.GetAttribute("tag"));
        }
예제 #7
0
        public void TestCaseInsensitiveAttributes()
        {
            string            value = "small";
            BaseGadgetControl item  = new GadgetLiteral();

            item.SetAttribute("Big", value);
            Assert.AreEqual(value, item.GetAttribute("big"));

            string newval = "newval";

            item.SetAttribute("big", newval);
            Assert.AreEqual(newval, item.GetAttribute("big"));
        }
        public void DoubleNestedParentChildReferences()
        {
            BaseContainerControl target = new BaseContainerControl();

            Assert.AreEqual(0, target.CountInternalControls(), "Did not start at zero");
            target.AddControl(new BaseContainerControl());

            Assert.AreEqual(1, target.Controls.Count, "Not one after single addition");

            GadgetLiteral second = new GadgetLiteral("Foo is bar");

            ((BaseContainerControl)target.Controls[0]).AddControl(second);

            Assert.AreEqual(target, second.Parent.Parent, "Double nest does not match");
        }
예제 #9
0
        public void LiteralsWithCDataHonored(string raw, bool suppressCDATA, string expected)
        {
            GadgetLiteral control = new GadgetLiteral(raw);

            Assert.AreEqual(raw, control.RawTag);
            Assert.AreEqual(raw, control.InnerMarkup);

            control.SuppressCDATATags = suppressCDATA;
            string rendered = ControlTestHelper.NormalizeRenderResult(
                ControlTestHelper.GetRenderedContents(control));

            expected = ControlTestHelper.NormalizeRenderResult(expected);

            Assert.AreEqual(expected, rendered, "Rendered results do not match expectations");
        }
예제 #10
0
        public void TestManyAttributes()
        {
            string            valueBase = "small_{0}";
            string            keyBase   = "foo{0}";
            BaseGadgetControl item      = new GadgetLiteral();

            int max = 200;

            for (int i = 0; i < max; i++)
            {
                item.SetAttribute(string.Format(keyBase, i), string.Format(valueBase, i));
            }

            int[] keys = new int[] { 0, 5, 55, 99, 121 };
            for (int i = 0; i < keys.Length; i++)
            {
                Assert.AreEqual(string.Format(valueBase, i), item.GetAttribute(string.Format(keyBase, i)));
            }

            Assert.AreEqual(string.Empty, item.GetAttribute("DOESNOTEXIST"));
        }
예제 #11
0
        public void LiteralTextInnerMarkupMatches(string raw)
        {
            GadgetLiteral control = new GadgetLiteral(raw);

            Assert.AreEqual(control.RawTag, control.InnerMarkup);
        }
예제 #12
0
        public void TestLiteralTextRender(string raw)
        {
            GadgetLiteral control = new GadgetLiteral(raw);

            Assert.IsTrue(AssertRenderResultsEqual(control, raw), "Value not expected - wanted " + raw);
        }