2023-01-20 11:03:50 +08:00
|
|
|
import { spyElementPrototype } from 'rc-util/lib/test/domHook';
|
2023-05-06 15:49:37 +08:00
|
|
|
import * as React from 'react';
|
2023-01-20 11:03:50 +08:00
|
|
|
import demoTest, { rootPropsTest } from '../../../tests/shared/demoTest';
|
|
|
|
|
|
|
|
demoTest('affix', {
|
|
|
|
testRootProps: false,
|
|
|
|
});
|
|
|
|
|
|
|
|
rootPropsTest(
|
|
|
|
'affix',
|
|
|
|
(Affix, props) => (
|
|
|
|
<Affix {...props} className="fixed" target={() => document.querySelector('#holder')}>
|
|
|
|
Bamboo
|
|
|
|
</Affix>
|
|
|
|
),
|
|
|
|
{
|
|
|
|
beforeRender: () => {
|
|
|
|
spyElementPrototype(HTMLElement, 'getBoundingClientRect', function getBoundingClientRect() {
|
|
|
|
if (this.id === 'holder') {
|
|
|
|
return { top: 0, bottom: 100 };
|
|
|
|
}
|
|
|
|
|
|
|
|
if (this.className === 'fixed') {
|
|
|
|
return { top: -100, bottom: -100 };
|
|
|
|
}
|
|
|
|
|
|
|
|
return { top: 0, bottom: 0 };
|
|
|
|
});
|
|
|
|
},
|
|
|
|
findRootElements: () => document.querySelectorAll('.ant-affix'),
|
|
|
|
expectCount: 1,
|
|
|
|
},
|
|
|
|
);
|