Example #1
0
 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));
        }
Example #3
0
        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);
        }
Example #7
0
 public void Measure_ux_tree_converted_to_xobject_overhead()
 {
     MeasureTree(x => SyntaxParser.ParseDocument(x).ToXml(), 10);
 }