UNPKG

react-native-builder-bob

Version:

CLI to build JavaScript files for React Native libraries

78 lines (77 loc) 3.06 kB
"use strict"; var _vitest = require("vitest"); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _nodePath = _interopRequireDefault(require("node:path")); var _removeCodegenAppLevelCode = require("./removeCodegenAppLevelCode"); var _mockFs = _interopRequireDefault(require("mock-fs")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const mockPackageJson = { codegenConfig: { outputDir: { android: 'android/generated', ios: 'ios/generated' } } }; const mockProjectPath = _nodePath.default.resolve(__dirname, 'mockProject'); (0, _vitest.describe)('patchCodegenAndroidPackage', () => { (0, _vitest.beforeEach)(() => { (0, _mockFs.default)({ [mockProjectPath]: { 'package.json': JSON.stringify(mockPackageJson), 'ios': { generated: { 'RCTAppDependencyProvider.h': '', 'RCTAppDependencyProvider.mm': '', 'RCTModulesConformingToProtocolsProvider.h': '', 'RCTModulesConformingToProtocolsProvider.mm': '', 'RCTThirdPartyComponentsProvider.h': '', 'RCTThirdPartyComponentsProvider.mm': '', 'ReactAppDependencyProvider.podspec': '' } }, 'android': { generated: { 'RCTAppDependencyProvider.h': '', 'RCTAppDependencyProvider.mm': '', 'RCTModulesConformingToProtocolsProvider.h': '', 'RCTModulesConformingToProtocolsProvider.mm': '', 'RCTThirdPartyComponentsProvider.h': '', 'RCTThirdPartyComponentsProvider.mm': '', 'ReactAppDependencyProvider.podspec': '' } } } }); }); (0, _vitest.afterEach)(() => { _mockFs.default.restore(); }); (0, _vitest.test)('removes the duplicate iOS files', async () => { await (0, _removeCodegenAppLevelCode.removeCodegenAppLevelCode)(mockProjectPath, mockPackageJson); (0, _vitest.expect)((await _fsExtra.default.promises.readdir(_nodePath.default.join(mockProjectPath, 'ios', 'generated'))).length).toBe(0); }); (0, _vitest.test)('removes the unnecessary Android files', async () => { await (0, _removeCodegenAppLevelCode.removeCodegenAppLevelCode)(mockProjectPath, mockPackageJson); (0, _vitest.expect)((await _fsExtra.default.promises.readdir(_nodePath.default.join(mockProjectPath, 'android', 'generated'))).length).toBe(0); }); (0, _vitest.test)("doesn't crash the process when there are no files to remove", async () => { (0, _mockFs.default)({ [mockProjectPath]: { 'package.json': JSON.stringify(mockPackageJson), 'ios': { generated: { someRandomFile: '' } }, 'android': { generated: { someRandomFile: '' } } } }); await (0, _vitest.expect)((0, _removeCodegenAppLevelCode.removeCodegenAppLevelCode)(mockProjectPath, mockPackageJson)).resolves.not.toThrow(); }); }); //# sourceMappingURL=removeCodegenAppLevelCode.test.js.map