public void Parse_WithValidEncodedXmlCommentInput_ShouldDecodeStringContent()
        {
            string xmlInput = "<!~~ Test ~~>";

            MsBuildHelpElementCodeBlock codeBlock = MsBuildElementHelpCodeBlockUtility.Parse(xmlInput);

            Assert.AreEqual("<!-- Test -->", codeBlock.Content);
        }
        public void Parse_WithValidXmlInput_ShouldReturnObjectWithLanguageXml()
        {
            string xmlInput = "<xml>test</xml>";

            MsBuildHelpElementCodeBlock codeBlock = MsBuildElementHelpCodeBlockUtility.Parse(xmlInput);

            Assert.AreEqual(MsBuildHelpCodeBlockLanguage.Xml, codeBlock.Language);
        }
        public void Parse_WithBatchInput_ShouldReturnObjectWithLanguageSh()
        {
            string xmlInput = "msbuild test.targets /t:CallTest";

            MsBuildHelpElementCodeBlock codeBlock = MsBuildElementHelpCodeBlockUtility.Parse(xmlInput);

            Assert.AreEqual(MsBuildHelpCodeBlockLanguage.Sh, codeBlock.Language);
        }
Exemple #4
0
        /// <summary>
        /// Append a section to the documentation containing the targets examples by using the
        /// xml based help. Therefore all examples are appended a code block.
        /// </summary>
        /// <param name="targetOverviewDocument">Document the section should be appended to.</param>
        /// <param name="target">The target for which the section should be created.</param>
        private void AppendExampleSection(IPrintableDocument targetOverviewDocument,
                                          IMsBuildTarget target)
        {
            if (target.Help.ContainsSection(MsBuildHelpSections.Example, StringComparison.OrdinalIgnoreCase) == false)
            {
                return;
            }

            foreach (IMsBuildElementHelpParagraph exampleHelpParagraph in target.Help.LookUp(
                         MsBuildHelpSections.Example, StringComparison.OrdinalIgnoreCase))
            {
                IPrintableDocumentChapter exampleChapter =
                    targetOverviewDocument.AddNewChapter(MsBuildHelpSections.Example);

                IPrintableDocumentCodeBlock exampleCodeBlock =
                    exampleChapter.AddNewContent <IPrintableDocumentCodeBlock>();

                var codeBlock = MsBuildElementHelpCodeBlockUtility.Parse(exampleHelpParagraph.Content);

                exampleCodeBlock.AppendContentLine(codeBlock.Content);
                exampleCodeBlock.SetLanguage(codeBlock.Language.ToString());
            }
        }