Skip to content

Commit 2ba112d

Browse files
author
Fernando Souza
committed
WIP - Follows native behaviour in hasClass method. Fixes metal#209
1 parent b59f259 commit 2ba112d

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

packages/metal-dom/src/domNamed.js

+3
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,9 @@ function hasClassWithNative_(element, className) {
351351
* @private
352352
*/
353353
function hasClassWithoutNative_(element, className) {
354+
if (className.indexOf(' ') >= 0) {
355+
throw new Error(`White spaces are not allowed. ('${className}')`);
356+
}
354357
return (` ${element.className} `).indexOf(` ${className} `) >= 0;
355358
}
356359

packages/metal-dom/test/dom.js

+7
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ describe('dom', function() {
6666
assert.ok(!dom.hasClass(element, 'class3'));
6767
});
6868

69+
it('should throw an error if white spaces are used in the class name', function() {
70+
var element = document.createElement('div');
71+
dom.addClasses(element, 'class1 class2');
72+
73+
assert.throws(() => dom.hasClass(element, 'class1 class2'));
74+
});
75+
6976
it('should check if css classes are being removed', function() {
7077
var element = document.createElement('div');
7178
dom.addClasses(element, 'class1 class2');

0 commit comments

Comments
 (0)