public void ItemTests()
        {

            var sourceFile = new SourceFile(Services.FileSystem, "test.txt", "test.txt");

            var doc = Services.CompositionService.Resolve<XmlTextSnapshot>().With(SnapshotParseContext.Empty, sourceFile, "<Item><Field Name=\"Text\" Value=\"123\" /></Item>", string.Empty, string.Empty);
            Assert.AreEqual("Item", doc.Root.Key);

            var field = doc.Root.ChildNodes.First();
            
            var attributeNameTextNode = new AttributeNameTextNode(field.GetAttribute("Name"));
            Assert.AreEqual(0, attributeNameTextNode.Attributes.Count());
            Assert.AreEqual(0, attributeNameTextNode.ChildNodes.Count());
            Assert.AreEqual("Name", attributeNameTextNode.Key);
            Assert.AreEqual(1, attributeNameTextNode.TextSpan.LineNumber);
            Assert.AreEqual(field.Snapshot, attributeNameTextNode.Snapshot);
            Assert.AreEqual(14, attributeNameTextNode.TextSpan.LinePosition);

            Assert.AreEqual(null, attributeNameTextNode.GetAttribute("None"));
            Assert.AreEqual(string.Empty, attributeNameTextNode.GetAttributeValue("None"));
            Assert.AreEqual(null, attributeNameTextNode.GetInnerTextNode());

            var mutableTextNode = (IMutableTextNode)attributeNameTextNode;

            mutableTextNode.SetKey("NewName");            
            Assert.AreEqual("NewName", attributeNameTextNode.Key);
            Assert.AreEqual("NewName", attributeNameTextNode.Value);

            mutableTextNode.SetValue("NewNameValue");
            Assert.AreEqual("NewNameValue", attributeNameTextNode.Key);
            Assert.AreEqual("NewNameValue", attributeNameTextNode.Value);
        }
Exemplo n.º 2
0
        public void ConstructorTest()
        {
            Start(GoodWebsite);
            Project = Services.ProjectService.LoadProjectFromConfiguration();

            var projectFileName = "~/content/Home/XmlItem.item.xml";
            var fileName = Path.Combine(ProjectDirectory, "content\\Home\\XmlItem.item.xml");
            var sourceFile = new SourceFile(Services.FileSystem, fileName, projectFileName);

            Assert.AreEqual(fileName, sourceFile.AbsoluteFileName);
            Assert.AreNotEqual(DateTime.MinValue, sourceFile.LastWriteTimeUtc);
            Assert.AreEqual("~/content/Home/XmlItem.item.xml", sourceFile.ProjectFileName);
        }
        public void FileNameTests()
        {
            var sourceFile = new SourceFile(Services.FileSystem, "test.txt", "test.txt");

            var snapshot = Services.CompositionService.Resolve<XmlTextSnapshot>().With(SnapshotParseContext.Empty, sourceFile, "<Item><Field Name=\"Text\" Value=\"123\" /></Item>", string.Empty, string.Empty);
            Assert.AreEqual("Item", snapshot.Root.Key);

            var field = snapshot.Root.ChildNodes.First();

            var fileNameTextNode = new FileNameTextNode("test", snapshot);
            Assert.AreEqual(0, fileNameTextNode.Attributes.Count());
            Assert.AreEqual(0, fileNameTextNode.ChildNodes.Count());
            Assert.AreEqual("test", fileNameTextNode.Key);
            Assert.AreEqual(0, fileNameTextNode.TextSpan.LineNumber);
            Assert.AreEqual(0, fileNameTextNode.TextSpan.LinePosition);
            Assert.AreEqual(field.Snapshot, fileNameTextNode.Snapshot);

            Assert.AreEqual(null, fileNameTextNode.GetAttribute("None"));
            Assert.AreEqual(string.Empty, fileNameTextNode.GetAttributeValue("None"));
            Assert.AreEqual(null, fileNameTextNode.GetInnerTextNode());
        }