/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native-codegen/src/__tests__/SchemaValidator-test.js
84 строки
2 KB
Panos Vekris
pre-suppress errors for natural inference rollout in xplat/js (#51524)
22 май 2025, 12:50
22 май 2025, 12:50
0c70c01
Код
Авторство
О чём код?
/** * 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); }); }); }); });