Test renaming

This commit is contained in:
Patrick Förster 2019-01-11 20:16:14 +01:00
parent 0ce16eb525
commit 706548dcd2
5 changed files with 68 additions and 5 deletions

View file

@ -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()

View file

@ -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))
}
}

View file

@ -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) }
}
}

View file

@ -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) }
}
}

View file

@ -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) }
}
}