mirror of
https://github.com/status-im/react-native.git
synced 2025-02-04 21:53:30 +00:00
e327f88f02
Summary: @public These tests are using a mock memory FS to start with, so there is no reason at all they should depend on the host OS or filesystem details. This changeset fixes that so that we fully mock the `fs` and `path` modules dependending on the mock platform (not the host platform). I also added an example of how we can test both platforms (regardless of the host platform) in `findPackageClassName`. Follow up changeset will be to do the same for all the other affected tests. Related to https://github.com/facebook/react-native/issues/20260. Reviewed By: mjesun Differential Revision: D9771024 fbshipit-source-id: b368b43e8e54292d33b6183eec9a9ea69f2e6e76
94 lines
1.9 KiB
JavaScript
94 lines
1.9 KiB
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
*/
|
|
|
|
const fs = require.requireActual('fs');
|
|
const path = require.requireActual('path');
|
|
|
|
const manifest = fs.readFileSync(
|
|
path.join(__dirname, './files/AndroidManifest.xml'),
|
|
);
|
|
const mainJavaClass = fs.readFileSync(
|
|
path.join(__dirname, './files/Main.java'),
|
|
);
|
|
|
|
function generateValidFileStructure(classFileName) {
|
|
return {
|
|
src: {
|
|
'AndroidManifest.xml': manifest,
|
|
main: {
|
|
com: {
|
|
some: {
|
|
example: {
|
|
'Main.java': mainJavaClass,
|
|
[classFileName]: fs.readFileSync(
|
|
path.join(__dirname, `./files/${classFileName}`),
|
|
),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
}
|
|
|
|
exports.valid = generateValidFileStructure('ReactPackage.java');
|
|
|
|
exports.validKotlin = generateValidFileStructure('ReactPackage.kt');
|
|
|
|
exports.userConfigManifest = {
|
|
src: {
|
|
main: {
|
|
'AndroidManifest.xml': manifest,
|
|
com: {
|
|
some: {
|
|
example: {
|
|
'Main.java': mainJavaClass,
|
|
'ReactPackage.java': fs.readFileSync(
|
|
path.join(__dirname, './files/ReactPackage.java'),
|
|
),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
debug: {
|
|
'AndroidManifest.xml': fs.readFileSync(
|
|
path.join(__dirname, './files/AndroidManifest-debug.xml'),
|
|
),
|
|
},
|
|
},
|
|
};
|
|
|
|
exports.corrupted = {
|
|
src: {
|
|
'AndroidManifest.xml': manifest,
|
|
main: {
|
|
com: {
|
|
some: {
|
|
example: {},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
exports.noPackage = {
|
|
src: {
|
|
'AndroidManifest.xml': manifest,
|
|
main: {
|
|
com: {
|
|
some: {
|
|
example: {
|
|
'Main.java': mainJavaClass,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|