Exemplo n.º 1
0
        public void GetStringContent_WithInlineEditingAttribute_TextElelementProperlyCreated()
        {
            //Arrange
            var htmlProcessor    = new HtmlProcessor();
            var dummyWidgetModel = new DummyWidgetModel {
                EditableContent = this.dummyContent, NonEditableContent = this.dummyContent
            };

            string fieldName = "DummyWidget";
            string type      = "LongText";

            //Act
            var inlineeditingAwareContent = htmlProcessor.GetStringContent(dummyWidgetModel, "EditableContent");

            //Assert
            using (HtmlParser parser = new HtmlParser(inlineeditingAwareContent))
            {
                var chunk = parser.ParseNext();
                Assert.IsNotNull(chunk);

                //checks if the HTML tag is of type div and if it has the required attributes
                Assert.IsTrue(chunk.TagName.Equals(this.htmlWrapperTag, StringComparison.InvariantCultureIgnoreCase), "There is no wrapper div appended to the property representation.");
                Assert.IsTrue(chunk.HasAttribute(this.fieldAttribute), "The field attribute is not appended correctly.");
                Assert.IsTrue(chunk.HasAttribute(this.fieldTypeAttribute), "The field type attribute is not appended correctly.");

                //checks if the required attributes has proper values assigned to them
                Assert.AreEqual <string>(fieldName, chunk.GetParamValue(this.fieldAttribute), "The value of the field attribute is not correct.");
                Assert.AreEqual <string>(type, chunk.GetParamValue(this.fieldTypeAttribute), "The value of the fieldType attribute is not correct.");

                this.AssertContentAndCloseTag(parser);
            }
        }
Exemplo n.º 2
0
        public void HtmlProcessor_GetText_TextElelementProperlyCreatedForInlineEditng()
        {
            string dummyContent     = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit";
            var    htmlProcessor    = new HtmlProcessor();
            var    dummyWidgetModel = new DummyWidgetModel {
                EditableContent = dummyContent, NonEditableContent = dummyContent
            };

            string fieldName      = "DummyWidget";
            string type           = "LongText";
            var    fieldAttribute = "data-sf-field";
            var    typeAttribute  = "data-sf-ftype";

            var inlineeditingAwareContent    = htmlProcessor.GetStringContent(dummyWidgetModel, "EditableContent");
            var nonInlineeditingAwareContent = htmlProcessor.GetStringContent(dummyWidgetModel, "NonEditableContent");

            Assert.AreEqual <string>(dummyContent, nonInlineeditingAwareContent);

            using (HtmlParser parser = new HtmlParser(inlineeditingAwareContent))
            {
                var chunk = parser.ParseNext();
                Assert.IsNotNull(chunk);

                //checks if the HTML tag is of type div and if it has the required attributes
                Assert.IsTrue(chunk.TagName.Equals("div", StringComparison.InvariantCultureIgnoreCase));
                Assert.IsTrue(chunk.HasAttribute(fieldAttribute));
                Assert.IsTrue(chunk.HasAttribute(typeAttribute));

                //checks if the required attributes has proper values assigned to them
                Assert.AreEqual <string>(fieldName, chunk.GetParamValue(fieldAttribute));
                Assert.AreEqual <string>(type, chunk.GetParamValue(typeAttribute));

                string    content   = null;
                HtmlChunk nextChunk = null;
                while ((nextChunk = parser.ParseNext()) != null)
                {
                    chunk = nextChunk;
                    if (nextChunk.Type == HtmlChunkType.Text)
                    {
                        content = nextChunk.GenerateHtml();
                    }
                }

                //checks if the region inner content is what it should be
                Assert.IsTrue(content.StartsWith(dummyContent, StringComparison.InvariantCultureIgnoreCase));

                //checks if the region is properly closed
                Assert.IsTrue(chunk.TagName.Equals("div", StringComparison.InvariantCultureIgnoreCase));
                Assert.IsTrue(chunk.Type == HtmlChunkType.CloseTag);
            }
        }
Exemplo n.º 3
0
        public void GetStringContent_WithoutInlineEditingAttribute_PreservesContent()
        {
            //Arrange
            var htmlProcessor    = new HtmlProcessor();
            var dummyWidgetModel = new DummyWidgetModel {
                EditableContent = dummyContent, NonEditableContent = dummyContent
            };

            //Act
            var nonInlineeditingAwareContent = htmlProcessor.GetStringContent(dummyWidgetModel, "NonEditableContent");

            //Assert
            Assert.AreEqual <string>(this.dummyContent, nonInlineeditingAwareContent, "The content is not preserved correctly.");
        }
Exemplo n.º 4
0
        public void HtmlProcessor_GetText_TextElelementProperlyCreatedForInlineEditng()
        {
            string dummyContent = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit";
            var htmlProcessor = new HtmlProcessor();
            var dummyWidgetModel = new DummyWidgetModel { EditableContent = dummyContent, NonEditableContent = dummyContent };

            string fieldName = "DummyWidget";
            string type = "LongText";
            var fieldAttribute = "data-sf-field";
            var typeAttribute = "data-sf-ftype";

            var inlineeditingAwareContent = htmlProcessor.GetStringContent(dummyWidgetModel, "EditableContent");
            var nonInlineeditingAwareContent = htmlProcessor.GetStringContent(dummyWidgetModel, "NonEditableContent");

            Assert.AreEqual<string>(dummyContent, nonInlineeditingAwareContent);

            using (HtmlParser parser = new HtmlParser(inlineeditingAwareContent))
            {
                var chunk = parser.ParseNext();
                Assert.IsNotNull(chunk);

                //checks if the HTML tag is of type div and if it has the required attributes
                Assert.IsTrue(chunk.TagName.Equals("div", StringComparison.InvariantCultureIgnoreCase));
                Assert.IsTrue(chunk.HasAttribute(fieldAttribute));
                Assert.IsTrue(chunk.HasAttribute(typeAttribute));

                //checks if the required attributes has proper values assigned to them
                Assert.AreEqual<string>(fieldName, chunk.GetParamValue(fieldAttribute));
                Assert.AreEqual<string>(type, chunk.GetParamValue(typeAttribute));

                string content = null;
                HtmlChunk nextChunk = null;
                while ((nextChunk = parser.ParseNext()) != null)
                {
                    chunk = nextChunk;
                    if (nextChunk.Type == HtmlChunkType.Text)
                    {
                        content = nextChunk.GenerateHtml();
                    }
                }

                //checks if the region inner content is what it should be
                Assert.IsTrue(content.StartsWith(dummyContent, StringComparison.InvariantCultureIgnoreCase));

                //checks if the region is properly closed
                Assert.IsTrue(chunk.TagName.Equals("div", StringComparison.InvariantCultureIgnoreCase));
                Assert.IsTrue(chunk.Type == HtmlChunkType.CloseTag);
            }
        }