/// <inheritdoc />
        public override IEnumerable <IIssue> ReadIssues(
            EsLintIssuesProvider issueProvider,
            IRepositorySettings repositorySettings,
            EsLintIssuesSettings esLintsettings)
        {
            issueProvider.NotNull(nameof(issueProvider));
            repositorySettings.NotNull(nameof(repositorySettings));
            esLintsettings.NotNull(nameof(esLintsettings));

            IEnumerable <LogFile> logFileEntries = null;

            using (var ms = new MemoryStream(esLintsettings.LogFileContent.ToStringUsingEncoding(true).ToByteArray()))
            {
                var jsonSerializer = new DataContractJsonSerializer(typeof(LogFile[]));
                logFileEntries = jsonSerializer.ReadObject(ms) as LogFile[];
            }

            if (logFileEntries != null)
            {
                return
                    (from file in logFileEntries
                     from message in file.messages
                     select
                     GetIssue(file, message, issueProvider, repositorySettings));
            }

            return(new List <IIssue>());
        }
        /// <inheritdoc />
        public override IEnumerable <IIssue> ReadIssues(
            EsLintIssuesProvider issueProvider,
            IRepositorySettings repositorySettings,
            EsLintIssuesSettings esLintsettings)
        {
            issueProvider.NotNull(nameof(issueProvider));
            repositorySettings.NotNull(nameof(repositorySettings));
            esLintsettings.NotNull(nameof(esLintsettings));

            IEnumerable <LogFile> logFileEntries = null;

            using (var ms = new MemoryStream(esLintsettings.LogFileContent.ToStringUsingEncoding(true).ToByteArray()))
            {
                var jsonSerializer = new DataContractJsonSerializer(typeof(LogFile[]));
                logFileEntries = jsonSerializer.ReadObject(ms) as LogFile[];
            }

            if (logFileEntries != null)
            {
                return
                    (from file in logFileEntries
                     from message in file.messages
                     let
                     rule = message.ruleId
                            select
                            IssueBuilder
                            .NewIssue(message.message, issueProvider)
                            .InFile(GetRelativeFilePath(file.filePath, repositorySettings), message.line, message.column)
                            .OfRule(rule, EsLintRuleUrlResolver.Instance.ResolveRuleUrl(rule))
                            .WithPriority(GetPriority(message.severity))
                            .Create());
            }

            return(new List <IIssue>());
        }
예제 #3
0
            public void Should_Set_LogFileContent_If_Empty()
            {
                // Given
                byte[] logFileContent = Array.Empty <byte>();
                var    format         = new JsonLogFileFormat(new FakeLog());

                // When
                var settings = new EsLintIssuesSettings(logFileContent, format);

                // Then
                settings.LogFileContent.ShouldBe(logFileContent);
            }
예제 #4
0
            public void Should_Set_LogFileContent()
            {
                // Given
                var logFileContent = "Foo".ToByteArray();
                var format         = new JsonLogFileFormat(new FakeLog());

                // When
                var settings = new EsLintIssuesSettings(logFileContent, format);

                // Then
                settings.LogFileContent.ShouldBe(logFileContent);
            }
            public void Should_Throw_If_IssueProviderSettings_Are_Null()
            {
                // Given
                var log = new FakeLog();
                EsLintIssuesSettings settings = null;

                // When
                var result = Record.Exception(() => new EsLintIssuesProvider(log, settings));

                // Then
                result.IsArgumentNullException("issueProviderSettings");
            }
예제 #6
0
            public void Should_Set_LogFileContent_From_LogFilePath()
            {
                // Given
                var format = new JsonLogFileFormat(new FakeLog());

                using (var tempFile = new ResourceTempFile("Cake.Issues.EsLint.Tests.Testfiles.JsonLogFileFormat.jsonFormatWindows.json"))
                {
                    // When
                    var settings = new EsLintIssuesSettings(tempFile.FileName, format);

                    // Then
                    settings.LogFileContent.ShouldBe(tempFile.Content);
                }
            }
            public void Should_Throw_If_Log_Is_Null()
            {
                // Given
                ICakeLog log      = null;
                var      settings =
                    new EsLintIssuesSettings(
                        "Foo".ToByteArray(),
                        new JsonLogFileFormat(new FakeLog()));

                // When
                var result = Record.Exception(() => new EsLintIssuesProvider(log, settings));

                // Then
                result.IsArgumentNullException("log");
            }