UNPKG

react-native-ui-lib

Version:

UI Toolset & Components Library for React Native

65 lines (54 loc) 2.37 kB
var _lodash=require('lodash');var _lodash2=_interopRequireDefault(_lodash); var _TextInput=require('../TextInput');var _TextInput2=_interopRequireDefault(_TextInput); var _helpers=require('../../../helpers'); var _style=require('../../../style');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};} describe('TextInput',function(){ describe('shouldFakePlaceholder',function(){ it('should shouldFakePlaceholder',function(){ var uut=new _TextInput2.default({}); expect(uut.shouldFakePlaceholder()).toBe(false); uut=new _TextInput2.default({floatingPlaceholder:true}); expect(uut.shouldFakePlaceholder()).toBe(true); uut=new _TextInput2.default({floatingPlaceholder:true,centered:true}); expect(uut.shouldFakePlaceholder()).toBe(false); }); }); describe('calcMultilineInputHeight',function(){ it('should setState height with undefined',function(){ var uut=new _TextInput2.default({}); jest.spyOn(uut,'setState').mockImplementation(function(){}); uut.calcMultilineInputHeight(); expect(uut.setState.height).toBeUndefined(); }); it('should iOS, when only multiline, setState height with undefined',function(){ var uut=new _TextInput2.default({multiline:true}); jest.spyOn(uut,'setState').mockImplementation(function(){}); uut.calcMultilineInputHeight(); expect(uut.setState.height).toBeUndefined(); }); it('should iOS, when multiline and numberOfLines, setState height with typography * numberOfLines',function(){ var uut=new _TextInput2.default({multiline:true,numberOfLines:2}); jest.spyOn(uut,'setState').mockImplementation(function(){}); jest.spyOn(uut,'getTypography'); uut.getTypography.mockReturnValue(_style.Typography.text70); var lineHeight=_style.Typography.text70.lineHeight;var numberOfLines=uut.props.numberOfLines; var boxHeight=lineHeight*numberOfLines; uut.calcMultilineInputHeight(); expect(uut.setState).toHaveBeenCalledWith({height:boxHeight}); }); it('should Android setState height with native event height',function(){ mockAndroid(); var event={}; _lodash2.default.set(event,'nativeEvent.contentSize.height',77); var uut=new _TextInput2.default({}); jest.spyOn(uut,'setState').mockImplementation(function(){}); uut.calcMultilineInputHeight(event); expect(uut.setState).toHaveBeenCalledWith({height:77}); }); }); }); function mockAndroid(){ _helpers.Constants.isIOS=false; _helpers.Constants.isAndroid=true; }