Files
Shawn DempseyandFacebook GitHub Bot 17d0345fdf Migrate FlatList/SectionList E2E testss from Catalyst to RNTester (#46274)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/46274

changelog: [General][Add] - Add E2E test cases for Flat/SectionList to RNTester

Reviewed By: philIip

Differential Revision: D62002065

fbshipit-source-id: 038907cd7afd33505b7599e390cb9f366b7b32f6
2024-09-06 15:13:33 -07:00

85 lines
2.1 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow strict-local
*/
'use strict';
import SectionListBaseExample from './SectionListBaseExample';
import * as React from 'react';
import {StyleSheet, Text, View} from 'react-native';
export function SectionList_contentInset(): React.Node {
const [initialContentInset, toggledContentInset] = [44, 88];
const [output, setOutput] = React.useState(
`contentInset top: ${initialContentInset.toString()}`,
);
const [exampleProps, setExampleProps] = React.useState({
automaticallyAdjustContentInsets: false,
contentInset: {top: initialContentInset},
contentOffset: {y: -initialContentInset, x: 0},
});
const onTest = () => {
const newContentInset =
exampleProps.contentInset.top === initialContentInset
? toggledContentInset
: initialContentInset;
setExampleProps({
automaticallyAdjustContentInsets: false,
contentInset: {top: newContentInset},
contentOffset: {y: -newContentInset, x: 0},
});
setOutput(`contentInset top: ${newContentInset.toString()}`);
};
return (
<>
<View
style={[
styles.titleContainer,
{height: exampleProps.contentInset.top},
]}>
<Text style={styles.titleText}>Menu</Text>
</View>
<SectionListBaseExample
exampleProps={exampleProps}
testOutput={output}
onTest={onTest}
testLabel={'Toggle header size'}
/>
</>
);
}
const styles = StyleSheet.create({
titleContainer: {
position: 'absolute',
top: 40,
left: 0,
right: 0,
justifyContent: 'flex-end',
alignItems: 'center',
backgroundColor: 'gray',
zIndex: 1,
},
titleText: {
fontSize: 24,
lineHeight: 44,
fontWeight: 'bold',
},
});
export default {
title: 'SectionList Content Inset',
platform: 'ios',
name: 'contentInset',
render: function (): React.MixedElement {
return <SectionList_contentInset />;
},
};