Ejemplo n.º 1
0
        /// <inheritdoc />
        public void WriteTo(TextWriter writer, HtmlEncoder encoder)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            if (encoder == null)
            {
                throw new ArgumentNullException(nameof(encoder));
            }

            if (Arguments.Length == 0)
            {
                writer.Write(Value);
            }
            else
            {
                try
                {
                    var formattableString = new HtmlFormattableString(Value, Arguments);
                    formattableString.WriteTo(writer, encoder);
                }
                catch
                {
                    writer.Write(Value);
                }
            }
        }
Ejemplo n.º 2
0
    public void HtmlFormattableString_UsesCurrentCulture()
    {
        // Arrange
        var formattableString = new HtmlFormattableString("{0:D}", new DateTime(2015, 02, 01));

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("HtmlEncode[[Sonntag, 1. Februar 2015]]", result);
    }
Ejemplo n.º 3
0
    public void HtmlFormattableString_WithHtmlString()
    {
        // Arrange
        var formattableString = new HtmlFormattableString("{0}!", new HtmlString("First"));

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("First!", result);
    }
Ejemplo n.º 4
0
    public void HtmlFormattableString_EmptyArgsAndCulture()
    {
        // Arrange
        var formattableString = new HtmlFormattableString(CultureInfo.CurrentCulture, "Hello, World!");

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("Hello, World!", result);
    }
Ejemplo n.º 5
0
    public void HtmlFormattableString_WithFormatStringComponent()
    {
        // Arrange
        var formattableString = new HtmlFormattableString("0x{0:X}", 50);

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("0xHtmlEncode[[32]]", result);
    }
Ejemplo n.º 6
0
    public void HtmlFormattableString_UsesPassedInCulture()
    {
        // Arrange
        var culture           = new CultureInfo("fr-FR");
        var formattableString = new HtmlFormattableString(culture, "{0} in french!", 1.21);

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("HtmlEncode[[1,21]] in french!", result);
    }
Ejemplo n.º 7
0
    public void HtmlFormattableString_WithAlignmentComponent()
    {
        // Arrange
        var formattableString = new HtmlFormattableString("{0, -25} World!", "Hello");

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal(
            "HtmlEncode[[Hello]]       World!", result);
    }
Ejemplo n.º 8
0
    public void HtmlFormattableString_MultipleArguments()
    {
        // Arrange
        var formattableString = new HtmlFormattableString("{0} {1} {2} {3}!", "First", "Second", "Third", "Fourth");

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal(
            "HtmlEncode[[First]] HtmlEncode[[Second]] HtmlEncode[[Third]] HtmlEncode[[Fourth]]!",
            result);
    }
Ejemplo n.º 9
0
    public void HtmlFormattableString_With3Arguments()
    {
        // Arrange
        var formattableString = new HtmlFormattableString("0x{0:X} - {1} equivalent for {2}.", 50, "hex", 50);

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal(
            "0xHtmlEncode[[32]] - HtmlEncode[[hex]] equivalent for HtmlEncode[[50]].",
            result);
    }
Ejemplo n.º 10
0
    public void HtmlFormattableString_WithMultipleHtmlContentArguments()
    {
        // Arrange
        var formattableString = new HtmlFormattableString(
            "Happy {0}, {1}!",
            new HtmlString("Birthday"),
            new HtmlContentBuilder().Append("Billy"));

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("Happy Birthday, HtmlEncode[[Billy]]!", result);
    }
Ejemplo n.º 11
0
    public void HtmlFormattableString_WithOtherIHtmlContent()
    {
        // Arrange
        var builder = new HtmlContentBuilder();

        builder.Append("First");

        var formattableString = new HtmlFormattableString("{0}!", builder);

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal("HtmlEncode[[First]]!", result);
    }
Ejemplo n.º 12
0
        /// <inheritdoc />
        public void WriteTo(TextWriter writer, HtmlEncoder encoder)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            if (encoder == null)
            {
                throw new ArgumentNullException(nameof(encoder));
            }

            var formattableString = new HtmlFormattableString(Value, _arguments);

            formattableString.WriteTo(writer, encoder);
        }
Ejemplo n.º 13
0
    public void HtmlFormattableString_WithCulture()
    {
        // Arrange
        var formattableString = new HtmlFormattableString(
            CultureInfo.InvariantCulture,
            "Numbers in InvariantCulture - {0, -5:N} {1} {2} {3}!",
            1.1,
            2.98,
            145.82,
            32.86);

        // Act
        var result = HtmlContentToString(formattableString);

        // Assert
        Assert.Equal(
            "Numbers in InvariantCulture - HtmlEncode[[1.10]] HtmlEncode[[2.98]] " +
            "HtmlEncode[[145.82]] HtmlEncode[[32.86]]!",
            result);
    }