private static void HandleEditorConfigFiles(
        ILogger logger,
        DirectoryInfo projectPath,
        OptionsFile options)
    {
        logger.LogInformation($"{AppEmojisConstants.AreaEditorConfig} Working on EditorConfig files");

        var rawCodingRulesDistributionProjectTargetBaseUrl = $"{RawCodingRulesDistributionBaseUrl}/{options.ProjectTarget.ToStringLowerCase()}";

        EditorConfigHelper.HandleFile(logger, "root", rawCodingRulesDistributionProjectTargetBaseUrl, projectPath, string.Empty);

        foreach (var item in options.Mappings.Sample.Paths)
        {
            var path = new DirectoryInfo(item);
            EditorConfigHelper.HandleFile(logger, "sample", rawCodingRulesDistributionProjectTargetBaseUrl, path, "sample");
        }

        foreach (var item in options.Mappings.Src.Paths)
        {
            var path = new DirectoryInfo(item);
            EditorConfigHelper.HandleFile(logger, "src", rawCodingRulesDistributionProjectTargetBaseUrl, path, "src");
        }

        foreach (var item in options.Mappings.Test.Paths)
        {
            var path = new DirectoryInfo(item);
            EditorConfigHelper.HandleFile(logger, "test", rawCodingRulesDistributionProjectTargetBaseUrl, path, "test");
        }
    }
Ejemplo n.º 2
0
    public void DotNet6_Root_Update1()
    {
        // Arrange
        using var logger = testOutput.BuildLogger();
        var outputFile      = PrepareOutputFile("test1.txt");
        var expectedContent = GetContentFromTestFile("Result_DotNet6_Root_1a.txt");

        var contentGit  = GetContentFromTestFile("Git_DotNet6_Root_1c.txt");
        var contentFile = GetContentFromTestFile("Git_DotNet6_Root_1a.txt");

        // Act
        EditorConfigHelper.HandleFile(
            logger,
            "log-area",
            contentGit,
            contentFile,
            "log-description-part",
            outputFile);

        var actual = FileHelper.ReadAllText(outputFile);

        // Assert
        Assert.Equal(expectedContent, actual);

        logger.Entries
        .Should().HaveCount(1)
        .And.Subject.Should().Contain(x => x.Message.Contains("log-description-part files merged"));
    }
Ejemplo n.º 3
0
    public void DotNet6_Root_NothingToUpdate2()
    {
        // Arrange
        using var logger = testOutput.BuildLogger();
        var outputFile = PrepareOutputFile("test1.txt");

        var contentGit  = GetContentFromTestFile("Git_DotNet6_Root_1c.txt");
        var contentFile = GetContentFromTestFile("Git_DotNet6_Root_1c.txt");

        // Act
        EditorConfigHelper.HandleFile(
            logger,
            "log-area",
            contentGit,
            contentFile,
            "log-description-part",
            outputFile);

        // Assert
        Assert.False(outputFile.Exists);

        logger.Entries
        .Should().HaveCount(1)
        .And.Subject.Should().Contain(x => x.Message.Contains("log-description-part nothing to update"));
    }
Ejemplo n.º 4
0
    public void DotNet6_Root_Update3_NewKey()
    {
        // Arrange
        using var logger = testOutput.BuildLogger();
        var outputFile      = PrepareOutputFile("test1.txt");
        var expectedContent = GetContentFromTestFile("Result_DotNet6_Root_1b.txt");

        var contentGit  = GetContentFromTestFile("Git_DotNet6_Root_1d.txt");
        var contentFile = GetContentFromTestFile("File_DotNet6_Root_1a.txt");

        // Act
        EditorConfigHelper.HandleFile(
            logger,
            "log-area",
            contentGit,
            contentFile,
            "log-description-part",
            outputFile);

        var actual = FileHelper.ReadAllText(outputFile);

        // Assert
        Assert.Equal(expectedContent, actual);

        logger.Entries
        .Should().HaveCount(5)
        .And.Subject.Should().Contain(x => x.Message.Contains("Duplicate key: dotnet_diagnostic.SA1200.severity"))
        .And.Subject.Should().Contain(x => x.Message.Contains("GitHub section (line 0478)"))
        .And.Subject.Should().Contain(x => x.Message.Contains("Custom section (line 0506)"))
        .And.Subject.Should().Contain(x => x.Message.Contains("New key/value - dotnet_diagnostic.SA1201.severity = none            # https://github.com/atc-net/atc-coding-rules/blob/main/documentation/CodeAnalyzersRules/StyleCop/SA1201.md"));
    }