Outlook_Addin_LLM/node_modules/@fluentui/utilities/lib-amd/classNamesFunction.test.js

81 lines
3.6 KiB
JavaScript

define(["require", "exports", "@fluentui/merge-styles", "./classNamesFunction", "./rtl"], function (require, exports, merge_styles_1, classNamesFunction_1, rtl_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
describe('classNamesFunction', function () {
beforeEach(function () {
merge_styles_1.Stylesheet.getInstance().reset();
merge_styles_1.Stylesheet.getInstance().setConfig({
onInsertRule: function () {
/*no-op*/
},
});
});
afterEach(function () {
merge_styles_1.Stylesheet.getInstance().setConfig({
onInsertRule: undefined,
});
});
it('can cache rules', function () {
var styleFunction1Called = false;
var styleFunction2Called = false;
var getClassNames = (0, classNamesFunction_1.classNamesFunction)();
var getStyles1 = function (props) {
styleFunction1Called = true;
return {
root: { width: props.a },
};
};
var getStyles2 = function (props) {
styleFunction2Called = true;
return {
root: { height: props.a },
};
};
var classNames1 = getClassNames(getStyles1, { a: 1, b: 'test' });
var classNames2 = getClassNames(getStyles2, { a: 1, b: 'test' });
expect(styleFunction1Called).toEqual(true);
expect(styleFunction2Called).toEqual(true);
styleFunction1Called = false;
styleFunction2Called = false;
expect(getClassNames(getStyles1, { a: 1, b: 'test' })).toEqual(classNames1);
expect(styleFunction1Called).toEqual(false);
expect(getClassNames(getStyles2, { a: 1, b: 'test' })).toEqual(classNames2);
expect(styleFunction2Called).toEqual(false);
expect(getClassNames(getStyles1, { a: 2, b: 'test' })).not.toEqual(classNames1);
expect(styleFunction1Called).toEqual(true);
styleFunction1Called = false;
getClassNames(getStyles1, { a: 2, b: 'test' });
expect(styleFunction1Called).toEqual(false);
});
describe('ltr/rtl from theme', function () {
var originalRtl;
var setRule;
beforeEach(function () {
merge_styles_1.Stylesheet.getInstance().setConfig({
onInsertRule: function (rule) {
setRule = rule;
},
});
});
beforeEach(function () { return (originalRtl = (0, rtl_1.getRTL)()); });
afterEach(function () { return (0, rtl_1.setRTL)(originalRtl); });
var getClassNames = (0, classNamesFunction_1.classNamesFunction)();
var getStyles = function () {
return {
root: { left: 1 },
};
};
it('renders rtl if specified in theme', function () {
(0, rtl_1.setRTL)(false);
getClassNames(getStyles, { theme: { rtl: true } });
expect(setRule).toEqual('.root-0{right:1px;}');
});
it('renders ltr if specified in theme', function () {
(0, rtl_1.setRTL)(true);
getClassNames(getStyles, { theme: { rtl: false } });
expect(setRule).toEqual('.root-0{left:1px;}');
});
});
});
});
//# sourceMappingURL=classNamesFunction.test.js.map