<commit_before>using Uno;
using Uno.Collections;
using Uno.Testing;
using Uno.UX;

using Fuse.Controls;
using Fuse.Drawing;

using FuseTest;

namespace Fuse.Elements.Test
{
	public class ElementTreeRendererTest : TestBase
	{
		[Test]
		//https://github.com/fusetools/fuselibs-public/issues/1005
		public void PathDataChanged()
		{
			var p = new global::UX.ElementTreeRenderer.PathRenderBounds();
			using (var root = TestRootPanel.CreateWithChild(p))
			{
				var q = p.a.RenderBoundsWithoutEffects; //grab them, otherwise a change won't trigger
				p.Reset();
				p.a.Data = "M0,0 L100,100";
				root.StepFrame(); //dispatch is done as part of layout, thus PumpDeferred is not enough
				
				Assert.IsTrue( p.RenderBoundsChangedElements.Contains( p.a ) );
			}
		}	
	}
	
	public class TreeRendererPanel : Panel, ITreeRenderer
	{<commit_msg>Source.Elements.Tests: ignore PathDataChanged on MSVC<commit_after>using Uno;
using Uno.Collections;
using Uno.Testing;
using Uno.UX;

using Fuse.Controls;
using Fuse.Drawing;

using FuseTest;

namespace Fuse.Elements.Test
{
	public class ElementTreeRendererTest : TestBase
	{
		[Test]
		[Ignore("Needs a Surface backend", "HOST_WINDOWS && NATIVE")]
		//https://github.com/fusetools/fuselibs-public/issues/1005
		public void PathDataChanged()
		{
			var p = new global::UX.ElementTreeRenderer.PathRenderBounds();
			using (var root = TestRootPanel.CreateWithChild(p))
			{
				var q = p.a.RenderBoundsWithoutEffects; //grab them, otherwise a change won't trigger
				p.Reset();
				p.a.Data = "M0,0 L100,100";
				root.StepFrame(); //dispatch is done as part of layout, thus PumpDeferred is not enough
				
				Assert.IsTrue( p.RenderBoundsChangedElements.Contains( p.a ) );
			}
		}	
	}
	
	public class TreeRendererPanel : Panel, ITreeRenderer
	{
{'fraction_non_alphanumeric': 0.11173184357541899, 'fraction_numerical': 0.013407821229050279, 'mean_word_length': 3.8934426229508197, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6268438', 'n_tokens_mistral': 677, 'n_tokens_neox': 590, 'n_words': 146}