예제 #1
0
        public void CalculatePaddingForOpenedIf(
            bool designTime,
            bool isIndentingWithTabs,
            int tabSize,
            int numTabs,
            int numSpaces
            )
        {
            RazorEngineHost host = CreateHost(
                designTime: designTime,
                isIndentingWithTabs: isIndentingWithTabs,
                tabSize: tabSize
                );

            string text = "\r\n<html>\r\n<body>\r\n\t\t@if (true) { \r\n</body>\r\n</html>";

            Span span = GenerateSpan(text, SpanKind.Code, 3, "if (true) { \r\n");

            int    generatedStart = 1;
            string code           = " if (true) { \r\n";
            int    paddingCharCount;
            string padded = CodeGeneratorPaddingHelper.PadStatement(
                host,
                code,
                span,
                ref generatedStart,
                out paddingCharCount
                );

            VerifyPadded(numTabs, numSpaces, code, padded, paddingCharCount);
        }
예제 #2
0
        public void CalculatePaddingForIfSpanWith4Spaces(bool designTime, bool isIndentingWithTabs, int tabSize)
        {
            RazorEngineHost host = CreateHost(designTime: designTime, isIndentingWithTabs: isIndentingWithTabs, tabSize: tabSize);

            Span span = GenerateSpan(@"    @if (true)", SpanKind.Code, 2, "if (true)");

            int padding = CodeGeneratorPaddingHelper.CalculatePadding(host, span, 1);

            Assert.Equal(4, padding);
        }
예제 #3
0
        public void CalculatePaddingForEmptySpanReturnsZero()
        {
            RazorEngineHost host = CreateHost(designTime: true);

            Span span = new Span(new SpanBuilder());

            int padding = CodeGeneratorPaddingHelper.CalculatePadding(host, span, 0);

            Assert.Equal(0, padding);
        }
예제 #4
0
        public void VerifyPaddingForIfSpanWith4Spaces(
            bool designTime,
            bool isIndentingWithTabs,
            int tabSize,
            int numTabs,
            int numSpaces
            )
        {
            RazorEngineHost host = CreateHost(
                designTime: designTime,
                isIndentingWithTabs: isIndentingWithTabs,
                tabSize: tabSize
                );

            // no new lines involved
            Span span = GenerateSpan("    @if (true)", SpanKind.Code, 2, "if (true)");

            int    generatedStart = 1;
            string code           = " if (true)";
            int    paddingCharCount;

            string padded = CodeGeneratorPaddingHelper.PadStatement(
                host,
                code,
                span,
                ref generatedStart,
                out paddingCharCount
                );

            VerifyPadded(numTabs, numSpaces, code, padded, paddingCharCount);

            // with new lines involved
            Span newLineSpan = GenerateSpan(
                "\t<div>\r\n    @if (true)",
                SpanKind.Code,
                3,
                "if (true)"
                );

            string newLinePadded = CodeGeneratorPaddingHelper.PadStatement(
                host,
                code,
                span,
                ref generatedStart,
                out paddingCharCount
                );

            VerifyPadded(numTabs, numSpaces, code, newLinePadded, paddingCharCount);
        }