add test for not stripping last line with caret (IDEA-CR-33136)

This commit is contained in:
Dennis Ushakov
2018-06-13 05:08:04 -07:00
parent f00d8525f1
commit 3bf734255e
2 changed files with 11 additions and 1 deletions
@@ -86,7 +86,7 @@ public final class TrailingSpacesStripper implements FileDocumentManagerListener
public void run() {
CommandProcessor.getInstance().runUndoTransparentAction(() -> {
if (CharArrayUtil.containsOnlyWhiteSpaces(content.subSequence(start, end)) && doStrip &&
(!settings.isKeepTrailingSpacesOnCaretLine() || !hasCaretIn(start, end))) {
!(settings.isKeepTrailingSpacesOnCaretLine() && hasCaretIn(start, end))) {
document.deleteString(start, end);
}
else {
@@ -76,6 +76,16 @@ public class TrailingSpacesStripperTest extends LightPlatformCodeInsightTestCase
doTest("xxx\n 222<caret> \nyyy",
"xxx\n 222<caret>\nyyy");
}
public void testDoNotStripModifiedOnCurrentLastLine() {
EditorSettingsExternalizable settings = EditorSettingsExternalizable.getInstance();
settings.setEnsureNewLineAtEOF(true);
configureFromFileText("x.txt", "xxx\n <caret>");
type(' ');
FileDocumentManager.getInstance().saveAllDocuments();
checkResultByText("xxx\n <caret>\n");
}
public void testStrippingWithMultipleCarets() {
doTest("xxx\n <caret>\nyyy<caret> ",