From 513a6050401f98ffce39cebba44e319d11e19579 Mon Sep 17 00:00:00 2001 From: Josh Feinberg Date: Thu, 27 Feb 2020 22:06:39 -0600 Subject: [PATCH] Make tests file system agnostic --- .../ktlint/reporter/baseline/BaselineReporter.kt | 6 ++++++ .../ktlint/reporter/baseline/BaselineReporterTest.kt | 12 +++++++----- .../com/pinterest/ktlint/internal/BaselineUtils.kt | 8 +++++++- ktlint/src/test/resources/test-baseline.xml | 4 ++-- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/ktlint-reporter-baseline/src/main/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporter.kt b/ktlint-reporter-baseline/src/main/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporter.kt index c9b6b6dd28..caf9b90852 100644 --- a/ktlint-reporter-baseline/src/main/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporter.kt +++ b/ktlint-reporter-baseline/src/main/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporter.kt @@ -26,6 +26,12 @@ class BaselineReporter(val out: PrintStream) : Reporter { Paths.get("").toAbsolutePath().relativize(File(file).toPath()).toString().replace('\\', '/') } catch (e: IllegalArgumentException) { file + }.let { name -> + if (name[0] != '/') { + "/$name" + } else { + name + } } out.println(""" """) for ((line, col, ruleId, _) in errList) { diff --git a/ktlint-reporter-baseline/src/test/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporterTest.kt b/ktlint-reporter-baseline/src/test/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporterTest.kt index 6ef068c012..0e82f9f31e 100644 --- a/ktlint-reporter-baseline/src/test/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporterTest.kt +++ b/ktlint-reporter-baseline/src/test/kotlin/com/pinterest/ktlint/reporter/baseline/BaselineReporterTest.kt @@ -3,6 +3,7 @@ package com.pinterest.ktlint.reporter.baseline import com.pinterest.ktlint.core.LintError import java.io.ByteArrayOutputStream import java.io.PrintStream +import java.nio.file.Paths import org.assertj.core.api.Assertions.assertThat import org.junit.Test @@ -10,10 +11,11 @@ class BaselineReporterTest { @Test fun testReportGeneration() { + val basePath = Paths.get("").toAbsolutePath() val out = ByteArrayOutputStream() val reporter = BaselineReporter(PrintStream(out, true)) reporter.onLintError( - "/one-fixed-and-one-not.kt", + "$basePath/one-fixed-and-one-not.kt", LintError( 1, 1, "rule-1", "<\"&'>" @@ -21,7 +23,7 @@ class BaselineReporterTest { false ) reporter.onLintError( - "/one-fixed-and-one-not.kt", + "$basePath/one-fixed-and-one-not.kt", LintError( 2, 1, "rule-2", "And if you see my friend" @@ -30,7 +32,7 @@ class BaselineReporterTest { ) reporter.onLintError( - "/two-not-fixed.kt", + "$basePath/two-not-fixed.kt", LintError( 1, 10, "rule-1", "I thought I would again" @@ -38,7 +40,7 @@ class BaselineReporterTest { false ) reporter.onLintError( - "/two-not-fixed.kt", + "$basePath/two-not-fixed.kt", LintError( 2, 20, "rule-2", "A single thin straight line" @@ -47,7 +49,7 @@ class BaselineReporterTest { ) reporter.onLintError( - "/all-corrected.kt", + "$basePath/all-corrected.kt", LintError( 1, 1, "rule-1", "I thought we had more time" diff --git a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/BaselineUtils.kt b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/BaselineUtils.kt index efbfacb529..338056da34 100644 --- a/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/BaselineUtils.kt +++ b/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/BaselineUtils.kt @@ -113,4 +113,10 @@ internal fun List.containsLintError(error: LintError): Boolean { * Also adjusts the slashes for uniformity between file systems */ internal val File.relativeRoute: String - get() = Paths.get("").toAbsolutePath().relativize(this.toPath()).toString().replace('\\', '/') + get() = Paths.get("").toAbsolutePath().relativize(this.toPath()).toString().replace('\\', '/').let { name -> + if (name[0] != '/') { + "/$name" + } else { + name + } + } diff --git a/ktlint/src/test/resources/test-baseline.xml b/ktlint/src/test/resources/test-baseline.xml index e4eff23900..697e92ea2f 100644 --- a/ktlint/src/test/resources/test-baseline.xml +++ b/ktlint/src/test/resources/test-baseline.xml @@ -1,10 +1,10 @@ - + - +