public void HamonicsRenderingText_Issue79() { var tex = @":8 3.3{nh} 3.3{ah} 3.3{th} 3.3{ph} 3.3{sh}"; var score = ParseTex(tex); Environment.StaveProfiles["harmonics"] = new BarRendererFactory[] { new EffectBarRendererFactory("n-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Natural) }), new EffectBarRendererFactory("a-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Artificial) }), new EffectBarRendererFactory("t-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Tap) }), new EffectBarRendererFactory("p-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Pinch) }), new EffectBarRendererFactory("s-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Semi) }), new EffectBarRendererFactory("f-harmonics", new IEffectBarRendererInfo[] { new HarmonicsEffectInfo(HarmonicType.Feedback) }), }; var settings = Settings.Defaults; settings.Engine = "svg"; settings.Staves = new StaveSettings("harmonics"); var renderer = new ScoreRenderer(settings); var svg = ""; renderer.PartialRenderFinished += r => { svg += r.RenderResult.ToString(); }; renderer.Render(score, new[] { 0 }); var regexTemplate = @"<text[^>]+>\s*{0}\s*</text>"; Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Natural)))); Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Artificial)))); Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Tap)))); Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Pinch)))); Assert.IsTrue(TestPlatform.IsMatch(svg, string.Format(regexTemplate, HarmonicsEffectInfo.HarmonicToString(HarmonicType.Semi)))); }