static UxDocument ParseAndExpandUxDocument(string uxText) { var doc = UxDocument.Parse(uxText); // ReSharper disable once UnusedVariable foreach (var node in doc.Root.DescendantNodesAndSelf()) { // Do nothing here } return(doc); }
public void SourceOffset_is_correct_for_all_nodes_in_example(string uxContent) { var doc = UxDocument.Parse(uxContent); foreach (var node in doc.DescendantNodes()) { var expected = node.Syntax.ToString(); var actual = uxContent.Substring(node.SourceOffset, node.Syntax.FullSpan); Assert.That(node.FullSpan, Is.EqualTo(expected.Length)); Assert.That(actual, Is.EqualTo(expected)); } }
public void Qualified_names_are_correct() { var doc = UxDocument.Parse( "<Panel ux:Class=\"CustomPanel\" Color=\"Black\" xmlns:foo=\"foo://\"><ux:Poo /><foo:Bar /></Panel>"); var el = doc.Root; Assert.That(el.Attributes[0].QualifiedName, Is.EqualTo("{http://schemas.fusetools.com/ux}Class")); Assert.That(el.Attributes[1].QualifiedName, Is.EqualTo("Color")); Assert.That( el.QualifiedName, Is.EqualTo( "{Fuse, Fuse.Reactive, Fuse.Selection, Fuse.Animations, Fuse.Drawing, Fuse.Entities, Fuse.Controls, Fuse.Layouts, Fuse.Elements, Fuse.Effects, Fuse.Triggers, Fuse.Navigation, Fuse.Triggers.Actions, Fuse.Gestures, Fuse.Resources, Fuse.Native, Fuse.Physics, Fuse.Vibration, Fuse.Motion, Fuse.Testing, Uno.UX}Panel")); Assert.That(el.Elements.ElementAt(0).QualifiedName, Is.EqualTo("{http://schemas.fusetools.com/ux}Poo")); Assert.That(el.Elements.ElementAt(1).QualifiedName, Is.EqualTo("{foo://}Bar")); }
static UxDocument ParseDoc(string ux) { var doc = UxDocument.Parse(ux); return(doc); }
static UxDocument ParseXml(string xml) { return(UxDocument.Parse(xml)); }