mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
diff: update test data
This commit is contained in:
committed by
Aleksey Pivovarov
parent
09c2af0f98
commit
c3d3de886d
@@ -115,6 +115,18 @@ abstract class DiffTestCase : TestCase() {
|
||||
}
|
||||
}
|
||||
|
||||
fun assertSetsEquals(expected: BitSet, actual: BitSet, message: String = "") {
|
||||
val sb = StringBuilder(message)
|
||||
sb.append(": \"")
|
||||
for (i in 0..actual.length()) {
|
||||
sb.append(if (actual[i]) '-' else ' ')
|
||||
}
|
||||
sb.append('"')
|
||||
val fullMessage = sb.toString()
|
||||
|
||||
assertEquals(expected, actual, fullMessage)
|
||||
}
|
||||
|
||||
//
|
||||
// Parsing
|
||||
//
|
||||
@@ -210,7 +222,7 @@ abstract class DiffTestCase : TestCase() {
|
||||
}
|
||||
}
|
||||
|
||||
class DebugData() {
|
||||
class DebugData {
|
||||
private val data: MutableList<Pair<String, Any>> = ArrayList()
|
||||
|
||||
fun put(key: String, value: Any) {
|
||||
|
||||
+4
-4
@@ -73,12 +73,12 @@ abstract class ComparisonMergeUtilTestBase : DiffTestCase() {
|
||||
val sets = Trio(BitSet(), BitSet(), BitSet())
|
||||
|
||||
for (change in changes) {
|
||||
sets.forEach({ set: BitSet, side: ThreeSide -> set.set(change.start(side), change.end(side)) })
|
||||
sets.forEach { set: BitSet, side: ThreeSide -> set.set(change.start(side), change.end(side)) }
|
||||
}
|
||||
|
||||
assertEquals(matchings.data1, sets.data1)
|
||||
assertEquals(matchings.data2, sets.data2)
|
||||
assertEquals(matchings.data3, sets.data3)
|
||||
assertSetsEquals(matchings.data1, sets.data1, "Left")
|
||||
assertSetsEquals(matchings.data2, sets.data2, "Base")
|
||||
assertSetsEquals(matchings.data3, sets.data3, "Right")
|
||||
}
|
||||
|
||||
private fun convertDiffFragments(fragments: List<MergeRange>): List<Change> {
|
||||
|
||||
@@ -198,8 +198,8 @@ class ComparisonUtilAutoTest : DiffTestCase() {
|
||||
|
||||
for (fragment in fragments) {
|
||||
if (fragment.innerFragments != null) {
|
||||
val sequence1 = text1.subsequence(fragment.startOffset1, fragment.endOffset1)
|
||||
val sequence2 = text2.subsequence(fragment.startOffset2, fragment.endOffset2)
|
||||
val sequence1 = text1.subSequence(fragment.startOffset1, fragment.endOffset1)
|
||||
val sequence2 = text2.subSequence(fragment.startOffset2, fragment.endOffset2)
|
||||
|
||||
checkResultWord(sequence1, sequence2, fragment.innerFragments!!, policy)
|
||||
}
|
||||
@@ -538,7 +538,7 @@ class ComparisonUtilAutoTest : DiffTestCase() {
|
||||
return Couple.of(firstLine, lastLine)
|
||||
}
|
||||
|
||||
private fun Document.subsequence(start: Int, end: Int): CharSequence {
|
||||
private fun Document.subSequence(start: Int, end: Int): CharSequence {
|
||||
return this.charsSequence.subSequence(start, end)
|
||||
}
|
||||
|
||||
|
||||
@@ -173,8 +173,8 @@ abstract class ComparisonUtilTestBase : DiffTestCase() {
|
||||
set2.set(fragment.startLine2, fragment.endLine2)
|
||||
}
|
||||
|
||||
assertEquals(matchings.first, set1, "Before")
|
||||
assertEquals(matchings.second, set2, "After")
|
||||
assertSetsEquals(matchings.first, set1, "Before")
|
||||
assertSetsEquals(matchings.second, set2, "After")
|
||||
}
|
||||
|
||||
private fun checkDiffMatching(fragments: List<DiffFragment>, matchings: Couple<BitSet>) {
|
||||
@@ -185,8 +185,8 @@ abstract class ComparisonUtilTestBase : DiffTestCase() {
|
||||
set2.set(fragment.startOffset2, fragment.endOffset2)
|
||||
}
|
||||
|
||||
assertEquals(matchings.first, set1, "Before")
|
||||
assertEquals(matchings.second, set2, "After")
|
||||
assertSetsEquals(matchings.first, set1, "Before")
|
||||
assertSetsEquals(matchings.second, set2, "After")
|
||||
}
|
||||
|
||||
private fun checkMergeMatching(fragments: List<MergeWordFragment>, matchings: Trio<BitSet>) {
|
||||
@@ -199,9 +199,9 @@ abstract class ComparisonUtilTestBase : DiffTestCase() {
|
||||
set3.set(fragment.getStartOffset(ThreeSide.RIGHT), fragment.getEndOffset(ThreeSide.RIGHT))
|
||||
}
|
||||
|
||||
assertEquals(matchings.data1, set1, "Before")
|
||||
assertEquals(matchings.data2, set2, "Base")
|
||||
assertEquals(matchings.data3, set3, "After")
|
||||
assertSetsEquals(matchings.data1, set1, "Left")
|
||||
assertSetsEquals(matchings.data2, set2, "Base")
|
||||
assertSetsEquals(matchings.data3, set3, "Right")
|
||||
}
|
||||
|
||||
private fun convertDiffFragments(fragments: List<DiffFragment>): List<Couple<IntPair>> {
|
||||
|
||||
@@ -401,28 +401,17 @@ class IgnoreComparisonUtilTest : DiffTestCase() {
|
||||
.run()
|
||||
}
|
||||
|
||||
private inner class Test(input1: String, input2: String,
|
||||
private inner class Test(val input1: String, val input2: String,
|
||||
ignored1: String, ignored2: String,
|
||||
result1: String, result2: String) {
|
||||
private val input1: String
|
||||
private val input2: String
|
||||
private val ignored1: String
|
||||
private val ignored2: String
|
||||
private val result1: String
|
||||
private val result2: String
|
||||
val ignored1: String = ignored1.filterNot { it == '.' }
|
||||
val ignored2: String = ignored2.filterNot { it == '.' }
|
||||
val result1: String = result1.filterNot { it == '.' }
|
||||
val result2: String = result2.filterNot { it == '.' }
|
||||
|
||||
private var inner = true
|
||||
private var changedLines: IntPair? = null
|
||||
|
||||
init {
|
||||
this.input1 = input1
|
||||
this.input2 = input2
|
||||
this.ignored1 = ignored1.filterNot { it == '.' }
|
||||
this.ignored2 = ignored2.filterNot { it == '.' }
|
||||
this.result1 = result1.filterNot { it == '.' }
|
||||
this.result2 = result2.filterNot { it == '.' }
|
||||
}
|
||||
|
||||
fun noInnerChanges(): Test {
|
||||
inner = false
|
||||
return this
|
||||
|
||||
@@ -74,6 +74,23 @@ class SplitComparisonUtilTest : ComparisonUtilTestBase() {
|
||||
default(del(0, 0, 1), mod(1, 0, 1, 1), del(2, 1, 1))
|
||||
testAll()
|
||||
}
|
||||
|
||||
splitter(trim = false) {
|
||||
("< i" - "<i<_i")
|
||||
default(mod(0, 0, 1, 2))
|
||||
testDefault()
|
||||
}
|
||||
splitter(trim = false) {
|
||||
(".l j" - "U_._l j+")
|
||||
default(ins(0, 0, 2), mod(0, 2, 1, 1))
|
||||
testDefault()
|
||||
}
|
||||
|
||||
splitter {
|
||||
(" run();" - " //commentary_ while(run(true));")
|
||||
default(mod(0, 0, 1, 2))
|
||||
testDefault()
|
||||
}
|
||||
}
|
||||
|
||||
fun testSquash() {
|
||||
|
||||
@@ -140,6 +140,27 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
|
||||
(" " - " - ").default()
|
||||
testAll()
|
||||
}
|
||||
|
||||
lines_inner {
|
||||
("X Y ) {_ A B C" - "X Y Z ) {_ y B C ) {")
|
||||
(" - " - " -- - ----").default()
|
||||
(" - " - " - - ---").ignore()
|
||||
testAll()
|
||||
}
|
||||
|
||||
// TODO
|
||||
words {
|
||||
("@Deprecated @NotNull" - "@NotNull")
|
||||
(" ------------ " - " ").default()
|
||||
testAll()
|
||||
}
|
||||
|
||||
// TODO
|
||||
words {
|
||||
("@Deprecated_ @NotNull" - "@NotNull")
|
||||
(" ------------- " - " ").default()
|
||||
testAll()
|
||||
}
|
||||
}
|
||||
|
||||
fun testOldDiffBug() {
|
||||
@@ -154,6 +175,18 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
|
||||
(" " - " -- ").default()
|
||||
testAll()
|
||||
}
|
||||
|
||||
lines_inner {
|
||||
("x'>" - "x'y'>")
|
||||
(" " - " -- ").default()
|
||||
testAll()
|
||||
}
|
||||
|
||||
lines_inner {
|
||||
("x'y'>" - "x'>")
|
||||
(" -- " - " ").default()
|
||||
testAll()
|
||||
}
|
||||
}
|
||||
|
||||
fun testWhitespaceOnlyChanges() {
|
||||
@@ -219,6 +252,12 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
|
||||
("- -" - "- -").ignore()
|
||||
testIgnore()
|
||||
}
|
||||
|
||||
words {
|
||||
("A_B_" - "X_")
|
||||
("--- " - "- ").default()
|
||||
testAll()
|
||||
}
|
||||
}
|
||||
|
||||
fun testFixedBugs() {
|
||||
@@ -336,6 +375,26 @@ class WordComparisonUtilTest : ComparisonUtilTestBase() {
|
||||
(" ---" - "--- ").default()
|
||||
testDefault()
|
||||
}
|
||||
|
||||
lines_inner {
|
||||
("A B_C D" - "A_B C_D")
|
||||
(" -- - " - " -- - ").default()
|
||||
(" -- - " - " -- ").trim()
|
||||
(" - " - " - ").ignore()
|
||||
testAll()
|
||||
}
|
||||
|
||||
lines_inner {
|
||||
("B_C_D_" - "X_Y_Z_")
|
||||
("- - - " - "- - - ").default()
|
||||
testAll()
|
||||
}
|
||||
|
||||
words {
|
||||
("!x_!_z" - "!_!_y z")
|
||||
(" - " - " -- ").default()
|
||||
testDefault()
|
||||
}
|
||||
}
|
||||
|
||||
fun `test trailing punctuation`() {
|
||||
|
||||
Reference in New Issue
Block a user