Skip to content

Commit 2d71a57

Browse files
committed
preserve original case
1 parent b0ae15b commit 2d71a57

File tree

5 files changed

+24
-21
lines changed

5 files changed

+24
-21
lines changed

src/main/java/com/gargoylesoftware/css/dom/CSSStyleSheetImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ public static class CSSStyleSheetRuleIndex {
383383

384384
public void addElementSelector(final ElementSelector elementSelector,
385385
final Selector s, final CSSStyleRuleImpl styleRule) {
386-
final String elementName = elementSelector.getLocalName();
386+
final String elementName = elementSelector.getLocalNameLowerCase();
387387
List<SelectorEntry> entries = elementSelectors_.get(elementName);
388388
if (entries == null) {
389389
entries = new ArrayList<SelectorEntry>();
@@ -395,7 +395,7 @@ public void addElementSelector(final ElementSelector elementSelector,
395395

396396
public void addClassSelector(final ElementSelector elementSelector, final String className,
397397
final Selector s, final CSSStyleRuleImpl styleRule) {
398-
final String elementName = elementSelector.getLocalName();
398+
final String elementName = elementSelector.getLocalNameLowerCase();
399399
final String key;
400400
if (elementName == null) {
401401
key = "." + className;

src/main/java/com/gargoylesoftware/css/parser/selector/ElementSelector.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,18 @@
2828
public class ElementSelector extends AbstractSelector implements SimpleSelector, Serializable {
2929

3030
private final String localName_;
31+
private final String localNameLC_;
3132
private List<Condition> conditions_;
3233

3334
public ElementSelector(final String localName, final Locator locator) {
35+
localName_ = localName;
3436
if (localName != null) {
35-
localName_ = localName.toLowerCase(Locale.ROOT);
37+
localNameLC_ = localName.toLowerCase(Locale.ROOT);
3638
}
3739
else {
38-
localName_ = null;
40+
localNameLC_ = null;
3941
}
42+
4043
setLocator(locator);
4144
}
4245

@@ -50,13 +53,14 @@ public SimpleSelector getSimpleSelector() {
5053
return this;
5154
}
5255

53-
/**
54-
* @return the local name in lower case.
55-
*/
5656
public String getLocalName() {
5757
return localName_;
5858
}
5959

60+
public String getLocalNameLowerCase() {
61+
return localNameLC_;
62+
}
63+
6064
public String getElementName() {
6165
final String localeName = getLocalName();
6266
if (localeName == null) {

src/test/java/com/gargoylesoftware/css/TestException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ public void test() throws Exception {
5757

5858
Assert.assertEquals("@charset \"US-ASCII\";", rules.item(0).getCssText());
5959
Assert.assertEquals("@import url(http://www.steadystate.com/primary.css);", rules.item(1).getCssText());
60-
Assert.assertEquals("p { color: blue }", rules.item(2).getCssText());
60+
Assert.assertEquals("P { color: blue }", rules.item(2).getCssText());
6161

6262
stylesheet.deleteRule(1);
6363

6464
Assert.assertEquals(2, rules.getLength());
6565
Assert.assertEquals("@charset \"US-ASCII\";", rules.item(0).getCssText());
66-
Assert.assertEquals("p { color: blue }", rules.item(1).getCssText());
66+
Assert.assertEquals("P { color: blue }", rules.item(1).getCssText());
6767

6868
CSSRule rule = rules.item(1);
6969
rule.setCssText("h2 { smell: strong }");

src/test/java/com/gargoylesoftware/css/parser/CSS3ParserTest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,15 +170,15 @@ public void selectorLang() throws Exception {
170170
Assert.assertEquals("de", ((LangCondition) selector.getConditions().get(0)).getLang());
171171

172172
rule = rules.item(2);
173-
Assert.assertEquals("*:lang(fr) > q { }", rule.getCssText());
173+
Assert.assertEquals("*:lang(fr) > Q { }", rule.getCssText());
174174
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
175175
ChildSelector childSelector = (ChildSelector) ((CSSStyleRuleImpl) rule).getSelectors().get(0);
176176
selector = (ElementSelector) childSelector.getAncestorSelector();
177177
Assert.assertEquals(ConditionType.LANG_CONDITION, selector.getConditions().get(0).getConditionType());
178178
Assert.assertEquals("fr", ((LangCondition) selector.getConditions().get(0)).getLang());
179179

180180
rule = rules.item(3);
181-
Assert.assertEquals("*:lang(de) > q { }", rule.getCssText());
181+
Assert.assertEquals("*:lang(de) > Q { }", rule.getCssText());
182182
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
183183
childSelector = (ChildSelector) ((CSSStyleRuleImpl) rule).getSelectors().get(0);
184184
selector = (ElementSelector) childSelector.getAncestorSelector();
@@ -1124,32 +1124,32 @@ public void counter() throws Exception {
11241124
Assert.assertEquals(5, rules.getLength());
11251125

11261126
CSSRule rule = rules.item(0);
1127-
Assert.assertEquals("h1:before { content: counter(chno, upper-latin) \". \" }", rule.getCssText());
1127+
Assert.assertEquals("H1:before { content: counter(chno, upper-latin) \". \" }", rule.getCssText());
11281128
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
11291129
CSSValueImpl value = (CSSValueImpl) ((CSSStyleRule) rule).getStyle().getPropertyCSSValue("content");
11301130
Assert.assertEquals("counter(chno, upper-latin)", ((CSSValueImpl) value.item(0)).getCounterValue().toString());
11311131

11321132
rule = rules.item(1);
1133-
Assert.assertEquals("h2:before { content: counter(section, upper-roman) \" - \" }", rule.getCssText());
1133+
Assert.assertEquals("H2:before { content: counter(section, upper-roman) \" - \" }", rule.getCssText());
11341134
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
11351135
value = (CSSValueImpl) ((CSSStyleRule) rule).getStyle().getPropertyCSSValue("content");
11361136
Assert.assertEquals("counter(section, upper-roman)",
11371137
((CSSValueImpl) value.item(0)).getCounterValue().toString());
11381138

11391139
rule = rules.item(2);
1140-
Assert.assertEquals("blockquote:after { content: \" [\" counter(bq, lower-greek) \"]\" }", rule.getCssText());
1140+
Assert.assertEquals("BLOCKQUOTE:after { content: \" [\" counter(bq, lower-greek) \"]\" }", rule.getCssText());
11411141
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
11421142
value = (CSSValueImpl) ((CSSStyleRule) rule).getStyle().getPropertyCSSValue("content");
11431143
Assert.assertEquals("counter(bq, lower-greek)", ((CSSValueImpl) value.item(1)).getCounterValue().toString());
11441144

11451145
rule = rules.item(3);
1146-
Assert.assertEquals("div.note:before { content: counter(notecntr, disc) \" \" }", rule.getCssText());
1146+
Assert.assertEquals("DIV.note:before { content: counter(notecntr, disc) \" \" }", rule.getCssText());
11471147
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
11481148
value = (CSSValueImpl) ((CSSStyleRule) rule).getStyle().getPropertyCSSValue("content");
11491149
Assert.assertEquals("counter(notecntr, disc)", ((CSSValueImpl) value.item(0)).getCounterValue().toString());
11501150

11511151
rule = rules.item(4);
1152-
Assert.assertEquals("p:before { content: counter(p, none) }", rule.getCssText());
1152+
Assert.assertEquals("P:before { content: counter(p, none) }", rule.getCssText());
11531153
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
11541154
value = (CSSValueImpl) ((CSSStyleRule) rule).getStyle().getPropertyCSSValue("content");
11551155
Assert.assertEquals("counter(p, none)", value.getCounterValue().toString());
@@ -1170,7 +1170,7 @@ public void counters() throws Exception {
11701170
Assert.assertEquals(1, rules.getLength());
11711171

11721172
final CSSRule rule = rules.item(0);
1173-
Assert.assertEquals("li:before { content: counters(item, \".\") \" \"; counter-increment: item }",
1173+
Assert.assertEquals("LI:before { content: counters(item, \".\") \" \"; counter-increment: item }",
11741174
rule.getCssText());
11751175
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
11761176
final CSSValueImpl value = (CSSValueImpl) ((CSSStyleRule) rule).getStyle().getPropertyCSSValue("content");
@@ -2725,7 +2725,7 @@ public void cdoCdc() throws Exception {
27252725
Assert.assertEquals(15, rules.getLength());
27262726

27272727
CSSRule rule = rules.item(0);
2728-
Assert.assertEquals("ol { list-style-type: lower-alpha }", rule.getCssText());
2728+
Assert.assertEquals("OL { list-style-type: lower-alpha }", rule.getCssText());
27292729

27302730
rule = rules.item(1);
27312731
Assert.assertEquals("*.a { color: green; background: white none }", rule.getCssText());

src/test/java/com/gargoylesoftware/css/parser/CSSOMParserTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import java.io.Reader;
1818
import java.io.StringReader;
19-
import java.util.Locale;
2019

2120
import org.junit.Assert;
2221
import org.junit.Test;
@@ -83,7 +82,7 @@ public void parseStyleSheet() throws Exception {
8382
Assert.assertEquals(CSSRule.STYLE_RULE, rule.getType());
8483

8584
final CSSStyleRule sr = (CSSStyleRule) rule;
86-
Assert.assertEquals(testSelector_.toLowerCase(Locale.ROOT), sr.getSelectorText());
85+
Assert.assertEquals(testSelector_, sr.getSelectorText());
8786

8887
final CSSStyleDeclaration style = sr.getStyle();
8988
Assert.assertEquals(testItem_, style.item(0));
@@ -123,7 +122,7 @@ public void parseSelectors() throws Exception {
123122
final InputSource is = new InputSource(r);
124123
final SelectorList sl = new CSSOMParser().parseSelectors(is);
125124

126-
Assert.assertEquals(testSelector_.toLowerCase(Locale.ROOT), sl.get(0).toString());
125+
Assert.assertEquals(testSelector_, sl.get(0).toString());
127126
}
128127

129128
/**

0 commit comments

Comments
 (0)