コード例 #1
0
        public void EmptyString()
        {
            TagServices tagServices = new TagServices(new BuildHandler());
            List <Tag>  actualTags  = tagServices.ExtractTags("", "a_tag_name", false);

            // Check result
            Assert.IsEmpty(actualTags);
        }
コード例 #2
0
        public void OneTagNotClosed()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             11111111112222222222333333333344444444445555555555666666666677777777778888888888999
            //                   012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
            string searchText = "some test text <!-- a_tag_name_START -->some content<!-- a_tag_name_ZEND --> and some more text";
            string tagName    = "a_tag_name";

            BuildException buildException = Assert.Throws <BuildException>(() => { tagServices.ExtractTags(searchText, tagName, true); });

            // Check result
            Assert.AreEqual("Missing end tag", buildException.Message);
        }
コード例 #3
0
        public void OneTagMissingCommentEnd()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             1111111111222222222233333333334444444444555
            //                   01234567890123456789012345678901234567890123456789012
            string searchText = "some test text <!-- a_tag_name and some more text";
            string tagName    = "a_tag_name";

            BuildException buildException = Assert.Throws <BuildException>(() => { tagServices.ExtractTags(searchText, tagName, false); });

            // Check result
            Assert.AreEqual(tagName + " tag not closed", buildException.Message);
        }
コード例 #4
0
        public void OneTagNoSpaceBetweenCommentAndTagName()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             1111111111222222222233333333334444444444555
            //                   01234567890123456789012345678901234567890123456789012
            string searchText = "some test text <!--a_tag_name--> and some more text";
            string tagName    = "a_tag_name";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, false);

            // Check result
            Assert.True(0 == actualTags.Count);
        }
コード例 #5
0
        public void OneTagWithOnePropertyMissingSecondQuote()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             11111111112222222222333333333344444444445555555555666666666677777777778888888888999
            //                   012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
            string searchText = "some test text <!-- a_tag_name property0=' --> and some more text";
            string tagName    = "a_tag_name";

            BuildException buildException = Assert.Throws <BuildException>(() => { tagServices.ExtractTags(searchText, tagName, false); });

            // Check result
            Assert.AreEqual("Missing second single quote", buildException.Message);
        }
コード例 #6
0
        public void OneTagStart()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             1111111111222222222233333333334444444444555
            //                   01234567890123456789012345678901234567890123456789012
            string searchText = "<!-- a_tag_name --> some test text and some more text\", \"a_tag_name";
            string tagName    = "a_tag_name";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, false);

            // Check result
            Tag expectedTag = TagUtilities.CreateTestTag(tagName, searchText, 0, 16, 19);

            Assert.True(1 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag, actualTags[0]);
        }
コード例 #7
0
        public void OneTagWithContent()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             11111111112222222222333333333344444444445555555555666666666677777777778888888888999
            //                   012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
            string searchText = "some test text <!-- a_tag_name_START -->some content<!-- a_tag_name_END --> and some more text";
            string tagName    = "a_tag_name";
            string content    = "some content";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, true);

            // Check result
            Tag expectedTag = TagUtilities.CreateTestTag(tagName, searchText, 15, 37, 40, 52, 72, 75, content);

            Assert.True(1 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag, actualTags[0]);
        }
コード例 #8
0
        public void TwoTagsStartAndEnd()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             1111111111222222222233333333334444444444555555555566666666667
            //                   01234567890123456789012345678901234567890123456789012345678901234567890
            string searchText = "<!-- a_tag_name -->some test text and some more text<!-- a_tag_name -->";
            string tagName    = "a_tag_name";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, false);

            // Check result
            Tag expectedTag0 = TagUtilities.CreateTestTag(tagName, searchText, 0, 16, 19);
            Tag expectedTag1 = TagUtilities.CreateTestTag(tagName, searchText, 52, 68, 71);

            Assert.True(2 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag0, actualTags[0]);
            TagUtilities.AreTagsSame(expectedTag1, actualTags[1]);
        }
コード例 #9
0
        public void ThreeTagsStartMiddleEnd()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             11111111112222222222333333333344444444445555555555666666666677777777778888888888999
            //                   012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
            string searchText = "<!-- a_tag_name -->some search text<!-- a_tag_name --> and some more text<!-- a_tag_name -->";
            string tagName    = "a_tag_name";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, false);

            // Check result
            Tag expectedTag0 = TagUtilities.CreateTestTag(tagName, searchText, 0, 16, 19);
            Tag expectedTag1 = TagUtilities.CreateTestTag(tagName, searchText, 35, 51, 54);
            Tag expectedTag2 = TagUtilities.CreateTestTag(tagName, searchText, 73, 89, 92);

            Assert.True(3 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag0, actualTags[0]);
            TagUtilities.AreTagsSame(expectedTag1, actualTags[1]);
            TagUtilities.AreTagsSame(expectedTag2, actualTags[2]);
        }
コード例 #10
0
        public void ThreeTags()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             11111111112222222222333333333344444444445555555555666666666677777777778888888888999
            //                   012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
            string searchText = "some search text <!-- a_tag_name --><!-- a_tag_name --><!-- a_tag_name --> and some more text";
            string tagName    = "a_tag_name";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, false);

            // Check result
            Tag expectedTag0 = TagUtilities.CreateTestTag(tagName, searchText, 17, 33, 36);
            Tag expectedTag1 = TagUtilities.CreateTestTag(tagName, searchText, 36, 52, 55);
            Tag expectedTag2 = TagUtilities.CreateTestTag(tagName, searchText, 55, 71, 74);

            Assert.True(3 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag0, actualTags[0]);
            TagUtilities.AreTagsSame(expectedTag1, actualTags[1]);
            TagUtilities.AreTagsSame(expectedTag2, actualTags[2]);
        }
コード例 #11
0
        public void OneTagWithTwoPropertiesNoSpace()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                             11111111112222222222333333333344444444445555555555666666666677777777778888888888999
            //                   012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
            string searchText = "some test text <!-- a_tag_name property0='some value'property1='another value' --> and some more text";
            string tagName    = "a_tag_name";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, false);

            // Check result
            Dictionary <string, string> expectedProperties = new Dictionary <string, string>()
            {
                { "property0", "some value" }, { "property1", "another value" }
            };
            Tag expectedTag = TagUtilities.CreateTestTag(tagName, searchText, 15, 31, 82, null, null, null, null, expectedProperties);

            Assert.True(1 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag, actualTags[0]);
        }
コード例 #12
0
        public void TwoTagsWithContent()
        {
            TagServices tagServices = new TagServices(new BuildHandler());

            //                                                                                                                       111111111111111111111111111111111111111111111111111
            //                             111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445
            //                   0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
            string searchText  = "some test text <!-- a_tag_name_START -->some content<!-- a_tag_name_END --> text <!-- a_tag_name_START -->more content<!-- a_tag_name_END --> more text";
            string tagName     = "a_tag_name";
            string tag0Content = "some content";
            string tag1Content = "more content";

            List <Tag> actualTags = tagServices.ExtractTags(searchText, tagName, true);

            // Check result
            Tag expectedTag0 = TagUtilities.CreateTestTag(tagName, searchText, 15, 37, 40, 52, 72, 75, tag0Content);
            Tag expectedTag1 = TagUtilities.CreateTestTag(tagName, searchText, 81, 103, 106, 118, 138, 141, tag1Content);

            Assert.True(2 == actualTags.Count);
            TagUtilities.AreTagsSame(expectedTag0, actualTags[0]);
            TagUtilities.AreTagsSame(expectedTag1, actualTags[1]);
        }