UNPKG

react-native-reanimated-carousel

Version:

Simple carousel component.fully implemented using Reanimated 2.Infinitely scrolling, very smooth.

2 lines 3.66 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _reactHooks=require("@testing-library/react-hooks");var _useInitProps=require("./useInitProps");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/useInitProps.test.tsx";describe("useInitProps",function(){var defaultData=[1,2,3,4];var defaultProps={data:defaultData,width:300,height:200,renderItem:function renderItem(_ref){var _item=_ref.item;return(0,_jsxRuntime.jsx)(_reactNative.Text,{children:"Item"});}};it("should initialize with default values",function(){var _renderHook=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(defaultProps);}),result=_renderHook.result;expect(result.current).toEqual(expect.objectContaining({defaultIndex:0,loop:true,autoPlayInterval:1000,scrollAnimationDuration:500,width:300,height:200,enabled:true,autoFillData:true,pagingEnabled:true,snapEnabled:true,overscrollEnabled:true,data:defaultData,rawData:defaultData,dataLength:4,rawDataLength:4}));});it("should handle custom values",function(){var customProps=Object.assign({},defaultProps,{defaultIndex:2,loop:false,autoPlayInterval:2000,scrollAnimationDuration:300,enabled:false,autoFillData:false,pagingEnabled:false,snapEnabled:false,overscrollEnabled:false});var _renderHook2=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(customProps);}),result=_renderHook2.result;expect(result.current).toEqual(expect.objectContaining(Object.assign({},customProps,{data:defaultData,rawData:defaultData,dataLength:4,rawDataLength:4})));});it("should handle stack mode configuration",function(){var stackProps=Object.assign({},defaultProps,{mode:"horizontal-stack",modeConfig:{showLength:3}});var _renderHook3=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(stackProps);}),result=_renderHook3.result;expect(result.current.modeConfig).toBeDefined();if(result.current.modeConfig&&"showLength"in result.current.modeConfig)expect(result.current.modeConfig.showLength).toBe(3);});it("should handle empty data array",function(){var props=Object.assign({},defaultProps,{data:[]});var _renderHook4=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(props);}),result=_renderHook4.result;expect(result.current.dataLength).toBe(0);expect(result.current.rawDataLength).toBe(0);});it("should round width and height values",function(){var props=Object.assign({},defaultProps,{width:300.6,height:200.4});var _renderHook5=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(props);}),result=_renderHook5.result;expect(result.current.width).toBe(301);expect(result.current.height).toBe(200);});it("should handle enableSnap property",function(){var props=Object.assign({},defaultProps,{enableSnap:false});var _renderHook6=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(props);}),result=_renderHook6.result;expect(result.current.snapEnabled).toBe(false);});it("should handle vertical-stack mode",function(){var props=Object.assign({},defaultProps,{mode:"vertical-stack",modeConfig:{showLength:3}});var _renderHook7=(0,_reactHooks.renderHook)(function(){return(0,_useInitProps.useInitProps)(props);}),result=_renderHook7.result;expect(result.current.modeConfig).toBeDefined();if(result.current.modeConfig&&"showLength"in result.current.modeConfig)expect(result.current.modeConfig.showLength).toBe(3);});}); //# sourceMappingURL=useInitProps.test.js.map