in intellij-plugin/educational-core/src/com/jetbrains/edu/coursecreator/framework/diff/diffUtils.kt [147:176]
fun equalsTrimTrailingWhitespaces(s1: CharSequence, s2: CharSequence): Boolean {
var index1 = 0
var index2 = 0
while (true) {
var lastLine1 = false
var lastLine2 = false
var end1 = Strings.indexOf(s1, '\n', index1) + 1
var end2 = Strings.indexOf(s2, '\n', index2) + 1
if (end1 == 0) {
end1 = s1.length
lastLine1 = true
}
if (end2 == 0) {
end2 = s2.length
lastLine2 = true
}
if (lastLine1 xor lastLine2) return false
val line1 = s1.subSequence(index1, end1)
val line2 = s2.subSequence(index2, end2)
if (!lineEqualsTrimTrailingWhitespaces(line1, line2)) return false
index1 = end1
index2 = end2
if (lastLine1) return true
}
}