protected virtual XmlCompletionItemCollection GetCompletionItemsInsideAttribute(XmlSchemaCompletion defaultSchema, XmlSchemaCompletionCollection schemas)
        {
            XmlCompletionItemCollection completionItems = new XmlCompletionItemCollection();
            int    offset         = this.Position.Offset;
            string textUpToCursor = this.Text.GetText(0, offset);

            completionItems = schemas.GetNamespaceCompletion(textUpToCursor);
            if (completionItems.Count == 0)
            {
                completionItems = schemas.GetAttributeValueCompletion(textUpToCursor, this.Position.Offset, defaultSchema);
            }

            return(completionItems);
        }
Exemple #2
0
        public void GetAttributeValueCompletionReturnsValuesForDuplicateFooSchema()
        {
            string xml =
                "<duplicate-foo-note xmlns='foo'>\r\n" +
                "    <duplicate-foo-text duplicate-foo-text-attribute='f'";

            string xmlUpToCursor = xml.Substring(0, xml.Length - 1);

            XmlCompletionItemCollection items = schemas.GetAttributeValueCompletion('f', xmlUpToCursor, null);

            items.Sort();

            XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection();

            expectedItems.Add(new XmlCompletionItem("first", XmlCompletionItemType.XmlAttributeValue));
            expectedItems.Add(new XmlCompletionItem("fourth", XmlCompletionItemType.XmlAttributeValue));
            expectedItems.Add(new XmlCompletionItem("second", XmlCompletionItemType.XmlAttributeValue));
            expectedItems.Add(new XmlCompletionItem("third", XmlCompletionItemType.XmlAttributeValue));

            Assert.AreEqual(expectedItems, items);
        }
        public void CorrectAttributeValuesReturnedForElementWhenTwoNamespacesInXml()
        {
            string xml =
                "<b:bar-note xmlns='foo' xmlns:b='bar'>\r\n" +
                "    <foo-note>\r\n" +
                "        <b:bar-text/>\r\n" +
                "        <foo-text foo-text-attribute='f'";

            string xmlUpToCursor = xml.Substring(0, xml.Length - 1);

            XmlCompletionItemCollection items = schemas.GetAttributeValueCompletion('f', xmlUpToCursor, null);

            items.Sort();

            XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection();

            expectedItems.Add(new XmlCompletionItem("first", XmlCompletionItemType.XmlAttributeValue));
            expectedItems.Add(new XmlCompletionItem("fourth", XmlCompletionItemType.XmlAttributeValue));
            expectedItems.Add(new XmlCompletionItem("second", XmlCompletionItemType.XmlAttributeValue));
            expectedItems.Add(new XmlCompletionItem("third", XmlCompletionItemType.XmlAttributeValue));

            Assert.AreEqual(expectedItems, items);
        }