Example #1
0
        public void InvalidElementRange(string testFileName, int nodeIndex, string elementName, int startLine, int startColumn, int endLine, int endColumn)
        {
            string            testXml      = LoadTestFile("TestFiles", testFileName + ".xml");
            TextPositions     xmlPositions = new TextPositions(testXml);
            XmlDocumentSyntax xmlDocument  = Parser.ParseText(testXml);

            List <XSNode> nodes = xmlDocument.GetSemanticModel(xmlPositions);

            Assert.NotNull(nodes);

            XSNode targetNode = nodes[nodeIndex];

            Assert.NotNull(targetNode);

            Assert.IsAssignableFrom <XSElement>(targetNode);
            XSElement targetElement = (XSElement)targetNode;

            Assert.Equal(elementName, targetElement.Name);
            Assert.False(targetElement.IsValid, "IsValid");

            Range expectedRange = new Range(
                start: new Position(startLine, startColumn),
                end: new Position(endLine, endColumn)
                );

            Assert.Equal(expectedRange, targetElement.Range);
        }
Example #2
0
        void NodeRange(string testFileName, int index, int startLine, int startColumn, int endLine, int endColumn)
        {
            string            testXml      = LoadTestFile("TestFiles", testFileName + ".xml");
            TextPositions     xmlPositions = new TextPositions(testXml);
            XmlDocumentSyntax xmlDocument  = Parser.ParseText(testXml);

            List <XSNode> nodes = xmlDocument.GetSemanticModel(xmlPositions);

            Assert.NotNull(nodes);
            Assert.InRange(index, 0, nodes.Count - 1);

            XSNode node = nodes[index];

            Assert.NotNull(node);

            TestOutput.WriteLine("Node {0} at {1} is {2}.",
                                 index,
                                 node.Range,
                                 node.Kind
                                 );

            Range expectedRange = new Range(
                start: new Position(startLine, startColumn),
                end: new Position(endLine, endColumn)
                );

            Assert.Equal(expectedRange, node.Range);
        }
Example #3
0
        void NodeKind(string testFileName, int index, XSNodeKind nodeKind)
        {
            string            testXml      = LoadTestFile("TestFiles", testFileName + ".xml");
            TextPositions     xmlPositions = new TextPositions(testXml);
            XmlDocumentSyntax xmlDocument  = Parser.ParseText(testXml);

            List <XSNode> nodes = xmlDocument.GetSemanticModel(xmlPositions);

            Assert.NotNull(nodes);
            Assert.InRange(index, 0, nodes.Count - 1);

            XSNode node = nodes[index];

            Assert.NotNull(node);

            Assert.Equal(nodeKind, node.Kind);
        }
Example #4
0
        void ElementAttributesRange(string testFileName, string elementName, int startLine, int startColumn, int endLine, int endColumn)
        {
            string            testXml      = LoadTestFile("TestFiles", testFileName + ".xml");
            TextPositions     xmlPositions = new TextPositions(testXml);
            XmlDocumentSyntax xmlDocument  = Parser.ParseText(testXml);

            List <XSNode> nodes = xmlDocument.GetSemanticModel(xmlPositions);

            Assert.NotNull(nodes);

            XSNode targetNode = nodes.Find(node => node.Name == elementName);

            Assert.NotNull(targetNode);

            Assert.IsAssignableFrom <XSElement>(targetNode);
            XSElement targetElement = (XSElement)targetNode;

            Range expectedRange = new Range(
                start: new Position(startLine, startColumn),
                end: new Position(endLine, endColumn)
                );

            Assert.Equal(expectedRange, targetElement.AttributesRange);
        }