mirror of
https://github.com/latex-lsp/texlab.git
synced 2025-12-23 09:19:21 +00:00
Test renaming
This commit is contained in:
parent
0ce16eb525
commit
706548dcd2
5 changed files with 68 additions and 5 deletions
|
|
@ -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()
|
||||
|
|
|
|||
45
src/test/kotlin/texlab/rename/AggregateRenamerTests.kt
Normal file
45
src/test/kotlin/texlab/rename/AggregateRenamerTests.kt
Normal 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))
|
||||
}
|
||||
}
|
||||
|
|
@ -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) }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue