1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
-
-
- var Q = require('q');
- var os = require('os');
- var path = require('path');
- var common = require('cordova-common');
- var rewire = require('rewire');
-
- var AndroidProject = require('../../bin/templates/cordova/lib/AndroidProject');
- var builders = require('../../bin/templates/cordova/lib/builders/builders');
-
- var PluginInfo = common.PluginInfo;
-
- var FIXTURES = path.join(__dirname, '../e2e/fixtures');
- var FAKE_PROJECT_DIR = path.join(os.tmpdir(), 'plugin-test-project');
-
- describe('addPlugin method', function () {
- var api, Api, gradleBuilder;
-
- beforeEach(function () {
- Api = rewire('../../bin/templates/cordova/Api');
-
- var pluginManager = jasmine.createSpyObj('pluginManager', ['addPlugin']);
- pluginManager.addPlugin.and.returnValue(Q());
- spyOn(common.PluginManager, 'get').and.returnValue(pluginManager);
-
- var projectSpy = jasmine.createSpyObj('AndroidProject', ['getPackageName', 'write', 'isClean']);
- spyOn(AndroidProject, 'getProjectFile').and.returnValue(projectSpy);
-
- Api.__set__('Api.prototype.clean', Q);
-
-
- Api.__set__('selfEvents.emit', jasmine.createSpy());
-
- api = new Api('android', FAKE_PROJECT_DIR);
-
- gradleBuilder = jasmine.createSpyObj('gradleBuilder', ['prepBuildFiles']);
- spyOn(builders, 'getBuilder').and.returnValue(gradleBuilder);
- });
-
- const getPluginFixture = name => new PluginInfo(path.join(FIXTURES, name));
-
- it('Test#001 : should call gradleBuilder.prepBuildFiles for every plugin with frameworks', () => {
- return api.addPlugin(getPluginFixture('cordova-plugin-fake')).then(() => {
- expect(gradleBuilder.prepBuildFiles).toHaveBeenCalled();
- });
- });
-
- it('Test#002 : shouldn\'t trigger gradleBuilder.prepBuildFiles for plugins without android frameworks', () => {
- return api.addPlugin(getPluginFixture('cordova-plugin-fake-ios-frameworks')).then(() => {
- expect(gradleBuilder.prepBuildFiles).not.toHaveBeenCalled();
- });
- });
- });
|