Skip to content

Commit d322204

Browse files
committed
Merge pull request #140 from bem/issue-138
Add ignoring of duplicate 'css' classes
2 parents fa61856 + 88dc255 commit d322204

File tree

5 files changed

+11
-5
lines changed

5 files changed

+11
-5
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ For example, the following two code samples will be considered to be equivalent:
8181
```
8282

8383
```html
84-
<span class=" cd ab bc">Text</span>
84+
<span class=" cd ab bc bc">Text</span>
8585
```
8686

8787
**CAUTION!**<br>

README.ru.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
```
8282

8383
```html
84-
<span class=" cd ab bc">Text</span>
84+
<span class=" cd ab bc bc">Text</span>
8585
```
8686

8787
**ВНИМАНИЕ!**<br>

lib/utils/utils.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ function sortCssClasses(attrs) {
5151
function _sortCssClassesValues(cssClasses) {
5252
var classList = (cssClasses || '').split(' ');
5353

54-
return _.filter(classList).sort().join(' ');
54+
return _(classList)
55+
.filter()
56+
.uniq()
57+
.sort()
58+
.join(' ');
5559
}
5660

5761
var classIndexes = _getIndexesInArray(attrs, 'class');
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<input class=" cd ab bc">
1+
<input class=" cd ab bc bc">

test/unit/utils.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ describe('\'utils\'', function () {
2929
{ name: 'class', value: ' b c a' },
3030
{ name: 'blah', value: 'b c a' },
3131
{ name: 'class', value: '' },
32+
{ name: 'class', value: 'a a a' }
3233
],
3334
output = [
3435
{ name: 'class', value: 'a b c' },
3536
{ name: 'blah', value: 'b c a' },
36-
{ name: 'class', value: '' }
37+
{ name: 'class', value: '' },
38+
{ name: 'class', value: 'a' }
3739
];
3840

3941
utils.sortCssClasses(input).must.be.eql(output);

0 commit comments

Comments
 (0)