mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-02 09:21:44 +08:00
Summary: This PR is the result of running `yarn prettify` on the codebase - which caught a few files that were not prettified. This will make instructing people to run prettify a bit less complicated, since unrelated files will not show up in diffs. Pull Request resolved: https://github.com/facebook/react-native/pull/21327 Differential Revision: D10046057 Pulled By: TheSavior fbshipit-source-id: 2c771a3c758c72816c707e32ee2f4587e466f277
76 lines
2.0 KiB
JavaScript
76 lines
2.0 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.dontMock('../getAssetDestPathAndroid').dontMock('../assetPathUtils');
|
|
|
|
const getAssetDestPathAndroid = require('../getAssetDestPathAndroid');
|
|
|
|
const path = require('path');
|
|
|
|
describe('getAssetDestPathAndroid', () => {
|
|
it('should use the right destination folder', () => {
|
|
const asset = {
|
|
name: 'icon',
|
|
type: 'png',
|
|
httpServerLocation: '/assets/test',
|
|
};
|
|
|
|
const expectDestPathForScaleToStartWith = (scale, path) => {
|
|
if (!getAssetDestPathAndroid(asset, scale).startsWith(path)) {
|
|
throw new Error(
|
|
`asset for scale ${scale} should start with path '${path}'`,
|
|
);
|
|
}
|
|
};
|
|
|
|
expectDestPathForScaleToStartWith(1, 'drawable-mdpi');
|
|
expectDestPathForScaleToStartWith(1.5, 'drawable-hdpi');
|
|
expectDestPathForScaleToStartWith(2, 'drawable-xhdpi');
|
|
expectDestPathForScaleToStartWith(3, 'drawable-xxhdpi');
|
|
expectDestPathForScaleToStartWith(4, 'drawable-xxxhdpi');
|
|
});
|
|
|
|
it('should lowercase path', () => {
|
|
const asset = {
|
|
name: 'Icon',
|
|
type: 'png',
|
|
httpServerLocation: '/assets/App/Test',
|
|
};
|
|
|
|
expect(getAssetDestPathAndroid(asset, 1)).toBe(
|
|
path.normalize('drawable-mdpi/app_test_icon.png'),
|
|
);
|
|
});
|
|
|
|
it('should remove `assets/` prefix', () => {
|
|
const asset = {
|
|
name: 'icon',
|
|
type: 'png',
|
|
httpServerLocation: '/assets/RKJSModules/Apps/AndroidSample/Assets',
|
|
};
|
|
|
|
expect(getAssetDestPathAndroid(asset, 1).startsWith('assets_')).toBeFalsy();
|
|
});
|
|
|
|
it('should put non-drawable resources to `raw/`', () => {
|
|
const asset = {
|
|
name: 'video',
|
|
type: 'mp4',
|
|
httpServerLocation: '/assets/app/test',
|
|
};
|
|
|
|
expect(getAssetDestPathAndroid(asset, 1)).toBe(
|
|
path.normalize('raw/app_test_video.mp4'),
|
|
);
|
|
});
|
|
});
|