Skip to content

Commit 2020c97

Browse files
committed
test: add test case
1 parent 10a2277 commit 2020c97

File tree

4 files changed

+33
-18
lines changed

4 files changed

+33
-18
lines changed

src/Image.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ const ImageInternal: CompoundedComponent<ImageProps> = props => {
114114
src: previewSrc,
115115
visible: previewVisible = undefined,
116116
onVisibleChange: onPreviewVisibleChange,
117-
cover: previewMask,
117+
cover,
118118
classNames: previewClassNames = {},
119119
styles: previewStyles = {},
120120
...restProps
@@ -230,15 +230,15 @@ const ImageInternal: CompoundedComponent<ImageProps> = props => {
230230
)}
231231

232232
{/* Preview Click Mask */}
233-
{previewMask !== false && canPreview && (
233+
{cover !== false && canPreview && (
234234
<div
235235
className={classnames(`${prefixCls}-cover`, previewClassNames.cover)}
236236
style={{
237237
display: style?.display === 'none' ? 'none' : undefined,
238238
...previewStyles.cover,
239239
}}
240240
>
241-
{previewMask}
241+
{cover}
242242
</div>
243243
)}
244244
</div>

src/Preview/index.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ export interface InternalPreviewConfig {
8484
motionName?: string;
8585
visible?: boolean;
8686
getContainer?: PortalProps['getContainer'];
87+
zIndex?: number;
8788

8889
// Operation
8990
movable?: boolean;
@@ -183,6 +184,7 @@ const Preview: React.FC<PreviewProps> = props => {
183184
classNames = {},
184185
styles = {},
185186
mousePosition,
187+
zIndex,
186188
} = props;
187189

188190
const imgRef = useRef<HTMLImageElement>();
@@ -383,15 +385,21 @@ const Preview: React.FC<PreviewProps> = props => {
383385
onVisibleChanged={onVisibleChanged}
384386
>
385387
{({ className: motionClassName, style: motionStyle }) => {
388+
const mergedStyle = {
389+
...styles.root,
390+
...motionStyle,
391+
};
392+
393+
if (zIndex) {
394+
mergedStyle.zIndex = zIndex;
395+
}
396+
386397
return (
387398
<div
388399
className={classnames(prefixCls, classNames.root, motionClassName, {
389400
[`${prefixCls}-moving`]: isMoving,
390401
})}
391-
style={{
392-
...styles.root,
393-
...motionStyle,
394-
}}
402+
style={mergedStyle}
395403
>
396404
{/* Mask */}
397405
<div

tests/__snapshots__/basic.test.tsx.snap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,8 @@ exports[`Basic snapshot 1`] = `
1010
src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
1111
width="200"
1212
/>
13+
<div
14+
class="rc-image-cover"
15+
/>
1316
</div>
1417
`;

tests/basic.test.tsx

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,22 @@ describe('Basic', () => {
5858
expect(img).toHaveStyle({ objectFit: 'cover' });
5959
});
6060

61-
it('wrapperClassName and wrapperStyle should work on image wrapper element', () => {
61+
it('classNames.root and styles.root should work on image wrapper element', () => {
6262
const { container } = render(
6363
<Image
6464
src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
65-
wrapperClassName="wrapper"
66-
wrapperStyle={{
67-
objectFit: 'cover',
65+
classNames={{
66+
root: 'bamboo',
67+
}}
68+
styles={{
69+
root: {
70+
objectFit: 'cover',
71+
},
6872
}}
6973
/>,
7074
);
71-
const wrapperElement = container.querySelector('img').parentElement;
72-
expect(wrapperElement).toHaveClass('wrapper');
75+
const wrapperElement = container.firstChild;
76+
expect(wrapperElement).toHaveClass('bamboo');
7377
expect(wrapperElement).toHaveStyle({ objectFit: 'cover' });
7478
});
7579

@@ -81,20 +85,20 @@ describe('Basic', () => {
8185
style={{
8286
display: 'none',
8387
}}
84-
preview={{ mask: 'Click to Preview' }}
88+
preview={{ cover: 'Click to Preview' }}
8589
/>,
8690
);
87-
const maskElement = container.querySelector('.rc-image-mask');
91+
const maskElement = container.querySelector('.rc-image-cover');
8892
expect(maskElement).toHaveStyle({ display: 'none' });
8993
});
90-
it('preview zIndex should pass into operations', () => {
94+
it('preview zIndex should pass', () => {
9195
const { baseElement } = render(
9296
<Image
9397
src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
9498
preview={{ zIndex: 9999, visible: true }}
9599
/>,
96100
);
97-
const operationsElement = baseElement.querySelector('.rc-image-preview-operations-wrapper');
98-
expect(operationsElement).toHaveStyle({ zIndex: 10000 });
101+
const operationsElement = baseElement.querySelector('.rc-image-preview');
102+
expect(operationsElement).toHaveStyle({ zIndex: 9999 });
99103
});
100104
});

0 commit comments

Comments
 (0)