diff options
author | Bhavesh Munot <bmunot@fb.com> | 2022-04-01 09:34:30 -0700 |
---|---|---|
committer | Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> | 2022-04-01 09:34:30 -0700 |
commit | 18990a4a460e90625bf023e8d1c95707dcaebfd5 (patch) | |
tree | 421f0738c2e83e2e1197e0d3b89690358da0073b /core | |
parent | 6ea9e8f461853c32177f3a3bc0d2ae4ea5718452 (diff) | |
download | ktfmt-18990a4a460e90625bf023e8d1c95707dcaebfd5.tar.gz |
Add tests to confirm that the file is not modified if it already formatted (#304)
Summary:
Pull Request resolved: https://github.com/facebookincubator/ktfmt/pull/304
2 tests -
1. File is already formatted, file should not get modified after running the formatter
2. File is not formatted, file should be modified after runnnig the formatter
Reviewed By: cgrushko
Differential Revision: D35295650
fbshipit-source-id: 288bab862e3ee04749da71ba947444ddfa629439
Diffstat (limited to 'core')
-rw-r--r-- | core/src/test/java/com/facebook/ktfmt/cli/MainTest.kt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/core/src/test/java/com/facebook/ktfmt/cli/MainTest.kt b/core/src/test/java/com/facebook/ktfmt/cli/MainTest.kt index 03660ae..51972ab 100644 --- a/core/src/test/java/com/facebook/ktfmt/cli/MainTest.kt +++ b/core/src/test/java/com/facebook/ktfmt/cli/MainTest.kt @@ -21,6 +21,7 @@ import java.io.ByteArrayOutputStream import java.io.File import java.io.PrintStream import java.lang.IllegalStateException +import java.nio.file.Files import java.util.concurrent.ForkJoinPool import org.junit.After import org.junit.Assert.fail @@ -162,6 +163,40 @@ class MainTest { } @Test + fun `file is not modified if it is already formatted`() { + val code = """fun f() = println("hello, world")""" + "\n" + val formattedFile = root.resolve("formatted_file.kt") + formattedFile.writeText(code) + val formattedFilePath = formattedFile.toPath() + + val lastModifiedTimeBeforeRunningFormatter = + Files.getLastModifiedTime(formattedFilePath).toMillis() + Main(emptyInput, PrintStream(out), PrintStream(err), arrayOf(formattedFile.toString())).run() + val lastModifiedTimeAfterRunningFormatter = + Files.getLastModifiedTime(formattedFilePath).toMillis() + + assertThat(lastModifiedTimeBeforeRunningFormatter) + .isEqualTo(lastModifiedTimeAfterRunningFormatter) + } + + @Test + fun `file is modified if it is not formatted`() { + val code = """fun f() = println( "hello, world")""" + "\n" + val unformattedFile = root.resolve("unformatted_file.kt") + unformattedFile.writeText(code) + val unformattedFilePath = unformattedFile.toPath() + + val lastModifiedTimeBeforeRunningFormatter = + Files.getLastModifiedTime(unformattedFilePath).toMillis() + Main(emptyInput, PrintStream(out), PrintStream(err), arrayOf(unformattedFile.toString())).run() + val lastModifiedTimeAfterRunningFormatter = + Files.getLastModifiedTime(unformattedFilePath).toMillis() + + assertThat(lastModifiedTimeBeforeRunningFormatter) + .isLessThan(lastModifiedTimeAfterRunningFormatter) + } + + @Test fun `dropbox-style is passed to formatter (file)`() { val code = """fun f() { |