Files
Panos VekrisandFacebook GitHub Bot 0c70c0166e pre-suppress errors for natural inference rollout in xplat/js (#51524)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/51524

Links in error suppressions will point to the announcement post in Flow FYI.

Changelog: [Internal]

drop-conflicts

Reviewed By: marcoww6

Differential Revision: D75188177

fbshipit-source-id: 27ea1fbee848e9371e679cf423e30bc9608edea0
2025-05-22 02:50:47 -07:00

85 lines
2.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.
*
* @flow strict-local
* @format
*/
'use strict';
import type {SchemaType} from '../CodegenSchema.js';
const fixtures = require('../generators/components/__test_fixtures__/fixtures.js');
const schemaValidator = require('../SchemaValidator.js');
const simpleProp = {
name: 'disabled',
optional: true,
typeAnnotation: {
type: 'BooleanTypeAnnotation',
default: false,
},
};
describe('SchemaValidator', () => {
it('fails on components across modules with same name', () => {
const fixture: SchemaType = {
modules: {
/* $FlowFixMe[incompatible-type] Natural Inference rollout. See
* https://fburl.com/workplace/6291gfvu */
Module1: {
type: 'Component',
components: {
Component1: {
extendsProps: [
{
type: 'ReactNativeBuiltInType',
knownTypeName: 'ReactNativeCoreViewProps',
},
],
events: [],
props: [simpleProp],
commands: [],
},
},
},
/* $FlowFixMe[incompatible-type] Natural Inference rollout. See
* https://fburl.com/workplace/6291gfvu */
Module2: {
type: 'Component',
components: {
Component1: {
extendsProps: [
{
type: 'ReactNativeBuiltInType',
knownTypeName: 'ReactNativeCoreViewProps',
},
],
events: [],
props: [simpleProp],
commands: [],
},
},
},
},
};
expect(schemaValidator.getErrors(fixture)).toMatchSnapshot();
});
describe('fixture', () => {
Object.keys(fixtures)
.sort()
.forEach(fixtureName => {
const fixture = fixtures[fixtureName];
it(`${fixtureName} has no errors`, () => {
expect(schemaValidator.getErrors(fixture)).toHaveLength(0);
});
});
});
});