mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add resizeMode tests (#53061)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53061 Changelog: [Internal] Add tests for resizeMode prop Reviewed By: rshest Differential Revision: D79600137 fbshipit-source-id: d802fb375f2f57f38a51d918d2045763dd79c440
This commit is contained in:
committed by
Facebook GitHub Bot
parent
93694e3f5d
commit
a6ef65e06b
@@ -288,6 +288,46 @@ describe('<Image>', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('resizeMode', () => {
|
||||
it('is set to "cover" by default', () => {
|
||||
const root = Fantom.createRoot();
|
||||
|
||||
Fantom.runTask(() => {
|
||||
root.render(<Image source={LOGO_SOURCE} />);
|
||||
});
|
||||
|
||||
expect(root.getRenderedOutput({props: ['resizeMode']}).toJSX()).toEqual(
|
||||
<rn-image />,
|
||||
);
|
||||
|
||||
Fantom.runTask(() => {
|
||||
root.render(<Image resizeMode="cover" source={LOGO_SOURCE} />);
|
||||
});
|
||||
|
||||
expect(root.getRenderedOutput({props: ['resizeMode']}).toJSX()).toEqual(
|
||||
<rn-image />,
|
||||
);
|
||||
});
|
||||
|
||||
(['stretch', 'contain', 'repeat', 'center'] as const).forEach(
|
||||
resizeMode => {
|
||||
it(`can be set to "${resizeMode}"`, () => {
|
||||
const root = Fantom.createRoot();
|
||||
|
||||
Fantom.runTask(() => {
|
||||
root.render(
|
||||
<Image resizeMode={resizeMode} source={LOGO_SOURCE} />,
|
||||
);
|
||||
});
|
||||
|
||||
expect(
|
||||
root.getRenderedOutput({props: ['resizeMode']}).toJSX(),
|
||||
).toEqual(<rn-image resizeMode={resizeMode} />);
|
||||
});
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('ref', () => {
|
||||
|
||||
@@ -304,8 +304,30 @@ SharedDebugStringConvertibleList ImageProps::getDebugProps() const {
|
||||
SharedDebugStringConvertibleList{
|
||||
debugStringConvertibleItem(
|
||||
"blurRadius", blurRadius, imageProps.blurRadius),
|
||||
debugStringConvertibleItem(
|
||||
"resizeMode",
|
||||
toString(resizeMode),
|
||||
toString(imageProps.resizeMode)),
|
||||
};
|
||||
}
|
||||
|
||||
inline std::string toString(ImageResizeMode resizeMode) {
|
||||
switch (resizeMode) {
|
||||
case ImageResizeMode::Cover:
|
||||
return "cover";
|
||||
case ImageResizeMode::Contain:
|
||||
return "contain";
|
||||
case ImageResizeMode::Stretch:
|
||||
return "stretch";
|
||||
case ImageResizeMode::Center:
|
||||
return "center";
|
||||
case ImageResizeMode::Repeat:
|
||||
return "repeat";
|
||||
case ImageResizeMode::None:
|
||||
return "none";
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace facebook::react
|
||||
|
||||
@@ -34,7 +34,7 @@ class ImageProps final : public ViewProps {
|
||||
ImageSources sources{};
|
||||
ImageSource defaultSource{};
|
||||
ImageSource loadingIndicatorSource{};
|
||||
ImageResizeMode resizeMode{ImageResizeMode::Stretch};
|
||||
ImageResizeMode resizeMode{ImageResizeMode::Cover};
|
||||
Float blurRadius{};
|
||||
EdgeInsets capInsets{};
|
||||
SharedColor tintColor{};
|
||||
|
||||
Reference in New Issue
Block a user