/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ 'use strict'; const FlatList = require('FlatList'); const React = require('react'); function renderMyListItem(info: {item: {title: string}, index: number}) { return ; } module.exports = { testEverythingIsFine() { const data = [ { title: 'Title Text', key: 1, }, ]; return ; }, testBadDataWithTypicalItem() { const data = [ { // $FlowExpectedError - bad title type 6, should be string title: 6, key: 1, }, ]; return ; }, testMissingFieldWithTypicalItem() { const data = [ { key: 1, }, ]; // $FlowExpectedError - missing title return ; }, testGoodDataWithBadCustomRenderItemFunction() { const data = [ { widget: 6, key: 1, }, ]; return ( ( { // $FlowExpectedError - bad widgetCount type 6, should be Object info.item.widget.missingProp } )} data={data} /> ); }, testBadRenderItemFunction() { const data = [ { title: 'foo', key: 1, }, ]; return [ // $FlowExpectedError - title should be inside `item` } data={data} />, } data={data} />, } data={data} />, // EverythingIsFine } data={data} />, ]; }, testOtherBadProps() { return [ // $FlowExpectedError - bad numColumns type "lots" , // $FlowExpectedError - bad windowSize type "big" , // $FlowExpectedError - missing `data` prop , ]; }, };