[73990] Formatting CSS file splits element.class into element . class
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/CSSAllTests.java b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/CSSAllTests.java
index ed1d34d..df96f22 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/CSSAllTests.java
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/CSSAllTests.java
@@ -11,6 +11,7 @@
import junit.framework.Test;
import junit.framework.TestSuite;
+import org.eclipse.wst.css.core.tests.model.BUG73990SelectorFormatTest;
import org.eclipse.wst.css.core.tests.model.CSSCharsetRuleTest;
import org.eclipse.wst.css.core.tests.model.CSSFontFaceRuleTest;
import org.eclipse.wst.css.core.tests.model.CSSImportRuleTest;
@@ -49,5 +50,6 @@
suite.addTestSuite(CSSMediaRuleTest.class);
suite.addTestSuite(CSSPageRuleTest.class);
suite.addTestSuite(CSSFontFaceRuleTest.class);
+ suite.addTestSuite(BUG73990SelectorFormatTest.class);
}
}
\ No newline at end of file
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/BUG73990SelectorFormatTest.java b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/BUG73990SelectorFormatTest.java
new file mode 100644
index 0000000..cb031f9
--- /dev/null
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/BUG73990SelectorFormatTest.java
@@ -0,0 +1,28 @@
+package org.eclipse.wst.css.core.tests.model;
+
+import java.io.IOException;
+
+import org.eclipse.wst.css.core.document.ICSSModel;
+import org.eclipse.wst.css.core.format.FormatProcessorCSS;
+import org.eclipse.wst.css.core.tests.util.FileUtil;
+import org.eclipse.wst.sse.core.text.IStructuredDocument;
+
+public class BUG73990SelectorFormatTest extends AbstractModelTest {
+ public void testInsertText1() throws IOException {
+ ICSSModel model = getModel();
+ IStructuredDocument structuredDocument = model.getStructuredDocument();
+ structuredDocument.set(FileUtil.createString(
+ "src/org/eclipse/wst/css/core/tests/testfiles",
+ "BUG73990_selector_unformatted.css"));
+
+ (new FormatProcessorCSS()).formatModel(model);
+
+ String expected = FileUtil.createString(
+ "src/org/eclipse/wst/css/core/tests/testfiles/results",
+ "BUG73990_selector_formatted.css");
+ // Note: FileUtil.createString() added a commonEOL to the expected
+ // string. We have to concat a commonEOL to the actual string.
+ String actual = structuredDocument.get().concat(FileUtil.commonEOL);
+ assertEquals(expected, actual);
+ }
+}
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/BUG73990_selector_unformatted.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/BUG73990_selector_unformatted.css
new file mode 100644
index 0000000..ed52c93
--- /dev/null
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/BUG73990_selector_unformatted.css
@@ -0,0 +1,35 @@
+/* Class as selector */
+H1.pastoral { color: #00FF00 }
+
+/* ID as selector */
+#z98y { letter-spacing: 0.3em }
+H1#z98y { letter-spacing: 0.5em }
+
+/* Contextual selectors */
+DIV P { font: small sans-serif }
+.reddish H1 { color: red }
+#x78y CODE { background: blue }
+DIV.sidenote H1 { font-size: large }
+
+/* Anchor pseudo-classes */
+A:link { color: red } /* unvisited link */
+A:visited { color: blue } /* visited links */
+A:active { color: lime } /* active links */
+
+/* Pseudo-class combined with normal class */
+A.external:visited { color: blue }
+
+/* 'first-line' pseudo-element */
+P:first-line { font-variant: small-caps }
+
+/* 'first-letter' pseudo-element */
+P:first-letter { font-size: 200%; float: left }
+
+/* Pseudo-elements in selectors */
+BODY P:first-letter { color: purple }
+P.initial:first-letter { color: red }
+
+/* Multiple pseudo-elements */
+P { color: red; font-size: 12pt }
+P:first-letter { color: green; font-size: 200% }
+P:first-line { color: blue }
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/BUG73990_selector_formatted.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/BUG73990_selector_formatted.css
new file mode 100644
index 0000000..6da6ff7
--- /dev/null
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/BUG73990_selector_formatted.css
@@ -0,0 +1,79 @@
+/* Class as selector */
+H1.pastoral {
+ color: #00FF00
+}
+
+/* ID as selector */
+#z98y {
+ letter-spacing: 0.3em
+}
+
+H1#z98y {
+ letter-spacing: 0.5em
+}
+
+/* Contextual selectors */
+DIV P {
+ font: small sans-serif
+}
+
+.reddish H1 {
+ color: red
+}
+
+#x78y CODE {
+ background: blue
+}
+
+DIV.sidenote H1 {
+ font-size: large
+}
+
+/* Anchor pseudo-classes */
+A:link {
+ color: red
+} /* unvisited link */
+A:visited {
+ color: blue
+} /* visited links */
+A:active {
+ color: lime
+} /* active links */ /* Pseudo-class combined with normal class */
+A.external:visited {
+ color: blue
+}
+
+/* 'first-line' pseudo-element */
+P:first-line {
+ font-variant: small-caps
+}
+
+/* 'first-letter' pseudo-element */
+P:first-letter {
+ font-size: 200%;
+ float: left
+}
+
+/* Pseudo-elements in selectors */
+BODY P:first-letter {
+ color: purple
+}
+
+P.initial:first-letter {
+ color: red
+}
+
+/* Multiple pseudo-elements */
+P {
+ color: red;
+ font-size: 12pt
+}
+
+P:first-letter {
+ color: green;
+ font-size: 200%
+}
+
+P:first-line {
+ color: blue
+}