ant-design/components/config-provider/__tests__/cssinjs.test.tsx
二货机器人 912ffb15d0
refactor: Button with cssinjs (#33890)
* init

* chore: cssinjs base button

* chore: more style

* chore: mix style

* chore: size

* chore: more style

* misc

* chore: re-structrue

* chore: icon onlt

* chore: back of disabled

* chore: loading status

* chore: loading motion

* chore: add active style

* docs: site prepare dynamic theme

* chore: bump antd cssinjs

* chore: color type check

* chore: bump cssinjs version

* chore: clean up useless ts def

* chore: ignore button style

* chore: rename ci

* chore: update cssinjs ver

* chore: ssr default wrapper

* chore: bump cssinjs version

* chore: ssr support

* chore: fix script

* test: fix node snapshot

* chore: move cssinjs pkg size from css to js

* test: coverage
2022-02-18 14:17:32 +08:00

50 lines
1.1 KiB
TypeScript

import * as React from 'react';
import { mount } from 'enzyme';
import ConfigProvider from '..';
import Button from '../../button';
describe('ConfigProvider.DynamicTheme', () => {
beforeEach(() => {
Array.from(document.querySelectorAll('style')).forEach(style => {
style.parentNode?.removeChild(style);
});
});
it('customize primary color', () => {
mount(
<ConfigProvider
theme={{
token: {
primaryColor: '#f00',
},
}}
>
<Button />
</ConfigProvider>,
);
const dynamicStyles = Array.from(document.querySelectorAll('style[data-css-hash]'));
expect(
dynamicStyles.some(style => {
const { innerHTML } = style;
return (
innerHTML.includes('.ant-btn-primary') && innerHTML.includes('background-color:#f00')
);
}),
).toBeTruthy();
});
it('not crash on null token', () => {
expect(() => {
mount(
<ConfigProvider
theme={{
token: null as any,
}}
/>,
);
}).not.toThrow();
});
});