1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /* global cordova:true */
- /*!
- * Module dependencies.
- */
- /**
- * cordova.js for node.
- *
- * Think of this as cordova-node, which would be simliar to cordova-android
- * or cordova-browser. The purpose of this module is to enable testing
- * of a plugin's JavaScript interface.
- *
- * When this module is first required, it will insert a global cordova
- * instance, which can hijack cordova-specific commands within the pluin's
- * implementation.
- *
- * Remember to require this module before the plugin that you want to test.
- *
- * Example:
- *
- * var cordova = require('./helper/cordova'),
- * myPlugin = require('../www/myPlugin');
- */
- module.exports = global.cordova = cordova = {
- /**
- * cordova.require Mock.
- *
- * Hijacks all cordova.requires. By default, it returns an empty function.
- * You can define your own implementation of each required module before
- * or after it has been required.
- *
- * See `cordova.required` to learn how to add your own module implemtnation.
- */
- require: function(moduleId) {
- // define a default function if it doesn't exist
- if (!cordova.required[moduleId]) {
- cordova.required[moduleId] = function() {};
- }
- // create a new module mapping between the module Id and cordova.required.
- return new ModuleMap(moduleId);
- },
- /**
- * Cordova module implementations.
- *
- * A key-value hash, where the key is the module such as 'cordova/exec'
- * and the value is the function or object returned.
- *
- * For example:
- *
- * var exec = require('cordova/exec');
- *
- * Will map to:
- *
- * cordova.required['cordova/exec'];
- */
- required: {
- // populated at runtime
- }
- };
- /**
- * Module Mapper.
- *
- * Returns a function that when executed will lookup the implementation
- * in cordova.required[id].
- *
- * @param {String} moduleId is the module name/path, such as 'cordova/exec'
- * @return {Function}.
- */
- function ModuleMap(moduleId) {
- return function() {
- // lookup and execute the module's mock implementation, passing
- // in any parameters that were provided.
- return cordova.required[moduleId].apply(this, arguments);
- };
- }
|