Example #1
0
        /// <summary>
        /// Invokes replace method on the provided objects
        /// </summary>
        /// <param name="codeFile">Code file to test</param>
        /// <param name="resFile">Resource file to use</param>
        /// <param name="hcs">Hardcoded string to use</param>
        /// <param name="expected">Expected test string</param>
        internal static void TestReplaceMethod(ProjectItem codeFile, string resourceFileName, BaseHardCodedString hcs, string expected, string resourceName)
        {
            string fileName = codeFile.get_FileNames(1);
            bool   readOnly = false;

            try
            {
                readOnly = CommonMethods.ToggleReadOnly(fileName, false);
                ExtractToResourceActionSite refactorSite = new ExtractToResourceActionSite(hcs);
                ResourceFileCollection      resources    = new ResourceFileCollection(codeFile.ContainingProject,
                                                                                      new FilterMethod(refactorSite.ActionObject.IsValidResourceFile));
                ResourceFile resFile = resources[resourceFileName];
                refactorSite.ExtractStringToResource(resFile, resourceName);
                TextDocument doc  = ((EnvDTE.TextDocument)codeFile.Document.Object(null));
                EditPoint    ep   = doc.StartPoint.CreateEditPoint();
                string       line = ep.GetLines(hcs.StartingLine + 1, hcs.StartingLine + 2);
                Assert.AreEqual(expected, line, "New line does not match the expected output");
            }
            finally
            {
                if (readOnly)
                {
                    CommonMethods.ToggleReadOnly(fileName, true);
                }
            }
        }
Example #2
0
        public void GenericCSharpReplaceMethodReadOnlyTest()
        {
            Assert.Throws <FileReadOnlyException>(() =>
            {
                // Get Project object
                Project testProject                 = (Project)(extensibility.Solution.Projects.Item(3));
                ProjectItem codeFile                = testProject.ProjectItems.Item("Program.cs");
                CSharpHardCodedString hcs           = new CSharpHardCodedString(codeFile, 19, 32);
                IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
                ResourceFileCollection resources    = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));

                ResourceFile resFile         = resources["Resource1.resx"];
                string fileName              = codeFile.get_FileNames(1);
                FileAttributes oldAttributes = System.IO.File.GetAttributes(fileName);
                System.IO.File.SetAttributes(fileName, oldAttributes | FileAttributes.ReadOnly);
                try
                {
                    ExtractToResourceActionSite refactorSite = new ExtractToResourceActionSite(hcs);
                    refactorSite.ExtractStringToResource(resFile, "Test");
                }
                finally
                {
                    System.IO.File.SetAttributes(fileName, oldAttributes);
                }
            });
        }
Example #3
0
        public void TestGetResourcesNoFile()
        {
            string                 supportdir = @"C:\SupportFiles\SupportFile";
            ConfigFile             configFile = new ConfigFile();
            ResourceFileCollection resources  = configFile.GetResources(supportdir);

            Assert.AreEqual(0, resources.Count);
        }
 public void FixtureSetup()
 {
     this.extensibility = SharedEnvironment.Instance;
     // Get Project object
     Project testProject = (Project)(extensibility.Solution.Projects.Item(3));
     this.codeFile = testProject.ProjectItems.Item("Program.cs");
     CommonMethods.CloseDocument(codeFile);
     actionObject = new Common.GenericCSharpExtractResourceAction();
     resources = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));
 }
        public void ResourceFileCollectionSimpleProjectTest()
        {
            // Get Project object
            Common.IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
            Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));

            Assert.AreEqual(2, collection.Count, Messages.ResourceFilesCountInvalid);
            Assert.AreEqual(collection[0].DisplayName, "Resource1.resx", Messages.ResourceFileNotFound);
        }
        public void ResourceFileMultipleAddsCaseDifference()
        {
            Project testProject               = (Project)(extensibility.Solution.Projects.Item(1));
            IExtractResourceAction action     = new GenericCSharpExtractResourceAction();
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
            ResourceFile           testFile   = collection[0];

            testFile.AddResource("Test2", "Test3", "Comment Test");
            testFile.AddResource("test2", "TestTest", "Comment");
        }
Example #7
0
        public void FixtureSetup()
        {
            this.extensibility = SharedEnvironment.Instance;
            // Get Project object
            Project testProject           = (Project)(extensibility.Solution.Projects.Item(2));
            IExtractResourceAction action = new GenericVBExtractResourceAction();

            this.codeFile = testProject.ProjectItems.Item("Form1.vb");
            CommonMethods.CloseDocument(codeFile);
            resources = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
        }
        public void ResourceFileInitialReadTest()
        {
            Common.IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
            Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));
            ResourceFile           testFile   = collection[0];

            Assert.AreEqual("ResXFileCodeGenerator", testFile.CustomToolName, "Custom tool name is invalid");
            Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
            Assert.AreEqual("Test", testFile.GetValue("TestResource"), Messages.ResourceValueInvalid);
        }
 public void ResourceFileMultipleAddsSameName()
 {
     Assert.Throws <ArgumentException>(() =>
     {
         Project testProject               = (Project)(extensibility.Solution.Projects.Item(1));
         IExtractResourceAction action     = new GenericCSharpExtractResourceAction();
         ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
         ResourceFile testFile             = collection[0];
         testFile.AddResource("Test2", "Test3", "Comment Test");
         testFile.AddResource("Test2", "TestTest", "Comment");
     });
 }
Example #10
0
        public void TestGetFilesSourceAppPath()
        {
            ControlLicense license = new ControlLicense();

            license.LicenseFile = @"#APPPATH\license.txt";
            string supportdir = Environment.CurrentDirectory;
            ResourceFileCollection resources = license.GetResources(supportdir);

            Assert.AreEqual(1, resources.Count);
            Assert.AreEqual(Path.Combine(Environment.CurrentDirectory, "license.txt"), resources[0].path);
            Assert.AreEqual("RES_LICENSE", resources[0].id);
        }
        public void ResourceFileCollectionWebProject()
        {
            Common.IExtractResourceAction actionObject = new Common.WebsiteCSharpExtractResourceAction();
            Project testProject = (Project)(extensibility.Solution.Projects.Item(4));
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));

            String[] names = new string[] { "Resource.resx" };
            Assert.AreEqual(names.Length, collection.Count, Messages.ResourceFilesCountInvalid);
            foreach (string name in names)
            {
                Assert.IsNotNull(collection.GetResourceFile(name), Messages.ResourceFileNotFound);
            }
        }
 public void ResourceFileCollectionCSharpProject()
 {
     // Get Project object
     Project testProject = (Project)(extensibility.Solution.Projects.Item(3));
     IExtractResourceAction action = new GenericCSharpExtractResourceAction();
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
     String[] names = new string[] { "Resource1.resx", "Test1.resx", "Resources.resx" };
     Assert.AreEqual(names.Length, collection.Count, Messages.ResourceFilesCountInvalid);
     foreach (string name in names)
     {
         Assert.IsNotNull(collection.GetResourceFile(name), Messages.ResourceFileNotFound);
     }
 }
        public void ResourceFileReadAfterRefreshWithoutSave()
        {
            Project testProject               = (Project)(extensibility.Solution.Projects.Item(1));
            IExtractResourceAction action     = new GenericCSharpExtractResourceAction();
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
            ResourceFile           testFile   = collection[0];

            Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
            Assert.AreEqual("Test", testFile.GetValue("TestResource"), Messages.ResourceValueInvalid);
            testFile.AddResource("Test2", "Test3", "Comment Test");
            testFile.Refresh();
            Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
            Assert.AreEqual("Test", testFile.GetValue("TestResource"), Messages.ResourceValueInvalid);
        }
        public void ResourceFileCollectionCSharpProject()
        {
            // Get Project object
            Project testProject               = (Project)(extensibility.Solution.Projects.Item(3));
            IExtractResourceAction action     = new GenericCSharpExtractResourceAction();
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));

            String[] names = new string[] { "Resource1.resx", "Test1.resx", "Resources.resx" };
            Assert.AreEqual(names.Length, collection.Count, Messages.ResourceFilesCountInvalid);
            foreach (string name in names)
            {
                Assert.IsNotNull(collection.GetResourceFile(name), Messages.ResourceFileNotFound);
            }
        }
 public void GetAllMatchesTest()
 {
     Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
     Common.IExtractResourceAction action = new GenericCSharpExtractResourceAction();
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
     ResourceFile testFile = collection["Resource1.resx"];
     Collection<ResourceMatch> matches = testFile.GetAllMatches("Test");
     foreach (ResourceMatch m in matches)
     {
         if (m.Percentage == StringMatch.ExactMatch)
         {
             Assert.AreEqual("TestResource", m.ResourceName, "Did not match to expected resource entry");
             Assert.AreEqual("Test", m.Value, "Value does not match the string searched");
         }
     }
 }
        public void ResourceFileCollectionMissingFile()
        {
            Common.IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
            Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
            string  filePath    = Path.Combine(Paths.Default.ProjectFiles, @"TestProject1\TestProject1\Resource1.resx");
            bool    readOnly    = CommonMethods.ToggleReadOnly(filePath, true);

            File.Move(filePath, filePath + ".bak");
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));

            Assert.AreEqual(1, collection.Count, Messages.ResourceFilesCountInvalid);
            File.Move(filePath + ".bak", filePath);
            if (readOnly)
            {
                CommonMethods.ToggleReadOnly(filePath, false);
            }
        }
        public void GetAllMatchesTest()
        {
            Project testProject = (Project)(extensibility.Solution.Projects.Item(1));

            Common.IExtractResourceAction action     = new GenericCSharpExtractResourceAction();
            ResourceFileCollection        collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
            ResourceFile testFile = collection["Resource1.resx"];
            Collection <ResourceMatch> matches = testFile.GetAllMatches("Test");

            foreach (ResourceMatch m in matches)
            {
                if (m.Percentage == StringMatch.ExactMatch)
                {
                    Assert.AreEqual("TestResource", m.ResourceName, "Did not match to expected resource entry");
                    Assert.AreEqual("Test", m.Value, "Value does not match the string searched");
                }
            }
        }
        public void GenericCSharpReplaceMethodReadOnlyTest()
        {
            // Get Project object
            Project testProject = (Project)(extensibility.Solution.Projects.Item(3));
            ProjectItem codeFile = testProject.ProjectItems.Item("Program.cs");
            CSharpHardCodedString hcs = new CSharpHardCodedString(codeFile, 19, 32);
            IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
            ResourceFileCollection resources = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));

            ResourceFile resFile = resources["Resource1.resx"];
            string fileName = codeFile.get_FileNames(1);
            FileAttributes oldAttributes = System.IO.File.GetAttributes(fileName);
            System.IO.File.SetAttributes(fileName, oldAttributes | FileAttributes.ReadOnly);
            try
            {
                ExtractToResourceActionSite refactorSite = new ExtractToResourceActionSite(hcs);
                refactorSite.ExtractStringToResource(resFile, "Test");
            }
            finally
            {
                System.IO.File.SetAttributes(fileName, oldAttributes);
            }
        }
        public void ResourceFileReadAfterSave()
        {
            Project testProject               = (Project)(extensibility.Solution.Projects.Item(1));
            IExtractResourceAction action     = new GenericCSharpExtractResourceAction();
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
            ResourceFile           testFile   = collection[1];
            FileAttributes         attributes = File.GetAttributes(testFile.FileName);

            if (File.Exists(testFile.FileName + ".bak"))
            {
                File.SetAttributes(testFile.FileName + ".bak", attributes & ~FileAttributes.ReadOnly);
                File.Delete(testFile.FileName + ".bak");
            }
            File.Copy(testFile.FileName, testFile.FileName + ".bak");
            File.SetAttributes(testFile.FileName, attributes & ~FileAttributes.ReadOnly);
            File.SetAttributes(testFile.FileName + ".bak", attributes & ~FileAttributes.ReadOnly);
            try
            {
                Assert.AreEqual(1, testFile.Resources.Count, Messages.ResourceCountInvalid);
                Assert.AreEqual("Test", testFile.GetValue("TestString"), Messages.ResourceValueInvalid);
                testFile.AddResource("Test2", "Test3", "Comment Test");
                testFile.SaveFile();
                testFile.Refresh();
                Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
                Assert.AreEqual("Test", testFile.GetValue("TestString"), Messages.ResourceValueInvalid);
                Assert.AreEqual("Comment Test", testFile.Resources["TestString"].Comment, Messages.ResourceCommentInvalid);
                Assert.AreEqual("Test3", testFile.GetValue("Test2"), Messages.ResourceValueInvalid);
                Assert.AreEqual("Comment Test", testFile.Resources["Test2"].Comment, Messages.ResourceCommentInvalid);
            }
            finally
            {
                File.Delete(testFile.FileName);
                File.Move(testFile.FileName + ".bak", testFile.FileName);
                File.SetAttributes(testFile.FileName, attributes);
            }
        }
 public void ResourceFileCollectionSimpleProjectTest()
 {
     // Get Project object
     Common.IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
     Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));
     Assert.AreEqual(2, collection.Count, Messages.ResourceFilesCountInvalid);
     Assert.AreEqual(collection[0].DisplayName, "Resource1.resx", Messages.ResourceFileNotFound);
 }
 /// <summary>
 /// Invokes replace method on the provided objects
 /// </summary>
 /// <param name="codeFile">Code file to test</param>
 /// <param name="resFile">Resource file to use</param>
 /// <param name="hcs">Hardcoded string to use</param>
 /// <param name="expected">Expected test string</param>
 internal static void TestReplaceMethod(ProjectItem codeFile, string resourceFileName, BaseHardCodedString hcs, string expected, string resourceName)
 {
     string fileName = codeFile.get_FileNames(1);
     bool readOnly = false;
     try
     {
         readOnly = CommonMethods.ToggleReadOnly(fileName, false);
         ExtractToResourceActionSite refactorSite = new ExtractToResourceActionSite(hcs);
         ResourceFileCollection resources = new ResourceFileCollection(codeFile.ContainingProject,
             new FilterMethod(refactorSite.ActionObject.IsValidResourceFile));
         ResourceFile resFile = resources[resourceFileName];
         refactorSite.ExtractStringToResource(resFile, resourceName);
         TextDocument doc = ((EnvDTE.TextDocument)codeFile.Document.Object(null));
         EditPoint ep = doc.StartPoint.CreateEditPoint();
         string line = ep.GetLines(hcs.StartingLine + 1, hcs.StartingLine + 2);
         Assert.AreEqual(expected, line, "New line does not match the expected output");
     }
     finally
     {
         if (readOnly) CommonMethods.ToggleReadOnly(fileName, true);
     }
 }
 public void ResourceFileInitialReadTest()
 {
     Common.IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
     Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));
     ResourceFile testFile = collection[0];
     Assert.AreEqual("ResXFileCodeGenerator", testFile.CustomToolName, "Custom tool name is invalid");
     Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
     Assert.AreEqual("Test", testFile.GetValue("TestResource"), Messages.ResourceValueInvalid);
 }
 public void ResourceFileMultipleAddsSameName()
 {
     Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
     IExtractResourceAction action = new GenericCSharpExtractResourceAction();
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
     ResourceFile testFile = collection[0];
     testFile.AddResource("Test2", "Test3", "Comment Test");
     testFile.AddResource("Test2", "TestTest", "Comment");
 }
 public void ResourceFileReadAfterRefreshWithoutSave()
 {
     Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
     IExtractResourceAction action = new GenericCSharpExtractResourceAction();
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
     ResourceFile testFile = collection[0];
     Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
     Assert.AreEqual("Test", testFile.GetValue("TestResource"), Messages.ResourceValueInvalid);
     testFile.AddResource("Test2", "Test3", "Comment Test");
     testFile.Refresh();
     Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
     Assert.AreEqual("Test", testFile.GetValue("TestResource"), Messages.ResourceValueInvalid);
 }
        public void ResourceFileReadAfterSave()
        {
            Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
            IExtractResourceAction action = new GenericCSharpExtractResourceAction();
            ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(action.IsValidResourceFile));
            ResourceFile testFile = collection[1];
            FileAttributes attributes = File.GetAttributes(testFile.FileName);
            if (File.Exists(testFile.FileName + ".bak"))
            {
                File.SetAttributes(testFile.FileName + ".bak", attributes & ~FileAttributes.ReadOnly);
                File.Delete(testFile.FileName + ".bak");
            }
            File.Copy(testFile.FileName, testFile.FileName + ".bak");
            File.SetAttributes(testFile.FileName, attributes & ~FileAttributes.ReadOnly);
            File.SetAttributes(testFile.FileName + ".bak", attributes & ~FileAttributes.ReadOnly);
            try
            {
                Assert.AreEqual(1, testFile.Resources.Count, Messages.ResourceCountInvalid);
                Assert.AreEqual("Test", testFile.GetValue("TestString"), Messages.ResourceValueInvalid);
                testFile.AddResource("Test2", "Test3", "Comment Test");
                testFile.SaveFile();
                testFile.Refresh();
                Assert.AreEqual(2, testFile.Resources.Count, Messages.ResourceCountInvalid);
                Assert.AreEqual("Test", testFile.GetValue("TestString"), Messages.ResourceValueInvalid);
                Assert.AreEqual("Comment Test", testFile.Resources["TestString"].Comment, Messages.ResourceCommentInvalid);
                Assert.AreEqual("Test3", testFile.GetValue("Test2"), Messages.ResourceValueInvalid);
                Assert.AreEqual("Comment Test", testFile.Resources["Test2"].Comment, Messages.ResourceCommentInvalid);
            }
            finally
            {
                File.Delete(testFile.FileName);
                File.Move(testFile.FileName + ".bak", testFile.FileName);
                File.SetAttributes(testFile.FileName, attributes);

            }
        }
 public void ResourceFileCollectionMissingFile()
 {
     Common.IExtractResourceAction actionObject = new Common.GenericCSharpExtractResourceAction();
     Project testProject = (Project)(extensibility.Solution.Projects.Item(1));
     string filePath = Path.Combine(Paths.Default.ProjectFiles, @"TestProject1\TestProject1\Resource1.resx");
     bool readOnly = CommonMethods.ToggleReadOnly(filePath, true);
     File.Move(filePath, filePath + ".bak");
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));
     Assert.AreEqual(1, collection.Count, Messages.ResourceFilesCountInvalid);
     File.Move(filePath + ".bak", filePath);
     if (readOnly)
     {
         CommonMethods.ToggleReadOnly(filePath, false);
     }
 }
 public void ResourceFileCollectionWebProject()
 {
     Common.IExtractResourceAction actionObject = new Common.WebsiteCSharpExtractResourceAction();
     Project testProject = (Project)(extensibility.Solution.Projects.Item(4));
     ResourceFileCollection collection = new ResourceFileCollection(testProject, new FilterMethod(actionObject.IsValidResourceFile));
     String[] names = new string[] { "Resource.resx" };
     Assert.AreEqual(names.Length, collection.Count, Messages.ResourceFilesCountInvalid);
     foreach (string name in names)
     {
         Assert.IsNotNull(collection.GetResourceFile(name), Messages.ResourceFileNotFound);
     }
 }