@@ -53,6 +53,9 @@ public final class ReplaceCssNamesTest extends CompilerTestCase {
53
53
.put ("goog" , "g" )
54
54
.put ("fooStylesBar" , "fsr" )
55
55
.put ("fooStylesBaz" , "fsz" )
56
+ .put ("--foo-bar" , "--fb" )
57
+ .put ("---foo-baz" , "--fbz" )
58
+ .put ("--foo-bar-baz--qux" , "--fbzq" )
56
59
.buildOrThrow ();
57
60
58
61
Map <String , String > replacementMapFull =
@@ -63,6 +66,9 @@ public final class ReplaceCssNamesTest extends CompilerTestCase {
63
66
.put ("unrelated" , "l" )
64
67
.put ("long-suffix" , "m" )
65
68
.put ("long-prefix-suffix1" , "h-i" )
69
+ .put ("--foo-bar" , "--fb" )
70
+ .put ("---foo-baz" , "--fbz" )
71
+ .put ("--foo-bar-baz--qux" , "--fbzq" )
66
72
.buildOrThrow ();
67
73
68
74
CssRenamingMap renamingMap ;
@@ -151,6 +157,18 @@ public void testValidSetCssNameMapping_byPart() {
151
157
"const x = 'bar', y = 'baz', z = 'bar-baz';" );
152
158
}
153
159
160
+ @ Test
161
+ public void testValidSetCssNameMapping_byPart_withCssVariable () {
162
+ test (
163
+ """
164
+ goog.setCssNameMapping({classy: 'c',selector: 's',"--foo":'--f',"--biz-baz":'--b'}, 'BY_PART');
165
+ const x = goog.getCssName('--foo'),
166
+ y = goog.getCssName('--biz-baz'),
167
+ z = goog.getCssName('classy-selector');
168
+ """ ,
169
+ "const x = '--f', y = '--b', z = 'c-s';" );
170
+ }
171
+
154
172
@ Test
155
173
public void testValidSetCssNameMapping_byWhole () {
156
174
test (
@@ -172,6 +190,18 @@ public void testValidSetCssNameMapping_byWhole() {
172
190
"const x = 'bar', y = 'baz', z = 'foo-biz';" );
173
191
}
174
192
193
+ @ Test
194
+ public void testValidSetCssNameMapping_byWhole_withCssVariable () {
195
+ test (
196
+ """
197
+ goog.setCssNameMapping({classy: 'c',"--foo":'--f',"--biz-baz":'--b'}, 'BY_WHOLE');
198
+ const x = goog.getCssName('--foo'),
199
+ y = goog.getCssName('--biz-baz'),
200
+ z = goog.getCssName('classy');
201
+ """ ,
202
+ "const x = '--f', y = '--b', z = 'c';" );
203
+ }
204
+
175
205
@ Test
176
206
public void testDoNotUseReplacementMap () {
177
207
useReplacementMap = false ;
@@ -259,6 +289,23 @@ public void testOneArgWithCompositeClassNamesFull() {
259
289
"var x = 'k'" );
260
290
}
261
291
292
+ @ Test
293
+ public void testOneArgWithCssVariables_byWhole () {
294
+ renamingMap = getFullMap ();
295
+
296
+ test (
297
+ "var x = goog.getCssName('--foo-bar')" , //
298
+ "var x = '--fb'" );
299
+
300
+ test (
301
+ "var x = goog.getCssName('---foo-baz')" , //
302
+ "var x = '--fbz'" );
303
+
304
+ test (
305
+ "var x = goog.getCssName('--foo-bar-baz--qux')" , //
306
+ "var x = '--fbzq'" );
307
+ }
308
+
262
309
@ Test
263
310
public void testOneArgWithCompositeClassNamesWithUnknownParts () {
264
311
test (
@@ -275,6 +322,21 @@ public void testOneArgWithCompositeClassNamesWithUnknownParts() {
275
322
warning (UNKNOWN_SYMBOL_WARNING ));
276
323
}
277
324
325
+ @ Test
326
+ public void testOneArgWithCssVariable () {
327
+ test (
328
+ "var x = goog.getCssName('--foo-bar')" , //
329
+ "var x = '--fb'" );
330
+
331
+ test (
332
+ "var x = goog.getCssName('---foo-baz')" , //
333
+ "var x = '--fbz'" );
334
+
335
+ test (
336
+ "var x = goog.getCssName('--foo-bar-baz--qux')" , //
337
+ "var x = '--fbzq'" );
338
+ }
339
+
278
340
@ Test
279
341
public void testTwoArgsWithStringLiterals () {
280
342
testError ("var x = goog.getCssName('header', 'active')" , UNEXPECTED_STRING_LITERAL_ERROR );
0 commit comments