mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-20 02:38:53 +00:00
58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
import attributeClassNames from '../../../js/common/util/attribute_class_names';
|
|
|
|
const assert = require('assert');
|
|
|
|
describe('attributeClassNames', () => {
|
|
const attrs = ['mock_attr1', 'mock_attr2'];
|
|
|
|
it('Skips null states', () => {
|
|
const stateObj = null;
|
|
assert.strictEqual(
|
|
attributeClassNames(stateObj, attrs),
|
|
''
|
|
);
|
|
});
|
|
|
|
it('Matches no attrbutes', () => {
|
|
const stateObj = {
|
|
attributes: {
|
|
other_attr_1: 1,
|
|
other_attr_2: 2,
|
|
},
|
|
};
|
|
assert.strictEqual(
|
|
attributeClassNames(stateObj, attrs),
|
|
''
|
|
);
|
|
});
|
|
|
|
it('Matches one attrbute', () => {
|
|
const stateObj = {
|
|
attributes: {
|
|
other_attr_1: 1,
|
|
other_attr_2: 2,
|
|
mock_attr1: 3,
|
|
},
|
|
};
|
|
assert.strictEqual(
|
|
attributeClassNames(stateObj, attrs),
|
|
'has-mock_attr1'
|
|
);
|
|
});
|
|
|
|
it('Matches two attrbutes', () => {
|
|
const stateObj = {
|
|
attributes: {
|
|
other_attr_1: 1,
|
|
other_attr_2: 2,
|
|
mock_attr1: 3,
|
|
mock_attr2: null,
|
|
},
|
|
};
|
|
assert.strictEqual(
|
|
attributeClassNames(stateObj, attrs),
|
|
'has-mock_attr1 has-mock_attr2'
|
|
);
|
|
});
|
|
});
|