public void TestNoLicenseHeaderFile()
        {
            ILicenseHeaderExtension extension   = MockRepository.GenerateStub <ILicenseHeaderExtension> ();
            ProjectItem             projectItem = MockRepository.GenerateMock <ProjectItem>();

            projectItem.Expect(x => x.Name).Return("projectItem.cs");

            ILinkedFileFilter     linkedFileFilter      = MockRepository.GenerateMock <ILinkedFileFilter> ();
            LicenseHeaderReplacer licenseHeaderReplacer = MockRepository.GenerateStrictMock <LicenseHeaderReplacer> (extension);

            linkedFileFilter.Expect(x => x.NoLicenseHeaderFile).Return(new List <ProjectItem> {
                projectItem
            });
            linkedFileFilter.Expect(x => x.ToBeProgressed).Return(new List <ProjectItem> ());
            linkedFileFilter.Expect(x => x.NotInSolution).Return(new List <ProjectItem> ());


            LinkedFileHandler linkedFileHandler = new LinkedFileHandler();

            linkedFileHandler.Handle(licenseHeaderReplacer, linkedFileFilter);

            string expectedMessage = string.Format(Resources.LinkedFileUpdateInformation, "projectItem.cs")
                                     .Replace(@"\n", "\n");

            Assert.AreEqual(expectedMessage, linkedFileHandler.Message);
        }
        /// <summary>
        ///   Applies the license headers on the linked files in the linked file filter.
        /// </summary>
        /// <param name="linkedFileFilter">Specifies the linked file filter that holds the project items.</param>
        /// <returns></returns>
        public async Task HandleAsync(ILinkedFileFilter linkedFileFilter)
        {
            await LicenseHeadersPackage.Instance.JoinableTaskFactory.SwitchToMainThreadAsync();

            foreach (var projectItem in linkedFileFilter.ToBeProgressed)
            {
                var content = projectItem.GetContent(out var wasAlreadyOpen, _licenseHeaderExtension);
                if (content == null)
                {
                    continue;
                }

                var headers = LicenseHeaderFinder.GetHeaderDefinitionForItem(projectItem);
                var result  = await _licenseHeaderExtension.LicenseHeaderReplacer.RemoveOrReplaceHeader(
                    new LicenseHeaderContentInput (content, projectItem.FileNames[1], headers, projectItem.GetAdditionalProperties()));

                await CoreHelpers.HandleResultAsync(result, _licenseHeaderExtension, wasAlreadyOpen, true);
            }

            if (linkedFileFilter.NoLicenseHeaderFile.Any() || linkedFileFilter.NotInSolution.Any())
            {
                var notProgressedItems = linkedFileFilter.NoLicenseHeaderFile.Concat(linkedFileFilter.NotInSolution).ToList();
                var notProgressedNames = notProgressedItems.Select(
                    x =>
                {
                    ThreadHelper.ThrowIfNotOnUIThread();
                    return(x.Name);
                });

                Message += string.Format(Resources.LinkedFileUpdateInformation, string.Join("\n", notProgressedNames)).ReplaceNewLines();
            }
        }
    public void Handle (LicenseHeaderReplacer licenseHeaderReplacer, ILinkedFileFilter linkedFileFilter)
    {
      foreach (ProjectItem projectItem in linkedFileFilter.ToBeProgressed)
      {
        var headers = LicenseHeaderFinder.GetHeaderRecursive (projectItem);
        licenseHeaderReplacer.RemoveOrReplaceHeader (projectItem, headers, true);
      }

      if (linkedFileFilter.NoLicenseHeaderFile.Any () || linkedFileFilter.NotInSolution.Any ())
      {
        List<ProjectItem> notProgressedItems =
          linkedFileFilter.NoLicenseHeaderFile.Concat (linkedFileFilter.NotInSolution).ToList ();

        List<string> notProgressedNames = notProgressedItems.Select(x => x.Name).ToList();

        Message +=
          string.Format (Resources.LinkedFileUpdateInformation, string.Join ("\n", notProgressedNames))
            .Replace (@"\n", "\n");
      }
    }
Ejemplo n.º 4
0
        public void Handle(LicenseHeaderReplacer licenseHeaderReplacer, ILinkedFileFilter linkedFileFilter)
        {
            foreach (ProjectItem projectItem in linkedFileFilter.ToBeProgressed)
            {
                var headers = LicenseHeaderFinder.GetHeaderRecursive(projectItem);
                licenseHeaderReplacer.RemoveOrReplaceHeader(projectItem, headers, true);
            }

            if (linkedFileFilter.NoLicenseHeaderFile.Any() || linkedFileFilter.NotInSolution.Any())
            {
                List <ProjectItem> notProgressedItems =
                    linkedFileFilter.NoLicenseHeaderFile.Concat(linkedFileFilter.NotInSolution).ToList();

                List <string> notProgressedNames = notProgressedItems.Select(x => x.Name).ToList();

                Message +=
                    string.Format(Resources.LinkedFileUpdateInformation, string.Join("\n", notProgressedNames))
                    .Replace(@"\n", "\n");
            }
        }