public void AddItemWithEmptyNameThrows()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string itemName = ".cs";
     string fullItemName = new FileInfo(itemName).FullName;
     projectNode.AddItem(itemName);
 }
Example #2
0
        /// <summary>
        /// Adds the project reference.
        /// </summary>
        /// <param name="projectId">The project id.</param>
        public void AddProjectReference(Guid projectId)
        {
            if (ProjectGuid == projectId)
            {
                return;
            }

            ProjectNode referencedProject = new ProjectNode(Solution, projectId);

            if (VSProject != null)
            {
                if (VSProject.Object is VSLangProj.VSProject)
                {
                    VSLangProj.References references =
                        ((VSLangProj.VSProject)VSProject.Object).References;

                    if (references != null && referencedProject.ExtObject is EnvDTE.Project)
                    {
                        references.AddProject(referencedProject.ExtObject as EnvDTE.Project);
                    }
                }
                else if (VSProject.Object is VsWebSite.VSWebSite)
                {
                    VsWebSite.AssemblyReferences references =
                        ((VsWebSite.VSWebSite)VSProject.Object).References;

                    if (references != null && referencedProject.ExtObject is EnvDTE.Project)
                    {
                        try
                        {
                            references.AddFromProject(referencedProject.ExtObject as EnvDTE.Project);
                        }
                        catch (COMException)
                        {
                            //Web projects throws exceptions if the reference already exists
                        }
                    }
                }
            }
        }
        public void ShouldAddProjectReferencestoVSProject()
        {
            MockVSHierarchy refProjHier = new MockVSHierarchy("refedproj.proj");
            root.AddProject(refProjHier);
            Project projToRef = refProjHier.ExtObject as Project;
            Assert.IsNotNull(projToRef);

            ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
            projectNode.AddProjectReference(refProjHier.GUID);

            Project projectFromMock = ((VSLangProj.VSProject)((MockEnvDTEProject)project.ExtObject).Object).References.Item(0).SourceProject;

            Assert.AreSame(projToRef, projectFromMock);
        }
 public void AddItemWithNullNameThrows()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     projectNode.AddItem(null);
 }
 public void AddItemWithInvalidNameThrows()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string itemName = "Invalid<Name>";
     projectNode.AddItem(itemName);
 }
 public void TestGetMSBuildItem()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string itemName = "item1.cs";
     Assert.IsNotNull(projectNode.AddItem(itemName));
     Assert.IsNotNull(projectNode.GetBuildItem(itemName));
     string itemName2 = ".\\item2.cs";
     Assert.IsNotNull(projectNode.AddItem(itemName2));
     Assert.IsNotNull(projectNode.GetBuildItem(itemName2));
     string itemName3 = ".\\FolderForItem3\\item3.cs";
     Assert.IsNotNull(projectNode.AddItem(itemName3));
     Assert.IsNotNull(projectNode.GetBuildItem(itemName3));
     string itemName4 = "FolderForItem4\\item4.cs";
     Assert.IsNotNull(projectNode.AddItem(itemName4));
     Assert.IsNotNull(projectNode.GetBuildItem(itemName4));
 }
 public void TestOpenItem()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string itemName = "item1.cs";
     HierarchyNode item = projectNode.AddItem(itemName);
     IVsWindowFrame wnd = projectNode.OpenItem(item);
     Assert.IsNotNull(wnd);
 }
 public void TestCreateOrFindFolder()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     Assert.AreSame(projectNode, projectNode.FindOrCreateFolder("."));
     Assert.AreSame(projectNode, projectNode.FindSubfolder("."));
     Assert.AreSame(projectNode, projectNode.FindSubfolder(".\\."));
     Assert.AreSame(projectNode, projectNode.FindSubfolder(".\\.\\"));
     Assert.AreSame(projectNode, projectNode.FindSubfolder("\\"));
     Assert.AreSame(projectNode, projectNode.FindSubfolder("\\."));
     Assert.AreSame(projectNode, projectNode.FindSubfolder("\\.\\"));
     Assert.AreSame(projectNode, projectNode.FindSubfolder("\\.\\."));
 }
 public void TestFindSubFolder()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string parentFolder = "Folder" + Guid.NewGuid().ToString();
     string subFolderName = "subFolder1";
     Assert.IsNotNull(projectNode.FindSubfolder("\\" + parentFolder + "\\" + subFolderName + "\\" + subFolderName + "\\"));
     HierarchyNode parentFolderNode = projectNode.FindByName(parentFolder);
     Assert.IsNotNull(parentFolderNode);
     HierarchyNode subFolder1Node = parentFolderNode.FindByName(subFolderName);
     Assert.IsNotNull(subFolder1Node);
     HierarchyNode subFolder2Node = subFolder1Node.FindByName(subFolderName);
     Assert.IsNotNull(subFolder2Node);
 }
 public void TestAddItem()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string itemName = "item1.cs";
     projectNode.AddItem(itemName);
     string fullItemName = new FileInfo(itemName).FullName;
     Assert.IsTrue(project.Children.Contains(fullItemName));
 }
 public void TestCanAddItem()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     string itemName = "item1.cs";
     Assert.IsTrue(ProjectNode.CanAddItem(itemName));
     string invalidItemName = "<item1>.cs";
     Assert.IsFalse(ProjectNode.CanAddItem(invalidItemName));
 }
 public void TestAcceptsProjectReferenceToItSelf()
 {
     ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
     int before = project.Children.Count;
     projectNode.AddProjectReference(project.GUID);
     Assert.AreEqual<int>(before,project.Children.Count);
 }
        public void ShouldReturnCodeModelForWebProject()
        {
            ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
            CreateWebsiteProject();

            string language = projectNode.Language;
            Assert.AreEqual<string>(CodeModelLanguageConstants.vsCMLanguageCSharp, language);
        }
        public void ShouldAddReferenceToWebSiteProject()
        {
            string assemblyPath = @"c:\blah\some.dll";

            ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
            CreateWebsiteProject();

            projectNode.AddAssemblyReference(assemblyPath);

            string pathFromMock = ((VsWebSite.VSWebSite)((MockEnvDTEProject)project.ExtObject).Object).References.Item(0).FullPath;

            Assert.AreEqual<string>(assemblyPath, pathFromMock);
        }
        public void ShouldAddReferencesToVSProject()
        {
            string assemblyPath = @"c:\blah\some.dll";

            ProjectNode projectNode = new ProjectNode(vsSolution, project.GUID);
            projectNode.AddAssemblyReference(assemblyPath);

            string pathFromMock = ((VSLangProj.VSProject)((MockEnvDTEProject)project.ExtObject).Object).References.Item(0).Path;

            Assert.AreEqual<string>(assemblyPath, pathFromMock);
        }
 public void RemoveItem()
 {
     MockVSHierarchy hierarchy = new MockVSHierarchy();
     MockVsSolution solution = new MockVsSolution(hierarchy);
     MockVSHierarchy project = new MockVSHierarchy("Project1.project");
     hierarchy.AddProject(project);
     ProjectNode projectNode = new ProjectNode(solution, project.GUID);
     string itemName = "item1";
     HierarchyNode node = projectNode.AddItem(itemName);
     Assert.IsNotNull(projectNode.FindByName(itemName));
     node.Remove();
     Assert.IsNull(projectNode.FindByName(itemName));
 }