mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
GitBranchWorkerTest: don't use system line separators: Git may apply its own conversion. Detect actual separators, and convert expected text according to them.
This commit is contained in:
@@ -28,6 +28,7 @@ import com.intellij.openapi.vcs.changes.CurrentContentRevision
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.testFramework.vcs.MockChangeListManager
|
||||
import com.intellij.util.LineSeparator
|
||||
import com.intellij.util.text.CharArrayUtil
|
||||
import git4idea.PlatformFacade
|
||||
import git4idea.commands.Git
|
||||
import git4idea.config.GitVersion
|
||||
@@ -773,12 +774,25 @@ class GitBranchWorkerTest {
|
||||
}
|
||||
|
||||
private static void assertContent(String expectedContent, String actual) {
|
||||
expectedContent = StringUtil.convertLineSeparators(expectedContent, LineSeparator.getSystemLineSeparator().separatorString).trim()
|
||||
expectedContent = StringUtil.convertLineSeparators(expectedContent, detectLineSeparators(actual).separatorString).trim()
|
||||
actual = actual.trim()
|
||||
assertEquals String.format("Content doesn't match.%nExpected:%n%s%nActual:%n%s%n",
|
||||
substWhitespaces(expectedContent), substWhitespaces(actual)), expectedContent, actual
|
||||
}
|
||||
|
||||
private static LineSeparator detectLineSeparators(String actual) {
|
||||
char[] chars = CharArrayUtil.fromSequenceWithoutCopying(actual);
|
||||
for (char c : chars) {
|
||||
if (c == '\r') {
|
||||
return LineSeparator.CRLF;
|
||||
}
|
||||
else if (c == '\n') { // if we are here, there was no \r before
|
||||
return LineSeparator.LF;
|
||||
}
|
||||
}
|
||||
return LineSeparator.LF;
|
||||
}
|
||||
|
||||
private static String substWhitespaces(String s) {
|
||||
return s.replaceAll("\r", Matcher.quoteReplacement("\\r")).replaceAll("\n", Matcher.quoteReplacement("\\n")).replaceAll(" ", "_")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user