Example #1
0
        public void ParseEmpty()
        {
            var format = "";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left);

            Assert.AreEqual(0, r.Chunks.Count);
        }
Example #2
0
        public void ParseOnlyClosing()
        {
            var format = "}";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left);

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual("}", r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Normal));
        }
        public void ParseUnclosed()
        {
            var format = "{artist";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", CustomLabel.TextAlignment.Left);

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual("{artist", r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Normal));
        }
Example #4
0
        public void ParseInvalidFormat()
        {
            var format = "{something}";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left);

            Assert.AreEqual(1, r.Chunks.Count);

            Assert.AreEqual("! invalid format !", r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Normal));
        }
Example #5
0
        public void ParseSinglePlaceholder()
        {
            var format = "{artist}";
            var artist = "123";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                Artist = artist
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual(artist, r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Artist));
        }
Example #6
0
        public void ParseLength()
        {
            var format = "{length}";
            var time   = TimeSpan.FromSeconds(80);
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                SongLength = time,
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual("1:20", r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.SongLength));
        }
Example #7
0
        public void ParseTime()
        {
            var format = "{time}";
            var time   = TimeSpan.FromSeconds(40);
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                SongProgress = time,
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual("0:40", r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.CurrentTime));
        }
Example #8
0
        public void ParseAlbum()
        {
            var format = "{album}";
            var album  = "the album";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                AlbumName = album
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual(album, r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Album));
        }
Example #9
0
        public void ParseSong()
        {
            var format = "{song}";
            var song   = "the song";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                SongName = song
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual(song, r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Song));
        }
Example #10
0
        public static void DrawPlainText(Graphics g, string s, Font font, Color color, int x, int x1, ref int y, int height)
        {
            if (s == null)
            {
                return;
            }

            using (var r = new FormattedTextRenderer())
            {
                r.WordWrapEnabled = false;
                r.UseGDIRenderer  = false;
                r.DrawPlainText(g, s, font, color, x, x1, ref y, height);
            }
        }
        public void ParseStyleUnderline()
        {
            var format = "{_artist}";
            var artist = "123";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", CustomLabel.TextAlignment.Left)
            {
                Artist = artist
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual(artist, r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Artist));
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Underline));
        }
Example #12
0
        public void ParseStyleWithColor()
        {
            var format = "{_artist:#ff00ff}";
            var artist = "123";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                Artist = artist
            };

            Assert.AreEqual(1, r.Chunks.Count);
            Assert.AreEqual(artist, r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Artist));
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Underline));
            Assert.AreEqual(ColorTranslator.FromHtml("#ff00ff"), r.Chunks[0].Color);
        }
        public void ParsePlaceholderWithNormal()
        {
            var format = "{artist} song";
            var artist = "123";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", CustomLabel.TextAlignment.Left)
            {
                Artist = artist
            };

            Assert.AreEqual(2, r.Chunks.Count);

            Assert.AreEqual(artist, r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Artist));

            Assert.AreEqual(" song", r.Chunks[1].Text);
            Assert.IsTrue(r.Chunks[1].Type.HasFlag(FormattedTextRenderer.TextFormat.Normal));
        }
Example #14
0
        public void ParseComplex()
        {
            var format = "this is {artist} and ";
            var artist = "123";
            var r      = new FormattedTextRenderer(format, Color.Black, 8.5f, "Arial", TextAlignment.Left)
            {
                Artist = artist
            };

            Assert.AreEqual(3, r.Chunks.Count);

            Assert.AreEqual("this is ", r.Chunks[0].Text);
            Assert.IsTrue(r.Chunks[0].Type.HasFlag(FormattedTextRenderer.TextFormat.Normal));

            Assert.AreEqual(artist, r.Chunks[1].Text);
            Assert.IsTrue(r.Chunks[1].Type.HasFlag(FormattedTextRenderer.TextFormat.Artist));

            Assert.AreEqual(" and ", r.Chunks[2].Text);
            Assert.IsTrue(r.Chunks[2].Type.HasFlag(FormattedTextRenderer.TextFormat.Normal));
        }