Exemplo n.º 1
0
        public void StringFormattingIsApplied(string s, string format, string expected)
        {
            var f  = new ThemedDisplayValueFormatter(ConsoleTheme.None, null);
            var sw = new StringWriter();

            f.FormatLiteralValue(new ScalarValue(s), sw, format);
            var actual = sw.ToString();

            Assert.Equal(expected, actual);
        }
Exemplo n.º 2
0
        public void StringFormattingIsApplied(string value, string format, string expected)
        {
            var formatter = new ThemedDisplayValueFormatter(RichTextBoxTheme.None, null);
            var sw        = new StringWriter();

            formatter.FormatLiteralValue(new ScalarValue(value), sw, format);

            var actual = sw.ToString();

            Assert.Equal(expected, actual);
        }
        public MessageTemplateOutputTokenRenderer(ConsoleTheme theme, PropertyToken token, IFormatProvider formatProvider, bool jsonMultiline)
        {
            _theme = theme ?? throw new ArgumentNullException(nameof(theme));
            _token = token ?? throw new ArgumentNullException(nameof(token));
            bool isLiteral = false, isJson = false;

            if (token.Format != null)
            {
                for (var i = 0; i < token.Format.Length; ++i)
                {
                    if (token.Format[i] == 'l')
                    {
                        isLiteral = true;
                    }
                    else if (token.Format[i] == 'j')
                    {
                        isJson = true;
                    }
                }
            }

            ThemedValueFormatter valueFormatter = null;

            if (isJson)
            {
                valueFormatter = jsonMultiline
                    ? (ThemedValueFormatter) new ThemedJsonValueFormatter(theme, formatProvider)
                    : (ThemedValueFormatter) new ThemedJsonMultilineValueFormatter(theme, formatProvider);
            }
            else
            {
                valueFormatter = new ThemedDisplayValueFormatter(theme, formatProvider);
            }

            _renderer = new ThemedMessageTemplateRenderer(theme, valueFormatter, isLiteral);
        }