Files
react-native/Libraries/StyleSheet/__tests__/splitLayoutProps-test.js
T
Rujin Cao b2ac528156 @emails -> @oncall (remaining ones)
Differential Revision: D39536169

fbshipit-source-id: 6c8d6787328eefecd23f3498b14a6d9ff750a670
2022-09-15 15:54:10 -07:00

54 lines
1.2 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
* @oncall react_native
*/
'use strict';
const splitLayoutProps = require('../splitLayoutProps').default;
test('splits style objects', () => {
const style = {width: 10, margin: 20, padding: 30, transform: {scaleY: -1}};
const {outer, inner} = splitLayoutProps(style);
expect(outer).toMatchInlineSnapshot(`
Object {
"margin": 20,
"transform": Object {
"scaleY": -1,
},
"width": 10,
}
`);
expect(inner).toMatchInlineSnapshot(`
Object {
"padding": 30,
}
`);
});
test('does not copy values to both returned objects', () => {
const style = {marginVertical: 5, paddingHorizontal: 10};
const {outer, inner} = splitLayoutProps(style);
expect(outer).toMatchInlineSnapshot(`
Object {
"marginVertical": 5,
}
`);
expect(inner).toMatchInlineSnapshot(`
Object {
"paddingHorizontal": 10,
}
`);
});
test('returns null values if argument is null', () => {
const {outer, inner} = splitLayoutProps(null);
expect(outer).toBe(null);
expect(inner).toBe(null);
});