public void CollectionCanSortItemsByCompletionItemText() { itemCollection.Add(new XmlCompletionItem("a")); itemCollection.Sort(); Assert.AreEqual("a", itemCollection[0].Text); }
public override void FixtureInit() { XmlElementPath path = new XmlElementPath(); path.AddElement(new QualifiedName("link", schemaNamespace)); path.NamespacesInScope.Add(new XmlNamespace("xlink", "http://www.w3.org/1999/xlink")); linkElementAttributes = SchemaCompletion.GetAttributeCompletion(path); linkElementAttributes.Sort(); }
public override void FixtureInit() { XmlElementPath path = new XmlElementPath(); path.AddElement(new QualifiedName("link", schemaNamespace)); path.NamespacesInScope.Add(new XmlNamespace("xlink", "http://www.w3.org/1999/xlink")); linkElementAttributes = SchemaCompletion.GetAttributeCompletion(path); linkElementAttributes.Sort(); }
public void NamespaceCompletionDoesNotContainDuplicateNamespaces() { XmlCompletionItemCollection items = schemas.GetNamespaceCompletion(); items.Sort(); List <XmlCompletionItem> expectedItems = new List <XmlCompletionItem>(); expectedItems.Add(new XmlCompletionItem("bar", XmlCompletionItemType.NamespaceUri)); expectedItems.Add(new XmlCompletionItem("foo", XmlCompletionItemType.NamespaceUri)); Assert.AreEqual(expectedItems.ToArray(), items.ToArray()); }
public void DefaultSchemaRootElementsReturnedWhenNoNamespaceExplicitlyDefinedInXmlAndXmlIsEmpty() { XmlSchemaCompletion defaultSchema = schemas["foo"]; string xml = "<"; XmlCompletionItemCollection items = schemas.GetElementCompletion(xml, defaultSchema); items.Sort(); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("foo-note", XmlCompletionItemType.XmlElement)); Assert.AreEqual(expectedItems, items); }
public void GetChildElementCompletionForDuplicateFooRootElement() { XmlElementPath path = new XmlElementPath(); path.AddElement(new QualifiedName("duplicate-foo-note", "foo")); XmlCompletionItemCollection items = schemas.GetChildElementCompletion(path, null); items.Sort(); List <XmlCompletionItem> expectedItems = new List <XmlCompletionItem>(); expectedItems.Add(new XmlCompletionItem("duplicate-foo-text", XmlCompletionItemType.XmlElement)); Assert.AreEqual(expectedItems.ToArray(), items.ToArray()); }
public void DefaultSchemaRootElementsReturnedOnceWhenNamespaceDefinedButNoElementsExistForthatNamespace() { XmlSchemaCompletion defaultSchema = schemas["foo"]; string xml = "<b:bar-note xmlns='foo' xmlns:b='bar'><"; XmlCompletionItemCollection items = schemas.GetElementCompletion(xml, defaultSchema); items.Sort(); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("b:bar-text", XmlCompletionItemType.XmlElement)); expectedItems.Add(new XmlCompletionItem("foo-note", XmlCompletionItemType.XmlElement)); Assert.AreEqual(expectedItems, items); }
public void GetRootElementCompletionReturnsRootElementsFromBothFooSchemas() { XmlNamespaceCollection namespaces = new XmlNamespaceCollection(); namespaces.Add(new XmlNamespace(String.Empty, "foo")); XmlCompletionItemCollection items = schemas.GetRootElementCompletion(namespaces); items.Sort(); List <XmlCompletionItem> expectedItems = new List <XmlCompletionItem>(); expectedItems.Add(new XmlCompletionItem("duplicate-foo-note", XmlCompletionItemType.XmlElement)); expectedItems.Add(new XmlCompletionItem("foo-note", XmlCompletionItemType.XmlElement)); Assert.AreEqual(expectedItems.ToArray(), items.ToArray()); }
public void Init() { XmlCompletionItem lastItem = new XmlCompletionItem("cc", XmlCompletionItemType.XmlElement); XmlCompletionItem secondItem = new XmlCompletionItem("bb", XmlCompletionItemType.XmlElement); XmlCompletionItem firstItem = new XmlCompletionItem("aa", XmlCompletionItemType.XmlElement); XmlCompletionItemCollection collection = new XmlCompletionItemCollection(); collection.Add(lastItem); collection.Add(secondItem); collection.Add(firstItem); expectedCompletionItems = new XmlCompletionItem[] { firstItem, secondItem, lastItem }; completionItems = new XmlCompletionItemCollection(collection); completionItems.Sort(); }
public void Init() { XmlCompletionItem lastItem = new XmlCompletionItem("cc", XmlCompletionItemType.XmlElement); XmlCompletionItem secondItem = new XmlCompletionItem("bb", XmlCompletionItemType.XmlElement); XmlCompletionItem firstItem = new XmlCompletionItem("aa", XmlCompletionItemType.XmlElement); XmlCompletionItemCollection collection = new XmlCompletionItemCollection(); collection.Add(lastItem); collection.Add(secondItem); collection.Add(firstItem); expectedCompletionItems = new XmlCompletionItem[] { firstItem, secondItem, lastItem }; completionItems = new XmlCompletionItemCollection(collection); completionItems.Sort(); }
public void FooSchemaRootElementAndBarRootElementInPath() { XmlElementPath path = new XmlElementPath(); path.AddElement(new QualifiedName("foo-note", "foo")); path.AddElement(new QualifiedName("bar-note", "bar", "b")); XmlCompletionItemCollection items = schemas.GetElementCompletionForAllNamespaces(path, null); items.Sort(); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("b:bar-text", XmlCompletionItemType.XmlElement)); expectedItems.Add(new XmlCompletionItem("foo-text", XmlCompletionItemType.XmlElement)); Assert.AreEqual(expectedItems, items); }
public void UnusedNamespaceInScopeCannotBeFoundInSchemaCollection() { XmlElementPath path = new XmlElementPath(); path.NamespacesInScope.Add(new XmlNamespace("b", "namespace-which-does-not-exist-in-schema-collection")); path.AddElement(new QualifiedName("foo-note", "foo")); XmlCompletionItemCollection items = schemas.GetElementCompletionForAllNamespaces(path, null); items.Sort(); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("foo-text", XmlCompletionItemType.XmlElement)); Assert.AreEqual(expectedItems, items); }
public void FooSchemaElementAndBarElementInXml() { string xml = "<foo-note xmlns='foo' xmlns:b='bar'>\r\n" + " <b:bar-note>\r\n" + " <"; XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("b:bar-text", XmlCompletionItemType.XmlElement)); expectedItems.Add(new XmlCompletionItem("foo-text", XmlCompletionItemType.XmlElement)); XmlCompletionItemCollection items = schemas.GetElementCompletion(xml, null); items.Sort(); Assert.AreEqual(expectedItems, items); }
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); }
/// <summary> /// /// </summary> /// <param name="editor"></param> /// <returns></returns> public XmlCompletionItemCollection RetrieveCompletionItemCollection() { XmlSchemaCompletionCollection schemas = this.AutoFindSchemaCollection(); //retrieve information about the path that we are working int offset = this.FixOffset(this.Text, this.Position.Offset); if (offset == -1) { return(null); } string textUpToCursor = this.Text.GetText(0, offset); XmlElementPath path = XmlParser.GetActiveElementStartPath(textUpToCursor, textUpToCursor.Length); XmlSchemaCompletion defaultSchema = GetDefaultSchema(path, schemas); XmlCompletionItemCollection completionItems = GetCompletionItems(defaultSchema, schemas); completionItems.Sort(); return(completionItems); }
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); }