CB-11242: updated tests and fixtures

Project: http://git-wip-us.apache.org/repos/asf/cordova-lib/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-lib/commit/07bed560
Tree: http://git-wip-us.apache.org/repos/asf/cordova-lib/tree/07bed560
Diff: http://git-wip-us.apache.org/repos/asf/cordova-lib/diff/07bed560

Branch: refs/heads/master
Commit: 07bed560e2211939d3b269d43c2b20b71c98b9d7
Parents: fad2200
Author: Steve Gill <stevengil...@gmail.com>
Authored: Thu Apr 27 11:00:59 2017 -0700
Committer: Steve Gill <stevengil...@gmail.com>
Committed: Mon May 1 23:13:00 2017 +0200

----------------------------------------------------------------------
 .travis.yml                                     |     1 +
 cordova-common/package.json                     |     2 +-
 cordova-common/spec/support/jasmine.json        |     2 +-
 cordova-lib/integration-tests/fetch.spec.js     |   144 +
 cordova-lib/integration-tests/jasmine.json      |    13 +
 cordova-lib/integration-tests/pkgJson.spec.js   |    22 +-
 cordova-lib/package.json                        |    10 +-
 .../cordova-lib-test-plugin/package.json        |     6 +-
 .../platformApi/platforms/browser/config.xml    |    21 +
 .../platforms/browser/cordova/version           |    25 +
 .../platforms/browser/cordova/version.bat       |    26 +
 cordova-lib/spec-cordova/jasmine.json           |    13 +
 cordova-lib/spec-cordova/platform1.spec.js      |    41 +-
 cordova-lib/spec-cordova/plugin.spec.js         |    64 +-
 cordova-lib/spec-cordova/save.spec.js           |    80 +-
 cordova-lib/spec-plugman/install.spec.js        |   168 +-
 .../org.test.plugins.childbrowser/plugin.xml    |     6 +-
 .../org.test.plugins.dummyplugin/extra.gradle   |     6 +-
 .../org.test.plugins.dummyplugin/plugin.xml     |     8 +-
 .../projects/android/AndroidManifest.xml        |    14 +
 .../android/CordovaLib/AndroidManifest.xml      |    23 +
 .../projects/android/CordovaLib/build.gradle    |   135 +
 .../projects/android/CordovaLib/cordova.gradle  |   201 +
 .../android/CordovaLib/project.properties       |    16 +
 .../org/apache/cordova/AuthenticationToken.java |    69 +
 .../src/org/apache/cordova/CallbackContext.java |   142 +
 .../src/org/apache/cordova/CallbackMap.java     |    65 +
 .../src/org/apache/cordova/Config.java          |    71 +
 .../src/org/apache/cordova/ConfigXmlParser.java |   145 +
 .../src/org/apache/cordova/CordovaActivity.java |   518 +
 .../src/org/apache/cordova/CordovaArgs.java     |   113 +
 .../src/org/apache/cordova/CordovaBridge.java   |   182 +
 .../cordova/CordovaClientCertRequest.java       |    96 +
 .../apache/cordova/CordovaDialogsHelper.java    |   152 +
 .../apache/cordova/CordovaHttpAuthHandler.java  |    51 +
 .../org/apache/cordova/CordovaInterface.java    |    88 +
 .../apache/cordova/CordovaInterfaceImpl.java    |   241 +
 .../src/org/apache/cordova/CordovaPlugin.java   |   422 +
 .../org/apache/cordova/CordovaPreferences.java  |   101 +
 .../org/apache/cordova/CordovaResourceApi.java  |   471 +
 .../src/org/apache/cordova/CordovaWebView.java  |   142 +
 .../apache/cordova/CordovaWebViewEngine.java    |    85 +
 .../org/apache/cordova/CordovaWebViewImpl.java  |   613 +
 .../src/org/apache/cordova/CoreAndroid.java     |   390 +
 .../src/org/apache/cordova/ExposedJsApi.java    |    31 +
 .../cordova/ICordovaClientCertRequest.java      |    66 +
 .../apache/cordova/ICordovaCookieManager.java   |    33 +
 .../apache/cordova/ICordovaHttpAuthHandler.java |    38 +
 .../CordovaLib/src/org/apache/cordova/LOG.java  |   244 +
 .../apache/cordova/NativeToJsMessageQueue.java  |   539 +
 .../src/org/apache/cordova/PluginEntry.java     |    70 +
 .../src/org/apache/cordova/PluginManager.java   |   526 +
 .../src/org/apache/cordova/PluginResult.java    |   198 +
 .../src/org/apache/cordova/ResumeCallback.java  |    76 +
 .../src/org/apache/cordova/Whitelist.java       |   170 +
 .../cordova/engine/SystemCookieManager.java     |    69 +
 .../cordova/engine/SystemExposedJsApi.java      |    53 +
 .../cordova/engine/SystemWebChromeClient.java   |   292 +
 .../apache/cordova/engine/SystemWebView.java    |    88 +
 .../cordova/engine/SystemWebViewClient.java     |   374 +
 .../cordova/engine/SystemWebViewEngine.java     |   350 +
 .../spec-plugman/projects/android/android.json  |    30 +
 .../cordova-js-src/android/nativeapiprovider.js |    36 +
 .../android/promptbasednativeapi.js             |    35 +
 .../android/assets/www/cordova-js-src/exec.js   |   297 +
 .../assets/www/cordova-js-src/platform.js       |   125 +
 .../www/cordova-js-src/plugin/android/app.js    |   108 +
 .../projects/android/assets/www/cordova.js      |  2208 +++
 .../android/assets/www/cordova_plugins.js       |     9 +
 .../projects/android/assets/www/css/index.css   |   115 +
 .../projects/android/assets/www/img/logo.png    |   Bin 0 -> 21814 bytes
 .../projects/android/assets/www/index.html      |    49 +
 .../projects/android/assets/www/js/index.js     |    46 +
 .../spec-plugman/projects/android/build.gradle  |   313 +
 .../projects/android/cordova/.jshintrc          |    10 +
 .../projects/android/cordova/Api.js             |   415 +
 .../android/cordova/android_sdk_version         |    29 +
 .../spec-plugman/projects/android/cordova/build |    50 +
 .../projects/android/cordova/build.bat          |    26 +
 .../projects/android/cordova/check_reqs         |    31 +
 .../projects/android/cordova/check_reqs.bat     |    26 +
 .../spec-plugman/projects/android/cordova/clean |    51 +
 .../projects/android/cordova/clean.bat          |    26 +
 .../projects/android/cordova/defaults.xml       |    26 +
 .../projects/android/cordova/lib/Adb.js         |   105 +
 .../android/cordova/lib/AndroidManifest.js      |   161 +
 .../android/cordova/lib/AndroidProject.js       |   210 +
 .../android/cordova/lib/AndroidStudio.js        |    42 +
 .../projects/android/cordova/lib/build.js       |   301 +
 .../android/cordova/lib/builders/AntBuilder.js  |   156 +
 .../cordova/lib/builders/GenericBuilder.js      |   147 +
 .../cordova/lib/builders/GradleBuilder.js       |   279 +
 .../android/cordova/lib/builders/builders.js    |    47 +
 .../projects/android/cordova/lib/check_reqs.js  |   432 +
 .../projects/android/cordova/lib/device.js      |   120 +
 .../projects/android/cordova/lib/emulator.js    |   540 +
 .../projects/android/cordova/lib/install-device |    42 +
 .../android/cordova/lib/install-device.bat      |    26 +
 .../android/cordova/lib/install-emulator        |    38 +
 .../android/cordova/lib/install-emulator.bat    |    26 +
 .../projects/android/cordova/lib/list-devices   |    34 +
 .../android/cordova/lib/list-devices.bat        |    26 +
 .../android/cordova/lib/list-emulator-images    |    34 +
 .../cordova/lib/list-emulator-images.bat        |    26 +
 .../android/cordova/lib/list-started-emulators  |    34 +
 .../cordova/lib/list-started-emulators.bat      |    26 +
 .../projects/android/cordova/lib/log.js         |    56 +
 .../android/cordova/lib/plugin-build.gradle     |    70 +
 .../android/cordova/lib/pluginHandlers.js       |   308 +
 .../projects/android/cordova/lib/prepare.js     |   471 +
 .../projects/android/cordova/lib/retry.js       |    68 +
 .../projects/android/cordova/lib/run.js         |   141 +
 .../projects/android/cordova/lib/start-emulator |    39 +
 .../android/cordova/lib/start-emulator.bat      |    26 +
 .../spec-plugman/projects/android/cordova/log   |    36 +
 .../projects/android/cordova/log.bat            |    26 +
 .../projects/android/cordova/loggingHelper.js   |    18 +
 .../android/cordova/node_modules/.bin/nopt      |    54 +
 .../android/cordova/node_modules/.bin/semver    |   133 +
 .../android/cordova/node_modules/.bin/shjs      |    51 +
 .../android/cordova/node_modules/abbrev/LICENSE |    15 +
 .../cordova/node_modules/abbrev/README.md       |    23 +
 .../cordova/node_modules/abbrev/abbrev.js       |    61 +
 .../cordova/node_modules/abbrev/package.json    |    92 +
 .../android/cordova/node_modules/ansi/.jshintrc |     4 +
 .../cordova/node_modules/ansi/.npmignore        |     1 +
 .../cordova/node_modules/ansi/History.md        |    23 +
 .../android/cordova/node_modules/ansi/LICENSE   |    24 +
 .../android/cordova/node_modules/ansi/README.md |    98 +
 .../node_modules/ansi/examples/beep/index.js    |    16 +
 .../node_modules/ansi/examples/clear/index.js   |    15 +
 .../ansi/examples/cursorPosition.js             |    32 +
 .../ansi/examples/progress/index.js             |    87 +
 .../cordova/node_modules/ansi/lib/ansi.js       |   405 +
 .../cordova/node_modules/ansi/lib/newlines.js   |    71 +
 .../cordova/node_modules/ansi/package.json      |    93 +
 .../node_modules/balanced-match/.npmignore      |     5 +
 .../node_modules/balanced-match/LICENSE.md      |    21 +
 .../node_modules/balanced-match/README.md       |    91 +
 .../node_modules/balanced-match/index.js        |    58 +
 .../node_modules/balanced-match/package.json    |   110 +
 .../cordova/node_modules/base64-js/.travis.yml  |     5 +
 .../cordova/node_modules/base64-js/LICENSE.MIT  |    21 +
 .../cordova/node_modules/base64-js/README.md    |    31 +
 .../node_modules/base64-js/bench/bench.js       |    19 +
 .../cordova/node_modules/base64-js/lib/b64.js   |   124 +
 .../cordova/node_modules/base64-js/package.json |   101 +
 .../node_modules/base64-js/test/convert.js      |    51 +
 .../node_modules/base64-js/test/url-safe.js     |    18 +
 .../node_modules/big-integer/BigInteger.js      |  1218 ++
 .../node_modules/big-integer/BigInteger.min.js  |     1 +
 .../cordova/node_modules/big-integer/LICENSE    |    24 +
 .../cordova/node_modules/big-integer/README.md  |   513 +
 .../cordova/node_modules/big-integer/bower.json |    30 +
 .../node_modules/big-integer/package.json       |   108 +
 .../node_modules/bplist-parser/.npmignore       |     8 +
 .../node_modules/bplist-parser/README.md        |    47 +
 .../node_modules/bplist-parser/bplistParser.js  |   357 +
 .../node_modules/bplist-parser/package.json     |    89 +
 .../bplist-parser/test/airplay.bplist           |   Bin 0 -> 341 bytes
 .../bplist-parser/test/iTunes-small.bplist      |   Bin 0 -> 24433 bytes
 .../bplist-parser/test/int64.bplist             |   Bin 0 -> 84 bytes
 .../node_modules/bplist-parser/test/int64.xml   |    10 +
 .../bplist-parser/test/parseTest.js             |   159 +
 .../bplist-parser/test/sample1.bplist           |   Bin 0 -> 605 bytes
 .../bplist-parser/test/sample2.bplist           |   Bin 0 -> 384 bytes
 .../node_modules/bplist-parser/test/uid.bplist  |   Bin 0 -> 365 bytes
 .../bplist-parser/test/utf16.bplist             |   Bin 0 -> 1273 bytes
 .../bplist-parser/test/utf16_chinese.plist      |   Bin 0 -> 2362 bytes
 .../node_modules/brace-expansion/README.md      |   122 +
 .../node_modules/brace-expansion/index.js       |   201 +
 .../node_modules/brace-expansion/package.json   |   112 +
 .../cordova/node_modules/concat-map/.travis.yml |     4 +
 .../cordova/node_modules/concat-map/LICENSE     |    18 +
 .../node_modules/concat-map/README.markdown     |    62 +
 .../node_modules/concat-map/example/map.js      |     6 +
 .../cordova/node_modules/concat-map/index.js    |    13 +
 .../node_modules/concat-map/package.json        |   117 +
 .../cordova/node_modules/concat-map/test/map.js |    39 +
 .../node_modules/cordova-common/.jscs.json      |    24 +
 .../node_modules/cordova-common/.jshintignore   |     1 +
 .../node_modules/cordova-common/.npmignore      |     2 +
 .../node_modules/cordova-common/.ratignore      |     3 +
 .../node_modules/cordova-common/README.md       |   153 +
 .../node_modules/cordova-common/RELEASENOTES.md |    97 +
 .../cordova-common/cordova-common.js            |    47 +
 .../node_modules/cordova-common/package.json    |   133 +
 .../node_modules/cordova-common/src/.jshintrc   |    10 +
 .../cordova-common/src/ActionStack.js           |    85 +
 .../src/ConfigChanges/ConfigChanges.js          |   431 +
 .../src/ConfigChanges/ConfigFile.js             |   240 +
 .../src/ConfigChanges/ConfigKeeper.js           |    65 +
 .../src/ConfigChanges/munge-util.js             |   163 +
 .../src/ConfigParser/ConfigParser.js            |   568 +
 .../cordova-common/src/ConfigParser/README.md   |    86 +
 .../cordova-common/src/CordovaCheck.js          |    76 +
 .../src/CordovaError/CordovaError.js            |    91 +
 .../CordovaExternalToolErrorContext.js          |    48 +
 .../cordova-common/src/CordovaLogger.js         |   220 +
 .../cordova-common/src/FileUpdater.js           |   416 +
 .../cordova-common/src/PlatformJson.js          |   278 +
 .../cordova-common/src/PluginInfo/PluginInfo.js |   425 +
 .../src/PluginInfo/PluginInfoProvider.js        |    82 +
 .../cordova-common/src/PluginManager.js         |   152 +
 .../node_modules/cordova-common/src/events.js   |    72 +
 .../cordova-common/src/superspawn.js            |   190 +
 .../cordova-common/src/util/addProperty.js      |    32 +
 .../cordova-common/src/util/plist-helpers.js    |   101 +
 .../cordova-common/src/util/xml-helpers.js      |   366 +
 .../cordova-registry-mapper/.npmignore          |     1 +
 .../cordova-registry-mapper/.travis.yml         |     7 +
 .../cordova-registry-mapper/README.md           |    14 +
 .../cordova-registry-mapper/index.js            |   204 +
 .../cordova-registry-mapper/package.json        |    85 +
 .../cordova-registry-mapper/tests/test.js       |    11 +
 .../cordova/node_modules/elementtree/.npmignore |     1 +
 .../node_modules/elementtree/.travis.yml        |    10 +
 .../cordova/node_modules/elementtree/CHANGES.md |    39 +
 .../node_modules/elementtree/LICENSE.txt        |   203 +
 .../cordova/node_modules/elementtree/Makefile   |    21 +
 .../cordova/node_modules/elementtree/NOTICE     |     5 +
 .../cordova/node_modules/elementtree/README.md  |   141 +
 .../node_modules/elementtree/lib/constants.js   |    20 +
 .../node_modules/elementtree/lib/elementpath.js |   343 +
 .../node_modules/elementtree/lib/elementtree.js |   611 +
 .../node_modules/elementtree/lib/errors.js      |    31 +
 .../node_modules/elementtree/lib/parser.js      |    33 +
 .../elementtree/lib/parsers/index.js            |     1 +
 .../node_modules/elementtree/lib/parsers/sax.js |    56 +
 .../node_modules/elementtree/lib/sprintf.js     |    86 +
 .../node_modules/elementtree/lib/treebuilder.js |    60 +
 .../node_modules/elementtree/lib/utils.js       |    72 +
 .../node_modules/elementtree/package.json       |   109 +
 .../elementtree/tests/data/xml1.xml             |    17 +
 .../elementtree/tests/data/xml2.xml             |    14 +
 .../elementtree/tests/test-simple.js            |   339 +
 .../android/cordova/node_modules/glob/LICENSE   |    15 +
 .../android/cordova/node_modules/glob/README.md |   377 +
 .../android/cordova/node_modules/glob/common.js |   245 +
 .../android/cordova/node_modules/glob/glob.js   |   752 +
 .../cordova/node_modules/glob/package.json      |   106 +
 .../android/cordova/node_modules/glob/sync.js   |   460 +
 .../cordova/node_modules/inflight/LICENSE       |    15 +
 .../cordova/node_modules/inflight/README.md     |    37 +
 .../cordova/node_modules/inflight/inflight.js   |    54 +
 .../cordova/node_modules/inflight/package.json  |   105 +
 .../cordova/node_modules/inherits/LICENSE       |    16 +
 .../cordova/node_modules/inherits/README.md     |    42 +
 .../cordova/node_modules/inherits/inherits.js   |     7 +
 .../node_modules/inherits/inherits_browser.js   |    23 +
 .../cordova/node_modules/inherits/package.json  |    97 +
 .../android/cordova/node_modules/lodash/LICENSE |    22 +
 .../cordova/node_modules/lodash/README.md       |   121 +
 .../cordova/node_modules/lodash/array.js        |    44 +
 .../cordova/node_modules/lodash/array/chunk.js  |    46 +
 .../node_modules/lodash/array/compact.js        |    30 +
 .../node_modules/lodash/array/difference.js     |    29 +
 .../cordova/node_modules/lodash/array/drop.js   |    39 +
 .../node_modules/lodash/array/dropRight.js      |    40 +
 .../node_modules/lodash/array/dropRightWhile.js |    59 +
 .../node_modules/lodash/array/dropWhile.js      |    59 +
 .../cordova/node_modules/lodash/array/fill.js   |    44 +
 .../node_modules/lodash/array/findIndex.js      |    53 +
 .../node_modules/lodash/array/findLastIndex.js  |    53 +
 .../cordova/node_modules/lodash/array/first.js  |    22 +
 .../node_modules/lodash/array/flatten.js        |    32 +
 .../node_modules/lodash/array/flattenDeep.js    |    21 +
 .../cordova/node_modules/lodash/array/head.js   |     1 +
 .../node_modules/lodash/array/indexOf.js        |    53 +
 .../node_modules/lodash/array/initial.js        |    20 +
 .../node_modules/lodash/array/intersection.js   |    58 +
 .../cordova/node_modules/lodash/array/last.js   |    19 +
 .../node_modules/lodash/array/lastIndexOf.js    |    60 +
 .../cordova/node_modules/lodash/array/object.js |     1 +
 .../cordova/node_modules/lodash/array/pull.js   |    52 +
 .../cordova/node_modules/lodash/array/pullAt.js |    40 +
 .../cordova/node_modules/lodash/array/remove.js |    64 +
 .../cordova/node_modules/lodash/array/rest.js   |    21 +
 .../cordova/node_modules/lodash/array/slice.js  |    30 +
 .../node_modules/lodash/array/sortedIndex.js    |    53 +
 .../lodash/array/sortedLastIndex.js             |    25 +
 .../cordova/node_modules/lodash/array/tail.js   |     1 +
 .../cordova/node_modules/lodash/array/take.js   |    39 +
 .../node_modules/lodash/array/takeRight.js      |    40 +
 .../node_modules/lodash/array/takeRightWhile.js |    59 +
 .../node_modules/lodash/array/takeWhile.js      |    59 +
 .../cordova/node_modules/lodash/array/union.js  |    24 +
 .../cordova/node_modules/lodash/array/uniq.js   |    71 +
 .../cordova/node_modules/lodash/array/unique.js |     1 +
 .../cordova/node_modules/lodash/array/unzip.js  |    47 +
 .../node_modules/lodash/array/unzipWith.js      |    41 +
 .../node_modules/lodash/array/without.js        |    27 +
 .../cordova/node_modules/lodash/array/xor.js    |    35 +
 .../cordova/node_modules/lodash/array/zip.js    |    21 +
 .../node_modules/lodash/array/zipObject.js      |    43 +
 .../node_modules/lodash/array/zipWith.js        |    36 +
 .../cordova/node_modules/lodash/chain.js        |    16 +
 .../cordova/node_modules/lodash/chain/chain.js  |    35 +
 .../cordova/node_modules/lodash/chain/commit.js |     1 +
 .../cordova/node_modules/lodash/chain/concat.js |     1 +
 .../cordova/node_modules/lodash/chain/lodash.js |   125 +
 .../cordova/node_modules/lodash/chain/plant.js  |     1 +
 .../node_modules/lodash/chain/reverse.js        |     1 +
 .../cordova/node_modules/lodash/chain/run.js    |     1 +
 .../cordova/node_modules/lodash/chain/tap.js    |    29 +
 .../cordova/node_modules/lodash/chain/thru.js   |    26 +
 .../cordova/node_modules/lodash/chain/toJSON.js |     1 +
 .../node_modules/lodash/chain/toString.js       |     1 +
 .../cordova/node_modules/lodash/chain/value.js  |     1 +
 .../node_modules/lodash/chain/valueOf.js        |     1 +
 .../node_modules/lodash/chain/wrapperChain.js   |    32 +
 .../node_modules/lodash/chain/wrapperCommit.js  |    32 +
 .../node_modules/lodash/chain/wrapperConcat.js  |    34 +
 .../node_modules/lodash/chain/wrapperPlant.js   |    45 +
 .../node_modules/lodash/chain/wrapperReverse.js |    43 +
 .../lodash/chain/wrapperToString.js             |    17 +
 .../node_modules/lodash/chain/wrapperValue.js   |    20 +
 .../cordova/node_modules/lodash/collection.js   |    44 +
 .../node_modules/lodash/collection/all.js       |     1 +
 .../node_modules/lodash/collection/any.js       |     1 +
 .../node_modules/lodash/collection/at.js        |    29 +
 .../node_modules/lodash/collection/collect.js   |     1 +
 .../node_modules/lodash/collection/contains.js  |     1 +
 .../node_modules/lodash/collection/countBy.js   |    54 +
 .../node_modules/lodash/collection/detect.js    |     1 +
 .../node_modules/lodash/collection/each.js      |     1 +
 .../node_modules/lodash/collection/eachRight.js |     1 +
 .../node_modules/lodash/collection/every.js     |    66 +
 .../node_modules/lodash/collection/filter.js    |    61 +
 .../node_modules/lodash/collection/find.js      |    56 +
 .../node_modules/lodash/collection/findLast.js  |    25 +
 .../node_modules/lodash/collection/findWhere.js |    37 +
 .../node_modules/lodash/collection/foldl.js     |     1 +
 .../node_modules/lodash/collection/foldr.js     |     1 +
 .../node_modules/lodash/collection/forEach.js   |    37 +
 .../lodash/collection/forEachRight.js           |    26 +
 .../node_modules/lodash/collection/groupBy.js   |    59 +
 .../node_modules/lodash/collection/include.js   |     1 +
 .../node_modules/lodash/collection/includes.js  |    57 +
 .../node_modules/lodash/collection/indexBy.js   |    53 +
 .../node_modules/lodash/collection/inject.js    |     1 +
 .../node_modules/lodash/collection/invoke.js    |    42 +
 .../node_modules/lodash/collection/map.js       |    68 +
 .../node_modules/lodash/collection/max.js       |     1 +
 .../node_modules/lodash/collection/min.js       |     1 +
 .../node_modules/lodash/collection/partition.js |    66 +
 .../node_modules/lodash/collection/pluck.js     |    31 +
 .../node_modules/lodash/collection/reduce.js    |    44 +
 .../lodash/collection/reduceRight.js            |    29 +
 .../node_modules/lodash/collection/reject.js    |    50 +
 .../node_modules/lodash/collection/sample.js    |    50 +
 .../node_modules/lodash/collection/select.js    |     1 +
 .../node_modules/lodash/collection/shuffle.js   |    24 +
 .../node_modules/lodash/collection/size.js      |    30 +
 .../node_modules/lodash/collection/some.js      |    67 +
 .../node_modules/lodash/collection/sortBy.js    |    71 +
 .../node_modules/lodash/collection/sortByAll.js |    52 +
 .../lodash/collection/sortByOrder.js            |    55 +
 .../node_modules/lodash/collection/sum.js       |     1 +
 .../node_modules/lodash/collection/where.js     |    37 +
 .../android/cordova/node_modules/lodash/date.js |     3 +
 .../cordova/node_modules/lodash/date/now.js     |    24 +
 .../cordova/node_modules/lodash/function.js     |    28 +
 .../node_modules/lodash/function/after.js       |    48 +
 .../cordova/node_modules/lodash/function/ary.js |    34 +
 .../node_modules/lodash/function/backflow.js    |     1 +
 .../node_modules/lodash/function/before.js      |    42 +
 .../node_modules/lodash/function/bind.js        |    56 +
 .../node_modules/lodash/function/bindAll.js     |    50 +
 .../node_modules/lodash/function/bindKey.js     |    66 +
 .../node_modules/lodash/function/compose.js     |     1 +
 .../node_modules/lodash/function/curry.js       |    51 +
 .../node_modules/lodash/function/curryRight.js  |    48 +
 .../node_modules/lodash/function/debounce.js    |   181 +
 .../node_modules/lodash/function/defer.js       |    25 +
 .../node_modules/lodash/function/delay.js       |    26 +
 .../node_modules/lodash/function/flow.js        |    25 +
 .../node_modules/lodash/function/flowRight.js   |    25 +
 .../node_modules/lodash/function/memoize.js     |    80 +
 .../node_modules/lodash/function/modArgs.js     |    58 +
 .../node_modules/lodash/function/negate.js      |    32 +
 .../node_modules/lodash/function/once.js        |    24 +
 .../node_modules/lodash/function/partial.js     |    43 +
 .../lodash/function/partialRight.js             |    42 +
 .../node_modules/lodash/function/rearg.js       |    40 +
 .../node_modules/lodash/function/restParam.js   |    58 +
 .../node_modules/lodash/function/spread.js      |    44 +
 .../node_modules/lodash/function/throttle.js    |    62 +
 .../node_modules/lodash/function/wrap.js        |    33 +
 .../cordova/node_modules/lodash/index.js        | 12351 +++++++++++++++++
 .../node_modules/lodash/internal/LazyWrapper.js |    26 +
 .../lodash/internal/LodashWrapper.js            |    21 +
 .../node_modules/lodash/internal/MapCache.js    |    24 +
 .../node_modules/lodash/internal/SetCache.js    |    29 +
 .../node_modules/lodash/internal/arrayConcat.js |    25 +
 .../node_modules/lodash/internal/arrayCopy.js   |    20 +
 .../node_modules/lodash/internal/arrayEach.js   |    22 +
 .../lodash/internal/arrayEachRight.js           |    21 +
 .../node_modules/lodash/internal/arrayEvery.js  |    23 +
 .../lodash/internal/arrayExtremum.js            |    30 +
 .../node_modules/lodash/internal/arrayFilter.js |    25 +
 .../node_modules/lodash/internal/arrayMap.js    |    21 +
 .../node_modules/lodash/internal/arrayPush.js   |    20 +
 .../node_modules/lodash/internal/arrayReduce.js |    26 +
 .../lodash/internal/arrayReduceRight.js         |    24 +
 .../node_modules/lodash/internal/arraySome.js   |    23 +
 .../node_modules/lodash/internal/arraySum.js    |    20 +
 .../lodash/internal/assignDefaults.js           |    13 +
 .../lodash/internal/assignOwnDefaults.js        |    26 +
 .../node_modules/lodash/internal/assignWith.js  |    32 +
 .../node_modules/lodash/internal/baseAssign.js  |    19 +
 .../node_modules/lodash/internal/baseAt.js      |    32 +
 .../lodash/internal/baseCallback.js             |    35 +
 .../node_modules/lodash/internal/baseClone.js   |   128 +
 .../lodash/internal/baseCompareAscending.js     |    34 +
 .../node_modules/lodash/internal/baseCopy.js    |    23 +
 .../node_modules/lodash/internal/baseCreate.js  |    23 +
 .../node_modules/lodash/internal/baseDelay.js   |    21 +
 .../lodash/internal/baseDifference.js           |    55 +
 .../node_modules/lodash/internal/baseEach.js    |    15 +
 .../lodash/internal/baseEachRight.js            |    15 +
 .../node_modules/lodash/internal/baseEvery.js   |    22 +
 .../lodash/internal/baseExtremum.js             |    29 +
 .../node_modules/lodash/internal/baseFill.js    |    31 +
 .../node_modules/lodash/internal/baseFilter.js  |    22 +
 .../node_modules/lodash/internal/baseFind.js    |    25 +
 .../lodash/internal/baseFindIndex.js            |    23 +
 .../node_modules/lodash/internal/baseFlatten.js |    41 +
 .../node_modules/lodash/internal/baseFor.js     |    17 +
 .../node_modules/lodash/internal/baseForIn.js   |    17 +
 .../node_modules/lodash/internal/baseForOwn.js  |    17 +
 .../lodash/internal/baseForOwnRight.js          |    17 +
 .../lodash/internal/baseForRight.js             |    15 +
 .../lodash/internal/baseFunctions.js            |    27 +
 .../node_modules/lodash/internal/baseGet.js     |    29 +
 .../node_modules/lodash/internal/baseIndexOf.js |    27 +
 .../node_modules/lodash/internal/baseIsEqual.js |    28 +
 .../lodash/internal/baseIsEqualDeep.js          |   102 +
 .../lodash/internal/baseIsFunction.js           |    15 +
 .../node_modules/lodash/internal/baseIsMatch.js |    52 +
 .../node_modules/lodash/internal/baseLodash.js  |    10 +
 .../node_modules/lodash/internal/baseMap.js     |    23 +
 .../node_modules/lodash/internal/baseMatches.js |    30 +
 .../lodash/internal/baseMatchesProperty.js      |    45 +
 .../node_modules/lodash/internal/baseMerge.js   |    56 +
 .../lodash/internal/baseMergeDeep.js            |    67 +
 .../lodash/internal/baseProperty.js             |    14 +
 .../lodash/internal/basePropertyDeep.js         |    19 +
 .../node_modules/lodash/internal/basePullAt.js  |    30 +
 .../node_modules/lodash/internal/baseRandom.js  |    18 +
 .../node_modules/lodash/internal/baseReduce.js  |    24 +
 .../node_modules/lodash/internal/baseSetData.js |    17 +
 .../node_modules/lodash/internal/baseSlice.js   |    32 +
 .../node_modules/lodash/internal/baseSome.js    |    23 +
 .../node_modules/lodash/internal/baseSortBy.js  |    21 +
 .../lodash/internal/baseSortByOrder.js          |    31 +
 .../node_modules/lodash/internal/baseSum.js     |    20 +
 .../lodash/internal/baseToString.js             |    13 +
 .../node_modules/lodash/internal/baseUniq.js    |    60 +
 .../node_modules/lodash/internal/baseValues.js  |    22 +
 .../node_modules/lodash/internal/baseWhile.js   |    24 +
 .../lodash/internal/baseWrapperValue.js         |    29 +
 .../node_modules/lodash/internal/binaryIndex.js |    39 +
 .../lodash/internal/binaryIndexBy.js            |    57 +
 .../lodash/internal/bindCallback.js             |    39 +
 .../node_modules/lodash/internal/bufferClone.js |    20 +
 .../lodash/internal/cacheIndexOf.js             |    19 +
 .../node_modules/lodash/internal/cachePush.js   |    20 +
 .../lodash/internal/charsLeftIndex.js           |    18 +
 .../lodash/internal/charsRightIndex.js          |    17 +
 .../lodash/internal/compareAscending.js         |    16 +
 .../lodash/internal/compareMultiple.js          |    44 +
 .../node_modules/lodash/internal/composeArgs.js |    34 +
 .../lodash/internal/composeArgsRight.js         |    36 +
 .../lodash/internal/createAggregator.js         |    35 +
 .../lodash/internal/createAssigner.js           |    41 +
 .../lodash/internal/createBaseEach.js           |    31 +
 .../lodash/internal/createBaseFor.js            |    27 +
 .../lodash/internal/createBindWrapper.js        |    22 +
 .../node_modules/lodash/internal/createCache.js |    21 +
 .../lodash/internal/createCompounder.js         |    26 +
 .../lodash/internal/createCtorWrapper.js        |    37 +
 .../node_modules/lodash/internal/createCurry.js |    23 +
 .../lodash/internal/createDefaults.js           |    22 +
 .../lodash/internal/createExtremum.js           |    33 +
 .../node_modules/lodash/internal/createFind.js  |    25 +
 .../lodash/internal/createFindIndex.js          |    21 +
 .../lodash/internal/createFindKey.js            |    18 +
 .../node_modules/lodash/internal/createFlow.js  |    74 +
 .../lodash/internal/createForEach.js            |    20 +
 .../node_modules/lodash/internal/createForIn.js |    20 +
 .../lodash/internal/createForOwn.js             |    19 +
 .../lodash/internal/createHybridWrapper.js      |   111 +
 .../lodash/internal/createObjectMapper.js       |    26 +
 .../lodash/internal/createPadDir.js             |    18 +
 .../lodash/internal/createPadding.js            |    29 +
 .../lodash/internal/createPartial.js            |    20 +
 .../lodash/internal/createPartialWrapper.js     |    43 +
 .../lodash/internal/createReduce.js             |    22 +
 .../node_modules/lodash/internal/createRound.js |    23 +
 .../lodash/internal/createSortedIndex.js        |    20 +
 .../lodash/internal/createWrapper.js            |    86 +
 .../lodash/internal/deburrLetter.js             |    33 +
 .../node_modules/lodash/internal/equalArrays.js |    51 +
 .../node_modules/lodash/internal/equalByTag.js  |    48 +
 .../lodash/internal/equalObjects.js             |    67 +
 .../lodash/internal/escapeHtmlChar.js           |    22 +
 .../lodash/internal/escapeRegExpChar.js         |    38 +
 .../lodash/internal/escapeStringChar.js         |    22 +
 .../node_modules/lodash/internal/getData.js     |    15 +
 .../node_modules/lodash/internal/getFuncName.js |    25 +
 .../node_modules/lodash/internal/getLength.js   |    15 +
 .../lodash/internal/getMatchData.js             |    21 +
 .../node_modules/lodash/internal/getNative.js   |    16 +
 .../node_modules/lodash/internal/getView.js     |    33 +
 .../node_modules/lodash/internal/indexOfNaN.js  |    23 +
 .../lodash/internal/initCloneArray.js           |    26 +
 .../lodash/internal/initCloneByTag.js           |    63 +
 .../lodash/internal/initCloneObject.js          |    16 +
 .../node_modules/lodash/internal/invokePath.js  |    26 +
 .../node_modules/lodash/internal/isArrayLike.js |    15 +
 .../node_modules/lodash/internal/isIndex.js     |    24 +
 .../lodash/internal/isIterateeCall.js           |    28 +
 .../node_modules/lodash/internal/isKey.js       |    28 +
 .../node_modules/lodash/internal/isLaziable.js  |    27 +
 .../node_modules/lodash/internal/isLength.js    |    20 +
 .../lodash/internal/isObjectLike.js             |    12 +
 .../node_modules/lodash/internal/isSpace.js     |    14 +
 .../lodash/internal/isStrictComparable.js       |    15 +
 .../node_modules/lodash/internal/lazyClone.js   |    23 +
 .../node_modules/lodash/internal/lazyReverse.js |    23 +
 .../node_modules/lodash/internal/lazyValue.js   |    72 +
 .../node_modules/lodash/internal/mapDelete.js   |    14 +
 .../node_modules/lodash/internal/mapGet.js      |    14 +
 .../node_modules/lodash/internal/mapHas.js      |    20 +
 .../node_modules/lodash/internal/mapSet.js      |    18 +
 .../node_modules/lodash/internal/mergeData.js   |    89 +
 .../lodash/internal/mergeDefaults.js            |    15 +
 .../node_modules/lodash/internal/metaMap.js     |     9 +
 .../node_modules/lodash/internal/pickByArray.js |    28 +
 .../lodash/internal/pickByCallback.js           |    22 +
 .../node_modules/lodash/internal/reEscape.js    |     4 +
 .../node_modules/lodash/internal/reEvaluate.js  |     4 +
 .../lodash/internal/reInterpolate.js            |     4 +
 .../node_modules/lodash/internal/realNames.js   |     4 +
 .../node_modules/lodash/internal/reorder.js     |    29 +
 .../lodash/internal/replaceHolders.js           |    28 +
 .../node_modules/lodash/internal/setData.js     |    41 +
 .../node_modules/lodash/internal/shimKeys.js    |    41 +
 .../node_modules/lodash/internal/sortedUniq.js  |    29 +
 .../node_modules/lodash/internal/toIterable.js  |    22 +
 .../node_modules/lodash/internal/toObject.js    |    14 +
 .../node_modules/lodash/internal/toPath.js      |    28 +
 .../lodash/internal/trimmedLeftIndex.js         |    19 +
 .../lodash/internal/trimmedRightIndex.js        |    18 +
 .../lodash/internal/unescapeHtmlChar.js         |    22 +
 .../lodash/internal/wrapperClone.js             |    18 +
 .../android/cordova/node_modules/lodash/lang.js |    32 +
 .../cordova/node_modules/lodash/lang/clone.js   |    70 +
 .../node_modules/lodash/lang/cloneDeep.js       |    55 +
 .../cordova/node_modules/lodash/lang/eq.js      |     1 +
 .../cordova/node_modules/lodash/lang/gt.js      |    25 +
 .../cordova/node_modules/lodash/lang/gte.js     |    25 +
 .../node_modules/lodash/lang/isArguments.js     |    34 +
 .../cordova/node_modules/lodash/lang/isArray.js |    40 +
 .../node_modules/lodash/lang/isBoolean.js       |    35 +
 .../cordova/node_modules/lodash/lang/isDate.js  |    35 +
 .../node_modules/lodash/lang/isElement.js       |    24 +
 .../cordova/node_modules/lodash/lang/isEmpty.js |    47 +
 .../cordova/node_modules/lodash/lang/isEqual.js |    54 +
 .../cordova/node_modules/lodash/lang/isError.js |    36 +
 .../node_modules/lodash/lang/isFinite.js        |    35 +
 .../node_modules/lodash/lang/isFunction.js      |    38 +
 .../cordova/node_modules/lodash/lang/isMatch.js |    49 +
 .../cordova/node_modules/lodash/lang/isNaN.js   |    34 +
 .../node_modules/lodash/lang/isNative.js        |    48 +
 .../cordova/node_modules/lodash/lang/isNull.js  |    21 +
 .../node_modules/lodash/lang/isNumber.js        |    41 +
 .../node_modules/lodash/lang/isObject.js        |    28 +
 .../node_modules/lodash/lang/isPlainObject.js   |    71 +
 .../node_modules/lodash/lang/isRegExp.js        |    35 +
 .../node_modules/lodash/lang/isString.js        |    35 +
 .../node_modules/lodash/lang/isTypedArray.js    |    74 +
 .../node_modules/lodash/lang/isUndefined.js     |    21 +
 .../cordova/node_modules/lodash/lang/lt.js      |    25 +
 .../cordova/node_modules/lodash/lang/lte.js     |    25 +
 .../cordova/node_modules/lodash/lang/toArray.js |    32 +
 .../node_modules/lodash/lang/toPlainObject.js   |    31 +
 .../android/cordova/node_modules/lodash/math.js |     9 +
 .../cordova/node_modules/lodash/math/add.js     |    19 +
 .../cordova/node_modules/lodash/math/ceil.js    |    25 +
 .../cordova/node_modules/lodash/math/floor.js   |    25 +
 .../cordova/node_modules/lodash/math/max.js     |    56 +
 .../cordova/node_modules/lodash/math/min.js     |    56 +
 .../cordova/node_modules/lodash/math/round.js   |    25 +
 .../cordova/node_modules/lodash/math/sum.js     |    50 +
 .../cordova/node_modules/lodash/number.js       |     4 +
 .../node_modules/lodash/number/inRange.js       |    47 +
 .../node_modules/lodash/number/random.js        |    70 +
 .../cordova/node_modules/lodash/object.js       |    31 +
 .../node_modules/lodash/object/assign.js        |    43 +
 .../node_modules/lodash/object/create.js        |    47 +
 .../node_modules/lodash/object/defaults.js      |    25 +
 .../node_modules/lodash/object/defaultsDeep.js  |    25 +
 .../node_modules/lodash/object/extend.js        |     1 +
 .../node_modules/lodash/object/findKey.js       |    54 +
 .../node_modules/lodash/object/findLastKey.js   |    54 +
 .../cordova/node_modules/lodash/object/forIn.js |    33 +
 .../node_modules/lodash/object/forInRight.js    |    31 +
 .../node_modules/lodash/object/forOwn.js        |    33 +
 .../node_modules/lodash/object/forOwnRight.js   |    31 +
 .../node_modules/lodash/object/functions.js     |    23 +
 .../cordova/node_modules/lodash/object/get.js   |    33 +
 .../cordova/node_modules/lodash/object/has.js   |    57 +
 .../node_modules/lodash/object/invert.js        |    60 +
 .../cordova/node_modules/lodash/object/keys.js  |    45 +
 .../node_modules/lodash/object/keysIn.js        |    64 +
 .../node_modules/lodash/object/mapKeys.js       |    25 +
 .../node_modules/lodash/object/mapValues.js     |    46 +
 .../cordova/node_modules/lodash/object/merge.js |    54 +
 .../node_modules/lodash/object/methods.js       |     1 +
 .../cordova/node_modules/lodash/object/omit.js  |    47 +
 .../cordova/node_modules/lodash/object/pairs.js |    33 +
 .../cordova/node_modules/lodash/object/pick.js  |    42 +
 .../node_modules/lodash/object/result.js        |    49 +
 .../cordova/node_modules/lodash/object/set.js   |    55 +
 .../node_modules/lodash/object/transform.js     |    61 +
 .../node_modules/lodash/object/values.js        |    33 +
 .../node_modules/lodash/object/valuesIn.js      |    31 +
 .../cordova/node_modules/lodash/package.json    |   129 +
 .../cordova/node_modules/lodash/string.js       |    25 +
 .../node_modules/lodash/string/camelCase.js     |    27 +
 .../node_modules/lodash/string/capitalize.js    |    21 +
 .../node_modules/lodash/string/deburr.js        |    29 +
 .../node_modules/lodash/string/endsWith.js      |    40 +
 .../node_modules/lodash/string/escape.js        |    48 +
 .../node_modules/lodash/string/escapeRegExp.js  |    32 +
 .../node_modules/lodash/string/kebabCase.js     |    26 +
 .../cordova/node_modules/lodash/string/pad.js   |    47 +
 .../node_modules/lodash/string/padLeft.js       |    27 +
 .../node_modules/lodash/string/padRight.js      |    27 +
 .../node_modules/lodash/string/parseInt.js      |    46 +
 .../node_modules/lodash/string/repeat.js        |    47 +
 .../node_modules/lodash/string/snakeCase.js     |    26 +
 .../node_modules/lodash/string/startCase.js     |    26 +
 .../node_modules/lodash/string/startsWith.js    |    36 +
 .../node_modules/lodash/string/template.js      |   226 +
 .../lodash/string/templateSettings.js           |    67 +
 .../cordova/node_modules/lodash/string/trim.js  |    42 +
 .../node_modules/lodash/string/trimLeft.js      |    36 +
 .../node_modules/lodash/string/trimRight.js     |    36 +
 .../cordova/node_modules/lodash/string/trunc.js |   105 +
 .../node_modules/lodash/string/unescape.js      |    33 +
 .../cordova/node_modules/lodash/string/words.js |    38 +
 .../cordova/node_modules/lodash/support.js      |    10 +
 .../cordova/node_modules/lodash/utility.js      |    18 +
 .../node_modules/lodash/utility/attempt.js      |    32 +
 .../node_modules/lodash/utility/callback.js     |    53 +
 .../node_modules/lodash/utility/constant.js     |    23 +
 .../node_modules/lodash/utility/identity.js     |    20 +
 .../node_modules/lodash/utility/iteratee.js     |     1 +
 .../node_modules/lodash/utility/matches.js      |    33 +
 .../lodash/utility/matchesProperty.js           |    32 +
 .../node_modules/lodash/utility/method.js       |    33 +
 .../node_modules/lodash/utility/methodOf.js     |    32 +
 .../node_modules/lodash/utility/mixin.js        |    82 +
 .../cordova/node_modules/lodash/utility/noop.js |    19 +
 .../node_modules/lodash/utility/property.js     |    31 +
 .../node_modules/lodash/utility/propertyOf.js   |    30 +
 .../node_modules/lodash/utility/range.js        |    66 +
 .../node_modules/lodash/utility/times.js        |    60 +
 .../node_modules/lodash/utility/uniqueId.js     |    27 +
 .../cordova/node_modules/minimatch/LICENSE      |    15 +
 .../cordova/node_modules/minimatch/README.md    |   209 +
 .../cordova/node_modules/minimatch/minimatch.js |   923 ++
 .../cordova/node_modules/minimatch/package.json |    98 +
 .../cordova/node_modules/nopt/.npmignore        |     1 +
 .../cordova/node_modules/nopt/.travis.yml       |     9 +
 .../android/cordova/node_modules/nopt/LICENSE   |    15 +
 .../android/cordova/node_modules/nopt/README.md |   211 +
 .../cordova/node_modules/nopt/bin/nopt.js       |    54 +
 .../node_modules/nopt/examples/my-program.js    |    30 +
 .../cordova/node_modules/nopt/lib/nopt.js       |   415 +
 .../cordova/node_modules/nopt/package.json      |    96 +
 .../cordova/node_modules/nopt/test/basic.js     |   273 +
 .../android/cordova/node_modules/once/LICENSE   |    15 +
 .../android/cordova/node_modules/once/README.md |    79 +
 .../android/cordova/node_modules/once/once.js   |    42 +
 .../cordova/node_modules/once/package.json      |   101 +
 .../cordova/node_modules/os-homedir/index.js    |    24 +
 .../cordova/node_modules/os-homedir/license     |    21 +
 .../node_modules/os-homedir/package.json        |   109 +
 .../cordova/node_modules/os-homedir/readme.md   |    31 +
 .../cordova/node_modules/os-tmpdir/index.js     |    25 +
 .../cordova/node_modules/os-tmpdir/license      |    21 +
 .../cordova/node_modules/os-tmpdir/package.json |   109 +
 .../cordova/node_modules/os-tmpdir/readme.md    |    32 +
 .../cordova/node_modules/osenv/.npmignore       |    13 +
 .../cordova/node_modules/osenv/.travis.yml      |     9 +
 .../android/cordova/node_modules/osenv/LICENSE  |    15 +
 .../cordova/node_modules/osenv/README.md        |    63 +
 .../android/cordova/node_modules/osenv/osenv.js |    72 +
 .../cordova/node_modules/osenv/package.json     |   113 +
 .../cordova/node_modules/osenv/test/unix.js     |    71 +
 .../cordova/node_modules/osenv/test/windows.js  |    74 +
 .../android/cordova/node_modules/osenv/x.tap    |    39 +
 .../node_modules/path-is-absolute/index.js      |    20 +
 .../node_modules/path-is-absolute/license       |    21 +
 .../node_modules/path-is-absolute/package.json  |   111 +
 .../node_modules/path-is-absolute/readme.md     |    59 +
 .../cordova/node_modules/plist/.jshintrc        |     4 +
 .../cordova/node_modules/plist/.travis.yml      |    34 +
 .../cordova/node_modules/plist/History.md       |   122 +
 .../android/cordova/node_modules/plist/LICENSE  |    24 +
 .../android/cordova/node_modules/plist/Makefile |    76 +
 .../cordova/node_modules/plist/README.md        |   113 +
 .../node_modules/plist/dist/plist-build.js      |  3982 ++++++
 .../node_modules/plist/dist/plist-parse.js      |  4055 ++++++
 .../cordova/node_modules/plist/dist/plist.js    |  7987 +++++++++++
 .../plist/examples/browser/index.html           |    14 +
 .../cordova/node_modules/plist/lib/build.js     |   138 +
 .../cordova/node_modules/plist/lib/node.js      |    49 +
 .../cordova/node_modules/plist/lib/parse.js     |   200 +
 .../cordova/node_modules/plist/lib/plist.js     |    23 +
 .../cordova/node_modules/plist/package.json     |   125 +
 .../properties-parser/README.markdown           |    48 +
 .../node_modules/properties-parser/index.js     |   354 +
 .../node_modules/properties-parser/package.json |    81 +
 .../properties-parser/play-ground.js            |    17 +
 .../properties-parser/test/ReadProperties.class |   Bin 0 -> 2613 bytes
 .../properties-parser/test/ReadProperties.java  |    61 +
 .../test/test-cases-copy.properties             |    16 +
 .../test/test-cases.properties                  |    18 +
 .../node_modules/properties-parser/test/test.js |   123 +
 .../android/cordova/node_modules/q/CHANGES.md   |   792 ++
 .../android/cordova/node_modules/q/LICENSE      |    18 +
 .../android/cordova/node_modules/q/README.md    |   874 ++
 .../android/cordova/node_modules/q/package.json |   155 +
 .../android/cordova/node_modules/q/q.js         |  2073 +++
 .../android/cordova/node_modules/q/queue.js     |    35 +
 .../android/cordova/node_modules/sax/AUTHORS    |     9 +
 .../android/cordova/node_modules/sax/LICENSE    |    23 +
 .../android/cordova/node_modules/sax/README.md  |   213 +
 .../sax/examples/big-not-pretty.xml             |  8002 +++++++++++
 .../node_modules/sax/examples/example.js        |    41 +
 .../node_modules/sax/examples/get-products.js   |    58 +
 .../node_modules/sax/examples/hello-world.js    |     4 +
 .../node_modules/sax/examples/not-pretty.xml    |     8 +
 .../node_modules/sax/examples/pretty-print.js   |    74 +
 .../node_modules/sax/examples/shopping.xml      |     2 +
 .../node_modules/sax/examples/strict.dtd        |   870 ++
 .../node_modules/sax/examples/switch-bench.js   |    45 +
 .../cordova/node_modules/sax/examples/test.html |    15 +
 .../cordova/node_modules/sax/examples/test.xml  |  1254 ++
 .../android/cordova/node_modules/sax/lib/sax.js |  1006 ++
 .../cordova/node_modules/sax/package.json       |   122 +
 .../node_modules/sax/test/buffer-overrun.js     |    25 +
 .../node_modules/sax/test/cdata-chunked.js      |    11 +
 .../node_modules/sax/test/cdata-end-split.js    |    15 +
 .../node_modules/sax/test/cdata-fake-end.js     |    28 +
 .../node_modules/sax/test/cdata-multiple.js     |    15 +
 .../cordova/node_modules/sax/test/cdata.js      |    10 +
 .../cordova/node_modules/sax/test/index.js      |    86 +
 .../cordova/node_modules/sax/test/issue-23.js   |    43 +
 .../cordova/node_modules/sax/test/issue-30.js   |    24 +
 .../cordova/node_modules/sax/test/issue-35.js   |    15 +
 .../cordova/node_modules/sax/test/issue-47.js   |    13 +
 .../cordova/node_modules/sax/test/issue-49.js   |    31 +
 .../node_modules/sax/test/parser-position.js    |    28 +
 .../cordova/node_modules/sax/test/script.js     |    12 +
 .../sax/test/self-closing-child-strict.js       |    40 +
 .../node_modules/sax/test/self-closing-child.js |    40 +
 .../node_modules/sax/test/self-closing-tag.js   |    25 +
 .../node_modules/sax/test/stray-ending.js       |    17 +
 .../sax/test/trailing-non-whitespace.js         |    17 +
 .../cordova/node_modules/sax/test/unquoted.js   |    17 +
 .../node_modules/sax/test/xmlns-issue-41.js     |    67 +
 .../node_modules/sax/test/xmlns-rebinding.js    |    59 +
 .../node_modules/sax/test/xmlns-strict.js       |    71 +
 .../node_modules/sax/test/xmlns-unbound.js      |    15 +
 .../test/xmlns-xml-default-prefix-attribute.js  |    35 +
 .../sax/test/xmlns-xml-default-prefix.js        |    20 +
 .../sax/test/xmlns-xml-default-redefine.js      |    40 +
 .../android/cordova/node_modules/semver/LICENSE |    15 +
 .../cordova/node_modules/semver/README.md       |   350 +
 .../cordova/node_modules/semver/bin/semver      |   133 +
 .../cordova/node_modules/semver/package.json    |    94 +
 .../cordova/node_modules/semver/range.bnf       |    16 +
 .../cordova/node_modules/semver/semver.js       |  1203 ++
 .../node_modules/shelljs/.documentup.json       |     6 +
 .../cordova/node_modules/shelljs/.jshintrc      |     7 +
 .../cordova/node_modules/shelljs/.npmignore     |     2 +
 .../cordova/node_modules/shelljs/.travis.yml    |     6 +
 .../cordova/node_modules/shelljs/LICENSE        |    26 +
 .../cordova/node_modules/shelljs/README.md      |   579 +
 .../cordova/node_modules/shelljs/RELEASE.md     |     9 +
 .../cordova/node_modules/shelljs/bin/shjs       |    51 +
 .../cordova/node_modules/shelljs/global.js      |     3 +
 .../cordova/node_modules/shelljs/make.js        |    56 +
 .../cordova/node_modules/shelljs/package.json   |    97 +
 .../shelljs/scripts/generate-docs.js            |    21 +
 .../node_modules/shelljs/scripts/run-tests.js   |    50 +
 .../cordova/node_modules/shelljs/shell.js       |   159 +
 .../cordova/node_modules/shelljs/src/cat.js     |    43 +
 .../cordova/node_modules/shelljs/src/cd.js      |    19 +
 .../cordova/node_modules/shelljs/src/chmod.js   |   208 +
 .../cordova/node_modules/shelljs/src/common.js  |   203 +
 .../cordova/node_modules/shelljs/src/cp.js      |   204 +
 .../cordova/node_modules/shelljs/src/dirs.js    |   191 +
 .../cordova/node_modules/shelljs/src/echo.js    |    20 +
 .../cordova/node_modules/shelljs/src/error.js   |    10 +
 .../cordova/node_modules/shelljs/src/exec.js    |   216 +
 .../cordova/node_modules/shelljs/src/find.js    |    51 +
 .../cordova/node_modules/shelljs/src/grep.js    |    52 +
 .../cordova/node_modules/shelljs/src/ln.js      |    53 +
 .../cordova/node_modules/shelljs/src/ls.js      |   126 +
 .../cordova/node_modules/shelljs/src/mkdir.js   |    68 +
 .../cordova/node_modules/shelljs/src/mv.js      |    80 +
 .../cordova/node_modules/shelljs/src/popd.js    |     1 +
 .../cordova/node_modules/shelljs/src/pushd.js   |     1 +
 .../cordova/node_modules/shelljs/src/pwd.js     |    11 +
 .../cordova/node_modules/shelljs/src/rm.js      |   163 +
 .../cordova/node_modules/shelljs/src/sed.js     |    43 +
 .../cordova/node_modules/shelljs/src/tempdir.js |    56 +
 .../cordova/node_modules/shelljs/src/test.js    |    85 +
 .../cordova/node_modules/shelljs/src/to.js      |    29 +
 .../cordova/node_modules/shelljs/src/toEnd.js   |    29 +
 .../cordova/node_modules/shelljs/src/which.js   |    83 +
 .../cordova/node_modules/underscore/LICENSE     |    23 +
 .../cordova/node_modules/underscore/README.md   |    22 +
 .../node_modules/underscore/package.json        |   104 +
 .../node_modules/underscore/underscore-min.js   |     6 +
 .../node_modules/underscore/underscore-min.map  |     1 +
 .../node_modules/underscore/underscore.js       |  1548 +++
 .../cordova/node_modules/unorm/LICENSE.md       |    42 +
 .../cordova/node_modules/unorm/README.md        |   118 +
 .../cordova/node_modules/unorm/lib/unorm.js     |   442 +
 .../cordova/node_modules/unorm/package.json     |   103 +
 .../node_modules/util-deprecate/History.md      |    16 +
 .../cordova/node_modules/util-deprecate/LICENSE |    24 +
 .../node_modules/util-deprecate/README.md       |    53 +
 .../node_modules/util-deprecate/browser.js      |    67 +
 .../cordova/node_modules/util-deprecate/node.js |     6 +
 .../node_modules/util-deprecate/package.json    |    89 +
 .../android/cordova/node_modules/wrappy/LICENSE |    15 +
 .../cordova/node_modules/wrappy/README.md       |    36 +
 .../cordova/node_modules/wrappy/package.json    |    97 +
 .../cordova/node_modules/wrappy/wrappy.js       |    33 +
 .../cordova/node_modules/xmlbuilder/.npmignore  |     5 +
 .../cordova/node_modules/xmlbuilder/LICENSE     |    21 +
 .../cordova/node_modules/xmlbuilder/README.md   |    86 +
 .../node_modules/xmlbuilder/lib/XMLAttribute.js |    32 +
 .../node_modules/xmlbuilder/lib/XMLBuilder.js   |    69 +
 .../node_modules/xmlbuilder/lib/XMLCData.js     |    49 +
 .../node_modules/xmlbuilder/lib/XMLComment.js   |    49 +
 .../xmlbuilder/lib/XMLDTDAttList.js             |    68 +
 .../xmlbuilder/lib/XMLDTDElement.js             |    46 +
 .../node_modules/xmlbuilder/lib/XMLDTDEntity.js |    84 +
 .../xmlbuilder/lib/XMLDTDNotation.js            |    56 +
 .../xmlbuilder/lib/XMLDeclaration.js            |    65 +
 .../node_modules/xmlbuilder/lib/XMLDocType.js   |   188 +
 .../node_modules/xmlbuilder/lib/XMLElement.js   |   212 +
 .../node_modules/xmlbuilder/lib/XMLNode.js      |   331 +
 .../xmlbuilder/lib/XMLProcessingInstruction.js  |    51 +
 .../node_modules/xmlbuilder/lib/XMLRaw.js       |    49 +
 .../xmlbuilder/lib/XMLStringifier.js            |   165 +
 .../node_modules/xmlbuilder/lib/XMLText.js      |    49 +
 .../node_modules/xmlbuilder/lib/index.js        |    14 +
 .../node_modules/xmlbuilder/package.json        |    97 +
 .../cordova/node_modules/xmldom/.npmignore      |     5 +
 .../cordova/node_modules/xmldom/.travis.yml     |    22 +
 .../android/cordova/node_modules/xmldom/LICENSE |     8 +
 .../cordova/node_modules/xmldom/__package__.js  |     4 +
 .../cordova/node_modules/xmldom/changelog       |    14 +
 .../cordova/node_modules/xmldom/component.json  |    10 +
 .../cordova/node_modules/xmldom/dom-parser.js   |   251 +
 .../android/cordova/node_modules/xmldom/dom.js  |  1244 ++
 .../cordova/node_modules/xmldom/package.json    |   139 +
 .../cordova/node_modules/xmldom/readme.md       |   219 +
 .../android/cordova/node_modules/xmldom/sax.js  |   633 +
 .../spec-plugman/projects/android/cordova/run   |    53 +
 .../projects/android/cordova/run.bat            |    26 +
 .../projects/android/cordova/version            |    29 +
 .../projects/android/cordova/version.bat        |    26 +
 .../cordova-js-src/android/nativeapiprovider.js |    36 +
 .../android/promptbasednativeapi.js             |    35 +
 .../android/platform_www/cordova-js-src/exec.js |   297 +
 .../platform_www/cordova-js-src/platform.js     |   125 +
 .../cordova-js-src/plugin/android/app.js        |   108 +
 .../projects/android/platform_www/cordova.js    |  2208 +++
 .../android/platform_www/cordova_plugins.js     |     9 +
 .../projects/android/project.properties         |    14 +
 .../android/res/drawable-land-hdpi/screen.png   |   Bin 0 -> 218302 bytes
 .../android/res/drawable-land-ldpi/screen.png   |   Bin 0 -> 42616 bytes
 .../android/res/drawable-land-mdpi/screen.png   |   Bin 0 -> 92347 bytes
 .../android/res/drawable-land-xhdpi/screen.png  |   Bin 0 -> 489604 bytes
 .../android/res/drawable-port-hdpi/screen.png   |   Bin 0 -> 222148 bytes
 .../android/res/drawable-port-ldpi/screen.png   |   Bin 0 -> 42034 bytes
 .../android/res/drawable-port-mdpi/screen.png   |   Bin 0 -> 90555 bytes
 .../android/res/drawable-port-xhdpi/screen.png  |   Bin 0 -> 504508 bytes
 .../projects/android/res/mipmap-hdpi/icon.png   |   Bin 0 -> 6080 bytes
 .../projects/android/res/mipmap-ldpi/icon.png   |   Bin 0 -> 3096 bytes
 .../projects/android/res/mipmap-mdpi/icon.png   |   Bin 0 -> 4090 bytes
 .../projects/android/res/mipmap-xhdpi/icon.png  |   Bin 0 -> 7685 bytes
 .../projects/android/res/values/strings.xml     |     6 +
 .../projects/android/res/xml/config.xml         |    24 +
 .../projects/android/settings.gradle            |     3 +
 .../io/cordova/hellocordova/MainActivity.java   |    41 +
 .../cordova/whitelist/WhitelistPlugin.java      |   161 +
 cordova-lib/spec-plugman/uninstall.spec.js      |     2 +-
 cordova-lib/spec/support/jasmine.json           |    13 -
 cordova-lib/src/cordova/platform.js             |     5 +-
 cordova-lib/src/cordova/util.js                 |    42 +-
 cordova-lib/src/platforms/platforms.js          |    43 +-
 cordova-lib/src/plugman/install.js              |    11 +-
 915 files changed, 110661 insertions(+), 373 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 47de3cf..1e60258 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,4 +23,5 @@ install:
 script:
   - "(cd ../cordova-common && npm test)"
   - "(cd ../cordova-fetch && npm test)"
+  - "npm run e2e-tests"
   - "npm run ci"

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-common/package.json
----------------------------------------------------------------------
diff --git a/cordova-common/package.json b/cordova-common/package.json
index 3c9b4b9..19d762d 100644
--- a/cordova-common/package.json
+++ b/cordova-common/package.json
@@ -19,7 +19,7 @@
   "scripts": {
     "test": "npm run jshint && npm run jasmine",
     "jshint": "jshint src && jshint spec",
-    "jasmine": "jasmine --captureExceptions --color",
+    "jasmine": "jasmine JASMINE_CONFIG_PATH=spec/support/jasmine.json",
     "cover": "istanbul cover --root src --print detail jasmine"
   },
   "dependencies": {

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-common/spec/support/jasmine.json
----------------------------------------------------------------------
diff --git a/cordova-common/spec/support/jasmine.json 
b/cordova-common/spec/support/jasmine.json
index a5605d2..8be411c 100644
--- a/cordova-common/spec/support/jasmine.json
+++ b/cordova-common/spec/support/jasmine.json
@@ -5,4 +5,4 @@
     ],
     "stopSpecOnExpectationFailure": false,
     "random": false
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/integration-tests/fetch.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/integration-tests/fetch.spec.js 
b/cordova-lib/integration-tests/fetch.spec.js
new file mode 100644
index 0000000..de04790
--- /dev/null
+++ b/cordova-lib/integration-tests/fetch.spec.js
@@ -0,0 +1,144 @@
+var path = require('path'),
+    shell = require('shelljs'),
+    helpers = require('../spec-cordova/helpers'),
+    cordova = require('../src/cordova/cordova');
+
+var TIMEOUT = 90000,
+    plugins_dir = path.join(__dirname, '..', 'spec-plugman', 'plugins');
+
+var plugins = {
+    'Test1' : path.join(plugins_dir, 'dependencies', 'Test1'),
+    'Test2' : path.join(plugins_dir, 'dependencies', 'Test2'),
+    'Test3' : path.join(plugins_dir, 'dependencies', 'Test3'),
+    'Test4' : path.join(plugins_dir, 'dependencies', 'Test4')
+}
+
+
+describe('end-to-end plugin dependency tests', function() {
+    var tmpDir, project, pluginsDir;
+
+    beforeEach(function() {
+        tmpDir = helpers.tmpDir('plugin_dependency_test');
+        project = path.join(tmpDir, 'hello3');
+        pluginsDir = path.join(project, 'plugins');
+        process.chdir(tmpDir);
+    });
+
+    afterEach(function() {
+        process.chdir(path.join(__dirname, '..'));  // Needed to rm the dir on 
Windows.
+        shell.rm('-rf', tmpDir);
+    });
+
+    it('Test 029 : should fail if dependency already installed is wrong 
version', function(done) {
+        cordova.raw.create('hello3')
+        .then(function() {
+            process.chdir(project);
+            return cordova.raw.platform('add', 'android', {'fetch': true});
+        }).then(function() {
+            return cordova.raw.plugin('add', 'cordova-plugin-file', {'fetch': 
true});
+        }).then(function() {
+            expect(path.join(pluginsDir, 'cordova-plugin-file')).toExist();
+            return cordova.raw.plugin('add', plugins['Test1'], {'fetch': 
true});
+        }).fail(function(err) {
+            expect(err.message).toContain('does not satisfy dependency plugin 
requirement');
+        })
+        .fin(done);
+    }, TIMEOUT);
+
+    it('Test 030 : should pass if dependency already installed is wrong 
version with --force', function(done) {
+        cordova.raw.create('hello3')
+        .then(function() {
+            process.chdir(project);
+            return cordova.raw.platform('add', 'android', {'fetch': true});
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', 'cordova-plugin-file', {'fetch': 
true});
+        })
+        .then(function() {
+            expect(path.join(pluginsDir, 'cordova-plugin-file')).toExist();
+            return cordova.raw.plugin('add', plugins['Test1'], {'fetch': true, 
'force':true});
+        })
+        .then(function() {
+            expect(path.join(pluginsDir, 'Test1')).toExist();
+        })
+        .fail(function(err) {
+            expect(err).toBeUndefined();
+        })
+        .fin(done);
+    }, TIMEOUT);
+
+
+    it('Test 031 : should pass if dependency already installed is same major 
version (if specific version is specified)', function(done) {
+        //Test1 requires cordova-plugin-file version 2.0.0 (which should 
automatically turn into ^2.0.0); we'll install version 2.1.0
+        cordova.raw.create('hello3')
+        .then(function() {
+            process.chdir(project);
+            return cordova.raw.platform('add', 'android', {'fetch': true});
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', 'cordova-plugin-file@2.1.0', 
{'fetch': true});
+        })
+        .then(function() {
+            expect(path.join(pluginsDir, 'cordova-plugin-file')).toExist();
+            return cordova.raw.plugin('add', plugins['Test1'], {'fetch': 
true});
+        })
+        .then(function() {
+            expect(path.join(pluginsDir, 'Test1')).toExist();
+        })
+        .fail(function(err) {
+            //console.error(err);
+            expect(err).toBeUndefined();
+        })
+        .fin(done);
+    }, TIMEOUT);
+
+    it('Test 032 : should handle two plugins with same dependent plugin', 
function(done) {
+        //Test1 and Test2 have compatible dependencies on cordova-plugin-file
+        //Test1 and Test3 have incompatible dependencies on cordova-plugin-file
+        cordova.raw.create('hello3')
+        .then(function() {
+            process.chdir(project);
+            return cordova.raw.platform('add', 'android', {'fetch': true});
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', plugins['Test1'], {'fetch': 
true});
+        })
+        .then(function() {
+            expect(path.join(pluginsDir, 'cordova-plugin-file')).toExist();
+            expect(path.join(pluginsDir, 'Test1')).toExist();
+            return cordova.raw.plugin('add', plugins['Test2'], {'fetch': 
true});
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', plugins['Test3'], {'fetch': 
true});
+        })
+        .fail(function(err) {
+            expect(path.join(pluginsDir, 'Test2')).toExist();
+            expect(path.join(pluginsDir, 'Test3')).not.toExist();
+            expect(err.message).toContain('does not satisfy dependency plugin 
requirement');
+        }, TIMEOUT)
+        .fin(done);
+    }, TIMEOUT);
+
+    it('Test 033 : should use a dev version of a dependent plugin if it is 
already installed', function(done) {
+        //Test4 has this dependency in its plugin.xml:
+        //<dependency id="cordova-plugin-file" 
url="https://github.com/apache/cordova-plugin-file"; />
+        cordova.raw.create('hello3')
+        .then(function() {
+            process.chdir(project);
+            return cordova.raw.platform('add', 'android', {'fetch': true});
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', 
'https://github.com/apache/cordova-plugin-file');
+        })
+        .then(function() {
+            return cordova.raw.plugin('add', plugins['Test4'], {'fetch': 
true});
+        })
+        .then(function() {
+            expect(path.join(pluginsDir, 'cordova-plugin-file')).toExist();
+            expect(path.join(pluginsDir, 'Test4')).toExist();
+        }, function (error) {
+            fail(error);
+        })
+        .fin(done);
+    }, TIMEOUT);
+});

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/integration-tests/jasmine.json
----------------------------------------------------------------------
diff --git a/cordova-lib/integration-tests/jasmine.json 
b/cordova-lib/integration-tests/jasmine.json
new file mode 100644
index 0000000..f9414b7
--- /dev/null
+++ b/cordova-lib/integration-tests/jasmine.json
@@ -0,0 +1,13 @@
+{
+    "spec_dir": "integration-tests",
+    "spec_files": [
+       "**/*[sS]pec.js",
+       "**/*[sS]pec.js"
+    ],
+    "helpers": [
+      "../spec-cordova/helpers.js",
+      "../spec-cordova/helper.js"
+    ],
+    "stopSpecOnExpectationFailure": false,
+    "random": false
+}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/integration-tests/pkgJson.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/integration-tests/pkgJson.spec.js 
b/cordova-lib/integration-tests/pkgJson.spec.js
index 83afe6d..30d4c09 100644
--- a/cordova-lib/integration-tests/pkgJson.spec.js
+++ b/cordova-lib/integration-tests/pkgJson.spec.js
@@ -52,14 +52,14 @@ describe('plugin end-to-end', function() {
         shell.cp('-R', path.join(__dirname, '..', 'spec-cordova', 'fixtures', 
'basePkgJson'), tmpDir);
         shell.mv(path.join(tmpDir, 'basePkgJson'), project);
         // Copy some platform to avoid working on a project with no platforms.
-        shell.cp('-R', path.join(__dirname, '..', 'spec-cordova', 'fixtures', 
'platforms', helpers.testPlatform), path.join(project, 'platforms'));
+        shell.cp('-R', path.join(__dirname, '..', 'spec-plugman', 'projects', 
helpers.testPlatform), path.join(project, 'platforms'));
         process.chdir(project);
         delete process.env.PWD;
     });
 
     afterEach(function() {
         process.chdir(path.join(__dirname, '..'));  // Needed to rm the dir on 
Windows.
-        shell.rm('-rf', tmpDir);
+        shell.rm('-rf', project);
     });
 
     it('Test#001 : should successfully add and remove a plugin with save and 
correct spec', function(done) {
@@ -110,11 +110,10 @@ describe('plugin end-to-end', function() {
     it('Test#002 : should NOT add a plugin to package.json if --save is not 
used', function(done) {
         var pkgJsonPath = path.join(process.cwd(),'package.json');
         var pkgJson;
-
         expect(pkgJsonPath).toExist();
 
-        // Add the camera plugin with --save.
-        return cordova.raw.plugin('add', 'cordova-plugin-camera', 
{'save':true})
+        // Add the geolocation plugin with --save.
+        return cordova.raw.plugin('add', 'cordova-plugin-geolocation', 
{'save':true, 'fetch':true})
         .then(function() {
             // Add a second plugin without save.
             return cordova.raw.plugin('add', pluginId);
@@ -123,7 +122,7 @@ describe('plugin end-to-end', function() {
             pkgJson = cordova_util.requireNoCache(pkgJsonPath);
             // Check the plugin add was successful for the first plugin that 
had --save.
             expect(pkgJson).not.toBeUndefined();
-            
expect(pkgJson.cordova.plugins['cordova-plugin-camera']).toBeDefined();
+            
expect(pkgJson.cordova.plugins['cordova-plugin-geolocation']).toBeDefined();
             // Expect that the second plugin is not added.
             expect(pkgJson.cordova.plugins[pluginId]).toBeUndefined();
         }).fail(function(err) {
@@ -226,11 +225,12 @@ describe('plugin end-to-end', function() {
     }, TIMEOUT);
     // Test #023 : if pkg.json and config.xml have no platforms/plugins/spec.
     // and --save --fetch is called, use the pinned version or plugin pkg.json 
version.
-    it('Test#023 : use pinned/lastest version if there is no platform/plugin 
version passed in and no platform/plugin versions in pkg.json or config.xml', 
function(done) {
+    fit('Test#023 : use pinned/lastest version if there is no platform/plugin 
version passed in and no platform/plugin versions in pkg.json or config.xml', 
function(done) {
         var iosPlatform = 'ios';
         var iosVersion;
         var cwd = process.cwd();
         var iosDirectory = path.join(cwd, 'platforms/ios/cordova/version');
+        var iosJsonPath = path.join(cwd, 'platforms/ios/ios.json');
         var configXmlPath = path.join(cwd, 'config.xml');
         var pkgJsonPath = path.join(cwd,'package.json');
         var pkgJson = cordova_util.requireNoCache(pkgJsonPath);
@@ -240,7 +240,7 @@ describe('plugin end-to-end', function() {
         var engSpec;
         var configPlugins = cfg.getPluginIdList();
         var configPlugin = cfg.getPlugin(configPlugins);
-        var pluginPkgJsonDir = path.join(cwd, 
'plugins/cordova-plugin-camera/package.json');
+        var pluginPkgJsonDir = path.join(cwd, 
'plugins/cordova-plugin-geolocation/package.json');
         var pluginPkgJsonVersion;
 
         // Pkg.json has no platform or plugin or specs.
@@ -272,9 +272,11 @@ describe('plugin end-to-end', function() {
                 expect(semver.satisfies(iosVersion.version, 
elem.spec)).toEqual(true);
             });
         }).then(function() {
-            // Add camera plugin with --save --fetch.
-            return cordova.raw.plugin('add', 'cordova-plugin-camera', 
{'save':true, 'fetch':true});
+            // Add geolocation plugin with --save --fetch.
+            return cordova.raw.plugin('add', 'cordova-plugin-geolocation', 
{'save':true, 'fetch':true});
         }).then(function() {
+            var iosJson = cordova_util.requireNoCache(iosJsonPath);
+            
expect(iosJson.installed_plugins['cordova-plugin-geolocation']).toBeDefined();
             var cfg3 = new ConfigParser(configXmlPath);
             // Check config.xml for plugins and spec.
             configPlugins = cfg3.getPluginIdList();

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/package.json
----------------------------------------------------------------------
diff --git a/cordova-lib/package.json b/cordova-lib/package.json
index 76b8529..68c828e 100644
--- a/cordova-lib/package.json
+++ b/cordova-lib/package.json
@@ -52,12 +52,12 @@
   "scripts": {
     "test": "npm run jshint && npm run jasmine",
     "test-ios": "npm run test && npm run jasmine-ios",
-    "ci": "npm run jshint && npm run cover && codecov && npm run e2e-tests",
+    "ci": "npm run jshint && npm run cover && codecov",
     "jshint": "jshint src spec-cordova spec-plugman",
-    "jasmine": "jasmine --captureExceptions --color",
-    "jasmine-ios": "jasmine --captureExceptions --color 
spec-cordova/platform.spec.ios.js --matchall",
-    "cover": "istanbul cover --root src --print detail jasmine",
-    "e2e-tests" : "jasmine --captureExceptions --color integration-tests/*"
+    "jasmine": "jasmine JASMINE_CONFIG_PATH=spec-cordova/jasmine.json",
+    "jasmine-ios": "jasmine spec-cordova/platform.spec.ios.js",
+    "cover": "istanbul cover --root src --print detail jasmine 
JASMINE_CONFIG_PATH=spec-cordova/jasmine.json",
+    "e2e-tests" : "jasmine JASMINE_CONFIG_PATH=integration-tests/jasmine.json"
   },
   "contributors": [
     {

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/spec-cordova/fixtures/plugins/cordova-lib-test-plugin/package.json
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/plugins/cordova-lib-test-plugin/package.json
 
b/cordova-lib/spec-cordova/fixtures/plugins/cordova-lib-test-plugin/package.json
index 1c64679..5aa23c9 100644
--- 
a/cordova-lib/spec-cordova/fixtures/plugins/cordova-lib-test-plugin/package.json
+++ 
b/cordova-lib/spec-cordova/fixtures/plugins/cordova-lib-test-plugin/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cordova-lib-test-plugin",
-  "version": "1.3.0",
+  "version": "1.3.1",
   "description": "Empty plugin used as part of the tests in cordova-lib",
   "cordova": {
     "id": "cordova-lib-test-plugin",
@@ -18,10 +18,10 @@
         "cordova-android": "<2.1.0"
       },
       "1.1.2": {
-        "cordova-android": ">=2.1.0 <4.0.0"
+        "cordova-android": ">=2.1.0 <7.0.0"
       },
       "1.3.0": {
-        "cordova-android": "4.0.0"
+        "cordova-android": "7.0.0"
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/config.xml
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/config.xml
 
b/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/config.xml
new file mode 100644
index 0000000..2bb8e47
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/config.xml
@@ -0,0 +1,21 @@
+<?xml version='1.0' encoding='utf-8'?>
+<widget id="io.cordova.hellocordova" version="1.0.0" 
xmlns="http://www.w3.org/ns/widgets"; 
xmlns:cdv="http://cordova.apache.org/ns/1.0";>
+    <feature name="Device">
+        <param name="browser-package" value="Device" />
+    </feature>
+    <name>HelloCordova</name>
+    <description>
+        A sample Apache Cordova application that responds to the deviceready 
event.
+    </description>
+    <author email="d...@cordova.apache.org" href="http://cordova.io";>
+        Apache Cordova Team
+    </author>
+    <content src="index.html" />
+    <access origin="*" />
+    <allow-intent href="http://*/*"; />
+    <allow-intent href="https://*/*"; />
+    <allow-intent href="tel:*" />
+    <allow-intent href="sms:*" />
+    <allow-intent href="mailto:*"; />
+    <allow-intent href="geo:*" />
+</widget>

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version
 
b/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version
new file mode 100755
index 0000000..8a13bae
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version
@@ -0,0 +1,25 @@
+#!/usr/bin/env node
+
+/*
+       Licensed to the Apache Software Foundation (ASF) under one
+       or more contributor license agreements.  See the NOTICE file
+       distributed with this work for additional information
+       regarding copyright ownership.  The ASF licenses this file
+       to you under the Apache License, Version 2.0 (the
+       "License"); you may not use this file except in compliance
+       with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+       Unless required by applicable law or agreed to in writing,
+       software distributed under the License is distributed on an
+       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+       KIND, either express or implied.  See the License for the
+       specific language governing permissions and limitations
+       under the License.
+*/
+
+// Coho updates this line:
+var VERSION = "4.1.0";
+
+console.log(VERSION);

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version.bat
----------------------------------------------------------------------
diff --git 
a/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version.bat
 
b/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version.bat
new file mode 100644
index 0000000..3610c17
--- /dev/null
+++ 
b/cordova-lib/spec-cordova/fixtures/projects/platformApi/platforms/browser/cordova/version.bat
@@ -0,0 +1,26 @@
+:: Licensed to the Apache Software Foundation (ASF) under one
+:: or more contributor license agreements.  See the NOTICE file
+:: distributed with this work for additional information
+:: regarding copyright ownership.  The ASF licenses this file
+:: to you under the Apache License, Version 2.0 (the
+:: "License"); you may not use this file except in compliance
+:: with the License.  You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing,
+:: software distributed under the License is distributed on an
+:: "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+:: KIND, either express or implied.  See the License for the
+:: specific language governing permissions and limitations
+:: under the License.
+
+@ECHO OFF
+SET script_path="%~dp0version"
+IF EXIST %script_path% (
+        node %script_path% %*
+) ELSE (
+    ECHO.
+    ECHO ERROR: Could not find 'version' script in 'cordova' folder, 
aborting...>&2
+    EXIT /B 1
+)

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/spec-cordova/jasmine.json
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/jasmine.json 
b/cordova-lib/spec-cordova/jasmine.json
new file mode 100644
index 0000000..8a0ce59
--- /dev/null
+++ b/cordova-lib/spec-cordova/jasmine.json
@@ -0,0 +1,13 @@
+{
+    "spec_dir": "spec-cordova",
+    "spec_files": [
+       "**/*[sS]pec.js",
+       "../spec-plugman/**/*[sS]pec.js"
+    ],
+    "helpers": [
+      "../spec-cordova/helpers.js",
+      "../spec-cordova/helper.js"
+    ],
+    "stopSpecOnExpectationFailure": false,
+    "random": false
+}

http://git-wip-us.apache.org/repos/asf/cordova-lib/blob/07bed560/cordova-lib/spec-cordova/platform1.spec.js
----------------------------------------------------------------------
diff --git a/cordova-lib/spec-cordova/platform1.spec.js 
b/cordova-lib/spec-cordova/platform1.spec.js
index 725e7f5..c47aca1 100644
--- a/cordova-lib/spec-cordova/platform1.spec.js
+++ b/cordova-lib/spec-cordova/platform1.spec.js
@@ -97,7 +97,8 @@ describe('platform', function () {
 
 describe('platform add', function() {
     
-    var projectRoot = 'some/path',
+    var projectRoot = path.join('some', 'path'),
+        windowsPath = path.join(projectRoot,'cordova-windows'),
         platrevert,
         configParserRevert,
         pkgJson = {},
@@ -180,7 +181,7 @@ describe('platform add', function() {
         spyOn(prepare, 'preparePlatforms').and.returnValue(Q());
         spyOn(cordova, 'prepare').and.returnValue(Q());
         spyOn(platformMetadata, 'save').and.returnValue(true);
-        spyOn(platforms, 
'getPlatformApiFunction').and.returnValue(PlatformApiMock);
+        spyOn(cordova_util, 
'getPlatformApiFunction').and.returnValue(PlatformApiMock);
         //writes to package.json
         spyOn(fs, 'writeFileSync').and.callFake(function(dest, pkgJ) {
             pkgJson = JSON.parse(pkgJ);
@@ -189,7 +190,7 @@ describe('platform add', function() {
 
         //return true for windows local path target
         spyOn(cordova_util,'isDirectory').and.callFake(function(filePath) {
-            if(filePath.indexOf('some/path/cordova-windows') !== -1) {
+            if(filePath.indexOf(windowsPath) !== -1) {
                 return true;
             } else {
                 return false;
@@ -225,12 +226,12 @@ describe('platform add', function() {
         //require packge.json object
         spyOn(cordova_util, 'requireNoCache').and.returnValue(pkgJson);
         
-        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', '../some/path/cordova-windows', 
'atari@1.0.0'], {'fetch': true, 'save': true})
+        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', windowsPath, 'atari@1.0.0'], {'fetch': 
true, 'save': true})
         .then(function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(4);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(4);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(4);
             expect(cordova.prepare.calls.count()).toEqual(4);
             expect(prepare.preparePlatforms.calls.count()).toEqual(4);
             expect(platformMetadata.save.calls.count()).toEqual(4);
@@ -253,7 +254,7 @@ describe('platform add', function() {
                 { name: 'cordova-ios',
                 spec: 'https://github.com/apache/cordova-ios' },
                 { name: 'cordova-windows',
-                spec: '../some/path/cordova-windows' },
+                spec: windowsPath },
                 { name: 'atari', spec: '~1.0.0' } ]);
         }).fail(function(e) {
             expect(e).toBeUndefined();
@@ -268,12 +269,12 @@ describe('platform add', function() {
         //require packge.json object
         spyOn(cordova_util, 'requireNoCache');
  
-        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', '../some/path/cordova-windows', 
'atari@1.0.0'], {'fetch': true, 'save': true})
+        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', windowsPath, 'atari@1.0.0'], {'fetch': 
true, 'save': true})
         .then(function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(4);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(4);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(4);
             expect(cordova.prepare.calls.count()).toEqual(4);
             expect(prepare.preparePlatforms.calls.count()).toEqual(4);
             expect(platformMetadata.save.calls.count()).toEqual(4);
@@ -295,7 +296,7 @@ describe('platform add', function() {
                 { name: 'cordova-ios',
                 spec: 'https://github.com/apache/cordova-ios' },
                 { name: 'cordova-windows',
-                spec: '../some/path/cordova-windows' },
+                spec: windowsPath },
                 { name: 'atari', spec: '~1.0.0' } ]);
         }).fail(function(e) {
             expect(e).toBeUndefined();
@@ -308,12 +309,12 @@ describe('platform add', function() {
         //spy for package.json to not exist
         spyOn(fs,'existsSync').and.returnValue(false);
  
-        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', '../some/path/cordova-windows', 
'atari@1.0.0'], {'fetch': true, 'save': false})
+        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', windowsPath, 'atari@1.0.0'], {'fetch': 
true, 'save': false})
         .then(function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(4);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(4);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(4);
             expect(cordova.prepare.calls.count()).toEqual(4);
             expect(prepare.preparePlatforms.calls.count()).toEqual(4);
             expect(platformMetadata.save.calls.count()).toEqual(4);
@@ -348,12 +349,12 @@ describe('platform add', function() {
         //require packge.json object
         spyOn(cordova_util, 'requireNoCache').and.returnValue(pkgJson);
         
-        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', '../some/path/cordova-windows', 
'atari@1.0.0'], {'fetch': false, 'save': true})
+        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', windowsPath, 'atari@1.0.0'], {'fetch': 
false, 'save': true})
         .then(function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(4);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(4);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(4);
             expect(cordova.prepare.calls.count()).toEqual(4);
             expect(prepare.preparePlatforms.calls.count()).toEqual(4);
             expect(platformMetadata.save.calls.count()).toEqual(4);
@@ -373,7 +374,7 @@ describe('platform add', function() {
                 { name: 'cordova-ios',
                 spec: 'https://github.com/apache/cordova-ios' },
                 { name: 'cordova-windows',
-                spec: '../some/path/cordova-windows' },
+                spec: windowsPath },
                 { name: 'atari', spec: '~1.0.0' } ]);
         }).fail(function(e) {
             expect(e).toBeUndefined();
@@ -388,12 +389,12 @@ describe('platform add', function() {
         //require packge.json object
         spyOn(cordova_util, 'requireNoCache').and.returnValue(pkgJson);
         
-        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', '../some/path/cordova-windows', 
'atari@1.0.0'], {'fetch': false, 'save': true})
+        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', windowsPath, 'atari@1.0.0'], {'fetch': 
false, 'save': true})
         .then(function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(4);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(4);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(4);
             expect(cordova.prepare.calls.count()).toEqual(4);
             expect(prepare.preparePlatforms.calls.count()).toEqual(4);
             expect(platformMetadata.save.calls.count()).toEqual(4);
@@ -412,7 +413,7 @@ describe('platform add', function() {
                 { name: 'cordova-ios',
                 spec: 'https://github.com/apache/cordova-ios' },
                 { name: 'cordova-windows',
-                spec: '../some/path/cordova-windows' },
+                spec: windowsPath },
                 { name: 'atari', spec: '~1.0.0' } ]);
         }).fail(function(e) {
             expect(e).toBeUndefined();
@@ -425,12 +426,12 @@ describe('platform add', function() {
         //spy for package.json to not exist
         spyOn(fs,'existsSync').and.returnValue(false);
  
-        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', '../some/path/cordova-windows', 
'atari@1.0.0'], {'fetch': false, 'save': false})
+        platform.add(hooksRunnerMock, projectRoot, ['android', 
'https://github.com/apache/cordova-ios', windowsPath, 'atari@1.0.0'], {'fetch': 
false, 'save': false})
         .then(function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(4);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(4);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(4);
             expect(cordova.prepare.calls.count()).toEqual(4);
             expect(prepare.preparePlatforms.calls.count()).toEqual(4);
             expect(platformMetadata.save.calls.count()).toEqual(4);
@@ -470,7 +471,7 @@ describe('platform add', function() {
             expect(cordova_util.projectConfig.calls.count()).toEqual(1);
             expect(shell.mkdir.calls.count()).toEqual(1);
             
expect(platform.getPlatformDetailsFromDir.calls.count()).toEqual(1);
-            expect(platforms.getPlatformApiFunction.calls.count()).toEqual(1);
+            
expect(cordova_util.getPlatformApiFunction.calls.count()).toEqual(1);
             expect(cordova.prepare.calls.count()).toEqual(1);
             expect(prepare.preparePlatforms.calls.count()).toEqual(1);
             expect(platformMetadata.save.calls.count()).toEqual(1);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org
For additional commands, e-mail: commits-h...@cordova.apache.org

Reply via email to