From 706548dcd2b5822bbda1455d540a7ef43fd7781d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20F=C3=B6rster?= Date: Fri, 11 Jan 2019 20:16:14 +0100 Subject: [PATCH] Test renaming --- .../folding/AggregateFoldingProviderTests.kt | 6 +-- .../texlab/rename/AggregateRenamerTests.kt | 45 +++++++++++++++++++ .../texlab/rename/BibtexEntryRenamerTests.kt | 9 ++++ .../texlab/rename/LatexCommandRenamerTests.kt | 2 +- .../texlab/rename/LatexLabelRenamerTests.kt | 11 ++++- 5 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 src/test/kotlin/texlab/rename/AggregateRenamerTests.kt diff --git a/src/test/kotlin/texlab/folding/AggregateFoldingProviderTests.kt b/src/test/kotlin/texlab/folding/AggregateFoldingProviderTests.kt index d3ca3e75..930977df 100644 --- a/src/test/kotlin/texlab/folding/AggregateFoldingProviderTests.kt +++ b/src/test/kotlin/texlab/folding/AggregateFoldingProviderTests.kt @@ -16,9 +16,9 @@ class AggregateFoldingProviderTests { @Test fun `it should merge foldings from all providers`() { - val folding1 = FoldingRange() - val folding2 = FoldingRange() - val folding3 = FoldingRange() + val folding1 = FoldingRange().apply { startLine = 1 } + val folding2 = FoldingRange().apply { startLine = 2 } + val folding3 = FoldingRange().apply { startLine = 3 } val provider1 = createProvider(folding1, folding2) val provider2 = createProvider(folding3) val request = WorkspaceBuilder() diff --git a/src/test/kotlin/texlab/rename/AggregateRenamerTests.kt b/src/test/kotlin/texlab/rename/AggregateRenamerTests.kt new file mode 100644 index 00000000..05f4c11b --- /dev/null +++ b/src/test/kotlin/texlab/rename/AggregateRenamerTests.kt @@ -0,0 +1,45 @@ +package texlab.rename + +import org.eclipse.lsp4j.WorkspaceEdit +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertNull +import org.junit.jupiter.api.Test +import texlab.WorkspaceBuilder + +class AggregateRenamerTests { + private fun createRenamer(edit: WorkspaceEdit?): Renamer { + return object : Renamer { + override fun rename(request: RenameRequest): WorkspaceEdit? { + return edit + } + } + } + + @Test + fun `it should rename the first result`() { + val edit1 = WorkspaceEdit().apply { changes = mapOf("foo.tex" to emptyList()) } + val edit2 = WorkspaceEdit().apply { changes = mapOf("bar.tex" to emptyList()) } + val renamer1 = createRenamer(null) + val renamer2 = createRenamer(edit1) + val renamer3 = createRenamer(edit2) + val request = WorkspaceBuilder() + .document("foo.tex", "") + .document("bar.tex", "") + .rename("foo.tex", 0, 0, "qux") + + val aggregateRenamer = AggregateRenamer(renamer1, renamer2, renamer3) + assertEquals(edit1, aggregateRenamer.rename(request)) + } + + @Test + fun `it should return null when no results are found`() { + val renamer1 = createRenamer(null) + val renamer2 = createRenamer(null) + val request = WorkspaceBuilder() + .document("foo.tex", "") + .rename("foo.tex", 0, 0, "bar") + + val aggregateRenamer = AggregateRenamer(renamer1, renamer2) + assertNull(aggregateRenamer.rename(request)) + } +} diff --git a/src/test/kotlin/texlab/rename/BibtexEntryRenamerTests.kt b/src/test/kotlin/texlab/rename/BibtexEntryRenamerTests.kt index f1059609..592176e9 100644 --- a/src/test/kotlin/texlab/rename/BibtexEntryRenamerTests.kt +++ b/src/test/kotlin/texlab/rename/BibtexEntryRenamerTests.kt @@ -43,4 +43,13 @@ class BibtexEntryRenamerTests { .let { BibtexEntryRenamer.rename(it) } .also { assertNull(it) } } + + @Test + fun `it should not process LaTeX documents`() { + WorkspaceBuilder() + .document("foo.tex", "") + .rename("foo.tex", 0, 0, "bar") + .let { BibtexEntryRenamer.rename(it) } + .also { assertNull(it) } + } } diff --git a/src/test/kotlin/texlab/rename/LatexCommandRenamerTests.kt b/src/test/kotlin/texlab/rename/LatexCommandRenamerTests.kt index 5f06c899..1c086b19 100644 --- a/src/test/kotlin/texlab/rename/LatexCommandRenamerTests.kt +++ b/src/test/kotlin/texlab/rename/LatexCommandRenamerTests.kt @@ -37,7 +37,7 @@ class LatexCommandRenamerTests { WorkspaceBuilder() .document("foo.bib", "\\foo \\bar") .rename("foo.bib", 0, 1, "baz") - .let { LatexEnvironmentRenamer.rename(it) } + .let { LatexCommandRenamer.rename(it) } .also { Assertions.assertNull(it) } } } diff --git a/src/test/kotlin/texlab/rename/LatexLabelRenamerTests.kt b/src/test/kotlin/texlab/rename/LatexLabelRenamerTests.kt index 61436ac6..52e80ac9 100644 --- a/src/test/kotlin/texlab/rename/LatexLabelRenamerTests.kt +++ b/src/test/kotlin/texlab/rename/LatexLabelRenamerTests.kt @@ -41,7 +41,16 @@ class LatexLabelRenamerTests { WorkspaceBuilder() .document("foo.tex", "\\foo{bar}") .rename("foo.tex", 0, 5, "baz") - .let { BibtexEntryRenamer.rename(it) } + .let { LatexLabelRenamer.rename(it) } + .also { assertNull(it) } + } + + @Test + fun `it should process BibTeX documents`() { + WorkspaceBuilder() + .document("foo.bib", "") + .rename("foo.bib", 0, 0, "bar") + .let { LatexLabelRenamer.rename(it) } .also { assertNull(it) } } }