Skip to content

Commit ee864eb

Browse files
nanazecopybara-github
authored andcommitted
Modify ReplaceCssNames to store the entire class name (instead of splitting by part)
PiperOrigin-RevId: 551876747
1 parent 9e0a81f commit ee864eb

File tree

2 files changed

+4
-22
lines changed

2 files changed

+4
-22
lines changed

src/com/google/javascript/jscomp/ReplaceCssNames.java

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ public void process(Node externs, Node root) {
180180
cssNamesBySymbol.put(getCssNameInstance.getCssClosureClassesMemberName(), cssClassName);
181181
classesObjectsQualifiedNames.add(getCssNameInstance.getCssClosureClassesQualifiedName());
182182
} else {
183-
updateCssNamesCount(cssClassName);
183+
cssNameCollector.add(cssClassName);
184184
}
185185
getCssNameInstance.replaceWithExpression();
186186
}
@@ -316,24 +316,6 @@ private class TraversalState {
316316
}
317317
}
318318

319-
/**
320-
* Update the count of CSS class names.
321-
*
322-
* <p>We maintain a count of references to CSS classes, so that unused classes can be flagged.
323-
*
324-
* <p>Unused class matching is always done by-part: if a CSS class definition or reference
325-
* contains hyphens, each hyphenated section is checked separately. For example, if the CSS class
326-
* contains .myComponent-highlight, it can be satisfied by separate calls to
327-
* goog.getCssName('myComponent') and goog.getCssName('highlight'). A single call to
328-
* goog.getCssName('myComponent-highlight') will also work.
329-
*/
330-
private void updateCssNamesCount(String cssClassName) {
331-
String[] parts = cssClassName.split("-", -1);
332-
for (String element : parts) {
333-
cssNameCollector.add(element);
334-
}
335-
}
336-
337319
private boolean isNotInCssClosureFile(Node node) {
338320
String sourceFileName = node.getSourceFileName();
339321
return sourceFileName == null || !sourceFileName.endsWith(".css.closure.js");
@@ -585,7 +567,7 @@ public void visit(NodeTraversal t, Node n, Node parent) {
585567
return;
586568
}
587569
String className = cssNamesBySymbol.get(classQualifiedName);
588-
updateCssNamesCount(className);
570+
cssNameCollector.add(className);
589571
}
590572
}
591573
}

test/com/google/javascript/jscomp/ReplaceCssNamesTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ public void testDoNotUseReplacementMap() {
180180
"setClass(goog.getCssName('active-buttonbar'))", //
181181
"setClass('active-buttonbar')");
182182
assertThat(cssNames)
183-
.containsExactly("goog", "footer", "active", "colorswatch", "disabled", "buttonbar");
183+
.containsExactly("goog-footer-active", "goog-colorswatch-disabled", "active-buttonbar");
184184
}
185185

186186
@Test
@@ -228,7 +228,7 @@ private void oneArgWithCompositeClassNames() {
228228
"setClass(goog.getCssName('active-buttonbar'))", //
229229
"setClass('a-b')");
230230
assertThat(cssNames)
231-
.containsExactly("goog", "footer", "active", "colorswatch", "disabled", "buttonbar");
231+
.containsExactly("goog-footer-active", "goog-colorswatch-disabled", "active-buttonbar");
232232
}
233233

234234
@Test

0 commit comments

Comments
 (0)