mirror of https://github.com/status-im/metro.git
[react-packager] Add tests to ensure we return all dependency types
This commit is contained in:
parent
69e4217fbe
commit
4b9d5f8ad0
|
@ -23,6 +23,9 @@ describe('Packager', function() {
|
||||||
var getDependencies;
|
var getDependencies;
|
||||||
var wrapModule;
|
var wrapModule;
|
||||||
var Packager;
|
var Packager;
|
||||||
|
var packager;
|
||||||
|
var assetServer;
|
||||||
|
var modules;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
getDependencies = jest.genMockFn();
|
getDependencies = jest.genMockFn();
|
||||||
|
@ -35,30 +38,27 @@ describe('Packager', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
Packager = require('../');
|
Packager = require('../');
|
||||||
});
|
|
||||||
|
|
||||||
pit('create a package', function() {
|
|
||||||
require('fs').statSync.mockImpl(function() {
|
require('fs').statSync.mockImpl(function() {
|
||||||
return {
|
return {
|
||||||
isDirectory: function() {return true;}
|
isDirectory: () => true
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
require('fs').readFile.mockImpl(function(file, callback) {
|
require('fs').readFile.mockImpl(function(file, callback) {
|
||||||
callback(null, '{"json":true}');
|
callback(null, '{"json":true}');
|
||||||
});
|
});
|
||||||
|
|
||||||
var assetServer = {
|
assetServer = {
|
||||||
getAssetData: jest.genMockFn(),
|
getAssetData: jest.genMockFn(),
|
||||||
};
|
};
|
||||||
|
|
||||||
var packager = new Packager({
|
packager = new Packager({
|
||||||
projectRoots: ['/root'],
|
projectRoots: ['/root'],
|
||||||
assetServer: assetServer,
|
assetServer: assetServer,
|
||||||
});
|
});
|
||||||
|
|
||||||
var modules = [
|
modules = [
|
||||||
{id: 'foo', path: '/root/foo.js', dependencies: []},
|
{id: 'foo', path: '/root/foo.js', dependencies: []},
|
||||||
{id: 'bar', path: '/root/bar.js', dependencies: []},
|
{id: 'bar', path: '/root/bar.js', dependencies: []},
|
||||||
{
|
{
|
||||||
|
@ -116,7 +116,9 @@ describe('Packager', function() {
|
||||||
type: 'png',
|
type: 'png',
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
pit('create a package', function() {
|
||||||
return packager.package('/root/foo.js', true, 'source_map_url')
|
return packager.package('/root/foo.js', true, 'source_map_url')
|
||||||
.then(function(p) {
|
.then(function(p) {
|
||||||
expect(p.addModule.mock.calls[0][0]).toEqual({
|
expect(p.addModule.mock.calls[0][0]).toEqual({
|
||||||
|
@ -200,4 +202,42 @@ describe('Packager', function() {
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
pit('gets the list of dependencies', function() {
|
||||||
|
return packager.getDependencies('/root/foo.js', true)
|
||||||
|
.then(({dependencies}) => {
|
||||||
|
expect(dependencies).toEqual([
|
||||||
|
{
|
||||||
|
dependencies: [],
|
||||||
|
id: 'foo',
|
||||||
|
path: '/root/foo.js',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
dependencies: [],
|
||||||
|
id: 'bar',
|
||||||
|
path: '/root/bar.js',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
dependencies: [],
|
||||||
|
id: 'image!img',
|
||||||
|
isAsset_DEPRECATED: true,
|
||||||
|
path: '/root/img/img.png',
|
||||||
|
resolution: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
dependencies: [],
|
||||||
|
id: 'new_image.png',
|
||||||
|
isAsset: true,
|
||||||
|
path: '/root/img/new_image.png',
|
||||||
|
resolution: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
dependencies: [],
|
||||||
|
id: 'package/file.json',
|
||||||
|
isJSON: true,
|
||||||
|
path: '/root/file.json',
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue