mirror of
https://github.com/status-im/react-native.git
synced 2025-02-24 15:18:10 +00:00
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
44 lines
1.1 KiB
JavaScript
44 lines
1.1 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
|
|
* @emails oncall+javascript_foundation
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
jest.mock('path');
|
|
jest.mock('fs');
|
|
|
|
const findAssets = require('../findAssets');
|
|
const dependencies = require('../__fixtures__/dependencies');
|
|
const fs = require('fs');
|
|
|
|
describe('findAssets', () => {
|
|
beforeEach(() => {
|
|
fs.__setMockFilesystem({testDir: dependencies.withAssets});
|
|
});
|
|
|
|
it('returns an array of all files in given folders', () => {
|
|
const assets = findAssets('/testDir', ['fonts', 'images']);
|
|
|
|
expect(Array.isArray(assets)).toBeTruthy();
|
|
expect(assets).toHaveLength(3);
|
|
});
|
|
|
|
it('prepends assets paths with the folder path', () => {
|
|
const assets = findAssets('/testDir', ['fonts', 'images']);
|
|
|
|
assets.forEach(assetPath => {
|
|
expect(assetPath).toContain('testDir');
|
|
});
|
|
});
|
|
|
|
it('returns an empty array if given assets are null', () => {
|
|
expect(findAssets('/testDir', null)).toHaveLength(0);
|
|
});
|
|
});
|