public void LinkElementHasAddressAndXlinkHrefAttribute() { XmlCompletionItemCollection expectedAttributes = new XmlCompletionItemCollection(); expectedAttributes.Add(new XmlCompletionItem("address", XmlCompletionItemType.XmlAttribute)); expectedAttributes.Add(new XmlCompletionItem("xlink:href", XmlCompletionItemType.XmlAttribute)); Assert.AreEqual(expectedAttributes.ToArray(), linkElementAttributes.ToArray()); }
public void Init() { firstItem = new XmlCompletionItem("text", "desc-1", XmlCompletionItemType.XmlElement); secondItem = new XmlCompletionItem("text2", "desc-2", XmlCompletionItemType.XmlAttribute); itemCollection = new XmlCompletionItemCollection(); itemCollection.Add(firstItem); itemCollection.Add(secondItem); }
public void ExpectedCompletionDataItems() { XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("a", XmlCompletionItemType.NamespaceUri)); expectedItems.Add(new XmlCompletionItem("b", XmlCompletionItemType.NamespaceUri)); expectedItems.Add(new XmlCompletionItem("c", XmlCompletionItemType.NamespaceUri)); Assert.AreEqual(expectedItems.ToArray(), textEditor.CompletionItemsDisplayedToArray()); }
public void Init() { firstItem = new XmlCompletionItem("text", "desc-1", XmlCompletionItemType.XmlElement); secondItem = new XmlCompletionItem("text2", "desc-2", XmlCompletionItemType.XmlAttribute); itemCollection = new XmlCompletionItemCollection(); itemCollection.Add(firstItem); itemCollection.Add(secondItem); }
public void LinkElementHasAddressAndXlinkHrefAttribute() { XmlCompletionItemCollection expectedAttributes = new XmlCompletionItemCollection(); expectedAttributes.Add(new XmlCompletionItem("address", XmlCompletionItemType.XmlAttribute)); expectedAttributes.Add(new XmlCompletionItem("xlink:href", XmlCompletionItemType.XmlAttribute)); Assert.AreEqual(expectedAttributes.ToArray(), linkElementAttributes.ToArray()); }
public void ExpectedCompletionDataItems() { XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("a", XmlCompletionItemType.NamespaceUri)); expectedItems.Add(new XmlCompletionItem("b", XmlCompletionItemType.NamespaceUri)); expectedItems.Add(new XmlCompletionItem("c", XmlCompletionItemType.NamespaceUri)); Assert.AreEqual(expectedItems.ToArray(), textEditor.CompletionItemsDisplayedToArray()); }
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 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 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 CanGetCompletionItemsUsedAsShowCompletionMethodParameters() { XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(new XmlCompletionItem("a")); editor.ShowCompletionWindow(list); Assert.AreSame(list, editor.CompletionItemsDisplayed); }
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 CanCheckCompletionWindowFromShowCompletionHasWidthPropertyModified() { XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(new XmlCompletionItem("a")); ICompletionListWindow window = editor.ShowCompletionWindow(list); window.Width = double.NaN; Assert.AreEqual(double.NaN, editor.CompletionWindowDisplayed.Width); }
public void CanGetCompletionItemsUsedAsShowCompletionMethodParameters() { XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(new XmlCompletionItem("a")); editor.ShowCompletionWindow(list); Assert.AreSame(list, editor.CompletionItemsDisplayed); }
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 TextEditorShowCompletionListReturnsNullWhenConfigured() { XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(new XmlCompletionItem("a")); editor.ShowCompletionWindowReturnsNull = true; Assert.IsNull(editor.ShowCompletionWindow(list)); }
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 CanCheckCompletionWindowFromShowCompletionHasWidthPropertyModified() { XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(new XmlCompletionItem("a")); ICompletionListWindow window = editor.ShowCompletionWindow(list); window.Width = double.NaN; Assert.AreEqual(double.NaN, editor.CompletionWindowDisplayed.Width); }
protected XmlCompletionItemCollection GetCompletionItemsForAttribute(XmlSchemaCompletion defaultSchema, XmlSchemaCompletionCollection schemas) { int offset = this.Position.Offset; string textUpToCursor = this.Text.GetText(0, offset); XmlCompletionItemCollection completionItems = new XmlCompletionItemCollection(); completionItems = schemas.GetAttributeCompletion(textUpToCursor, defaultSchema); if (completionItems.Count == 0) { completionItems = schemas.GetElementCompletion(textUpToCursor, defaultSchema); if (this.HasOpenToken == false) { completionItems.Select(i => { i.Text = "<" + i.Text; return(i); }).ToList(); } completionItems.Add(new XmlCompletionItem("<?")); completionItems.Add(new XmlCompletionItem("<!--")); } return(completionItems); }
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 CanConvertCompletionItemsUsedAsShowCompletionMethodParametersToArray() { XmlCompletionItem item = new XmlCompletionItem("a"); List<XmlCompletionItem> expectedArray = new List<XmlCompletionItem>(); expectedArray.Add(item); XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(item); editor.ShowCompletionWindow(list); Assert.AreEqual(expectedArray.ToArray(), editor.CompletionItemsDisplayedToArray()); }
public void GetAttributeCompletionReturnsAttributesFromDuplicateFooSchema() { string xml = "<duplicate-foo-note xmlns='foo'>\r\n" + " <duplicate-foo-text "; XmlCompletionItemCollection items = schemas.GetAttributeCompletion(xml, null); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("duplicate-foo-text-attribute", XmlCompletionItemType.XmlAttribute)); Assert.AreEqual(expectedItems, items); }
public void GetAttributeCompletionReturnsAttributesFromDuplicateFooSchema() { string xml = "<duplicate-foo-note xmlns='foo'>\r\n" + " <duplicate-foo-text "; XmlCompletionItemCollection items = schemas.GetAttributeCompletion(xml, null); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("duplicate-foo-text-attribute", XmlCompletionItemType.XmlAttribute)); 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); }
public void CanConvertCompletionItemsUsedAsShowCompletionMethodParametersToArray() { XmlCompletionItem item = new XmlCompletionItem("a"); List <XmlCompletionItem> expectedArray = new List <XmlCompletionItem>(); expectedArray.Add(item); XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(item); editor.ShowCompletionWindow(list); Assert.AreEqual(expectedArray.ToArray(), editor.CompletionItemsDisplayedToArray()); }
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 CorrectAttributesReturnedForElementWhenTwoNamespacesInXml() { string xml = "<b:bar-note xmlns='foo' xmlns:b='bar'>\r\n" + " <foo-note>\r\n" + " <b:bar-text/>\r\n" + " <foo-text "; XmlCompletionItemCollection items = schemas.GetAttributeCompletion(xml, null); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("foo-text-attribute", XmlCompletionItemType.XmlAttribute)); 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 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 CollectionOccurrencesFindsOnlyTwoOccurrencesOfDuplicateCompletionItemWithSpecifiedName() { itemCollection.Add(new XmlCompletionItem("text", "desc-not-checked")); Assert.AreEqual(2, itemCollection.GetOccurrences("text")); }
/// <summary> /// Adds an attribute to the completion data collection. /// </summary> /// <remarks> /// Note the special handling of xml:lang attributes. /// </remarks> void AddAttribute(XmlCompletionItemCollection completionItems, XmlSchemaAttribute attribute, XmlNamespaceCollection namespacesInScope) { string name = attribute.Name; if (name == null) { if (attribute.RefName.Namespace == "http://www.w3.org/XML/1998/namespace") { name = String.Concat("xml:", attribute.RefName.Name); } else { string prefix = namespacesInScope.GetPrefix(attribute.RefName.Namespace); if (!String.IsNullOrEmpty(prefix)) { name = String.Concat(prefix, ":", attribute.RefName.Name); } } } if (name != null) { string documentation = GetDocumentation(attribute.Annotation); XmlCompletionItem item = new XmlCompletionItem(name, documentation, XmlCompletionItemType.XmlAttribute); completionItems.Add(item); } }
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 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 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); }
/// <summary> /// Adds an element completion data to the collection if it does not /// already exist. /// </summary> static void AddElement(XmlCompletionItemCollection completionItems, string name, string prefix, string documentation) { if (!completionItems.Contains(name)) { if (prefix.Length > 0) { name = String.Concat(prefix, ":", name); } XmlCompletionItem item = new XmlCompletionItem(name, documentation); completionItems.Add(item); } }
/// <summary> /// Adds an attribute value to the completion data collection. /// </summary> static void AddAttributeValue(XmlCompletionItemCollection completionItems, string valueText, XmlSchemaAnnotation annotation) { string documentation = GetDocumentation(annotation); XmlCompletionItem item = new XmlCompletionItem(valueText, documentation, XmlCompletionItemType.XmlAttributeValue); completionItems.Add(item); }
/// <summary> /// Adds an attribute value to the completion data collection. /// </summary> static void AddAttributeValue(XmlCompletionItemCollection completionItems, string valueText, string description) { XmlCompletionItem item = new XmlCompletionItem(valueText, description, XmlCompletionItemType.XmlAttributeValue); completionItems.Add(item); }
public void CorrectAttributesReturnedForElementWhenTwoNamespacesInXml() { string xml = "<b:bar-note xmlns='foo' xmlns:b='bar'>\r\n" + " <foo-note>\r\n" + " <b:bar-text/>\r\n" + " <foo-text "; XmlCompletionItemCollection items = schemas.GetAttributeCompletion(xml, null); XmlCompletionItemCollection expectedItems = new XmlCompletionItemCollection(); expectedItems.Add(new XmlCompletionItem("foo-text-attribute", XmlCompletionItemType.XmlAttribute)); Assert.AreEqual(expectedItems, items); }
/// <summary> /// Adds elements to the collection if it does not already exist. /// </summary> static void AddElements(XmlCompletionItemCollection lhs, XmlCompletionItemCollection rhs) { foreach (XmlCompletionItem item in rhs) { if (!lhs.Contains(item.Text)) { lhs.Add(item); } } }
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); }
public void TextEditorShowCompletionListReturnsNullWhenConfigured() { XmlCompletionItemCollection list = new XmlCompletionItemCollection(); list.Add(new XmlCompletionItem("a")); editor.ShowCompletionWindowReturnsNull = true; Assert.IsNull(editor.ShowCompletionWindow(list)); }
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); }