UNPKG

jss-cache

Version:

JSS plugin that caches the rules and delivers insane performance.

68 lines (57 loc) 2.04 kB
'use strict'; var _expect = require('expect.js'); var _expect2 = _interopRequireDefault(_expect); var _jss = require('jss'); var _index = require('./index'); var _index2 = _interopRequireDefault(_index); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } describe('jss-cache', function () { var jss = void 0; beforeEach(function () { jss = (0, _jss.create)().use((0, _index2['default'])()); }); describe('ensure cache is used', function () { it('should not call onCreateRule', function () { var styles = { a: { color: 'red' } }; var onCreateRuleCalled = false; // After the first call its cached. jss.createStyleSheet(styles); jss.use({ onCreateRule: function onCreateRule() { onCreateRuleCalled = true; } }); jss.createStyleSheet(styles); (0, _expect2['default'])(onCreateRuleCalled).to.be(false); }); it('should not call processors on a cached rule', function () { var styles = { a: { color: 'red' } }; var onProcessRuleCalled = false; // After the first call its cached. jss.createStyleSheet(styles); jss.use({ onProcessRule: function onProcessRule() { onProcessRuleCalled = true; } }); jss.createStyleSheet(styles); (0, _expect2['default'])(onProcessRuleCalled).to.be(false); }); }); describe('linked rules should not be cached', function () { it('should call onCreateRule', function () { var styles = { a: { color: 'red' } }; var options = { link: true }; var onCreateRuleCalled = false; // After the first call it should not be cached. jss.createStyleSheet(styles, options); jss.use({ onCreateRule: function onCreateRule() { onCreateRuleCalled = true; } }); jss.createStyleSheet(styles, options); (0, _expect2['default'])(onCreateRuleCalled).to.be(true); }); }); }); /* eslint-disable no-underscore-dangle */