office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
43 lines (41 loc) • 1.75 kB
JavaScript
var properties_1 = require('./properties');
var expect = chai.expect;
describe('getNativeProps', function () {
it('can pass through data tags', function () {
var result = properties_1.getNativeProps({
'data-automation-id': 1
}, properties_1.divProperties);
expect(result['data-automation-id']).equals(1);
});
it('can pass through aria tags', function () {
var result = properties_1.getNativeProps({
'aria-label': 1
}, properties_1.divProperties);
expect(result['aria-label']).equals(1);
});
it('can pass through basic div properties and events', function () {
var result = properties_1.getNativeProps({
className: 'foo',
onClick: function () { },
onClickCapture: function () { }
}, properties_1.divProperties);
expect(result.className).equals('foo');
expect(result.onClick).is.instanceof(Function, 'onClick not function');
expect(result['onClickCapture']).is.instanceof(Function, 'onClickCapture not function'); // tslint:disable-line:no-string-literal
});
it('can remove unexpected properties', function () {
var result = properties_1.getNativeProps({
'foobar': 1,
className: 'hi'
}, properties_1.divProperties);
expect(result.className).equals('hi');
expect(result['foobar']).equals(undefined); // tslint:disable-line:no-string-literal
});
it('can exclude properties', function () {
var result = properties_1.getNativeProps({ a: 1, b: 2 }, ['a', 'b'], ['b']);
expect(result.a).to.exist;
expect(result.b).to.not.exist;
});
});
//# sourceMappingURL=properties.test.js.map
;