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"); } }
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"); } }