aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2011-10-04 09:42:44 -0700
committerTor Norbye <tnorbye@google.com>2011-10-04 09:49:24 -0700
commit6ebe3b1efa485d9183fb9ce58f8958886fa5be6d (patch)
tree4c7e2648d104b53115888eb96607065b20a0e8d3
parentad272174e7bac4a2b285ae239db2914bd5538809 (diff)
downloadsdk-6ebe3b1efa485d9183fb9ce58f8958886fa5be6d.zip
sdk-6ebe3b1efa485d9183fb9ce58f8958886fa5be6d.tar.gz
sdk-6ebe3b1efa485d9183fb9ce58f8958886fa5be6d.tar.bz2
Formatting fix: ensure no double blank new lines between elements
Change-Id: Id41a5543b4e4639eb8c9943463587168c90f9ff4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinter.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinterTest.java19
2 files changed, 27 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinter.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinter.java
index f473671..e2c0780 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinter.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinter.java
@@ -690,6 +690,10 @@ public class XmlPrettyPrinter {
}
private boolean newlineBeforeElementOpen(Element element, int depth) {
+ if (hasBlankLineAbove()) {
+ return false;
+ }
+
if (mPrefs.removeEmptyLines || depth <= 0) {
return false;
}
@@ -797,6 +801,10 @@ public class XmlPrettyPrinter {
}
private boolean newlineAfterElementClose(Element element, int depth) {
+ if (hasBlankLineAbove()) {
+ return false;
+ }
+
return element.getParentNode().getNodeType() == Node.ELEMENT_NODE
&& !keepElementAsSingleLine(depth - 1, (Element) element.getParentNode());
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinterTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinterTest.java
index 7436b2f..3664e70 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinterTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlPrettyPrinterTest.java
@@ -25,6 +25,7 @@ import org.w3c.dom.NodeList;
import junit.framework.TestCase;
+@SuppressWarnings("javadoc")
public class XmlPrettyPrinterTest extends TestCase {
@Override
protected void setUp() throws Exception {
@@ -533,4 +534,22 @@ public class XmlPrettyPrinterTest extends TestCase {
"\n" +
"</foo>");
}
+
+ public void testCommentHandling2() throws Exception {
+ checkFormat(
+ XmlFormatPreferences.create(), XmlFormatStyle.LAYOUT,
+ "<foo >\n" +
+ " <!-- multi -->\n" +
+ "\n" +
+ " <bar />\n" +
+ "</foo>",
+
+ "<foo >\n" +
+ "\n" +
+ " <!-- multi -->\n" +
+ "\n" +
+ " <bar />\n" +
+ "\n" +
+ "</foo>");
+ }
}