public static UxDocument Parse(string uxText) { if (uxText == null) { throw new ArgumentNullException(nameof(uxText)); } return(new UxDocument(SyntaxParser.ParseDocument(uxText))); }
public void Parse_roundtrip_from_all_ux_files_in_directory(string input) { var syntax = SyntaxParser.ParseDocument(input); Assert.That(syntax.ToString(), Is.EqualTo(input)); Assert.That(syntax.FullSpan, Is.EqualTo(input.Length)); Assert.That(string.Concat(syntax.AllTokens), Is.EqualTo(input)); }
public void Visit_works() { // NOCOMMIT! DON'T KNOW IF THIS TEST WILL SURVIVE var normalizeVisitor = new NormalizeVisitor(); var node = SyntaxParser.ParseDocument("<Funky Foo = \"gagaga&x32;\" Bar =\t\t'\"' />"); Console.WriteLine("Before: {0}", node); Console.WriteLine("After: {0}", normalizeVisitor.Visit(node)); Assert.Fail("Test NOT finished"); }
public void Parse_roundtrip(string input) { var syntax = SyntaxParser.ParseDocument(input); Assert.That(syntax.ToString(), Is.EqualTo(input)); Assert.That(syntax.FullSpan, Is.EqualTo(input.Length)); Assert.That(string.Concat(syntax.AllTokens), Is.EqualTo(input)); // Check that equals works var syntaxReparsed = SyntaxParser.ParseDocument(input); Assert.That(syntax, Is.EqualTo(syntaxReparsed)); }
public void Parse_roundtrip_from_file(string resourceName) { string input; using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetType(), resourceName)) using (var reader = new StreamReader(stream, Encoding.UTF8)) { input = reader.ReadToEnd(); } var syntax = SyntaxParser.ParseDocument(input); Assert.That(syntax.ToString(), Is.EqualTo(input)); Assert.That(syntax.FullSpan, Is.EqualTo(input.Length)); Assert.That(string.Concat(syntax.AllTokens), Is.EqualTo(input)); }
public void Measure_performance_parsing_all_ux_files() { var allFiles = UxTestCases.ExampleDocsAndFuseSamples.Select(x => (string)x.Arguments[0]).ToList(); const int iterationsPerFile = 100; Stopwatch sw = new Stopwatch(); sw.Start(); foreach (var f in allFiles) { for (int i = 0; i < iterationsPerFile; i++) { SyntaxParser.ParseDocument(f); } } sw.Stop(); var totalSize = allFiles.Select(x => Encoding.UTF8.GetByteCount(x)).Sum(); Console.WriteLine( "Parse speed {0}MiB/s", totalSize * iterationsPerFile / (double)(1 << 20) / sw.Elapsed.TotalSeconds); }
public void Measure_ux_tree_converted_to_xobject_overhead() { MeasureTree(x => SyntaxParser.ParseDocument(x).ToXml(), 10); }