// // // // // $Revision$ // using System; using System.Collections.Generic; using ICSharpCode.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Project; using ICSharpCode.XmlEditor; using NUnit.Framework; using XmlEditor.Tests.Utils; namespace XmlEditor.Tests.Folding { [TestFixture] public class SingleRootElementFoldTestFixture { XmlFoldParser parser; ICompilationUnit unit; DefaultXmlFileExtensions extensions; DefaultProjectContent projectContent; [SetUp] public void Init() { string xml = "\r\n" + ""; projectContent = new DefaultProjectContent(); MockTextBuffer textBuffer = new MockTextBuffer(xml); extensions = new DefaultXmlFileExtensions(null); extensions.Add(".wxs"); XmlEditorOptions options = new XmlEditorOptions(new Properties()); parser = new XmlFoldParser(extensions, options); unit = parser.Parse(projectContent, @"d:\projects\a.xml", textBuffer); } [Test] public void XmlFoldParserCanParseProjectReturnsTrue() { IProject project = null; Assert.IsTrue(parser.CanParse(project)); } [Test] public void XmlFoldParserLexerTagsHasNoItems() { Assert.AreEqual(0, parser.LexerTags.Length); } [Test] public void XmlFoldParserCanParseReturnsTrueIfFileExtensionInDefaultXmlFileExtensions() { Assert.IsTrue(parser.CanParse("TEST.WXS")); } [Test] public void XmlFoldParserCanParseReturnsFalseForUnknownFileExtension() { Assert.IsFalse(parser.CanParse("test.unknown")); } [Test] public void CompilationUnitUsesProjectContentPassedToParseMethod() { Assert.AreSame(projectContent, unit.ProjectContent); } [Test] public void CompilationUnitFileNameIsFileNamePassedToParseMethod() { Assert.AreEqual(@"d:\projects\a.xml", unit.FileName); } [Test] public void FoldingRegionsHasOneFold() { Assert.AreEqual(1, unit.FoldingRegions.Count); } [Test] public void FoldNameIsElementNameSurroundedByAngledBrackets() { Assert.AreEqual("", unit.FoldingRegions[0].Name); } [Test] public void FoldRegionContainsRootElement() { int beginLine = 1; int beginColumn = 1; int endLine = 2; int endColumn = 8; DomRegion expectedRegion = new DomRegion(beginLine, beginColumn, endLine, endColumn); Assert.AreEqual(expectedRegion, unit.FoldingRegions[0].Region); } } }