private static void DeserializeAttributesType(TextBuffer buffer, ref TextIter insertAt, XmlTextReader xmlReader, string tagSuffix) { string tagName = String.Empty; string tagPrefix = xmlReader.Name + ":"; DocumentTagTable tagTable = (DocumentTagTable)buffer.TagTable; while (xmlReader.MoveToNextAttribute()) { tagName = tagPrefix + xmlReader.Name + tagSuffix; TextTag tag = tagTable.Lookup(tagName); if (tag == null) { tag = tagTable.CreateDynamicTag(tagName); } buffer.InsertWithTags(ref insertAt, xmlReader.Value, tag); #if DEBUG Console.WriteLine("Attribute: {0} End: {1}", tagName, insertAt.Offset); #endif } DocumentUtils.AddNewLine(buffer, ref insertAt, tagSuffix); }
public void AddNewLineInt() { int initialOffset, endOffset, nextOffset; DocumentEditor editor = new DocumentEditor(); TextBuffer buffer = editor.Buffer; initialOffset = 0; nextOffset = DocumentUtils.AddNewLine(buffer, initialOffset, "#0"); endOffset = nextOffset - 1; TextTag expectedTag = buffer.TagTable.Lookup("newline#0"); bool beginsNewLine = buffer.GetIterAtOffset(initialOffset).BeginsTag(expectedTag); bool endsNewLine = DocumentUtils.TagEndsHere(expectedTag, buffer.GetIterAtOffset(endOffset), buffer.GetIterAtOffset(nextOffset)); Assert.IsTrue(beginsNewLine, "ANLI01"); Assert.IsTrue(endsNewLine, "ANLI02"); }