Colorizes source code.
Inheritance: ICodeColorizer
Ejemplo n.º 1
0
        public void TransformWillStyleMultiLineScriptEmbeddedInDiv()
        {
            string source =
                @"<div>
    <script type=""text/javascript"">
        var variableName = 'foo';

        function functionName(arg1, arg2) {
            return variableName;
        }
    </script>
</div>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">div</span><span style=""color:Blue;"">&gt;</span>
    <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">script</span> <span style=""color:Red;"">type</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;text/javascript&quot;</span><span style=""color:Blue;"">&gt;</span>
        <span style=""color:Blue;"">var</span> variableName = <span style=""color:#A31515;"">'foo'</span>;

        <span style=""color:Blue;"">function</span> functionName(arg1, arg2) {
            <span style=""color:Blue;"">return</span> variableName;
        }
    <span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">script</span><span style=""color:Blue;"">&gt;</span>
<span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">div</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStylePartialClassesAndMethods()
        {
            string source =
                @"Partial Class Customer
    Partial Private Sub OnNameChanged()
    End Sub
End Class

Partial Class Customer
    Private Sub OnNameChanged()
    End Sub
End Class";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">Partial</span> <span style=""color:Blue;"">Class</span> Customer
    <span style=""color:Blue;"">Partial</span> <span style=""color:Blue;"">Private</span> <span style=""color:Blue;"">Sub</span> OnNameChanged()
    <span style=""color:Blue;"">End</span> <span style=""color:Blue;"">Sub</span>
<span style=""color:Blue;"">End</span> <span style=""color:Blue;"">Class</span>

<span style=""color:Blue;"">Partial</span> <span style=""color:Blue;"">Class</span> Customer
    <span style=""color:Blue;"">Private</span> <span style=""color:Blue;"">Sub</span> OnNameChanged()
    <span style=""color:Blue;"">End</span> <span style=""color:Blue;"">Sub</span>
<span style=""color:Blue;"">End</span> <span style=""color:Blue;"">Class</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.VbDotNet);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// The syntax highlight.
        /// </summary>
        /// <param name="code">
        /// The code.
        /// </param>
        /// <param name="language">
        /// The language.
        /// </param>
        /// <returns>
        /// The System.String.
        /// </returns>
        private static string SyntaxHighlight(string code, string language)
        {
            CodeColorizer colorizer = new CodeColorizer();
            ILanguage lang = Languages.CSharp;
            switch (language)
            {
                case "C#":
                    lang = Languages.CSharp;
                    break;
                case "HTML":
                    lang = Languages.Html;
                    break;
                case "VB.NET":
                    lang = Languages.VbDotNet;
                    break;
                case "XML":
                    lang = Languages.Xml;
                    break;
                case "SQL":
                    lang = Languages.Sql;
                    break;
                case "JScript":
                    lang = Languages.JavaScript;
                    break;
            }

            return colorizer.Colorize(code, lang);
        }
            public void Will_throw_if_the_language_is_null_using_defaults_without_text_writer()
            {
                CodeColorizer codeColorizer = new CodeColorizer();

                Exception ex = Record.Exception(() => codeColorizer.Colorize(string.Empty, null));

                Assert.IsType<ArgumentNullException>(ex);
                Assert.Equal("language", ((ArgumentNullException)ex).ParamName);
            }
Ejemplo n.º 5
0
            public void WillColorizeStrings()
            {
                const string source   = @"string aString = ""aString"";";
                var          expected = AcceptanceHelper.BuildExpected(@"string aString = <span style=""color:#A31515;"">&quot;aString&quot;</span>;");

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(expected, actual);
            }
Ejemplo n.º 6
0
            public void WillColorizeAMultieLineStyleCommentOnOneLine()
            {
                const string source   = @"/*comment*/";
                var          expected = AcceptanceHelper.BuildExpected(@"<span style=""color:Green;"">/*comment*/</span>");

                var actual = new CodeColorizer().Colorize(source, Languages.Cpp);

                Assert.Equal(expected, actual);
            }
Ejemplo n.º 7
0
            public void WillColorizeCharacters()
            {
                const string source   = @"char aChar = 'a';";
                var          expected = AcceptanceHelper.BuildExpected(@"<span style=""color:Blue;"">char</span> aChar = <span style=""color:#A31515;"">&#39;a&#39;</span>;");

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(expected, actual);
            }
Ejemplo n.º 8
0
            public void WillColorizeAKeywordWithNoSurroundingText(string keyword)
            {
                var source    = keyword;
                var exepected = AcceptanceHelper.BuildExpected(@"<span style=""color:Blue;"">{0}</span>", keyword);

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(exepected, actual);
            }
Ejemplo n.º 9
0
            public void WillColorizeAKeywordWithPrecedingAndSucceedingText(string keyword)
            {
                var source    = string.Format("fnord {0} fnord", keyword);
                var exepected = AcceptanceHelper.BuildExpected(@"fnord <span style=""color:Blue;"">{0}</span> fnord", keyword);

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(exepected, actual);
            }
            public void Will_throw_if_the_style_sheet_is_null()
            {
                CodeColorizer codeColorizer = new CodeColorizer(new StubLanguageParser());

                Exception ex = Record.Exception(() => codeColorizer.Colorize(string.Empty, new StubLanguage(), new StubFormatter(), null, new StubTextWriter()));

                Assert.IsType<ArgumentNullException>(ex);
                Assert.Equal("styleSheet", ((ArgumentNullException)ex).ParamName);
            }
            public void WillColorizeAMultieLineStyleCommentOnOneLine()
            {
                const string source = @"/*comment*/";
                var expected = AcceptanceHelper.BuildExpected(@"<span style=""color:Green;"">/*comment*/</span>");

                var actual = new CodeColorizer().Colorize(source, Languages.Cpp);

                Assert.Equal(expected, actual);
            }
Ejemplo n.º 12
0
            public void WillNotColorizeAKeywordInsideAWord(string keyword)
            {
                var source    = string.Format("fnord{0}fnord", keyword);
                var exepected = AcceptanceHelper.BuildExpected(@"fnord{0}fnord", keyword);

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(exepected, actual);
            }
Ejemplo n.º 13
0
            public void Will_throw_if_the_text_writer_is_null_using_defaults()
            {
                CodeColorizer codeColorizer = new CodeColorizer();

                Exception ex = Record.Exception(() => codeColorizer.Colorize(string.Empty, new StubLanguage(), null));

                Assert.IsType <ArgumentNullException>(ex);
                Assert.Equal("textWriter", ((ArgumentNullException)ex).ParamName);
            }
Ejemplo n.º 14
0
            public void WillColorizeASingleLineStyleComment()
            {
                const string source   = @"//comment";
                var          expected = AcceptanceHelper.BuildExpected(@"<span style=""color:Green;"">//comment</span>");

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(expected, actual);
            }
Ejemplo n.º 15
0
            public void Will_throw_if_the_style_sheet_is_null()
            {
                CodeColorizer codeColorizer = new CodeColorizer(new StubLanguageParser());

                Exception ex = Record.Exception(() => codeColorizer.Colorize(string.Empty, new StubLanguage(), new StubFormatter(), null, new StubTextWriter()));

                Assert.IsType <ArgumentNullException>(ex);
                Assert.Equal("styleSheet", ((ArgumentNullException)ex).ParamName);
            }
            public void WillColorizeAKeywordWithPrecedingAndSucceedingText(string keyword)
            {
                var source = string.Format("fnord {0} fnord", keyword);
                var exepected = AcceptanceHelper.BuildExpected(@"fnord <span style=""color:Blue;"">{0}</span> fnord", keyword);

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(exepected, actual);
            }
            public void WillColorizeAKeywordWithNoSurroundingText(string keyword)
            {
                var source = keyword;
                var exepected = AcceptanceHelper.BuildExpected(@"<span style=""color:Blue;"">{0}</span>", keyword);

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(exepected, actual);
            }
            public void WillColorizeASingleLineStyleComment()
            {
                const string source = @"//comment";
                var expected = AcceptanceHelper.BuildExpected(@"<span style=""color:Green;"">//comment</span>");

                var actual = new CodeColorizer().Colorize(source, Languages.Java);

                Assert.Equal(expected, actual);
            }
        public void TransformWillCommentMultipleCommentsCorrectly()
        {
            string source = "<!-- test --><root><elment><!-- comment inside of element --></element></root>";
            string expected =
                "<div style=\"color:Black;background-color:White;\"><pre>\r\n<span style=\"color:Green;\">&lt;!-- test --&gt;</span><span style=\"color:Blue;\">&lt;</span><span style=\"color:#A31515;\">root</span><span style=\"color:Blue;\">&gt;</span><span style=\"color:Blue;\">&lt;</span><span style=\"color:#A31515;\">elment</span><span style=\"color:Blue;\">&gt;</span><span style=\"color:Green;\">&lt;!-- comment inside of element --&gt;</span><span style=\"color:Blue;\">&lt;/</span><span style=\"color:#A31515;\">element</span><span style=\"color:Blue;\">&gt;</span><span style=\"color:Blue;\">&lt;/</span><span style=\"color:#A31515;\">root</span><span style=\"color:Blue;\">&gt;</span>\r\n</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Xml);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 20
0
            public void Will_write_the_parsed_source_code_using_the_defaults_without_the_textwriter()
            {
                CodeColorizer  codeColorizer = new CodeColorizer();
                const string   sourceCode    = "fnord";
                StubTextWriter textWriter    = new StubTextWriter();

                string output = codeColorizer.Colorize(sourceCode, Languages.Html);

                Assert.Contains("fnord", output);
            }
Ejemplo n.º 21
0
            public void Will_write_the_parsed_source_code_using_the_defaults()
            {
                CodeColorizer  codeColorizer = new CodeColorizer();
                const string   sourceCode    = "fnord";
                StubTextWriter textWriter    = new StubTextWriter();

                codeColorizer.Colorize(sourceCode, Languages.Html, textWriter);

                Assert.Contains("fnord", textWriter.Write__buffer);
            }
Ejemplo n.º 22
0
        public void TransformWillCommentMultipleCommentsCorrectly()
        {
            string source   = "<!-- test --><root><elment><!-- comment inside of element --></element></root>";
            string expected =
                "<div style=\"color:Black;background-color:White;\"><pre>\r\n<span style=\"color:Green;\">&lt;!-- test --&gt;</span><span style=\"color:Blue;\">&lt;</span><span style=\"color:#A31515;\">root</span><span style=\"color:Blue;\">&gt;</span><span style=\"color:Blue;\">&lt;</span><span style=\"color:#A31515;\">elment</span><span style=\"color:Blue;\">&gt;</span><span style=\"color:Green;\">&lt;!-- comment inside of element --&gt;</span><span style=\"color:Blue;\">&lt;/</span><span style=\"color:#A31515;\">element</span><span style=\"color:Blue;\">&gt;</span><span style=\"color:Blue;\">&lt;/</span><span style=\"color:#A31515;\">root</span><span style=\"color:Blue;\">&gt;</span>\r\n</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Xml);

            Assert.Equal(expected, actual);
        }
        public void ColorCode_will_colorize_source_code(string languageId, string sourceFileName, string expectedFileName)
        {
            ILanguage language = Languages.FindById(languageId);
            string sourceCode = File.ReadAllText(sourceFileName);
            string expectedHtml = File.ReadAllText(expectedFileName);

            string actualHtml = new CodeColorizer().Colorize(sourceCode, language);
            File.WriteAllText(expectedFileName.Replace(".expected.", ".actual."), actualHtml);

            Assert.Equal(expectedHtml, actualHtml);
        }
Ejemplo n.º 24
0
 public GenericSampleView()
 {
     InitializeComponent();
     Loaded += (sender, args) =>
     {
         var code = (DataContext as ISample).Code;
         var html = new CodeColorizer().Colorize(code, Languages.CSharp);
         html = "<body style=\"background-color:#FFFFFF;\">" + html + "</body>";
         Browser.NavigateToString(html);
     };
 }
            public void Will_parse_the_source_code()
            {
                StubLanguageParser stubLanguageParser = new StubLanguageParser();
                CodeColorizer codeColorizer = new CodeColorizer(stubLanguageParser);
                const string sourceCode = "fnord";
                StubLanguage stubLanguage = new StubLanguage();

                codeColorizer.Colorize(sourceCode, stubLanguage, new StubFormatter(), new StubStyleSheet(), new StubTextWriter());

                Assert.Equal(sourceCode, stubLanguageParser.Parse__sourceCode);
                Assert.Equal(stubLanguage, stubLanguageParser.Parse__language);
            }
Ejemplo n.º 26
0
            public void Will_parse_the_source_code()
            {
                StubLanguageParser stubLanguageParser = new StubLanguageParser();
                CodeColorizer      codeColorizer      = new CodeColorizer(stubLanguageParser);
                const string       sourceCode         = "fnord";
                StubLanguage       stubLanguage       = new StubLanguage();

                codeColorizer.Colorize(sourceCode, stubLanguage, new StubFormatter(), new StubStyleSheet(), new StubTextWriter());

                Assert.Equal(sourceCode, stubLanguageParser.Parse__sourceCode);
                Assert.Equal(stubLanguage, stubLanguageParser.Parse__language);
            }
Ejemplo n.º 27
0
        public void ColorCode_will_colorize_source_code(string languageId, string sourceFileName, string expectedFileName)
        {
            ILanguage language     = Languages.FindById(languageId);
            string    sourceCode   = File.ReadAllText(sourceFileName);
            string    expectedHtml = File.ReadAllText(expectedFileName);

            string actualHtml = new CodeColorizer().Colorize(sourceCode, language);

            File.WriteAllText(expectedFileName.Replace(".expected.", ".actual."), actualHtml);

            Assert.Equal(expectedHtml, actualHtml);
        }
        public void TransformWillStyleASimpleElement()
        {
            string source =
            @"<html>";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">html</span><span style=""color:Blue;"">&gt;</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleAttributeWithUnderscore()
        {
            string source =
            @"<elementName anAttribute_Name=""attributeValue"">&gt;</elementName>";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">elementName</span> <span style=""color:Red;"">anAttribute_Name</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;attributeValue&quot;</span><span style=""color:Blue;"">&gt;</span><span style=""color:Red;"">&amp;gt;</span><span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">elementName</span><span style=""color:Blue;"">&gt;</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleDivElement()
        {
            string source =
            @"<div id=""anId"">";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">div</span> <span style=""color:Red;"">id</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;anId&quot;</span><span style=""color:Blue;"">&gt;</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 31
0
        public void TransformWillNotStyleObjectInSystemDotObject()
        {
            string source =
            @"System.Object";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            System.Object
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.VbDotNet);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleElementWithIdAttribute()
        {
            string source =
                @"<table id=""bannerImageTable"" cellpadding=""0"" cellspacing=""0"">";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">table</span> <span style=""color:Red;"">id</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;bannerImageTable&quot;</span> <span style=""color:Red;"">cellpadding</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;0&quot;</span> <span style=""color:Red;"">cellspacing</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;0&quot;</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleAnAttributeThatHasSpaceBeforeAndAfterTheEqualSign()
        {
            string source =
            @"<elementName attributeName = ""attributeValue"">someText</eElementName>";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">elementName</span> <span style=""color:Red;"">attributeName</span> <span style=""color:Blue;"">=</span> <span style=""color:Black;"">&quot;</span><span style=""color:Blue;"">attributeValue</span><span style=""color:Black;"">&quot;</span><span style=""color:Blue;"">&gt;</span>someText<span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">eElementName</span><span style=""color:Blue;"">&gt;</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Xml);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 34
0
        public StandardTranslator()
        {
            const string pattern = @"^```[ \t]*(\S*)[ \t]*\r?\n(.*?)\r?\n```[ \t]*\r?$";

            _markdownParser = new MarkdownSharp.Markdown();

            _codeColorizer = new CodeColorizer();

            _codeBlockRegex = new Regex(
                pattern,
                RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.Compiled
            );
        }
        public void TransformWillStyleUnquotedAttributeValueFollowingDoubleQuotedAttributeValue()
        {
            string source =
                @"<elementName attributeValue1=""attributeValue1"" attributeValue2=attributeValue2>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">elementName</span> <span style=""color:Red;"">attributeValue1</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;attributeValue1&quot;</span> <span style=""color:Red;"">attributeValue2</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">attributeValue2</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleDivElement()
        {
            string source =
                @"<div id=""anId"">";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">div</span> <span style=""color:Red;"">id</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;anId&quot;</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStylAnElementWithAttributes()
        {
            string source =
            @"<anElement anAttribute=""anAttributeValue"" />";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">anElement</span> <span style=""color:Red;"">anAttribute</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;anAttributeValue&quot;</span> <span style=""color:Blue;"">/&gt;</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleSpanOnSameLine()
        {
            string source =
                @"<span class=""className""></span>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">span</span> <span style=""color:Red;"">class</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;className&quot;</span><span style=""color:Blue;"">&gt;</span><span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">span</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 39
0
        public void TransformWillNotStyleAssemblyKeywordInAttribute()
        {
            string source =
            @"<Assembly: CLSCompliant(True)>";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            &lt;Assembly: CLSCompliant(<span style=""color:Blue;"">True</span>)&gt;
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.VbDotNet);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleDoubleQuotedString()
        {
            string source =
            @"var variableName = ""aString"";";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">var</span> variableName = <span style=""color:#A31515;"">&quot;aString&quot;</span>;
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.JavaScript);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 41
0
        public void TransformWillStyleAddHandlerStatement()
        {
            string source =
            @"AddHandler event, AddressOf eventHandler";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">AddHandler</span> <span style=""color:Blue;"">event</span>, <span style=""color:Blue;"">AddressOf</span> eventHandler
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.VbDotNet);

            Assert.Equal(expected, actual);
        }
        public void TransformWillNotAddColorToDollarSignMethod()
        {
            string source =
            @"var variableName = $(""aString"");";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">var</span> variableName = $(<span style=""color:#A31515;"">&quot;aString&quot;</span>);
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.JavaScript);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleAttributeWithUnderscore()
        {
            string source =
                @"<elementName anAttribute_Name=""attributeValue"">&gt;</elementName>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">elementName</span> <span style=""color:Red;"">anAttribute_Name</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;attributeValue&quot;</span><span style=""color:Blue;"">&gt;</span><span style=""color:Red;"">&amp;gt;</span><span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">elementName</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStylAnElementWithAttributes()
        {
            string source =
                @"<anElement anAttribute=""anAttributeValue"" />";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">anElement</span> <span style=""color:Red;"">anAttribute</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;anAttributeValue&quot;</span> <span style=""color:Blue;"">/&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleAnElementNameThatContainsUnderscore()
        {
            string source =
                @"<e_s>someText</e_s>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">e_s</span><span style=""color:Blue;"">&gt;</span>someText<span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">e_s</span><span style=""color:Blue;"">&gt;</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Xml);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleAnAttributeThatHasSpaceBeforeAndAfterTheEqualSign()
        {
            string source =
                @"<elementName attributeName = ""attributeValue"">someText</eElementName>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">elementName</span> <span style=""color:Red;"">attributeName</span> <span style=""color:Blue;"">=</span> <span style=""color:Blue;"">&quot;attributeValue&quot;</span><span style=""color:Blue;"">&gt;</span>someText<span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">eElementName</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleEntities()
        {
            string source =
                @"<elementName>&gt;</elementName>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">elementName</span><span style=""color:Blue;"">&gt;</span><span style=""color:Red;"">&amp;gt;</span><span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">elementName</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleDocTypeDeclaration()
        {
            string source =
                @"<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;!</span><span style=""color:#A31515;"">DOCTYPE</span> <span style=""color:Red;"">html</span> <span style=""color:Red;"">PUBLIC</span> <span style=""color:Blue;"">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span> <span style=""color:Blue;"">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleMetaElementWithHyphenatedAttributeName()
        {
            string source =
                @"<meta http-equiv=""Content-Type"" content=""text/html; charset=us-ascii"">";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">meta</span> <span style=""color:Red;"">http-equiv</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;Content-Type&quot;</span> <span style=""color:Red;"">content</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;text/html; charset=us-ascii&quot;</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleHtmlElementWithNamespace()
        {
            string source =
                @"<TheNameSpace:TheElementName TheAttributeName=""theAttributeValue"" />";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">TheNameSpace</span><span style=""color:Blue;"">:</span><span style=""color:#A31515;"">TheElementName</span> <span style=""color:Red;"">TheAttributeName</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;theAttributeValue&quot;</span> <span style=""color:Blue;"">/&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleASimpleElement()
        {
            string source =
                @"<html>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">html</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleScriptElement()
        {
            string source =
                @"<script type=""text/javascript"">var variableName = 'aString';</script>";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Blue;"">&lt;</span><span style=""color:#A31515;"">script</span> <span style=""color:Red;"">type</span><span style=""color:Blue;"">=</span><span style=""color:Blue;"">&quot;text/javascript&quot;</span><span style=""color:Blue;"">&gt;</span><span style=""color:Blue;"">var</span> variableName = <span style=""color:#A31515;"">&#39;aString&#39;</span>;<span style=""color:Blue;"">&lt;/</span><span style=""color:#A31515;"">script</span><span style=""color:Blue;"">&gt;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
        public void WillStyleNumericLetterCodes()
        {
            string source =
                @"&#8211;&#710;&OElig;";
            string expected =
                @"<div style=""color:Black;background-color:White;""><pre>
<span style=""color:Red;"">&amp;#8211;</span><span style=""color:Red;"">&amp;#710;</span><span style=""color:Red;"">&amp;OElig;</span>
</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.Html);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 54
0
        public MarkdownService(bool enableSyntaxHighlighting = false)
        {
            // MarkdownSharp does not support tables.  MarkdownDeep does however,
            // MarkdownDeep does not support auto hyperlinks and emails.  It also
            // has an issue with the colorized code (adds an extra blank line).
            _enableSyntaxHighlighting = enableSyntaxHighlighting;

            _colorizer = new CodeColorizer();
            _markdownSharp = new Markdown(new MarkdownOptions
                {
                    AutoHyperlink = true,
                    AutoNewLines = false,
                    EncodeProblemUrlCharacters = true,
                    LinkEmails = true
                });

            InitializeTransforms();
        }
Ejemplo n.º 55
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            var text = System.Convert.ToString(value);
            var html = new CodeColorizer().Colorize(text, Languages.CSharp);

            //    FlowDocument flowDocument = new FlowDocument();
            //    string xaml = HtmlToXamlConverter.ConvertHtmlToXaml(value.ToString(), false);

            //    using (MemoryStream stream = new MemoryStream((new ASCIIEncoding()).GetBytes(xaml)))
            //    {
            //        TextRange text = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd);
            //        text.Load(stream, DataFormats.Xaml);
            //    }

            //    return flowDocument;
            //}
            //return value;
            return html;
        }
        public void TransformWillCommentMultipleCommentsCorrectly()
        {
            string source =
            @"function Comment(test)
            {
            /* C style */
            // single line
            y++;
            /* C style
               multiple line */
            y++;
            // single line
            }";
            string expected =
                "<div style=\"color:Black;background-color:White;\"><pre>\r\n<span style=\"color:Blue;\">function</span> Comment(test)\r\n{\r\n    <span style=\"color:Green;\">/* C style */</span>\r\n    <span style=\"color:Green;\">// single line</span>\r\n    y++;\r\n    <span style=\"color:Green;\">/* C style\r\n       multiple line */</span>\r\n    y++;\r\n    <span style=\"color:Green;\">// single line</span>\r\n}\r\n</pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.JavaScript);

            Assert.Equal(expected, actual);
        }
        public void TransformWillStyleCommentBlocks()
        {
            string source =
            @"/*
            comment one
            comment two
            comment three
            */";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Green;"">/*
            comment one
            comment two
            comment three
            */</span>
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.JavaScript);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 58
0
 private void ShowTemplate(string code, NetLanguage language)
 {
     mLastTemplateCode = code;
     var colorizer = new CodeColorizer();
     switch (language)
     {
         case NetLanguage.CSharp:
             browserTemplate.DocumentText =  GetDefaultCss() + colorizer.Colorize(code, Languages.CSharp);
             break;
         case NetLanguage.VbNet:
             browserTemplate.DocumentText =  GetDefaultCss() + colorizer.Colorize(code, Languages.VbDotNet);
             break;
         default:
             throw new ArgumentOutOfRangeException("language");
     }
 }
Ejemplo n.º 59
0
        public void TransformWillStyleCastingFunctions()
        {
            string source =
            @"CBool(foo)
            CByte(foo)
            CChar(foo)
            CDate(foo)
            CDec(foo)
            CDbl(foo)
            Char(foo)
            CInt(foo)
            CLng(foo)
            CObj(foo)
            CShort(foo)
            CSng(foo)
            CStr(foo)
            CSByte(foo)
            CUInt(foo)
            CULng(foo)
            CUShort(foo)";
            string expected =
            @"<div style=""color:Black;background-color:White;""><pre>
            <span style=""color:Blue;"">CBool</span>(foo)
            <span style=""color:Blue;"">CByte</span>(foo)
            <span style=""color:Blue;"">CChar</span>(foo)
            <span style=""color:Blue;"">CDate</span>(foo)
            <span style=""color:Blue;"">CDec</span>(foo)
            <span style=""color:Blue;"">CDbl</span>(foo)
            <span style=""color:Blue;"">Char</span>(foo)
            <span style=""color:Blue;"">CInt</span>(foo)
            <span style=""color:Blue;"">CLng</span>(foo)
            <span style=""color:Blue;"">CObj</span>(foo)
            <span style=""color:Blue;"">CShort</span>(foo)
            <span style=""color:Blue;"">CSng</span>(foo)
            <span style=""color:Blue;"">CStr</span>(foo)
            <span style=""color:Blue;"">CSByte</span>(foo)
            <span style=""color:Blue;"">CUInt</span>(foo)
            <span style=""color:Blue;"">CULng</span>(foo)
            <span style=""color:Blue;"">CUShort</span>(foo)
            </pre></div>";

            string actual = new CodeColorizer().Colorize(source, Languages.VbDotNet);

            Assert.Equal(expected, actual);
        }
Ejemplo n.º 60
0
        public object LoadCsFile()
        {
            try
            {
                var nvc = HttpUtility.ParseQueryString(Request.RequestUri.Query);
                var file = nvc["FileName"];
                var explanation = nvc["Docname"];
                if (explanation != null)
                {
                    try
                    {
                        var docpath = Path.GetFullPath("../../../DemoMethods/" + explanation + ".html");
                        var doclines = File.ReadAllText(docpath);
                        return doclines;
                    }
                    catch (Exception)
                    {
                        return string.Format("-Doc N/A-");
                    }
                }
                if (file == null)
                    return string.Format("No code found...");
                var path = Path.GetFullPath("../../../DemoMethods/" + file + ".cs");
                var lines = File.ReadAllText(path);

                string colorizedSourceCode = new CodeColorizer().Colorize(lines, Languages.CSharp);
                return colorizedSourceCode;
            }
            catch (Exception)
            {
                return string.Format("No code available for this demo");
            }
        }