public void Should_Return_Stylesheet_Resource_Name(CodeAnalysisReport report, string expectedResult) { // When var result = report.GetStyleSheetResourceName(); // Then result.ShouldBe(expectedResult); }
/// <summary> /// Creates a report from a MsBuild logfile. /// </summary> /// <param name="fileSystem">Cake file system instance.</param> /// <param name="logFile">Path of the MsBuild logfile.</param> /// <param name="report">Type of report which should be created.</param> /// <param name="outputFile">Path of the generated report file.</param> public static void CreateCodeAnalysisReport( IFileSystem fileSystem, FilePath logFile, CodeAnalysisReport report, FilePath outputFile) { fileSystem.NotNull(nameof(fileSystem)); logFile.NotNull(nameof(logFile)); report.NotUndefined(nameof(report)); outputFile.NotNull(nameof(outputFile)); var xmlFile = fileSystem.GetFile(logFile); var resultFile = fileSystem.GetFile(outputFile); using (Stream xmlStream = xmlFile.OpenRead(), resultStream = resultFile.OpenWrite()) { var xmlReaderSettings = new XmlReaderSettings() { DtdProcessing = DtdProcessing.Prohibit }; var xslReader = XmlReader.Create( new StringReader(EmbeddedResourceHelper.GetReportStyleSheet(report.GetStyleSheetResourceName())), xmlReaderSettings); var xmlReader = XmlReader.Create( xmlStream, xmlReaderSettings); var resultWriter = XmlWriter.Create( resultStream, GetSettings()); Transform(xslReader, xmlReader, resultWriter); } }