You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2013/06/07 00:06:09 UTC
[01/13] remove cruft
Updated Branches:
refs/heads/master 804a1f099 -> 13717c312
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/cordova.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/cordova.js b/tests/MobileSpecUnitTests/www/cordova.js
deleted file mode 100644
index 6778e2b..0000000
--- a/tests/MobileSpecUnitTests/www/cordova.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var VERSION='2.5.0';
-var scripts = document.getElementsByTagName('script');
-var cordovaPath = scripts[scripts.length - 1].src.replace('cordova.js', 'cordova-'+VERSION+'.js');
-
-document.write('<script type="text/javascript" charset="utf-8" src="' + cordovaPath + '"></script>');
-
-function backHome() {
- if (window.device && device.platform && device.platform.toLowerCase() == 'android') {
- navigator.app.backHistory();
- }
- else {
- window.history.go(-1);
- }
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/events/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/events/index.html b/tests/MobileSpecUnitTests/www/events/index.html
deleted file mode 100644
index 2c7e8ba..0000000
--- a/tests/MobileSpecUnitTests/www/events/index.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- function interceptBackbutton() {
- eventOutput("Back button intercepted");
- }
- function interceptMenubutton() {
- eventOutput("Menu button intercepted");
- }
- function interceptSearchbutton() {
- eventOutput("Search button intercepted");
- }
- function interceptResume() {
- eventOutput("Resume event intercepted");
- }
- function interceptPause() {
- eventOutput("Pause event intercepted");
- }
- function interceptOnline() {
- eventOutput("Online event intercepted");
- }
- function interceptOffline() {
- eventOutput("Offline event intercepted");
- }
-
- var eventOutput = function(s) {
- var el = document.getElementById("results");
- el.innerHTML = el.innerHTML + s + "<br>";
- };
-
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- eventOutput("deviceready event: "+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Events</h1>
- <div id="info">
- <b>Results:</b><br>
- <span id="results"></span>
- </div>
-
- <h2>Action</h2>
- <div class="btn large" onclick="document.addEventListener('backbutton', interceptBackbutton, false);">Intercept backbutton</div>
- <div class="btn large" onclick="document.removeEventListener('backbutton', interceptBackbutton, false);">Stop intercept of backbutton</div>
- <div class="btn large" onclick="document.addEventListener('menubutton', interceptMenubutton, false);">Intercept menubutton</div>
- <div class="btn large" onclick="document.removeEventListener('menubutton', interceptMenubutton, false);">Stop intercept of menubutton</div>
- <div class="btn large" onclick="document.addEventListener('searchbutton', interceptSearchbutton, false);">Intercept searchbutton</div>
- <div class="btn large" onclick="document.removeEventListener('searchbutton', interceptSearchbutton, false);">Stop intercept of searchbutton</div>
- <div class="btn large" onclick="document.addEventListener('resume', interceptResume, false);">Intercept resume</div>
- <div class="btn large" onclick="document.removeEventListener('resume', interceptResume, false);">Stop intercept of resume</div>
- <div class="btn large" onclick="document.addEventListener('pause', interceptPause, false);">Intercept pause</div>
- <div class="btn large" onclick="document.removeEventListener('pause', interceptPause, false);">Stop intercept of pause</div>
- <div class="btn large" onclick="document.addEventListener('online', interceptOnline, false);">Intercept online</div>
- <div class="btn large" onclick="document.removeEventListener('online', interceptOnline, false);">Stop intercept of online</div>
- <div class="btn large" onclick="document.addEventListener('offline', interceptOffline, false);">Intercept offline</div>
- <div class="btn large" onclick="document.removeEventListener('offline', interceptOffline, false);">Stop intercept of offline</div>
-
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/index.html b/tests/MobileSpecUnitTests/www/index.html
deleted file mode 100644
index e7a77e0..0000000
--- a/tests/MobileSpecUnitTests/www/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
- <script type="text/javascript" charset="utf-8" src="main.js"></script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
- <h1>Apache Cordova Tests</h1>
- <div id="info">
- <h4>Platform: <span id="platform"> </span></h4>
- <h4>Version: <span id="version"> </span></h4>
- <h4>UUID: <span id="uuid"> </span></h4>
- <h4>Name: <span id="name"> </span></h4>
- <h4>Width: <span id="width"> </span>, Height: <span id="height">
- </span>, Color Depth: <span id="colorDepth"></span></h4>
- </div>
- <a href="autotest/index.html" class="btn large">Automatic Test</a>
- <a href="accelerometer/index.html" class="btn large">Accelerometer</a>
- <a href="audio/index.html" class="btn large">Audio Play/Record</a>
- <a href="battery/index.html" class="btn large">Battery</a>
- <a href="camera/index.html" class="btn large">Camera</a>
- <a href="compass/index.html" class="btn large">Compass</a>
- <a href="contacts/index.html" class="btn large">Contacts</a>
- <a href="events/index.html" class="btn large">Events</a>
- <a href="location/index.html" class="btn large">Location</a>
- <a href="misc/index.html" class="btn large">Misc Content</a>
- <a href="network/index.html" class="btn large">Network</a>
- <a href="notification/index.html" class="btn large">Notification</a>
- <a href="sql/index.html" class="btn large">Web SQL</a>
- <a href="storage/index.html" class="btn large">Local Storage</a>
- <a href="execbenchmark/index.html" class="btn large">Benchmark exec()</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/location/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/location/index.html b/tests/MobileSpecUnitTests/www/location/index.html
deleted file mode 100644
index 8b1e681..0000000
--- a/tests/MobileSpecUnitTests/www/location/index.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Location
- //-------------------------------------------------------------------------
- var watchLocationId = null;
-
- /**
- * Start watching location
- */
- var watchLocation = function(geo) {
- console.log("watchLocation()");
-
- // Success callback
- var success = function(p){
- console.log('watch location success');
- setLocationDetails(p);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchLocation fail callback with error code "+e);
- stopLocation(geo);
- };
-
- // Get location
- watchLocationId = geo.watchPosition(success, fail, {enableHighAccuracy: true});
- setLocationStatus("Running");
- };
-
- /**
- * Stop watching the location
- */
- var stopLocation = function(geo) {
- setLocationStatus("Stopped");
- if (watchLocationId) {
- geo.clearWatch(watchLocationId);
- watchLocationId = null;
- }
- };
-
- /**
- * Get current location
- */
- var getLocation = function(geo, opts) {
- console.log("getLocation()");
-
- // Stop location if running
- stopLocation(geo);
-
- // Success callback
- var success = function(p){
- console.log('get location success');
- setLocationDetails(p);
- setLocationStatus("Done");
- };
-
- // Fail callback
- var fail = function(e){
- console.log("getLocation fail callback with error code "+e.code);
- setLocationStatus("Error: "+e.code);
- };
-
- // Get location
- geo.getCurrentPosition(success, fail, opts || {enableHighAccuracy: true}); //, {timeout: 10000});
- setLocationStatus("Retrieving location...");
-
- };
-
- /**
- * Set location status
- */
- var setLocationStatus = function(status) {
- document.getElementById('location_status').innerHTML = status;
- };
-var setLocationDetails = function(p) {
-var date = (new Date(p.timestamp));
- document.getElementById('latitude').innerHTML = p.coords.latitude;
- document.getElementById('longitude').innerHTML = p.coords.longitude;
- document.getElementById('altitude').innerHTML = p.coords.altitude;
- document.getElementById('accuracy').innerHTML = p.coords.accuracy;
- document.getElementById('heading').innerHTML = p.coords.heading;
- document.getElementById('speed').innerHTML = p.coords.speed;
- document.getElementById('altitude_accuracy').innerHTML = p.coords.altitudeAccuracy;
- document.getElementById('timestamp').innerHTML = date.toDateString() + " " + date.toTimeString();
- }
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Location</h1>
- <div id="info">
- <b>Status:</b> <span id="location_status">Stopped</span>
- <table width="100%">
- <tr><td><b>Latitude:</b></td><td id="latitude"> </td></tr>
- <tr><td><b>Longitude:</b></td><td id="longitude"> </td></tr>
- <tr><td><b>Altitude:</b></td><td id="altitude"> </td></tr>
- <tr><td><b>Accuracy:</b></td><td id="accuracy"> </td></tr>
- <tr><td><b>Heading:</b></td><td id="heading"> </td></tr>
- <tr><td><b>Speed:</b></td><td id="speed"> </td></tr>
- <tr><td><b>Altitude Accuracy:</b></td><td id="altitude_accuracy"> </td></tr>
- <tr><td><b>Time:</b></td><td id="timestamp"> </td></tr>
- </table>
- </div>
- <h2>Action</h2>
- <h3>Use Built-in WebView navigator.geolocation</h3>
- <a href="javascript:" class="btn large" onclick="getLocation(navigator.geolocation);">Get Location</a>
- <a href="javascript:" class="btn large" onclick="watchLocation(navigator.geolocation);">Start Watching Location</a>
- <a href="javascript:" class="btn large" onclick="stopLocation(navigator.geolocation);">Stop Watching Location</a>
- <a href="javascript:" class="btn large" onclick="getLocation(navigator.geolocation, {maximumAge:30000});">Get Location Up to 30 Seconds Old</a>
- <h3>USe Cordova Geolocation Plugin</h3>
- <a href="javascript:" class="btn large" onclick="getLocation(cordova.require('cordova/plugin/geolocation'));">Get Location</a>
- <a href="javascript:" class="btn large" onclick="watchLocation(cordova.require('cordova/plugin/geolocation'));">Start Watching Location</a>
- <a href="javascript:" class="btn large" onclick="stopLocation(cordova.require('cordova/plugin/geolocation'));">Stop Watching Location</a>
- <a href="javascript:" class="btn large" onclick="getLocation(cordova.require('cordova/plugin/geolocation'), {maximumAge:30000});">Get Location Up to 30 Seconds Old</a>
- <h2> </h2><a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/main.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/main.js b/tests/MobileSpecUnitTests/www/main.js
deleted file mode 100644
index ae447aa..0000000
--- a/tests/MobileSpecUnitTests/www/main.js
+++ /dev/null
@@ -1,140 +0,0 @@
-var deviceInfo = function() {
- document.getElementById("platform").innerHTML = device.platform;
- document.getElementById("version").innerHTML = device.version;
- document.getElementById("uuid").innerHTML = device.uuid;
- document.getElementById("name").innerHTML = device.name;
- document.getElementById("width").innerHTML = screen.width;
- document.getElementById("height").innerHTML = screen.height;
- document.getElementById("colorDepth").innerHTML = screen.colorDepth;
-};
-
-var getLocation = function() {
- var suc = function(p) {
- alert(p.coords.latitude + " " + p.coords.longitude);
- };
- var locFail = function() {
- };
- navigator.geolocation.getCurrentPosition(suc, locFail);
-};
-
-var beep = function() {
- navigator.notification.beep(2);
-};
-
-var vibrate = function() {
- navigator.notification.vibrate(0);
-};
-
-function roundNumber(num) {
- var dec = 3;
- var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
- return result;
-}
-
-var accelerationWatch = null;
-
-function updateAcceleration(a) {
- document.getElementById('x').innerHTML = roundNumber(a.x);
- document.getElementById('y').innerHTML = roundNumber(a.y);
- document.getElementById('z').innerHTML = roundNumber(a.z);
-}
-
-var toggleAccel = function() {
- if (accelerationWatch !== null) {
- navigator.accelerometer.clearWatch(accelerationWatch);
- updateAcceleration({
- x : "",
- y : "",
- z : ""
- });
- accelerationWatch = null;
- } else {
- var options = {};
- options.frequency = 1000;
- accelerationWatch = navigator.accelerometer.watchAcceleration(
- updateAcceleration, function(ex) {
- alert("accel fail (" + ex.name + ": " + ex.message + ")");
- }, options);
- }
-};
-
-var preventBehavior = function(e) {
- e.preventDefault();
-};
-
-function dump_pic(data) {
- var viewport = document.getElementById('viewport');
- console.log(data);
- viewport.style.display = "";
- viewport.style.position = "absolute";
- viewport.style.top = "10px";
- viewport.style.left = "10px";
- document.getElementById("test_img").src = "data:image/jpeg;base64," + data;
-}
-
-function fail(msg) {
- alert(msg);
-}
-
-function show_pic() {
- navigator.camera.getPicture(dump_pic, fail, {
- quality : 50
- });
-}
-
-function close() {
- var viewport = document.getElementById('viewport');
- viewport.style.position = "relative";
- viewport.style.display = "none";
-}
-
-// This is just to do this.
-function readFile() {
- navigator.file.read('/sdcard/phonegap.txt', fail, fail);
-}
-
-function writeFile() {
- navigator.file.write('foo.txt', "This is a test of writing to a file",
- fail, fail);
-}
-
-function contacts_success(contacts) {
- alert(contacts.length
- + ' contacts returned.'
- + (contacts[2] && contacts[2].name ? (' Third contact is ' + contacts[2].name.formatted)
- : ''));
-}
-
-function get_contacts() {
- var obj = new ContactFindOptions();
- obj.filter = "";
- obj.multiple = true;
- obj.limit = 5;
- navigator.service.contacts.find(
- [ "displayName", "name" ], contacts_success,
- fail, obj);
-}
-
-var networkReachableCallback = function(reachability) {
- // There is no consistency on the format of reachability
- var networkState = reachability.code || reachability;
-
- var currentState = {};
- currentState[NetworkStatus.NOT_REACHABLE] = 'No network connection';
- currentState[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection';
- currentState[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK] = 'WiFi connection';
-
- confirm("Connection type:\n" + currentState[networkState]);
-};
-
-function check_network() {
- navigator.network.isReachable("www.mobiledevelopersolutions.com",
- networkReachableCallback, {});
-}
-
-function init() {
- // the next line makes it impossible to see Contacts on the HTC Evo since it
- // doesn't have a scroll button
- // document.addEventListener("touchmove", preventBehavior, false);
- document.addEventListener("deviceready", deviceInfo, true);
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/master.css
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/master.css b/tests/MobileSpecUnitTests/www/master.css
deleted file mode 100644
index 2408052..0000000
--- a/tests/MobileSpecUnitTests/www/master.css
+++ /dev/null
@@ -1,136 +0,0 @@
- body {
- background:#222 none repeat scroll 0 0;
- color:#666;
- font-family:Helvetica;
- font-size:72%;
- line-height:1.5em;
- margin:0;
- border-top:1px solid #393939;
- }
-
- #info{
- background:#ffa;
- border: 1px solid #ffd324;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- clear:both;
- margin:15px 6px 0;
- width:295px;
- padding:4px 0px 2px 10px;
- }
-
- #info > h4{
- font-size:.95em;
- margin:5px 0;
- }
-
- #stage.theme{
- padding-top:3px;
- }
-
- /* Definition List */
- #stage.theme > dl{
- padding-top:10px;
- clear:both;
- margin:0;
- list-style-type:none;
- padding-left:10px;
- overflow:auto;
- }
-
- #stage.theme > dl > dt{
- font-weight:bold;
- float:left;
- margin-left:5px;
- }
-
- #stage.theme > dl > dd{
- width:45px;
- float:left;
- color:#a87;
- font-weight:bold;
- }
-
- /* Content Styling */
- #stage.theme > h1, #stage.theme > h2, #stage.theme > p{
- margin:1em 0 .5em 13px;
- }
-
- #stage.theme > h1{
- color:#eee;
- font-size:1.6em;
- text-align:center;
- margin:0;
- margin-top:15px;
- padding:0;
- }
-
- #stage.theme > h2{
- clear:both;
- margin:0;
- padding:3px;
- font-size:1em;
- text-align:center;
- }
-
- /* Stage Buttons */
- #stage.theme .btn{
- border: 1px solid #555;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- text-align:center;
- display:block;
- float:left;
- background:#444;
- width:150px;
- color:#9ab;
- font-size:1.1em;
- text-decoration:none;
- padding:1.2em 0;
- margin:3px 0px 3px 5px;
- }
-
- #stage.theme .large{
- width:308px;
- padding:1.2em 0;
- }
-
- #stage.theme .wide{
- width:100%;
- padding:1.2em 0;
- }
-
- #stage.theme .backBtn{
- border: 1px solid #555;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- text-align:center;
- display:block;
- float:right;
- background:#666;
- width:75px;
- color:#9ab;
- font-size:1.1em;
- text-decoration:none;
- padding:1.2em 0;
- margin:3px 5px 3px 5px;
- }
-
- #stage.theme .input{
- border: 1px solid #555;
- -webkit-border-radius: 5px;
- border-radius: 5px;
- text-align:center;
- display:block;
- float:light;
- background:#888;
- color:#9cd;
- font-size:1.1em;
- text-decoration:none;
- padding:1.2em 0;
- margin:3px 0px 3px 5px;
- }
-
- #stage.theme .numeric{
- width:100%;
- }
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/misc/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/misc/index.html b/tests/MobileSpecUnitTests/www/misc/index.html
deleted file mode 100644
index 697cb10..0000000
--- a/tests/MobileSpecUnitTests/www/misc/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- function roundNumber(num) {
- var dec = 3;
- var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
- return result;
- }
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Display Other Content</h1>
- <div id="info">
- </div>
- <h2>Action</h2>
- <div class="btn large" onclick="document.location='tel:5551212';" >Call 411</div>
- <a href="mailto:bob@abc.org?subject=My Subject&body=This is the body.%0D%0ANew line." class="btn large">Send Mail</a>
- <a href="sms:5125551234?body=The SMS message." class="btn large">Send SMS</a>
- <a href="http://www.google.com" class="btn large">Load Web Site</a>
- <!-- Need new URL -->
- <!-- a href="http://handle.library.cornell.edu/control/authBasic/authTest/" class="btn large">Basic Auth: test/this</a -->
- <a href="page2.html" hrefbad="page2.html?me=test" class="btn large">Load another PhoneGap page</a>
- <h2>Android Only</h2>
- <a href="geo:0,0?q=11400 Burnet Rd, Austin, TX" class="btn large">Map IBM</a>
- <a href="market://search?q=google" class="btn large">Search Android market</a>
- <a href="content://media/external/images/media" class="btn large">View image app</a>
-
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/misc/page2.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/misc/page2.html b/tests/MobileSpecUnitTests/www/misc/page2.html
deleted file mode 100644
index 22026fc..0000000
--- a/tests/MobileSpecUnitTests/www/misc/page2.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
- <script type="text/javascript" charset="utf-8" src="../main.js"></script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
- <h1>Page2 App</h1>
- <h2>This is page 2 of a PhoneGap app</h2>
- <div id="info">
- <h4>Platform: <span id="platform"> </span></h4>
- <h4>Version: <span id="version"> </span></h4>
- <h4>UUID: <span id="uuid"> </span></h4>
- <h4>Name: <span id="name"> </span></h4>
- <h4>Width: <span id="width"> </span>, Height: <span id="height">
- </span>, Color Depth: <span id="colorDepth"></span></h4>
- </div>
- <div ><button class="backBtn" onclick="backHome();">Back</button></div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/network/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/network/index.html b/tests/MobileSpecUnitTests/www/network/index.html
deleted file mode 100644
index 0b2204b..0000000
--- a/tests/MobileSpecUnitTests/www/network/index.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- var eventOutput = function(s) {
- var el = document.getElementById("results");
- el.innerHTML = el.innerHTML + s + "<br>";
- };
-
- function printNetwork() {
- eventOutput("Current network connection type is: " + navigator.network.connection.type);
- }
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- eventOutput("Network Connection is: " + navigator.network.connection.type);
- document.addEventListener('online', function() { eventOutput('Online event, connection is: ' + navigator.network.connection.type); }, false);
- document.addEventListener('offline', function() { eventOutput('Offline event, connection is: ' + navigator.network.connection.type); }, false);
-
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Network Events and State</h1>
- <div id="info">
- <b>Results:</b><br>
- <span id="results"></span>
- </div>
-
- <h2>Action</h2>
- <div class="btn large" onclick="printNetwork();">Show Network Connection</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/notification/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/notification/index.html b/tests/MobileSpecUnitTests/www/notification/index.html
deleted file mode 100644
index e5c0d17..0000000
--- a/tests/MobileSpecUnitTests/www/notification/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Notifications
- //-------------------------------------------------------------------------
-
- var beep = function(){
- navigator.notification.beep(3);
- };
-
- var vibrate = function(){
- navigator.notification.vibrate(1000);
- };
-
- var alertDialog = function(message, title, button) {
- console.log("alertDialog()");
- navigator.notification.alert(message,
- function(){
- console.log("Alert dismissed.");
- },
- title, button);
- console.log("After alert");
- };
-
- var confirmDialog = function(message, title, buttons) {
- navigator.notification.confirm(message,
- function(r) {
- console.log("You selected " + r);
- alert("You selected " + (buttons.split(","))[r-1]);
- },
- title,
- buttons);
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Notifications and Dialogs</h1>
- <div id="info">
- </div>
-
- <h2>Action</h2>
- <div class="btn large" onclick="beep();">Beep</div>
- <div class="btn large" onclick="vibrate();">Vibrate</div>
- <div class="btn large" onclick="alertDialog('You pressed alert.', 'Alert Dialog', 'Continue');">Alert Dialog</div>
- <div class="btn large" onclick="confirmDialog('You pressed confirm.', 'Confirm Dialog', 'Yes,No,Maybe');">Confirm Dialog</div>
- <div class="btn large" onclick="alert('You pressed alert.');">Built-in Alert Dialog</div>
- <div class="btn large" onclick="confirm('You selected confirm');">Built-in Confirm Dialog</div>
- <div class="btn large" onclick="prompt('This is a prompt.', 'Default value');">Built-in Prompt Dialog</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/sql/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/sql/index.html b/tests/MobileSpecUnitTests/www/sql/index.html
deleted file mode 100644
index 116f8d1..0000000
--- a/tests/MobileSpecUnitTests/www/sql/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // HTML5 Database
- //-------------------------------------------------------------------------
- var db;
- var callDatabase = function() {
- db = openDatabase("mydb", "1.0", "PhoneGap Demo", 20000);
- if (db === null) {
- databaseOutput("Database could not be opened.");
- return;
- }
- databaseOutput("Database opened.");
- db.transaction(function (tx) {
- tx.executeSql('DROP TABLE IF EXISTS DEMO');
- tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)', [],
- function(tx,results) { console.log("Created table"); },
- function(tx,err) { alert("Error creating table: "+err.message); });
- tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")', [],
- function(tx,results) { console.log("Insert row1 success"); },
- function(tx,err) { alert("Error adding 1st row: "+err.message); });
- tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")', [],
- function(tx,results) { console.log("Insert row2 success"); },
- function(tx,err) { alert("Error adding 2nd row: "+err.message); });
- databaseOutput("Data written to DEMO table.");
- console.log("Data written to DEMO table.");
-
- tx.executeSql('SELECT * FROM DEMO', [], function (tx, results) {
- var len = results.rows.length;
- var text = "DEMO table: " + len + " rows found.<br>";
- text = text + "<table border='1'><tr><td>Row</td><td>Data</td></tr>";
- for (var i=0; i<len; i++){
- text = text + "<tr><td>" + i + "</td><td>" + results.rows.item(i).id + ", " + results.rows.item(i).data + "</td></tr>";
- }
- text = text + "</table>";
- databaseOutput(text);
- }, function(tx, err) {
- alert("Error processing SELECT * SQL: "+err.message);
- });
- tx.executeSql('SELECT ID FROM DEMO', [], function (tx, results) {
- var len = results.rows.length;
- var text = "DEMO table: " + len + " rows found.<br>";
- text = text + "<table border='1'><tr><td>Row</td><td>Data</td></tr>";
- for (var i=0; i<len; i++){
- text = text + "<tr><td>" + i + "</td><td>" + results.rows.item(i).id + "</td></tr>";
- }
- text = text + "</table>";
- databaseOutput(text);
- }, function(tx, err) {
- alert("Error processing SELECT ID SQL: "+err.message);
- });
-
- },
- function(err) {
- console.log("Transaction failed: " + err.message);
- });
-
-
- };
-
- var readDatabase = function() {
- if (!db) {
- db = openDatabase("mydb", "1.0", "PhoneGap Demo", 20000);
- if (db === null) {
- databaseOutput("Database could not be opened.");
- return;
- }
- }
- db.transaction(function (tx) {
- tx.executeSql('SELECT * FROM DEMO WHERE id=2', [], function (tx, results) {
- var len = results.rows.length;
- var text = "DEMO table: " + len + " rows found.<br>";
- text = text + "<table border='1'><tr><td>Row</td><td>Data</td></tr>";
- for (var i=0; i<len; i++){
- text = text + "<tr><td>" + i + "</td><td>" + results.rows.item(i).id + ", " + results.rows.item(i).data + "</td></tr>";
- }
- text = text + "</table>";
- databaseOutput(text);
- }, function(tx, err) {
- alert("Error processing SELECT * WHERE id=2 SQL: "+err.message);
- });
- });
- }
-
- var databaseOutput = function(s) {
- var el = document.getElementById("database_results");
- el.innerHTML = el.innerHTML + s + "<br>";
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>HTML5 Database</h1>
- <div id="info">
- <b>Results:</b><br>
- <span id="database_results"></span>
- </div>
- <h2>Action</h2>
- <div class="btn large" onclick="callDatabase();">Create, Add, Read Database</div>
- <div class="btn large" onclick="readDatabase();">Read Database</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/storage/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/storage/index.html b/tests/MobileSpecUnitTests/www/storage/index.html
deleted file mode 100644
index 85a0dbd..0000000
--- a/tests/MobileSpecUnitTests/www/storage/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Local Storage</h1>
- <div id="info">
- You have run this app <span id="count">an untold number of</span> time(s).
- </div>
-
- <script>
- if (!localStorage.pageLoadCount) {
- localStorage.pageLoadCount = 0;
- }
- localStorage.pageLoadCount = parseInt(localStorage.pageLoadCount) + 1;
- document.getElementById('count').textContent = localStorage.pageLoadCount;
- </script>
-
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
[07/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/jasmine.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/jasmine.js b/tests/MobileSpecUnitTests/www/autotest/jasmine.js
deleted file mode 100644
index bccb66c..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/jasmine.js
+++ /dev/null
@@ -1,2530 +0,0 @@
-var isCommonJS = typeof window == "undefined";
-
-/**
- * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework.
- *
- * @namespace
- */
-var jasmine = {};
-if (isCommonJS) exports.jasmine = jasmine;
-/**
- * @private
- */
-jasmine.unimplementedMethod_ = function() {
- throw new Error("unimplemented method");
-};
-
-/**
- * Use <code>jasmine.undefined</code> instead of <code>undefined</code>, since <code>undefined</code> is just
- * a plain old variable and may be redefined by somebody else.
- *
- * @private
- */
-jasmine.undefined = jasmine.___undefined___;
-
-/**
- * Show diagnostic messages in the console if set to true
- *
- */
-jasmine.VERBOSE = false;
-
-/**
- * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed.
- *
- */
-jasmine.DEFAULT_UPDATE_INTERVAL = 250;
-
-/**
- * Default timeout interval in milliseconds for waitsFor() blocks.
- */
-jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000;
-
-jasmine.getGlobal = function() {
- function getGlobal() {
- return this;
- }
-
- return getGlobal();
-};
-
-/**
- * Allows for bound functions to be compared. Internal use only.
- *
- * @ignore
- * @private
- * @param base {Object} bound 'this' for the function
- * @param name {Function} function to find
- */
-jasmine.bindOriginal_ = function(base, name) {
- var original = base[name];
- if (original.apply) {
- return function() {
- return original.apply(base, arguments);
- };
- } else {
- // IE support
- return jasmine.getGlobal()[name];
- }
-};
-
-jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout');
-jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout');
-jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval');
-jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval');
-
-jasmine.MessageResult = function(values) {
- this.type = 'log';
- this.values = values;
- this.trace = new Error(); // todo: test better
-};
-
-jasmine.MessageResult.prototype.toString = function() {
- var text = "";
- for (var i = 0; i < this.values.length; i++) {
- if (i > 0) text += " ";
- if (jasmine.isString_(this.values[i])) {
- text += this.values[i];
- } else {
- text += jasmine.pp(this.values[i]);
- }
- }
- return text;
-};
-
-jasmine.ExpectationResult = function(params) {
- this.type = 'expect';
- this.matcherName = params.matcherName;
- this.passed_ = params.passed;
- this.expected = params.expected;
- this.actual = params.actual;
- this.message = this.passed_ ? 'Passed.' : params.message;
-
- var trace = (params.trace || new Error(this.message));
- this.trace = this.passed_ ? '' : trace;
-};
-
-jasmine.ExpectationResult.prototype.toString = function () {
- return this.message;
-};
-
-jasmine.ExpectationResult.prototype.passed = function () {
- return this.passed_;
-};
-
-/**
- * Getter for the Jasmine environment. Ensures one gets created
- */
-jasmine.getEnv = function() {
- var env = jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env();
- return env;
-};
-
-/**
- * @ignore
- * @private
- * @param value
- * @returns {Boolean}
- */
-jasmine.isArray_ = function(value) {
- return jasmine.isA_("Array", value);
-};
-
-/**
- * @ignore
- * @private
- * @param value
- * @returns {Boolean}
- */
-jasmine.isString_ = function(value) {
- return jasmine.isA_("String", value);
-};
-
-/**
- * @ignore
- * @private
- * @param value
- * @returns {Boolean}
- */
-jasmine.isNumber_ = function(value) {
- return jasmine.isA_("Number", value);
-};
-
-/**
- * @ignore
- * @private
- * @param {String} typeName
- * @param value
- * @returns {Boolean}
- */
-jasmine.isA_ = function(typeName, value) {
- return Object.prototype.toString.apply(value) === '[object ' + typeName + ']';
-};
-
-/**
- * Pretty printer for expecations. Takes any object and turns it into a human-readable string.
- *
- * @param value {Object} an object to be outputted
- * @returns {String}
- */
-jasmine.pp = function(value) {
- var stringPrettyPrinter = new jasmine.StringPrettyPrinter();
- stringPrettyPrinter.format(value);
- return stringPrettyPrinter.string;
-};
-
-/**
- * Returns true if the object is a DOM Node.
- *
- * @param {Object} obj object to check
- * @returns {Boolean}
- */
-jasmine.isDomNode = function(obj) {
- return obj.nodeType > 0;
-};
-
-/**
- * Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter.
- *
- * @example
- * // don't care about which function is passed in, as long as it's a function
- * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function));
- *
- * @param {Class} clazz
- * @returns matchable object of the type clazz
- */
-jasmine.any = function(clazz) {
- return new jasmine.Matchers.Any(clazz);
-};
-
-/**
- * Returns a matchable subset of a JSON object. For use in expectations when you don't care about all of the
- * attributes on the object.
- *
- * @example
- * // don't care about any other attributes than foo.
- * expect(mySpy).toHaveBeenCalledWith(jasmine.objectContaining({foo: "bar"});
- *
- * @param sample {Object} sample
- * @returns matchable object for the sample
- */
-jasmine.objectContaining = function (sample) {
- return new jasmine.Matchers.ObjectContaining(sample);
-};
-
-/**
- * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks.
- *
- * Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine
- * expectation syntax. Spies can be checked if they were called or not and what the calling params were.
- *
- * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs).
- *
- * Spies are torn down at the end of every spec.
- *
- * Note: Do <b>not</b> call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj.
- *
- * @example
- * // a stub
- * var myStub = jasmine.createSpy('myStub'); // can be used anywhere
- *
- * // spy example
- * var foo = {
- * not: function(bool) { return !bool; }
- * }
- *
- * // actual foo.not will not be called, execution stops
- * spyOn(foo, 'not');
-
- // foo.not spied upon, execution will continue to implementation
- * spyOn(foo, 'not').andCallThrough();
- *
- * // fake example
- * var foo = {
- * not: function(bool) { return !bool; }
- * }
- *
- * // foo.not(val) will return val
- * spyOn(foo, 'not').andCallFake(function(value) {return value;});
- *
- * // mock example
- * foo.not(7 == 7);
- * expect(foo.not).toHaveBeenCalled();
- * expect(foo.not).toHaveBeenCalledWith(true);
- *
- * @constructor
- * @see spyOn, jasmine.createSpy, jasmine.createSpyObj
- * @param {String} name
- */
-jasmine.Spy = function(name) {
- /**
- * The name of the spy, if provided.
- */
- this.identity = name || 'unknown';
- /**
- * Is this Object a spy?
- */
- this.isSpy = true;
- /**
- * The actual function this spy stubs.
- */
- this.plan = function() {
- };
- /**
- * Tracking of the most recent call to the spy.
- * @example
- * var mySpy = jasmine.createSpy('foo');
- * mySpy(1, 2);
- * mySpy.mostRecentCall.args = [1, 2];
- */
- this.mostRecentCall = {};
-
- /**
- * Holds arguments for each call to the spy, indexed by call count
- * @example
- * var mySpy = jasmine.createSpy('foo');
- * mySpy(1, 2);
- * mySpy(7, 8);
- * mySpy.mostRecentCall.args = [7, 8];
- * mySpy.argsForCall[0] = [1, 2];
- * mySpy.argsForCall[1] = [7, 8];
- */
- this.argsForCall = [];
- this.calls = [];
-};
-
-/**
- * Tells a spy to call through to the actual implemenatation.
- *
- * @example
- * var foo = {
- * bar: function() { // do some stuff }
- * }
- *
- * // defining a spy on an existing property: foo.bar
- * spyOn(foo, 'bar').andCallThrough();
- */
-jasmine.Spy.prototype.andCallThrough = function() {
- this.plan = this.originalValue;
- return this;
-};
-
-/**
- * For setting the return value of a spy.
- *
- * @example
- * // defining a spy from scratch: foo() returns 'baz'
- * var foo = jasmine.createSpy('spy on foo').andReturn('baz');
- *
- * // defining a spy on an existing property: foo.bar() returns 'baz'
- * spyOn(foo, 'bar').andReturn('baz');
- *
- * @param {Object} value
- */
-jasmine.Spy.prototype.andReturn = function(value) {
- this.plan = function() {
- return value;
- };
- return this;
-};
-
-/**
- * For throwing an exception when a spy is called.
- *
- * @example
- * // defining a spy from scratch: foo() throws an exception w/ message 'ouch'
- * var foo = jasmine.createSpy('spy on foo').andThrow('baz');
- *
- * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch'
- * spyOn(foo, 'bar').andThrow('baz');
- *
- * @param {String} exceptionMsg
- */
-jasmine.Spy.prototype.andThrow = function(exceptionMsg) {
- this.plan = function() {
- throw exceptionMsg;
- };
- return this;
-};
-
-/**
- * Calls an alternate implementation when a spy is called.
- *
- * @example
- * var baz = function() {
- * // do some stuff, return something
- * }
- * // defining a spy from scratch: foo() calls the function baz
- * var foo = jasmine.createSpy('spy on foo').andCall(baz);
- *
- * // defining a spy on an existing property: foo.bar() calls an anonymnous function
- * spyOn(foo, 'bar').andCall(function() { return 'baz';} );
- *
- * @param {Function} fakeFunc
- */
-jasmine.Spy.prototype.andCallFake = function(fakeFunc) {
- this.plan = fakeFunc;
- return this;
-};
-
-/**
- * Resets all of a spy's the tracking variables so that it can be used again.
- *
- * @example
- * spyOn(foo, 'bar');
- *
- * foo.bar();
- *
- * expect(foo.bar.callCount).toEqual(1);
- *
- * foo.bar.reset();
- *
- * expect(foo.bar.callCount).toEqual(0);
- */
-jasmine.Spy.prototype.reset = function() {
- this.wasCalled = false;
- this.callCount = 0;
- this.argsForCall = [];
- this.calls = [];
- this.mostRecentCall = {};
-};
-
-jasmine.createSpy = function(name) {
-
- var spyObj = function() {
- spyObj.wasCalled = true;
- spyObj.callCount++;
- var args = jasmine.util.argsToArray(arguments);
- spyObj.mostRecentCall.object = this;
- spyObj.mostRecentCall.args = args;
- spyObj.argsForCall.push(args);
- spyObj.calls.push({object: this, args: args});
- return spyObj.plan.apply(this, arguments);
- };
-
- var spy = new jasmine.Spy(name);
-
- for (var prop in spy) {
- spyObj[prop] = spy[prop];
- }
-
- spyObj.reset();
-
- return spyObj;
-};
-
-/**
- * Determines whether an object is a spy.
- *
- * @param {jasmine.Spy|Object} putativeSpy
- * @returns {Boolean}
- */
-jasmine.isSpy = function(putativeSpy) {
- return putativeSpy && putativeSpy.isSpy;
-};
-
-/**
- * Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something
- * large in one call.
- *
- * @param {String} baseName name of spy class
- * @param {Array} methodNames array of names of methods to make spies
- */
-jasmine.createSpyObj = function(baseName, methodNames) {
- if (!jasmine.isArray_(methodNames) || methodNames.length === 0) {
- throw new Error('createSpyObj requires a non-empty array of method names to create spies for');
- }
- var obj = {};
- for (var i = 0; i < methodNames.length; i++) {
- obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]);
- }
- return obj;
-};
-
-/**
- * All parameters are pretty-printed and concatenated together, then written to the current spec's output.
- *
- * Be careful not to leave calls to <code>jasmine.log</code> in production code.
- */
-jasmine.log = function() {
- var spec = jasmine.getEnv().currentSpec;
- spec.log.apply(spec, arguments);
-};
-
-/**
- * Function that installs a spy on an existing object's method name. Used within a Spec to create a spy.
- *
- * @example
- * // spy example
- * var foo = {
- * not: function(bool) { return !bool; }
- * }
- * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops
- *
- * @see jasmine.createSpy
- * @param obj
- * @param methodName
- * @returns a Jasmine spy that can be chained with all spy methods
- */
-var spyOn = function(obj, methodName) {
- return jasmine.getEnv().currentSpec.spyOn(obj, methodName);
-};
-if (isCommonJS) exports.spyOn = spyOn;
-
-/**
- * Creates a Jasmine spec that will be added to the current suite.
- *
- * // TODO: pending tests
- *
- * @example
- * it('should be true', function() {
- * expect(true).toEqual(true);
- * });
- *
- * @param {String} desc description of this specification
- * @param {Function} func defines the preconditions and expectations of the spec
- */
-var it = function(desc, func) {
- return jasmine.getEnv().it(desc, func);
-};
-if (isCommonJS) exports.it = it;
-
-/**
- * Creates a <em>disabled</em> Jasmine spec.
- *
- * A convenience method that allows existing specs to be disabled temporarily during development.
- *
- * @param {String} desc description of this specification
- * @param {Function} func defines the preconditions and expectations of the spec
- */
-var xit = function(desc, func) {
- return jasmine.getEnv().xit(desc, func);
-};
-if (isCommonJS) exports.xit = xit;
-
-/**
- * Starts a chain for a Jasmine expectation.
- *
- * It is passed an Object that is the actual value and should chain to one of the many
- * jasmine.Matchers functions.
- *
- * @param {Object} actual Actual value to test against and expected value
- */
-var expect = function(actual) {
- return jasmine.getEnv().currentSpec.expect(actual);
-};
-if (isCommonJS) exports.expect = expect;
-
-/**
- * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs.
- *
- * @param {Function} func Function that defines part of a jasmine spec.
- */
-var runs = function(func) {
- jasmine.getEnv().currentSpec.runs(func);
-};
-if (isCommonJS) exports.runs = runs;
-
-/**
- * Waits a fixed time period before moving to the next block.
- *
- * @deprecated Use waitsFor() instead
- * @param {Number} timeout milliseconds to wait
- */
-var waits = function(timeout) {
- jasmine.getEnv().currentSpec.waits(timeout);
-};
-if (isCommonJS) exports.waits = waits;
-
-/**
- * Waits for the latchFunction to return true before proceeding to the next block.
- *
- * @param {Function} latchFunction
- * @param {String} optional_timeoutMessage
- * @param {Number} optional_timeout
- */
-var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
- jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments);
-};
-if (isCommonJS) exports.waitsFor = waitsFor;
-
-/**
- * A function that is called before each spec in a suite.
- *
- * Used for spec setup, including validating assumptions.
- *
- * @param {Function} beforeEachFunction
- */
-var beforeEach = function(beforeEachFunction) {
- jasmine.getEnv().beforeEach(beforeEachFunction);
-};
-if (isCommonJS) exports.beforeEach = beforeEach;
-
-/**
- * A function that is called after each spec in a suite.
- *
- * Used for restoring any state that is hijacked during spec execution.
- *
- * @param {Function} afterEachFunction
- */
-var afterEach = function(afterEachFunction) {
- jasmine.getEnv().afterEach(afterEachFunction);
-};
-if (isCommonJS) exports.afterEach = afterEach;
-
-/**
- * Defines a suite of specifications.
- *
- * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared
- * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization
- * of setup in some tests.
- *
- * @example
- * // TODO: a simple suite
- *
- * // TODO: a simple suite with a nested describe block
- *
- * @param {String} description A string, usually the class under test.
- * @param {Function} specDefinitions function that defines several specs.
- */
-var describe = function(description, specDefinitions) {
- return jasmine.getEnv().describe(description, specDefinitions);
-};
-if (isCommonJS) exports.describe = describe;
-
-/**
- * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development.
- *
- * @param {String} description A string, usually the class under test.
- * @param {Function} specDefinitions function that defines several specs.
- */
-var xdescribe = function(description, specDefinitions) {
- return jasmine.getEnv().xdescribe(description, specDefinitions);
-};
-if (isCommonJS) exports.xdescribe = xdescribe;
-
-
-// Provide the XMLHttpRequest class for IE 5.x-6.x:
-jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() {
- function tryIt(f) {
- try {
- return f();
- } catch(e) {
- }
- return null;
- }
-
- var xhr = tryIt(function() {
- return new ActiveXObject("Msxml2.XMLHTTP.6.0");
- }) ||
- tryIt(function() {
- return new ActiveXObject("Msxml2.XMLHTTP.3.0");
- }) ||
- tryIt(function() {
- return new ActiveXObject("Msxml2.XMLHTTP");
- }) ||
- tryIt(function() {
- return new ActiveXObject("Microsoft.XMLHTTP");
- });
-
- if (!xhr) throw new Error("This browser does not support XMLHttpRequest.");
-
- return xhr;
-} : XMLHttpRequest;
-/**
- * @namespace
- */
-jasmine.util = {};
-
-/**
- * Declare that a child class inherit it's prototype from the parent class.
- *
- * @private
- * @param {Function} childClass
- * @param {Function} parentClass
- */
-jasmine.util.inherit = function(childClass, parentClass) {
- /**
- * @private
- */
- var subclass = function() {
- };
- subclass.prototype = parentClass.prototype;
- childClass.prototype = new subclass();
-};
-
-jasmine.util.formatException = function(e) {
- var lineNumber;
- if (e.line) {
- lineNumber = e.line;
- }
- else if (e.lineNumber) {
- lineNumber = e.lineNumber;
- }
-
- var file;
-
- if (e.sourceURL) {
- file = e.sourceURL;
- }
- else if (e.fileName) {
- file = e.fileName;
- }
-
- var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString();
-
- if (file && lineNumber) {
- message += ' in ' + file + ' (line ' + lineNumber + ')';
- }
-
- return message;
-};
-
-jasmine.util.htmlEscape = function(str) {
- if (!str) return str;
- return str.replace(/&/g, '&')
- .replace(/</g, '<')
- .replace(/>/g, '>');
-};
-
-jasmine.util.argsToArray = function(args) {
- var arrayOfArgs = [];
- for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]);
- return arrayOfArgs;
-};
-
-jasmine.util.extend = function(destination, source) {
- for (var property in source) destination[property] = source[property];
- return destination;
-};
-
-/**
- * Environment for Jasmine
- *
- * @constructor
- */
-jasmine.Env = function() {
- this.currentSpec = null;
- this.currentSuite = null;
- this.currentRunner_ = new jasmine.Runner(this);
-
- this.reporter = new jasmine.MultiReporter();
-
- this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL;
- this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL;
- this.lastUpdate = 0;
- this.specFilter = function() {
- return true;
- };
-
- this.nextSpecId_ = 0;
- this.nextSuiteId_ = 0;
- this.equalityTesters_ = [];
-
- // wrap matchers
- this.matchersClass = function() {
- jasmine.Matchers.apply(this, arguments);
- };
- jasmine.util.inherit(this.matchersClass, jasmine.Matchers);
-
- jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass);
-};
-
-
-jasmine.Env.prototype.setTimeout = jasmine.setTimeout;
-jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout;
-jasmine.Env.prototype.setInterval = jasmine.setInterval;
-jasmine.Env.prototype.clearInterval = jasmine.clearInterval;
-
-/**
- * @returns an object containing jasmine version build info, if set.
- */
-jasmine.Env.prototype.version = function () {
- if (jasmine.version_) {
- return jasmine.version_;
- } else {
- throw new Error('Version not set');
- }
-};
-
-/**
- * @returns string containing jasmine version build info, if set.
- */
-jasmine.Env.prototype.versionString = function() {
- if (!jasmine.version_) {
- return "version unknown";
- }
-
- var version = this.version();
- var versionString = version.major + "." + version.minor + "." + version.build;
- if (version.release_candidate) {
- versionString += ".rc" + version.release_candidate;
- }
- versionString += " revision " + version.revision;
- return versionString;
-};
-
-/**
- * @returns a sequential integer starting at 0
- */
-jasmine.Env.prototype.nextSpecId = function () {
- return this.nextSpecId_++;
-};
-
-/**
- * @returns a sequential integer starting at 0
- */
-jasmine.Env.prototype.nextSuiteId = function () {
- return this.nextSuiteId_++;
-};
-
-/**
- * Register a reporter to receive status updates from Jasmine.
- * @param {jasmine.Reporter} reporter An object which will receive status updates.
- */
-jasmine.Env.prototype.addReporter = function(reporter) {
- this.reporter.addReporter(reporter);
-};
-
-jasmine.Env.prototype.execute = function() {
- this.currentRunner_.execute();
-};
-
-jasmine.Env.prototype.describe = function(description, specDefinitions) {
- var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite);
-
- var parentSuite = this.currentSuite;
- if (parentSuite) {
- parentSuite.add(suite);
- } else {
- this.currentRunner_.add(suite);
- }
-
- this.currentSuite = suite;
-
- var declarationError = null;
- try {
- specDefinitions.call(suite);
- } catch(e) {
- declarationError = e;
- }
-
- if (declarationError) {
- this.it("encountered a declaration exception", function() {
- throw declarationError;
- });
- }
-
- this.currentSuite = parentSuite;
-
- return suite;
-};
-
-jasmine.Env.prototype.beforeEach = function(beforeEachFunction) {
- if (this.currentSuite) {
- this.currentSuite.beforeEach(beforeEachFunction);
- } else {
- this.currentRunner_.beforeEach(beforeEachFunction);
- }
-};
-
-jasmine.Env.prototype.currentRunner = function () {
- return this.currentRunner_;
-};
-
-jasmine.Env.prototype.afterEach = function(afterEachFunction) {
- if (this.currentSuite) {
- this.currentSuite.afterEach(afterEachFunction);
- } else {
- this.currentRunner_.afterEach(afterEachFunction);
- }
-
-};
-
-jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) {
- return {
- execute: function() {
- }
- };
-};
-
-jasmine.Env.prototype.it = function(description, func) {
- var spec = new jasmine.Spec(this, this.currentSuite, description);
- this.currentSuite.add(spec);
- this.currentSpec = spec;
-
- if (func) {
- spec.runs(func);
- }
-
- return spec;
-};
-
-jasmine.Env.prototype.xit = function(desc, func) {
- return {
- id: this.nextSpecId(),
- runs: function() {
- }
- };
-};
-
-jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) {
- if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) {
- return true;
- }
-
- a.__Jasmine_been_here_before__ = b;
- b.__Jasmine_been_here_before__ = a;
-
- var hasKey = function(obj, keyName) {
- return obj !== null && obj[keyName] !== jasmine.undefined;
- };
-
- for (var property in b) {
- if (!hasKey(a, property) && hasKey(b, property)) {
- mismatchKeys.push("expected has key '" + property + "', but missing from actual.");
- }
- }
- for (property in a) {
- if (!hasKey(b, property) && hasKey(a, property)) {
- mismatchKeys.push("expected missing key '" + property + "', but present in actual.");
- }
- }
- for (property in b) {
- if (property == '__Jasmine_been_here_before__') continue;
- if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) {
- mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual.");
- }
- }
-
- if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) {
- mismatchValues.push("arrays were not the same length");
- }
-
- delete a.__Jasmine_been_here_before__;
- delete b.__Jasmine_been_here_before__;
- return (mismatchKeys.length === 0 && mismatchValues.length === 0);
-};
-
-jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) {
- mismatchKeys = mismatchKeys || [];
- mismatchValues = mismatchValues || [];
-
- for (var i = 0; i < this.equalityTesters_.length; i++) {
- var equalityTester = this.equalityTesters_[i];
- var result = equalityTester(a, b, this, mismatchKeys, mismatchValues);
- if (result !== jasmine.undefined) return result;
- }
-
- if (a === b) return true;
-
- if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) {
- return (a == jasmine.undefined && b == jasmine.undefined);
- }
-
- if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) {
- return a === b;
- }
-
- if (a instanceof Date && b instanceof Date) {
- return a.getTime() == b.getTime();
- }
-
- if (a.jasmineMatches) {
- return a.jasmineMatches(b);
- }
-
- if (b.jasmineMatches) {
- return b.jasmineMatches(a);
- }
-
- if (a instanceof jasmine.Matchers.ObjectContaining) {
- return a.matches(b);
- }
-
- if (b instanceof jasmine.Matchers.ObjectContaining) {
- return b.matches(a);
- }
-
- if (jasmine.isString_(a) && jasmine.isString_(b)) {
- return (a == b);
- }
-
- if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) {
- return (a == b);
- }
-
- if (typeof a === "object" && typeof b === "object") {
- return this.compareObjects_(a, b, mismatchKeys, mismatchValues);
- }
-
- //Straight check
- return (a === b);
-};
-
-jasmine.Env.prototype.contains_ = function(haystack, needle) {
- if (jasmine.isArray_(haystack)) {
- for (var i = 0; i < haystack.length; i++) {
- if (this.equals_(haystack[i], needle)) return true;
- }
- return false;
- }
- return haystack.indexOf(needle) >= 0;
-};
-
-jasmine.Env.prototype.addEqualityTester = function(equalityTester) {
- this.equalityTesters_.push(equalityTester);
-};
-/** No-op base class for Jasmine reporters.
- *
- * @constructor
- */
-jasmine.Reporter = function() {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.Reporter.prototype.reportRunnerStarting = function(runner) {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.Reporter.prototype.reportRunnerResults = function(runner) {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.Reporter.prototype.reportSuiteResults = function(suite) {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.Reporter.prototype.reportSpecStarting = function(spec) {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.Reporter.prototype.reportSpecResults = function(spec) {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.Reporter.prototype.log = function(str) {
-};
-
-/**
- * Blocks are functions with executable code that make up a spec.
- *
- * @constructor
- * @param {jasmine.Env} env
- * @param {Function} func
- * @param {jasmine.Spec} spec
- */
-jasmine.Block = function(env, func, spec) {
- this.env = env;
- this.func = func;
- this.spec = spec;
-};
-
-jasmine.Block.prototype.execute = function(onComplete) {
- try {
- this.func.apply(this.spec);
- } catch (e) {
- this.spec.fail(e);
- }
- onComplete();
-};
-/** JavaScript API reporter.
- *
- * @constructor
- */
-jasmine.JsApiReporter = function() {
- this.started = false;
- this.finished = false;
- this.suites_ = [];
- this.results_ = {};
-};
-
-jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) {
- this.started = true;
- var suites = runner.topLevelSuites();
- for (var i = 0; i < suites.length; i++) {
- var suite = suites[i];
- this.suites_.push(this.summarize_(suite));
- }
-};
-
-jasmine.JsApiReporter.prototype.suites = function() {
- return this.suites_;
-};
-
-jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) {
- var isSuite = suiteOrSpec instanceof jasmine.Suite;
- var summary = {
- id: suiteOrSpec.id,
- name: suiteOrSpec.description,
- type: isSuite ? 'suite' : 'spec',
- children: []
- };
-
- if (isSuite) {
- var children = suiteOrSpec.children();
- for (var i = 0; i < children.length; i++) {
- summary.children.push(this.summarize_(children[i]));
- }
- }
- return summary;
-};
-
-jasmine.JsApiReporter.prototype.results = function() {
- return this.results_;
-};
-
-jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) {
- return this.results_[specId];
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) {
- this.finished = true;
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) {
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) {
- this.results_[spec.id] = {
- messages: spec.results().getItems(),
- result: spec.results().failedCount > 0 ? "failed" : "passed"
- };
-};
-
-//noinspection JSUnusedLocalSymbols
-jasmine.JsApiReporter.prototype.log = function(str) {
-};
-
-jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){
- var results = {};
- for (var i = 0; i < specIds.length; i++) {
- var specId = specIds[i];
- results[specId] = this.summarizeResult_(this.results_[specId]);
- }
- return results;
-};
-
-jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){
- var summaryMessages = [];
- var messagesLength = result.messages.length;
- for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) {
- var resultMessage = result.messages[messageIndex];
- summaryMessages.push({
- text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined,
- passed: resultMessage.passed ? resultMessage.passed() : true,
- type: resultMessage.type,
- message: resultMessage.message,
- trace: {
- stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined
- }
- });
- }
-
- return {
- result : result.result,
- messages : summaryMessages
- };
-};
-
-/**
- * @constructor
- * @param {jasmine.Env} env
- * @param actual
- * @param {jasmine.Spec} spec
- */
-jasmine.Matchers = function(env, actual, spec, opt_isNot) {
- this.env = env;
- this.actual = actual;
- this.spec = spec;
- this.isNot = opt_isNot || false;
- this.reportWasCalled_ = false;
-};
-
-// todo: @deprecated as of Jasmine 0.11, remove soon [xw]
-jasmine.Matchers.pp = function(str) {
- throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!");
-};
-
-// todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw]
-jasmine.Matchers.prototype.report = function(result, failing_message, details) {
- throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs");
-};
-
-jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) {
- for (var methodName in prototype) {
- if (methodName == 'report') continue;
- var orig = prototype[methodName];
- matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig);
- }
-};
-
-jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) {
- return function() {
- var matcherArgs = jasmine.util.argsToArray(arguments);
- var result = matcherFunction.apply(this, arguments);
-
- if (this.isNot) {
- result = !result;
- }
-
- if (this.reportWasCalled_) return result;
-
- var message;
- if (!result) {
- if (this.message) {
- message = this.message.apply(this, arguments);
- if (jasmine.isArray_(message)) {
- message = message[this.isNot ? 1 : 0];
- }
- } else {
- var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); });
- message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate;
- if (matcherArgs.length > 0) {
- for (var i = 0; i < matcherArgs.length; i++) {
- if (i > 0) message += ",";
- message += " " + jasmine.pp(matcherArgs[i]);
- }
- }
- message += ".";
- }
- }
- var expectationResult = new jasmine.ExpectationResult({
- matcherName: matcherName,
- passed: result,
- expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0],
- actual: this.actual,
- message: message
- });
- this.spec.addMatcherResult(expectationResult);
- return jasmine.undefined;
- };
-};
-
-
-
-
-/**
- * toBe: compares the actual to the expected using ===
- * @param expected
- */
-jasmine.Matchers.prototype.toBe = function(expected) {
- return this.actual === expected;
-};
-
-/**
- * toNotBe: compares the actual to the expected using !==
- * @param expected
- * @deprecated as of 1.0. Use not.toBe() instead.
- */
-jasmine.Matchers.prototype.toNotBe = function(expected) {
- return this.actual !== expected;
-};
-
-/**
- * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc.
- *
- * @param expected
- */
-jasmine.Matchers.prototype.toEqual = function(expected) {
- return this.env.equals_(this.actual, expected);
-};
-
-/**
- * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual
- * @param expected
- * @deprecated as of 1.0. Use not.toEqual() instead.
- */
-jasmine.Matchers.prototype.toNotEqual = function(expected) {
- return !this.env.equals_(this.actual, expected);
-};
-
-/**
- * Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes
- * a pattern or a String.
- *
- * @param expected
- */
-jasmine.Matchers.prototype.toMatch = function(expected) {
- return new RegExp(expected).test(this.actual);
-};
-
-/**
- * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch
- * @param expected
- * @deprecated as of 1.0. Use not.toMatch() instead.
- */
-jasmine.Matchers.prototype.toNotMatch = function(expected) {
- return !(new RegExp(expected).test(this.actual));
-};
-
-/**
- * Matcher that compares the actual to jasmine.undefined.
- */
-jasmine.Matchers.prototype.toBeDefined = function() {
- return (this.actual !== jasmine.undefined);
-};
-
-/**
- * Matcher that compares the actual to jasmine.undefined.
- */
-jasmine.Matchers.prototype.toBeUndefined = function() {
- return (this.actual === jasmine.undefined);
-};
-
-/**
- * Matcher that compares the actual to null.
- */
-jasmine.Matchers.prototype.toBeNull = function() {
- return (this.actual === null);
-};
-
-/**
- * Matcher that boolean not-nots the actual.
- */
-jasmine.Matchers.prototype.toBeTruthy = function() {
- return !!this.actual;
-};
-
-
-/**
- * Matcher that boolean nots the actual.
- */
-jasmine.Matchers.prototype.toBeFalsy = function() {
- return !this.actual;
-};
-
-
-/**
- * Matcher that checks to see if the actual, a Jasmine spy, was called.
- */
-jasmine.Matchers.prototype.toHaveBeenCalled = function() {
- if (arguments.length > 0) {
- throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith');
- }
-
- if (!jasmine.isSpy(this.actual)) {
- throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
- }
-
- this.message = function() {
- return [
- "Expected spy " + this.actual.identity + " to have been called.",
- "Expected spy " + this.actual.identity + " not to have been called."
- ];
- };
-
- return this.actual.wasCalled;
-};
-
-/** @deprecated Use expect(xxx).toHaveBeenCalled() instead */
-jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled;
-
-/**
- * Matcher that checks to see if the actual, a Jasmine spy, was not called.
- *
- * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead
- */
-jasmine.Matchers.prototype.wasNotCalled = function() {
- if (arguments.length > 0) {
- throw new Error('wasNotCalled does not take arguments');
- }
-
- if (!jasmine.isSpy(this.actual)) {
- throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
- }
-
- this.message = function() {
- return [
- "Expected spy " + this.actual.identity + " to not have been called.",
- "Expected spy " + this.actual.identity + " to have been called."
- ];
- };
-
- return !this.actual.wasCalled;
-};
-
-/**
- * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters.
- *
- * @example
- *
- */
-jasmine.Matchers.prototype.toHaveBeenCalledWith = function() {
- var expectedArgs = jasmine.util.argsToArray(arguments);
- if (!jasmine.isSpy(this.actual)) {
- throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
- }
- this.message = function() {
- if (this.actual.callCount === 0) {
- // todo: what should the failure message for .not.toHaveBeenCalledWith() be? is this right? test better. [xw]
- return [
- "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but it was never called.",
- "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but it was."
- ];
- } else {
- return [
- "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall),
- "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but was called with " + jasmine.pp(this.actual.argsForCall)
- ];
- }
- };
-
- return this.env.contains_(this.actual.argsForCall, expectedArgs);
-};
-
-/** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */
-jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith;
-
-/** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */
-jasmine.Matchers.prototype.wasNotCalledWith = function() {
- var expectedArgs = jasmine.util.argsToArray(arguments);
- if (!jasmine.isSpy(this.actual)) {
- throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.');
- }
-
- this.message = function() {
- return [
- "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was",
- "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was"
- ];
- };
-
- return !this.env.contains_(this.actual.argsForCall, expectedArgs);
-};
-
-/**
- * Matcher that checks that the expected item is an element in the actual Array.
- *
- * @param {Object} expected
- */
-jasmine.Matchers.prototype.toContain = function(expected) {
- return this.env.contains_(this.actual, expected);
-};
-
-/**
- * Matcher that checks that the expected item is NOT an element in the actual Array.
- *
- * @param {Object} expected
- * @deprecated as of 1.0. Use not.toContain() instead.
- */
-jasmine.Matchers.prototype.toNotContain = function(expected) {
- return !this.env.contains_(this.actual, expected);
-};
-
-jasmine.Matchers.prototype.toBeLessThan = function(expected) {
- return this.actual < expected;
-};
-
-jasmine.Matchers.prototype.toBeGreaterThan = function(expected) {
- return this.actual > expected;
-};
-
-/**
- * Matcher that checks that the expected item is equal to the actual item
- * up to a given level of decimal precision (default 2).
- *
- * @param {Number} expected
- * @param {Number} precision
- */
-jasmine.Matchers.prototype.toBeCloseTo = function(expected, precision) {
- if (!(precision === 0)) {
- precision = precision || 2;
- }
- var multiplier = Math.pow(10, precision);
- var actual = Math.round(this.actual * multiplier);
- expected = Math.round(expected * multiplier);
- return expected == actual;
-};
-
-/**
- * Matcher that checks that the expected exception was thrown by the actual.
- *
- * @param {String} expected
- */
-jasmine.Matchers.prototype.toThrow = function(expected) {
- var result = false;
- var exception;
- if (typeof this.actual != 'function') {
- throw new Error('Actual is not a function');
- }
- try {
- this.actual();
- } catch (e) {
- exception = e;
- }
- if (exception) {
- result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected));
- }
-
- var not = this.isNot ? "not " : "";
-
- this.message = function() {
- if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) {
- return ["Expected function " + not + "to throw", expected ? expected.message || expected : "an exception", ", but it threw", exception.message || exception].join(' ');
- } else {
- return "Expected function to throw an exception.";
- }
- };
-
- return result;
-};
-
-jasmine.Matchers.Any = function(expectedClass) {
- this.expectedClass = expectedClass;
-};
-
-jasmine.Matchers.Any.prototype.jasmineMatches = function(other) {
- if (this.expectedClass == String) {
- return typeof other == 'string' || other instanceof String;
- }
-
- if (this.expectedClass == Number) {
- return typeof other == 'number' || other instanceof Number;
- }
-
- if (this.expectedClass == Function) {
- return typeof other == 'function' || other instanceof Function;
- }
-
- if (this.expectedClass == Object) {
- return typeof other == 'object';
- }
-
- return other instanceof this.expectedClass;
-};
-
-jasmine.Matchers.Any.prototype.jasmineToString = function() {
- return '<jasmine.any(' + this.expectedClass + ')>';
-};
-
-jasmine.Matchers.ObjectContaining = function (sample) {
- this.sample = sample;
-};
-
-jasmine.Matchers.ObjectContaining.prototype.jasmineMatches = function(other, mismatchKeys, mismatchValues) {
- mismatchKeys = mismatchKeys || [];
- mismatchValues = mismatchValues || [];
-
- var env = jasmine.getEnv();
-
- var hasKey = function(obj, keyName) {
- return obj != null && obj[keyName] !== jasmine.undefined;
- };
-
- for (var property in this.sample) {
- if (!hasKey(other, property) && hasKey(this.sample, property)) {
- mismatchKeys.push("expected has key '" + property + "', but missing from actual.");
- }
- else if (!env.equals_(this.sample[property], other[property], mismatchKeys, mismatchValues)) {
- mismatchValues.push("'" + property + "' was '" + (other[property] ? jasmine.util.htmlEscape(other[property].toString()) : other[property]) + "' in expected, but was '" + (this.sample[property] ? jasmine.util.htmlEscape(this.sample[property].toString()) : this.sample[property]) + "' in actual.");
- }
- }
-
- return (mismatchKeys.length === 0 && mismatchValues.length === 0);
-};
-
-jasmine.Matchers.ObjectContaining.prototype.jasmineToString = function () {
- return "<jasmine.objectContaining(" + jasmine.pp(this.sample) + ")>";
-};
-// Mock setTimeout, clearTimeout
-// Contributed by Pivotal Computer Systems, www.pivotalsf.com
-
-jasmine.FakeTimer = function() {
- this.reset();
-
- var self = this;
- self.setTimeout = function(funcToCall, millis) {
- self.timeoutsMade++;
- self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false);
- return self.timeoutsMade;
- };
-
- self.setInterval = function(funcToCall, millis) {
- self.timeoutsMade++;
- self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true);
- return self.timeoutsMade;
- };
-
- self.clearTimeout = function(timeoutKey) {
- self.scheduledFunctions[timeoutKey] = jasmine.undefined;
- };
-
- self.clearInterval = function(timeoutKey) {
- self.scheduledFunctions[timeoutKey] = jasmine.undefined;
- };
-
-};
-
-jasmine.FakeTimer.prototype.reset = function() {
- this.timeoutsMade = 0;
- this.scheduledFunctions = {};
- this.nowMillis = 0;
-};
-
-jasmine.FakeTimer.prototype.tick = function(millis) {
- var oldMillis = this.nowMillis;
- var newMillis = oldMillis + millis;
- this.runFunctionsWithinRange(oldMillis, newMillis);
- this.nowMillis = newMillis;
-};
-
-jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) {
- var scheduledFunc;
- var funcsToRun = [];
- for (var timeoutKey in this.scheduledFunctions) {
- scheduledFunc = this.scheduledFunctions[timeoutKey];
- if (scheduledFunc != jasmine.undefined &&
- scheduledFunc.runAtMillis >= oldMillis &&
- scheduledFunc.runAtMillis <= nowMillis) {
- funcsToRun.push(scheduledFunc);
- this.scheduledFunctions[timeoutKey] = jasmine.undefined;
- }
- }
-
- if (funcsToRun.length > 0) {
- funcsToRun.sort(function(a, b) {
- return a.runAtMillis - b.runAtMillis;
- });
- for (var i = 0; i < funcsToRun.length; ++i) {
- try {
- var funcToRun = funcsToRun[i];
- this.nowMillis = funcToRun.runAtMillis;
- funcToRun.funcToCall();
- if (funcToRun.recurring) {
- this.scheduleFunction(funcToRun.timeoutKey,
- funcToRun.funcToCall,
- funcToRun.millis,
- true);
- }
- } catch(e) {
- }
- }
- this.runFunctionsWithinRange(oldMillis, nowMillis);
- }
-};
-
-jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) {
- this.scheduledFunctions[timeoutKey] = {
- runAtMillis: this.nowMillis + millis,
- funcToCall: funcToCall,
- recurring: recurring,
- timeoutKey: timeoutKey,
- millis: millis
- };
-};
-
-/**
- * @namespace
- */
-jasmine.Clock = {
- defaultFakeTimer: new jasmine.FakeTimer(),
-
- reset: function() {
- jasmine.Clock.assertInstalled();
- jasmine.Clock.defaultFakeTimer.reset();
- },
-
- tick: function(millis) {
- jasmine.Clock.assertInstalled();
- jasmine.Clock.defaultFakeTimer.tick(millis);
- },
-
- runFunctionsWithinRange: function(oldMillis, nowMillis) {
- jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis);
- },
-
- scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) {
- jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring);
- },
-
- useMock: function() {
- if (!jasmine.Clock.isInstalled()) {
- var spec = jasmine.getEnv().currentSpec;
- spec.after(jasmine.Clock.uninstallMock);
-
- jasmine.Clock.installMock();
- }
- },
-
- installMock: function() {
- jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer;
- },
-
- uninstallMock: function() {
- jasmine.Clock.assertInstalled();
- jasmine.Clock.installed = jasmine.Clock.real;
- },
-
- real: {
- setTimeout: jasmine.getGlobal().setTimeout,
- clearTimeout: jasmine.getGlobal().clearTimeout,
- setInterval: jasmine.getGlobal().setInterval,
- clearInterval: jasmine.getGlobal().clearInterval
- },
-
- assertInstalled: function() {
- if (!jasmine.Clock.isInstalled()) {
- throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()");
- }
- },
-
- isInstalled: function() {
- return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer;
- },
-
- installed: null
-};
-jasmine.Clock.installed = jasmine.Clock.real;
-
-//else for IE support
-jasmine.getGlobal().setTimeout = function(funcToCall, millis) {
- if (jasmine.Clock.installed.setTimeout.apply) {
- return jasmine.Clock.installed.setTimeout.apply(this, arguments);
- } else {
- return jasmine.Clock.installed.setTimeout(funcToCall, millis);
- }
-};
-
-jasmine.getGlobal().setInterval = function(funcToCall, millis) {
- if (jasmine.Clock.installed.setInterval.apply) {
- return jasmine.Clock.installed.setInterval.apply(this, arguments);
- } else {
- return jasmine.Clock.installed.setInterval(funcToCall, millis);
- }
-};
-
-jasmine.getGlobal().clearTimeout = function(timeoutKey) {
- if (jasmine.Clock.installed.clearTimeout.apply) {
- return jasmine.Clock.installed.clearTimeout.apply(this, arguments);
- } else {
- return jasmine.Clock.installed.clearTimeout(timeoutKey);
- }
-};
-
-jasmine.getGlobal().clearInterval = function(timeoutKey) {
- if (jasmine.Clock.installed.clearTimeout.apply) {
- return jasmine.Clock.installed.clearInterval.apply(this, arguments);
- } else {
- return jasmine.Clock.installed.clearInterval(timeoutKey);
- }
-};
-
-/**
- * @constructor
- */
-jasmine.MultiReporter = function() {
- this.subReporters_ = [];
-};
-jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter);
-
-jasmine.MultiReporter.prototype.addReporter = function(reporter) {
- this.subReporters_.push(reporter);
-};
-
-(function() {
- var functionNames = [
- "reportRunnerStarting",
- "reportRunnerResults",
- "reportSuiteResults",
- "reportSpecStarting",
- "reportSpecResults",
- "log"
- ];
- for (var i = 0; i < functionNames.length; i++) {
- var functionName = functionNames[i];
- jasmine.MultiReporter.prototype[functionName] = (function(functionName) {
- return function() {
- for (var j = 0; j < this.subReporters_.length; j++) {
- var subReporter = this.subReporters_[j];
- if (subReporter[functionName]) {
- subReporter[functionName].apply(subReporter, arguments);
- }
- }
- };
- })(functionName);
- }
-})();
-/**
- * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults
- *
- * @constructor
- */
-jasmine.NestedResults = function() {
- /**
- * The total count of results
- */
- this.totalCount = 0;
- /**
- * Number of passed results
- */
- this.passedCount = 0;
- /**
- * Number of failed results
- */
- this.failedCount = 0;
- /**
- * Was this suite/spec skipped?
- */
- this.skipped = false;
- /**
- * @ignore
- */
- this.items_ = [];
-};
-
-/**
- * Roll up the result counts.
- *
- * @param result
- */
-jasmine.NestedResults.prototype.rollupCounts = function(result) {
- this.totalCount += result.totalCount;
- this.passedCount += result.passedCount;
- this.failedCount += result.failedCount;
-};
-
-/**
- * Adds a log message.
- * @param values Array of message parts which will be concatenated later.
- */
-jasmine.NestedResults.prototype.log = function(values) {
- this.items_.push(new jasmine.MessageResult(values));
-};
-
-/**
- * Getter for the results: message & results.
- */
-jasmine.NestedResults.prototype.getItems = function() {
- return this.items_;
-};
-
-/**
- * Adds a result, tracking counts (total, passed, & failed)
- * @param {jasmine.ExpectationResult|jasmine.NestedResults} result
- */
-jasmine.NestedResults.prototype.addResult = function(result) {
- if (result.type != 'log') {
- if (result.items_) {
- this.rollupCounts(result);
- } else {
- this.totalCount++;
- if (result.passed()) {
- this.passedCount++;
- } else {
- this.failedCount++;
- }
- }
- }
- this.items_.push(result);
-};
-
-/**
- * @returns {Boolean} True if <b>everything</b> below passed
- */
-jasmine.NestedResults.prototype.passed = function() {
- return this.passedCount === this.totalCount;
-};
-/**
- * Base class for pretty printing for expectation results.
- */
-jasmine.PrettyPrinter = function() {
- this.ppNestLevel_ = 0;
-};
-
-/**
- * Formats a value in a nice, human-readable string.
- *
- * @param value
- */
-jasmine.PrettyPrinter.prototype.format = function(value) {
- if (this.ppNestLevel_ > 40) {
- throw new Error('jasmine.PrettyPrinter: format() nested too deeply!');
- }
-
- this.ppNestLevel_++;
- try {
- if (value === jasmine.undefined) {
- this.emitScalar('undefined');
- } else if (value === null) {
- this.emitScalar('null');
- } else if (value === jasmine.getGlobal()) {
- this.emitScalar('<global>');
- } else if (value.jasmineToString) {
- this.emitScalar(value.jasmineToString());
- } else if (typeof value === 'string') {
- this.emitString(value);
- } else if (jasmine.isSpy(value)) {
- this.emitScalar("spy on " + value.identity);
- } else if (value instanceof RegExp) {
- this.emitScalar(value.toString());
- } else if (typeof value === 'function') {
- this.emitScalar('Function');
- } else if (typeof value.nodeType === 'number') {
- this.emitScalar('HTMLNode');
- } else if (value instanceof Date) {
- this.emitScalar('Date(' + value + ')');
- } else if (value.__Jasmine_been_here_before__) {
- this.emitScalar('<circular reference: ' + (jasmine.isArray_(value) ? 'Array' : 'Object') + '>');
- } else if (jasmine.isArray_(value) || typeof value == 'object') {
- value.__Jasmine_been_here_before__ = true;
- if (jasmine.isArray_(value)) {
- this.emitArray(value);
- } else {
- this.emitObject(value);
- }
- delete value.__Jasmine_been_here_before__;
- } else {
- this.emitScalar(value.toString());
- }
- } finally {
- this.ppNestLevel_--;
- }
-};
-
-jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) {
- for (var property in obj) {
- if (property == '__Jasmine_been_here_before__') continue;
- fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined &&
- obj.__lookupGetter__(property) !== null) : false);
- }
-};
-
-jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_;
-jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_;
-jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_;
-jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_;
-
-jasmine.StringPrettyPrinter = function() {
- jasmine.PrettyPrinter.call(this);
-
- this.string = '';
-};
-jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter);
-
-jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) {
- this.append(value);
-};
-
-jasmine.StringPrettyPrinter.prototype.emitString = function(value) {
- this.append("'" + value + "'");
-};
-
-jasmine.StringPrettyPrinter.prototype.emitArray = function(array) {
- this.append('[ ');
- for (var i = 0; i < array.length; i++) {
- if (i > 0) {
- this.append(', ');
- }
- this.format(array[i]);
- }
- this.append(' ]');
-};
-
-jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) {
- var self = this;
- this.append('{ ');
- var first = true;
-
- this.iterateObject(obj, function(property, isGetter) {
- if (first) {
- first = false;
- } else {
- self.append(', ');
- }
-
- self.append(property);
- self.append(' : ');
- if (isGetter) {
- self.append('<getter>');
- } else {
- self.format(obj[property]);
- }
- });
-
- this.append(' }');
-};
-
-jasmine.StringPrettyPrinter.prototype.append = function(value) {
- this.string += value;
-};
-jasmine.Queue = function(env) {
- this.env = env;
- this.blocks = [];
- this.running = false;
- this.index = 0;
- this.offset = 0;
- this.abort = false;
-};
-
-jasmine.Queue.prototype.addBefore = function(block) {
- this.blocks.unshift(block);
-};
-
-jasmine.Queue.prototype.add = function(block) {
- this.blocks.push(block);
-};
-
-jasmine.Queue.prototype.insertNext = function(block) {
- this.blocks.splice((this.index + this.offset + 1), 0, block);
- this.offset++;
-};
-
-jasmine.Queue.prototype.start = function(onComplete) {
- this.running = true;
- this.onComplete = onComplete;
- this.next_();
-};
-
-jasmine.Queue.prototype.isRunning = function() {
- return this.running;
-};
-
-jasmine.Queue.LOOP_DONT_RECURSE = true;
-
-jasmine.Queue.prototype.next_ = function() {
- var self = this;
- var goAgain = true;
-
- while (goAgain) {
- goAgain = false;
-
- if (self.index < self.blocks.length && !this.abort) {
- var calledSynchronously = true;
- var completedSynchronously = false;
-
- var onComplete = function () {
- if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) {
- completedSynchronously = true;
- return;
- }
-
- if (self.blocks[self.index].abort) {
- self.abort = true;
- }
-
- self.offset = 0;
- self.index++;
-
- var now = new Date().getTime();
- if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) {
- self.env.lastUpdate = now;
- self.env.setTimeout(function() {
- self.next_();
- }, 0);
- } else {
- if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) {
- goAgain = true;
- } else {
- self.next_();
- }
- }
- };
- self.blocks[self.index].execute(onComplete);
-
- calledSynchronously = false;
- if (completedSynchronously) {
- onComplete();
- }
-
- } else {
- self.running = false;
- if (self.onComplete) {
- self.onComplete();
- }
- }
- }
-};
-
-jasmine.Queue.prototype.results = function() {
- var results = new jasmine.NestedResults();
- for (var i = 0; i < this.blocks.length; i++) {
- if (this.blocks[i].results) {
- results.addResult(this.blocks[i].results());
- }
- }
- return results;
-};
-
-
-/**
- * Runner
- *
- * @constructor
- * @param {jasmine.Env} env
- */
-jasmine.Runner = function(env) {
- var self = this;
- self.env = env;
- self.queue = new jasmine.Queue(env);
- self.before_ = [];
- self.after_ = [];
- self.suites_ = [];
-};
-
-jasmine.Runner.prototype.execute = function() {
- var self = this;
- if (self.env.reporter.reportRunnerStarting) {
- self.env.reporter.reportRunnerStarting(this);
- }
- self.queue.start(function () {
- self.finishCallback();
- });
-};
-
-jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) {
- beforeEachFunction.typeName = 'beforeEach';
- this.before_.splice(0,0,beforeEachFunction);
-};
-
-jasmine.Runner.prototype.afterEach = function(afterEachFunction) {
- afterEachFunction.typeName = 'afterEach';
- this.after_.splice(0,0,afterEachFunction);
-};
-
-
-jasmine.Runner.prototype.finishCallback = function() {
- this.env.reporter.reportRunnerResults(this);
-};
-
-jasmine.Runner.prototype.addSuite = function(suite) {
- this.suites_.push(suite);
-};
-
-jasmine.Runner.prototype.add = function(block) {
- if (block instanceof jasmine.Suite) {
- this.addSuite(block);
- }
- this.queue.add(block);
-};
-
-jasmine.Runner.prototype.specs = function () {
- var suites = this.suites();
- var specs = [];
- for (var i = 0; i < suites.length; i++) {
- specs = specs.concat(suites[i].specs());
- }
- return specs;
-};
-
-jasmine.Runner.prototype.suites = function() {
- return this.suites_;
-};
-
-jasmine.Runner.prototype.topLevelSuites = function() {
- var topLevelSuites = [];
- for (var i = 0; i < this.suites_.length; i++) {
- if (!this.suites_[i].parentSuite) {
- topLevelSuites.push(this.suites_[i]);
- }
- }
- return topLevelSuites;
-};
-
-jasmine.Runner.prototype.results = function() {
- return this.queue.results();
-};
-/**
- * Internal representation of a Jasmine specification, or test.
- *
- * @constructor
- * @param {jasmine.Env} env
- * @param {jasmine.Suite} suite
- * @param {String} description
- */
-jasmine.Spec = function(env, suite, description) {
- if (!env) {
- throw new Error('jasmine.Env() required');
- }
- if (!suite) {
- throw new Error('jasmine.Suite() required');
- }
- var spec = this;
- spec.id = env.nextSpecId ? env.nextSpecId() : null;
- spec.env = env;
- spec.suite = suite;
- spec.description = description;
- spec.queue = new jasmine.Queue(env);
-
- spec.afterCallbacks = [];
- spec.spies_ = [];
-
- spec.results_ = new jasmine.NestedResults();
- spec.results_.description = description;
- spec.matchersClass = null;
-};
-
-jasmine.Spec.prototype.getFullName = function() {
- return this.suite.getFullName() + ' ' + this.description + '.';
-};
-
-
-jasmine.Spec.prototype.results = function() {
- return this.results_;
-};
-
-/**
- * All parameters are pretty-printed and concatenated together, then written to the spec's output.
- *
- * Be careful not to leave calls to <code>jasmine.log</code> in production code.
- */
-jasmine.Spec.prototype.log = function() {
- return this.results_.log(arguments);
-};
-
-jasmine.Spec.prototype.runs = function (func) {
- var block = new jasmine.Block(this.env, func, this);
- this.addToQueue(block);
- return this;
-};
-
-jasmine.Spec.prototype.addToQueue = function (block) {
- if (this.queue.isRunning()) {
- this.queue.insertNext(block);
- } else {
- this.queue.add(block);
- }
-};
-
-/**
- * @param {jasmine.ExpectationResult} result
- */
-jasmine.Spec.prototype.addMatcherResult = function(result) {
- this.results_.addResult(result);
-};
-
-jasmine.Spec.prototype.expect = function(actual) {
- var positive = new (this.getMatchersClass_())(this.env, actual, this);
- positive.not = new (this.getMatchersClass_())(this.env, actual, this, true);
- return positive;
-};
-
-/**
- * Waits a fixed time period before moving to the next block.
- *
- * @deprecated Use waitsFor() instead
- * @param {Number} timeout milliseconds to wait
- */
-jasmine.Spec.prototype.waits = function(timeout) {
- var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this);
- this.addToQueue(waitsFunc);
- return this;
-};
-
-/**
- * Waits for the latchFunction to return true before proceeding to the next block.
- *
- * @param {Function} latchFunction
- * @param {String} optional_timeoutMessage
- * @param {Number} optional_timeout
- */
-jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) {
- var latchFunction_ = null;
- var optional_timeoutMessage_ = null;
- var optional_timeout_ = null;
-
- for (var i = 0; i < arguments.length; i++) {
- var arg = arguments[i];
- switch (typeof arg) {
- case 'function':
- latchFunction_ = arg;
- break;
- case 'string':
- optional_timeoutMessage_ = arg;
- break;
- case 'number':
- optional_timeout_ = arg;
- break;
- }
- }
-
- var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this);
- this.addToQueue(waitsForFunc);
- return this;
-};
-
-jasmine.Spec.prototype.fail = function (e) {
- var expectationResult = new jasmine.ExpectationResult({
- passed: false,
- message: e ? jasmine.util.formatException(e) : 'Exception',
- trace: { stack: e.stack }
- });
- this.results_.addResult(expectationResult);
-};
-
-jasmine.Spec.prototype.getMatchersClass_ = function() {
- return this.matchersClass || this.env.matchersClass;
-};
-
-jasmine.Spec.prototype.addMatchers = function(matchersPrototype) {
- var parent = this.getMatchersClass_();
- var newMatchersClass = function() {
- parent.apply(this, arguments);
- };
- jasmine.util.inherit(newMatchersClass, parent);
- jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass);
- this.matchersClass = newMatchersClass;
-};
-
-jasmine.Spec.prototype.finishCallback = function() {
- this.env.reporter.reportSpecResults(this);
-};
-
-jasmine.Spec.prototype.finish = function(onComplete) {
- this.removeAllSpies();
- this.finishCallback();
- if (onComplete) {
- onComplete();
- }
-};
-
-jasmine.Spec.prototype.after = function(doAfter) {
- if (this.queue.isRunning()) {
- this.queue.add(new jasmine.Block(this.env, doAfter, this));
- } else {
- this.afterCallbacks.unshift(doAfter);
- }
-};
-
-jasmine.Spec.prototype.execute = function(onComplete) {
- var spec = this;
- if (!spec.env.specFilter(spec)) {
- spec.results_.skipped = true;
- spec.finish(onComplete);
- return;
- }
-
- this.env.reporter.reportSpecStarting(this);
-
- spec.env.currentSpec = spec;
-
- spec.addBeforesAndAftersToQueue();
-
- spec.queue.start(function () {
- spec.finish(onComplete);
- });
-};
-
-jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() {
- var runner = this.env.currentRunner();
- var i;
-
- for (var suite = this.suite; suite; suite = suite.parentSuite) {
- for (i = 0; i < suite.before_.length; i++) {
- this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this));
- }
- }
- for (i = 0; i < runner.before_.length; i++) {
- this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this));
- }
- for (i = 0; i < this.afterCallbacks.length; i++) {
- this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this));
- }
- for (suite = this.suite; suite; suite = suite.parentSuite) {
- for (i = 0; i < suite.after_.length; i++) {
- this.queue.add(new jasmine.Block(this.env, suite.after_[i], this));
- }
- }
- for (i = 0; i < runner.after_.length; i++) {
- this.queue.add(new jasmine.Block(this.env, runner.after_[i], this));
- }
-};
-
-jasmine.Spec.prototype.explodes = function() {
- throw 'explodes function should not have been called';
-};
-
-jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) {
- if (obj == jasmine.undefined) {
- throw "spyOn could not find an object to spy upon for " + methodName + "()";
- }
-
- if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) {
- throw methodName + '() method does not exist';
- }
-
- if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) {
- throw new Error(methodName + ' has already been spied upon');
- }
-
- var spyObj = jasmine.createSpy(methodName);
-
- this.spies_.push(spyObj);
- spyObj.baseObj = obj;
- spyObj.methodName = methodName;
- spyObj.originalValue = obj[methodName];
-
- obj[methodName] = spyObj;
-
- return spyObj;
-};
-
-jasmine.Spec.prototype.removeAllSpies = function() {
- for (var i = 0; i < this.spies_.length; i++) {
- var spy = this.spies_[i];
- spy.baseObj[spy.methodName] = spy.originalValue;
- }
- this.spies_ = [];
-};
-
-/**
- * Internal representation of a Jasmine suite.
- *
- * @constructor
- * @param {jasmine.Env} env
- * @param {String} description
- * @param {Function} specDefinitions
- * @param {jasmine.Suite} parentSuite
- */
-jasmine.Suite = function(env, description, specDefinitions, parentSuite) {
- var self = this;
- self.id = env.nextSuiteId ? env.nextSuiteId() : null;
- self.description = description;
- self.queue = new jasmine.Queue(env);
- self.parentSuite = parentSuite;
- self.env = env;
- self.before_ = [];
- self.after_ = [];
- self.children_ = [];
- self.suites_ = [];
- self.specs_ = [];
-};
-
-jasmine.Suite.prototype.getFullName = function() {
- var fullName = this.description;
- for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) {
- fullName = parentSuite.description + ' ' + fullName;
- }
- return fullName;
-};
-
-jasmine.Suite.prototype.finish = function(onComplete) {
- this.env.reporter.reportSuiteResults(this);
- this.finished = true;
- if (typeof(onComplete) == 'function') {
- onComplete();
- }
-};
-
-jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) {
- beforeEachFunction.typeName = 'beforeEach';
- this.before_.unshift(beforeEachFunction);
-};
-
-jasmine.Suite.prototype.afterEach = function(afterEachFunction) {
- afterEachFunction.typeName = 'afterEach';
- this.after_.unshift(afterEachFunction);
-};
-
-jasmine.Suite.prototype.results = function() {
- return this.queue.results();
-};
-
-jasmine.Suite.prototype.add = function(suiteOrSpec) {
- this.children_.push(suiteOrSpec);
- if (suiteOrSpec instanceof jasmine.Suite) {
- this.suites_.push(suiteOrSpec);
- this.env.currentRunner().addSuite(suiteOrSpec);
- } else {
- this.specs_.push(suiteOrSpec);
- }
- this.queue.add(suiteOrSpec);
-};
-
-jasmine.Suite.prototype.specs = function() {
- return this.specs_;
-};
-
-jasmine.Suite.prototype.suites = function() {
- return this.suites_;
-};
-
-jasmine.Suite.prototype.children = function() {
- return this.children_;
-};
-
-jasmine.Suite.prototype.execute = function(onComplete) {
- var self = this;
- this.queue.start(function () {
- self.finish(onComplete);
- });
-};
-jasmine.WaitsBlock = function(env, timeout, spec) {
- this.timeout = timeout;
- jasmine.Block.call(this, env, null, spec);
-};
-
-jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block);
-
-jasmine.WaitsBlock.prototype.execute = function (onComplete) {
- if (jasmine.VERBOSE) {
- this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...');
- }
- this.env.setTimeout(function () {
- onComplete();
- }, this.timeout);
-};
-/**
- * A block which waits for some condition to become true, with timeout.
- *
- * @constructor
- * @extends jasmine.Block
- * @param {jasmine.Env} env The Jasmine environment.
- * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true.
- * @param {Function} latchFunction A function which returns true when the desired condition has been met.
- * @param {String} message The message to display if the desired condition hasn't been met within the given time period.
- * @param {jasmine.Spec} spec The Jasmine spec.
- */
-jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) {
- this.timeout = timeout || env.defaultTimeoutInterval;
- this.latchFunction = latchFunction;
- this.message = message;
- this.totalTimeSpentWaitingForLatch = 0;
- jasmine.Block.call(this, env, null, spec);
-};
-jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block);
-
-jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10;
-
-jasmine.WaitsForBlock.prototype.execute = function(onComplete) {
- if (jasmine.VERBOSE) {
- this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen'));
- }
- var latchFunctionResult;
- try {
- latchFunctionResult = this.latchFunction.apply(this.spec);
- } catch (e) {
- this.spec.fail(e);
- onComplete();
- return;
- }
-
- if (latchFunctionResult) {
- onComplete();
- } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) {
- var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen');
- this.spec.fail({
- name: 'timeout',
- message: message
- });
-
- this.abort = true;
- onComplete();
- } else {
- this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT;
- var self = this;
- this.env.setTimeout(function() {
- self.execute(onComplete);
- }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT);
- }
-};
-
-jasmine.version_= {
- "major": 1,
- "minor": 2,
- "build": 0,
- "revision": 1333310630,
- "release_candidate": 1
-};
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/accelerometer.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/accelerometer.html b/tests/MobileSpecUnitTests/www/autotest/pages/accelerometer.html
deleted file mode 100644
index bac1836..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/accelerometer.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>Cordova: Accelerometer API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
-
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/accelerometer.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/all.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/all.html b/tests/MobileSpecUnitTests/www/autotest/pages/all.html
deleted file mode 100644
index c6cc910..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/all.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>Cordova: API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
-
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/accelerometer.tests.js"></script>
- <script type="text/javascript" src="../tests/battery.tests.js"></script>
- <script type="text/javascript" src="../tests/capture.tests.js"></script>
- <script type="text/javascript" src="../tests/compass.tests.js"></script>
- <script type="text/javascript" src="../tests/contacts.tests.js"></script>
- <script type="text/javascript" src="../tests/camera.tests.js"></script>
- <script type="text/javascript" src="../tests/datauri.tests.js"></script>
- <script type="text/javascript" src="../tests/device.tests.js"></script>
- <script type="text/javascript" src="../tests/file.tests.js"></script>
- <script type="text/javascript" src="../tests/filetransfer.tests.js"></script>
- <script type="text/javascript" src="../tests/geolocation.tests.js"></script>
- <!-- script type="text/javascript" src="../tests/globalization.tests.js"></script -->
- <script type="text/javascript" src="../tests/media.tests.js"></script>
- <script type="text/javascript" src="../tests/network.tests.js"></script>
- <script type="text/javascript" src="../tests/notification.tests.js"></script>
- <script type="text/javascript" src="../tests/platform.tests.js"></script>
- <script type="text/javascript" src="../tests/storage.tests.js"></script>
-
- <script type="text/javascript">
- var root, temp_root, persistent_root;
-
- document.addEventListener('deviceready', function () {
- // one-time retrieval of the root file system entry
- var onError = function(e) {
- console.log('[ERROR] Problem setting up root filesystem for test running! Error to follow.');
- console.log(JSON.stringify(e));
- };
-
- window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
- function(fileSystem) {
- console.log('File API test Init: Setting PERSISTENT FS.');
- root = fileSystem.root; // set in file.tests.js
- persistent_root = root;
-
- // Once root is set up, fire off tests
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, onError);
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 0,
- function(fileSystem) {
- console.log('File API test Init: Setting TEMPORARY FS.');
- temp_root = fileSystem.root; // set in file.tests.js
- }, onError);
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/battery.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/battery.html b/tests/MobileSpecUnitTests/www/autotest/pages/battery.html
deleted file mode 100644
index 8441950..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/battery.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>Cordova: Battery API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
-
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/battery.tests.js"></script>
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/bridge.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/bridge.html b/tests/MobileSpecUnitTests/www/autotest/pages/bridge.html
deleted file mode 100644
index a1d0a90..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/bridge.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<!--
-
- 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.
-
--->
-
-
-<html>
-
-<head>
- <title>Cordova: Device API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/bridge.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/camera.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/camera.html b/tests/MobileSpecUnitTests/www/autotest/pages/camera.html
deleted file mode 100644
index e136f27..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/camera.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Camera API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
-
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/camera.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/capture.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/capture.html b/tests/MobileSpecUnitTests/www/autotest/pages/capture.html
deleted file mode 100644
index 0cb2baf..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/capture.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Capture API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/capture.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/compass.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/compass.html b/tests/MobileSpecUnitTests/www/autotest/pages/compass.html
deleted file mode 100644
index dfd9975..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/compass.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Compass API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/compass.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
[10/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/cordova.js
----------------------------------------------------------------------
diff --git a/example/www/cordova.js b/example/www/cordova.js
deleted file mode 100644
index 48e15bd..0000000
--- a/example/www/cordova.js
+++ /dev/null
@@ -1,6723 +0,0 @@
-// Platform: windowsphone
-// 2.8.0rc1-0-g22bc4d8
-/*
- 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.
-*/
-;(function() {
-var CORDOVA_JS_BUILD_LABEL = '2.8.0rc1-0-g22bc4d8';
-// file: lib/scripts/require.js
-
-var require,
- define;
-
-(function () {
- var modules = {},
- // Stack of moduleIds currently being built.
- requireStack = [],
- // Map of module ID -> index into requireStack of modules currently being built.
- inProgressModules = {},
- SEPERATOR = ".";
-
-
-
- function build(module) {
- var factory = module.factory,
- localRequire = function (id) {
- var resultantId = id;
- //Its a relative path, so lop off the last portion and add the id (minus "./")
- if (id.charAt(0) === ".") {
- resultantId = module.id.slice(0, module.id.lastIndexOf(SEPERATOR)) + SEPERATOR + id.slice(2);
- }
- return require(resultantId);
- };
- module.exports = {};
- delete module.factory;
- factory(localRequire, module.exports, module);
- return module.exports;
- }
-
- require = function (id) {
- if (!modules[id]) {
- throw "module " + id + " not found";
- } else if (id in inProgressModules) {
- var cycle = requireStack.slice(inProgressModules[id]).join('->') + '->' + id;
- throw "Cycle in require graph: " + cycle;
- }
- if (modules[id].factory) {
- try {
- inProgressModules[id] = requireStack.length;
- requireStack.push(id);
- return build(modules[id]);
- } finally {
- delete inProgressModules[id];
- requireStack.pop();
- }
- }
- return modules[id].exports;
- };
-
- define = function (id, factory) {
- if (modules[id]) {
- throw "module " + id + " already defined";
- }
-
- modules[id] = {
- id: id,
- factory: factory
- };
- };
-
- define.remove = function (id) {
- delete modules[id];
- };
-
- define.moduleMap = modules;
-})();
-
-//Export for use in node
-if (typeof module === "object" && typeof require === "function") {
- module.exports.require = require;
- module.exports.define = define;
-}
-
-// file: lib/cordova.js
-define("cordova", function(require, exports, module) {
-
-
-var channel = require('cordova/channel');
-
-/**
- * Listen for DOMContentLoaded and notify our channel subscribers.
- */
-document.addEventListener('DOMContentLoaded', function() {
- channel.onDOMContentLoaded.fire();
-}, false);
-if (document.readyState == 'complete' || document.readyState == 'interactive') {
- channel.onDOMContentLoaded.fire();
-}
-
-/**
- * Intercept calls to addEventListener + removeEventListener and handle deviceready,
- * resume, and pause events.
- */
-var m_document_addEventListener = document.addEventListener;
-var m_document_removeEventListener = document.removeEventListener;
-var m_window_addEventListener = window.addEventListener;
-var m_window_removeEventListener = window.removeEventListener;
-
-/**
- * Houses custom event handlers to intercept on document + window event listeners.
- */
-var documentEventHandlers = {},
- windowEventHandlers = {};
-
-document.addEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- if (typeof documentEventHandlers[e] != 'undefined') {
- documentEventHandlers[e].subscribe(handler);
- } else {
- m_document_addEventListener.call(document, evt, handler, capture);
- }
-};
-
-window.addEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- if (typeof windowEventHandlers[e] != 'undefined') {
- windowEventHandlers[e].subscribe(handler);
- } else {
- m_window_addEventListener.call(window, evt, handler, capture);
- }
-};
-
-document.removeEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- // If unsubscribing from an event that is handled by a plugin
- if (typeof documentEventHandlers[e] != "undefined") {
- documentEventHandlers[e].unsubscribe(handler);
- } else {
- m_document_removeEventListener.call(document, evt, handler, capture);
- }
-};
-
-window.removeEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- // If unsubscribing from an event that is handled by a plugin
- if (typeof windowEventHandlers[e] != "undefined") {
- windowEventHandlers[e].unsubscribe(handler);
- } else {
- m_window_removeEventListener.call(window, evt, handler, capture);
- }
-};
-
-function createEvent(type, data) {
- var event = document.createEvent('Events');
- event.initEvent(type, false, false);
- if (data) {
- for (var i in data) {
- if (data.hasOwnProperty(i)) {
- event[i] = data[i];
- }
- }
- }
- return event;
-}
-
-if(typeof window.console === "undefined") {
- window.console = {
- log:function(){}
- };
-}
-
-var cordova = {
- define:define,
- require:require,
- /**
- * Methods to add/remove your own addEventListener hijacking on document + window.
- */
- addWindowEventHandler:function(event) {
- return (windowEventHandlers[event] = channel.create(event));
- },
- addStickyDocumentEventHandler:function(event) {
- return (documentEventHandlers[event] = channel.createSticky(event));
- },
- addDocumentEventHandler:function(event) {
- return (documentEventHandlers[event] = channel.create(event));
- },
- removeWindowEventHandler:function(event) {
- delete windowEventHandlers[event];
- },
- removeDocumentEventHandler:function(event) {
- delete documentEventHandlers[event];
- },
- /**
- * Retrieve original event handlers that were replaced by Cordova
- *
- * @return object
- */
- getOriginalHandlers: function() {
- return {'document': {'addEventListener': m_document_addEventListener, 'removeEventListener': m_document_removeEventListener},
- 'window': {'addEventListener': m_window_addEventListener, 'removeEventListener': m_window_removeEventListener}};
- },
- /**
- * Method to fire event from native code
- * bNoDetach is required for events which cause an exception which needs to be caught in native code
- */
- fireDocumentEvent: function(type, data, bNoDetach) {
- var evt = createEvent(type, data);
- if (typeof documentEventHandlers[type] != 'undefined') {
- if( bNoDetach ) {
- documentEventHandlers[type].fire(evt);
- }
- else {
- setTimeout(function() {
- // Fire deviceready on listeners that were registered before cordova.js was loaded.
- if (type == 'deviceready') {
- document.dispatchEvent(evt);
- }
- documentEventHandlers[type].fire(evt);
- }, 0);
- }
- } else {
- document.dispatchEvent(evt);
- }
- },
- fireWindowEvent: function(type, data) {
- var evt = createEvent(type,data);
- if (typeof windowEventHandlers[type] != 'undefined') {
- setTimeout(function() {
- windowEventHandlers[type].fire(evt);
- }, 0);
- } else {
- window.dispatchEvent(evt);
- }
- },
-
- /**
- * Plugin callback mechanism.
- */
- // Randomize the starting callbackId to avoid collisions after refreshing or navigating.
- // This way, it's very unlikely that any new callback would get the same callbackId as an old callback.
- callbackId: Math.floor(Math.random() * 2000000000),
- callbacks: {},
- callbackStatus: {
- NO_RESULT: 0,
- OK: 1,
- CLASS_NOT_FOUND_EXCEPTION: 2,
- ILLEGAL_ACCESS_EXCEPTION: 3,
- INSTANTIATION_EXCEPTION: 4,
- MALFORMED_URL_EXCEPTION: 5,
- IO_EXCEPTION: 6,
- INVALID_ACTION: 7,
- JSON_EXCEPTION: 8,
- ERROR: 9
- },
-
- /**
- * Called by native code when returning successful result from an action.
- */
- callbackSuccess: function(callbackId, args) {
- try {
- cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback);
- } catch (e) {
- console.log("Error in error callback: " + callbackId + " = "+e);
- }
- },
-
- /**
- * Called by native code when returning error result from an action.
- */
- callbackError: function(callbackId, args) {
- // TODO: Deprecate callbackSuccess and callbackError in favour of callbackFromNative.
- // Derive success from status.
- try {
- cordova.callbackFromNative(callbackId, false, args.status, [args.message], args.keepCallback);
- } catch (e) {
- console.log("Error in error callback: " + callbackId + " = "+e);
- }
- },
-
- /**
- * Called by native code when returning the result from an action.
- */
- callbackFromNative: function(callbackId, success, status, args, keepCallback) {
- var callback = cordova.callbacks[callbackId];
- if (callback) {
- if (success && status == cordova.callbackStatus.OK) {
- callback.success && callback.success.apply(null, args);
- } else if (!success) {
- callback.fail && callback.fail.apply(null, args);
- }
-
- // Clear callback if not expecting any more results
- if (!keepCallback) {
- delete cordova.callbacks[callbackId];
- }
- }
- },
- addConstructor: function(func) {
- channel.onCordovaReady.subscribe(function() {
- try {
- func();
- } catch(e) {
- console.log("Failed to run constructor: " + e);
- }
- });
- }
-};
-
-// Register pause, resume and deviceready channels as events on document.
-channel.onPause = cordova.addDocumentEventHandler('pause');
-channel.onResume = cordova.addDocumentEventHandler('resume');
-channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready');
-
-module.exports = cordova;
-
-});
-
-// file: lib/common/argscheck.js
-define("cordova/argscheck", function(require, exports, module) {
-
-var exec = require('cordova/exec');
-var utils = require('cordova/utils');
-
-var moduleExports = module.exports;
-
-var typeMap = {
- 'A': 'Array',
- 'D': 'Date',
- 'N': 'Number',
- 'S': 'String',
- 'F': 'Function',
- 'O': 'Object'
-};
-
-function extractParamName(callee, argIndex) {
- return (/.*?\((.*?)\)/).exec(callee)[1].split(', ')[argIndex];
-}
-
-function checkArgs(spec, functionName, args, opt_callee) {
- if (!moduleExports.enableChecks) {
- return;
- }
- var errMsg = null;
- var typeName;
- for (var i = 0; i < spec.length; ++i) {
- var c = spec.charAt(i),
- cUpper = c.toUpperCase(),
- arg = args[i];
- // Asterix means allow anything.
- if (c == '*') {
- continue;
- }
- typeName = utils.typeName(arg);
- if ((arg === null || arg === undefined) && c == cUpper) {
- continue;
- }
- if (typeName != typeMap[cUpper]) {
- errMsg = 'Expected ' + typeMap[cUpper];
- break;
- }
- }
- if (errMsg) {
- errMsg += ', but got ' + typeName + '.';
- errMsg = 'Wrong type for parameter "' + extractParamName(opt_callee || args.callee, i) + '" of ' + functionName + ': ' + errMsg;
- // Don't log when running jake test.
- if (typeof jasmine == 'undefined') {
- console.error(errMsg);
- }
- throw TypeError(errMsg);
- }
-}
-
-function getValue(value, defaultValue) {
- return value === undefined ? defaultValue : value;
-}
-
-moduleExports.checkArgs = checkArgs;
-moduleExports.getValue = getValue;
-moduleExports.enableChecks = true;
-
-
-});
-
-// file: lib/common/builder.js
-define("cordova/builder", function(require, exports, module) {
-
-var utils = require('cordova/utils');
-
-function each(objects, func, context) {
- for (var prop in objects) {
- if (objects.hasOwnProperty(prop)) {
- func.apply(context, [objects[prop], prop]);
- }
- }
-}
-
-function clobber(obj, key, value) {
- exports.replaceHookForTesting(obj, key);
- obj[key] = value;
- // Getters can only be overridden by getters.
- if (obj[key] !== value) {
- utils.defineGetter(obj, key, function() {
- return value;
- });
- }
-}
-
-function assignOrWrapInDeprecateGetter(obj, key, value, message) {
- if (message) {
- utils.defineGetter(obj, key, function() {
- console.log(message);
- delete obj[key];
- clobber(obj, key, value);
- return value;
- });
- } else {
- clobber(obj, key, value);
- }
-}
-
-function include(parent, objects, clobber, merge) {
- each(objects, function (obj, key) {
- try {
- var result = obj.path ? require(obj.path) : {};
-
- if (clobber) {
- // Clobber if it doesn't exist.
- if (typeof parent[key] === 'undefined') {
- assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
- } else if (typeof obj.path !== 'undefined') {
- // If merging, merge properties onto parent, otherwise, clobber.
- if (merge) {
- recursiveMerge(parent[key], result);
- } else {
- assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
- }
- }
- result = parent[key];
- } else {
- // Overwrite if not currently defined.
- if (typeof parent[key] == 'undefined') {
- assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
- } else {
- // Set result to what already exists, so we can build children into it if they exist.
- result = parent[key];
- }
- }
-
- if (obj.children) {
- include(result, obj.children, clobber, merge);
- }
- } catch(e) {
- utils.alert('Exception building cordova JS globals: ' + e + ' for key "' + key + '"');
- }
- });
-}
-
-/**
- * Merge properties from one object onto another recursively. Properties from
- * the src object will overwrite existing target property.
- *
- * @param target Object to merge properties into.
- * @param src Object to merge properties from.
- */
-function recursiveMerge(target, src) {
- for (var prop in src) {
- if (src.hasOwnProperty(prop)) {
- if (target.prototype && target.prototype.constructor === target) {
- // If the target object is a constructor override off prototype.
- clobber(target.prototype, prop, src[prop]);
- } else {
- if (typeof src[prop] === 'object' && typeof target[prop] === 'object') {
- recursiveMerge(target[prop], src[prop]);
- } else {
- clobber(target, prop, src[prop]);
- }
- }
- }
- }
-}
-
-exports.buildIntoButDoNotClobber = function(objects, target) {
- include(target, objects, false, false);
-};
-exports.buildIntoAndClobber = function(objects, target) {
- include(target, objects, true, false);
-};
-exports.buildIntoAndMerge = function(objects, target) {
- include(target, objects, true, true);
-};
-exports.recursiveMerge = recursiveMerge;
-exports.assignOrWrapInDeprecateGetter = assignOrWrapInDeprecateGetter;
-exports.replaceHookForTesting = function() {};
-
-});
-
-// file: lib/common/channel.js
-define("cordova/channel", function(require, exports, module) {
-
-var utils = require('cordova/utils'),
- nextGuid = 1;
-
-/**
- * Custom pub-sub "channel" that can have functions subscribed to it
- * This object is used to define and control firing of events for
- * cordova initialization, as well as for custom events thereafter.
- *
- * The order of events during page load and Cordova startup is as follows:
- *
- * onDOMContentLoaded* Internal event that is received when the web page is loaded and parsed.
- * onNativeReady* Internal event that indicates the Cordova native side is ready.
- * onCordovaReady* Internal event fired when all Cordova JavaScript objects have been created.
- * onCordovaInfoReady* Internal event fired when device properties are available.
- * onCordovaConnectionReady* Internal event fired when the connection property has been set.
- * onDeviceReady* User event fired to indicate that Cordova is ready
- * onResume User event fired to indicate a start/resume lifecycle event
- * onPause User event fired to indicate a pause lifecycle event
- * onDestroy* Internal event fired when app is being destroyed (User should use window.onunload event, not this one).
- *
- * The events marked with an * are sticky. Once they have fired, they will stay in the fired state.
- * All listeners that subscribe after the event is fired will be executed right away.
- *
- * The only Cordova events that user code should register for are:
- * deviceready Cordova native code is initialized and Cordova APIs can be called from JavaScript
- * pause App has moved to background
- * resume App has returned to foreground
- *
- * Listeners can be registered as:
- * document.addEventListener("deviceready", myDeviceReadyListener, false);
- * document.addEventListener("resume", myResumeListener, false);
- * document.addEventListener("pause", myPauseListener, false);
- *
- * The DOM lifecycle events should be used for saving and restoring state
- * window.onload
- * window.onunload
- *
- */
-
-/**
- * Channel
- * @constructor
- * @param type String the channel name
- */
-var Channel = function(type, sticky) {
- this.type = type;
- // Map of guid -> function.
- this.handlers = {};
- // 0 = Non-sticky, 1 = Sticky non-fired, 2 = Sticky fired.
- this.state = sticky ? 1 : 0;
- // Used in sticky mode to remember args passed to fire().
- this.fireArgs = null;
- // Used by onHasSubscribersChange to know if there are any listeners.
- this.numHandlers = 0;
- // Function that is called when the first listener is subscribed, or when
- // the last listener is unsubscribed.
- this.onHasSubscribersChange = null;
-},
- channel = {
- /**
- * Calls the provided function only after all of the channels specified
- * have been fired. All channels must be sticky channels.
- */
- join: function(h, c) {
- var len = c.length,
- i = len,
- f = function() {
- if (!(--i)) h();
- };
- for (var j=0; j<len; j++) {
- if (c[j].state === 0) {
- throw Error('Can only use join with sticky channels.');
- }
- c[j].subscribe(f);
- }
- if (!len) h();
- },
- create: function(type) {
- return channel[type] = new Channel(type, false);
- },
- createSticky: function(type) {
- return channel[type] = new Channel(type, true);
- },
-
- /**
- * cordova Channels that must fire before "deviceready" is fired.
- */
- deviceReadyChannelsArray: [],
- deviceReadyChannelsMap: {},
-
- /**
- * Indicate that a feature needs to be initialized before it is ready to be used.
- * This holds up Cordova's "deviceready" event until the feature has been initialized
- * and Cordova.initComplete(feature) is called.
- *
- * @param feature {String} The unique feature name
- */
- waitForInitialization: function(feature) {
- if (feature) {
- var c = channel[feature] || this.createSticky(feature);
- this.deviceReadyChannelsMap[feature] = c;
- this.deviceReadyChannelsArray.push(c);
- }
- },
-
- /**
- * Indicate that initialization code has completed and the feature is ready to be used.
- *
- * @param feature {String} The unique feature name
- */
- initializationComplete: function(feature) {
- var c = this.deviceReadyChannelsMap[feature];
- if (c) {
- c.fire();
- }
- }
- };
-
-function forceFunction(f) {
- if (typeof f != 'function') throw "Function required as first argument!";
-}
-
-/**
- * Subscribes the given function to the channel. Any time that
- * Channel.fire is called so too will the function.
- * Optionally specify an execution context for the function
- * and a guid that can be used to stop subscribing to the channel.
- * Returns the guid.
- */
-Channel.prototype.subscribe = function(f, c) {
- // need a function to call
- forceFunction(f);
- if (this.state == 2) {
- f.apply(c || this, this.fireArgs);
- return;
- }
-
- var func = f,
- guid = f.observer_guid;
- if (typeof c == "object") { func = utils.close(c, f); }
-
- if (!guid) {
- // first time any channel has seen this subscriber
- guid = '' + nextGuid++;
- }
- func.observer_guid = guid;
- f.observer_guid = guid;
-
- // Don't add the same handler more than once.
- if (!this.handlers[guid]) {
- this.handlers[guid] = func;
- this.numHandlers++;
- if (this.numHandlers == 1) {
- this.onHasSubscribersChange && this.onHasSubscribersChange();
- }
- }
-};
-
-/**
- * Unsubscribes the function with the given guid from the channel.
- */
-Channel.prototype.unsubscribe = function(f) {
- // need a function to unsubscribe
- forceFunction(f);
-
- var guid = f.observer_guid,
- handler = this.handlers[guid];
- if (handler) {
- delete this.handlers[guid];
- this.numHandlers--;
- if (this.numHandlers === 0) {
- this.onHasSubscribersChange && this.onHasSubscribersChange();
- }
- }
-};
-
-/**
- * Calls all functions subscribed to this channel.
- */
-Channel.prototype.fire = function(e) {
- var fail = false,
- fireArgs = Array.prototype.slice.call(arguments);
- // Apply stickiness.
- if (this.state == 1) {
- this.state = 2;
- this.fireArgs = fireArgs;
- }
- if (this.numHandlers) {
- // Copy the values first so that it is safe to modify it from within
- // callbacks.
- var toCall = [];
- for (var item in this.handlers) {
- toCall.push(this.handlers[item]);
- }
- for (var i = 0; i < toCall.length; ++i) {
- toCall[i].apply(this, fireArgs);
- }
- if (this.state == 2 && this.numHandlers) {
- this.numHandlers = 0;
- this.handlers = {};
- this.onHasSubscribersChange && this.onHasSubscribersChange();
- }
- }
-};
-
-
-// defining them here so they are ready super fast!
-// DOM event that is received when the web page is loaded and parsed.
-channel.createSticky('onDOMContentLoaded');
-
-// Event to indicate the Cordova native side is ready.
-channel.createSticky('onNativeReady');
-
-// Event to indicate that all Cordova JavaScript objects have been created
-// and it's time to run plugin constructors.
-channel.createSticky('onCordovaReady');
-
-// Event to indicate that device properties are available
-channel.createSticky('onCordovaInfoReady');
-
-// Event to indicate that the connection property has been set.
-channel.createSticky('onCordovaConnectionReady');
-
-// Event to indicate that all automatically loaded JS plugins are loaded and ready.
-channel.createSticky('onPluginsReady');
-
-// Event to indicate that Cordova is ready
-channel.createSticky('onDeviceReady');
-
-// Event to indicate a resume lifecycle event
-channel.create('onResume');
-
-// Event to indicate a pause lifecycle event
-channel.create('onPause');
-
-// Event to indicate a destroy lifecycle event
-channel.createSticky('onDestroy');
-
-// Channels that must fire before "deviceready" is fired.
-channel.waitForInitialization('onCordovaReady');
-channel.waitForInitialization('onCordovaConnectionReady');
-channel.waitForInitialization('onDOMContentLoaded');
-
-module.exports = channel;
-
-});
-
-// file: lib/common/commandProxy.js
-define("cordova/commandProxy", function(require, exports, module) {
-
-
-// internal map of proxy function
-var CommandProxyMap = {};
-
-module.exports = {
-
- // example: cordova.commandProxy.add("Accelerometer",{getCurrentAcceleration: function(successCallback, errorCallback, options) {...},...);
- add:function(id,proxyObj) {
- console.log("adding proxy for " + id);
- CommandProxyMap[id] = proxyObj;
- return proxyObj;
- },
-
- // cordova.commandProxy.remove("Accelerometer");
- remove:function(id) {
- var proxy = CommandProxyMap[id];
- delete CommandProxyMap[id];
- CommandProxyMap[id] = null;
- return proxy;
- },
-
- get:function(service,action) {
- return ( CommandProxyMap[service] ? CommandProxyMap[service][action] : null );
- }
-};
-});
-
-// file: lib/windowsphone/exec.js
-define("cordova/exec", function(require, exports, module) {
-
-var cordova = require('cordova');
-
-/**
- * Execute a cordova command. It is up to the native side whether this action
- * is synchronous or asynchronous. The native side can return:
- * Synchronous: PluginResult object as a JSON string
- * Asynchronous: Empty string ""
- * If async, the native side will cordova.callbackSuccess or cordova.callbackError,
- * depending upon the result of the action.
- *
- * @param {Function} success The success callback
- * @param {Function} fail The fail callback
- * @param {String} service The name of the service to use
- * @param {String} action Action to be run in cordova
- * @param {String[]} [args] Zero or more arguments to pass to the method
-
- */
-
-module.exports = function(success, fail, service, action, args) {
-
- var callbackId = service + cordova.callbackId++;
- if (typeof success == "function" || typeof fail == "function") {
- cordova.callbacks[callbackId] = {success:success, fail:fail};
- }
- // generate a new command string, ex. DebugConsole/log/DebugConsole23/["wtf dude?"]
- for(var n = 0; n < args.length; n++)
- {
- if(typeof args[n] !== "string")
- {
- args[n] = JSON.stringify(args[n]);
- }
- }
- var command = service + "/" + action + "/" + callbackId + "/" + JSON.stringify(args);
- // pass it on to Notify
- try {
- if(window.external) {
- window.external.Notify(command);
- }
- else {
- console.log("window.external not available :: command=" + command);
- }
- }
- catch(e) {
- console.log("Exception calling native with command :: " + command + " :: exception=" + e);
- }
-};
-
-
-});
-
-// file: lib/common/modulemapper.js
-define("cordova/modulemapper", function(require, exports, module) {
-
-var builder = require('cordova/builder'),
- moduleMap = define.moduleMap,
- symbolList,
- deprecationMap;
-
-exports.reset = function() {
- symbolList = [];
- deprecationMap = {};
-};
-
-function addEntry(strategy, moduleName, symbolPath, opt_deprecationMessage) {
- if (!(moduleName in moduleMap)) {
- throw new Error('Module ' + moduleName + ' does not exist.');
- }
- symbolList.push(strategy, moduleName, symbolPath);
- if (opt_deprecationMessage) {
- deprecationMap[symbolPath] = opt_deprecationMessage;
- }
-}
-
-// Note: Android 2.3 does have Function.bind().
-exports.clobbers = function(moduleName, symbolPath, opt_deprecationMessage) {
- addEntry('c', moduleName, symbolPath, opt_deprecationMessage);
-};
-
-exports.merges = function(moduleName, symbolPath, opt_deprecationMessage) {
- addEntry('m', moduleName, symbolPath, opt_deprecationMessage);
-};
-
-exports.defaults = function(moduleName, symbolPath, opt_deprecationMessage) {
- addEntry('d', moduleName, symbolPath, opt_deprecationMessage);
-};
-
-function prepareNamespace(symbolPath, context) {
- if (!symbolPath) {
- return context;
- }
- var parts = symbolPath.split('.');
- var cur = context;
- for (var i = 0, part; part = parts[i]; ++i) {
- cur = cur[part] = cur[part] || {};
- }
- return cur;
-}
-
-exports.mapModules = function(context) {
- var origSymbols = {};
- context.CDV_origSymbols = origSymbols;
- for (var i = 0, len = symbolList.length; i < len; i += 3) {
- var strategy = symbolList[i];
- var moduleName = symbolList[i + 1];
- var symbolPath = symbolList[i + 2];
- var lastDot = symbolPath.lastIndexOf('.');
- var namespace = symbolPath.substr(0, lastDot);
- var lastName = symbolPath.substr(lastDot + 1);
-
- var module = require(moduleName);
- var deprecationMsg = symbolPath in deprecationMap ? 'Access made to deprecated symbol: ' + symbolPath + '. ' + deprecationMsg : null;
- var parentObj = prepareNamespace(namespace, context);
- var target = parentObj[lastName];
-
- if (strategy == 'm' && target) {
- builder.recursiveMerge(target, module);
- } else if ((strategy == 'd' && !target) || (strategy != 'd')) {
- if (!(symbolPath in origSymbols)) {
- origSymbols[symbolPath] = target;
- }
- builder.assignOrWrapInDeprecateGetter(parentObj, lastName, module, deprecationMsg);
- }
- }
-};
-
-exports.getOriginalSymbol = function(context, symbolPath) {
- var origSymbols = context.CDV_origSymbols;
- if (origSymbols && (symbolPath in origSymbols)) {
- return origSymbols[symbolPath];
- }
- var parts = symbolPath.split('.');
- var obj = context;
- for (var i = 0; i < parts.length; ++i) {
- obj = obj && obj[parts[i]];
- }
- return obj;
-};
-
-exports.loadMatchingModules = function(matchingRegExp) {
- for (var k in moduleMap) {
- if (matchingRegExp.exec(k)) {
- require(k);
- }
- }
-};
-
-exports.reset();
-
-
-});
-
-// file: lib/windowsphone/platform.js
-define("cordova/platform", function(require, exports, module) {
-
-var cordova = require('cordova'),
- exec = require('cordova/exec');
-
-module.exports = {
- id: "windowsphone",
- initialize:function() {
- var modulemapper = require('cordova/modulemapper');
-
- modulemapper.loadMatchingModules(/cordova.*\/plugininit$/);
-
- modulemapper.loadMatchingModules(/cordova.*\/symbols$/);
-
- modulemapper.mapModules(window);
-
- // Inject a listener for the backbutton, and tell native to override the flag (true/false) when we have 1 or more, or 0, listeners
- var backButtonChannel = cordova.addDocumentEventHandler('backbutton');
- backButtonChannel.onHasSubscribersChange = function() {
- exec(null, null, "CoreEvents", "overridebackbutton", [this.numHandlers == 1]);
- };
- }
-};
-
-});
-
-// file: lib/common/plugin/Acceleration.js
-define("cordova/plugin/Acceleration", function(require, exports, module) {
-
-var Acceleration = function(x, y, z, timestamp) {
- this.x = x;
- this.y = y;
- this.z = z;
- this.timestamp = timestamp || (new Date()).getTime();
-};
-
-module.exports = Acceleration;
-
-});
-
-// file: lib/common/plugin/Camera.js
-define("cordova/plugin/Camera", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- Camera = require('cordova/plugin/CameraConstants'),
- CameraPopoverHandle = require('cordova/plugin/CameraPopoverHandle');
-
-var cameraExport = {};
-
-// Tack on the Camera Constants to the base camera plugin.
-for (var key in Camera) {
- cameraExport[key] = Camera[key];
-}
-
-/**
- * Gets a picture from source defined by "options.sourceType", and returns the
- * image as defined by the "options.destinationType" option.
-
- * The defaults are sourceType=CAMERA and destinationType=FILE_URI.
- *
- * @param {Function} successCallback
- * @param {Function} errorCallback
- * @param {Object} options
- */
-cameraExport.getPicture = function(successCallback, errorCallback, options) {
- argscheck.checkArgs('fFO', 'Camera.getPicture', arguments);
- options = options || {};
- var getValue = argscheck.getValue;
-
- var quality = getValue(options.quality, 50);
- var destinationType = getValue(options.destinationType, Camera.DestinationType.FILE_URI);
- var sourceType = getValue(options.sourceType, Camera.PictureSourceType.CAMERA);
- var targetWidth = getValue(options.targetWidth, -1);
- var targetHeight = getValue(options.targetHeight, -1);
- var encodingType = getValue(options.encodingType, Camera.EncodingType.JPEG);
- var mediaType = getValue(options.mediaType, Camera.MediaType.PICTURE);
- var allowEdit = !!options.allowEdit;
- var correctOrientation = !!options.correctOrientation;
- var saveToPhotoAlbum = !!options.saveToPhotoAlbum;
- var popoverOptions = getValue(options.popoverOptions, null);
- var cameraDirection = getValue(options.cameraDirection, Camera.Direction.BACK);
-
- var args = [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType,
- mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions, cameraDirection];
-
- exec(successCallback, errorCallback, "Camera", "takePicture", args);
- return new CameraPopoverHandle();
-};
-
-cameraExport.cleanup = function(successCallback, errorCallback) {
- exec(successCallback, errorCallback, "Camera", "cleanup", []);
-};
-
-module.exports = cameraExport;
-
-});
-
-// file: lib/common/plugin/CameraConstants.js
-define("cordova/plugin/CameraConstants", function(require, exports, module) {
-
-module.exports = {
- DestinationType:{
- DATA_URL: 0, // Return base64 encoded string
- FILE_URI: 1, // Return file uri (content://media/external/images/media/2 for Android)
- NATIVE_URI: 2 // Return native uri (eg. asset-library://... for iOS)
- },
- EncodingType:{
- JPEG: 0, // Return JPEG encoded image
- PNG: 1 // Return PNG encoded image
- },
- MediaType:{
- PICTURE: 0, // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
- VIDEO: 1, // allow selection of video only, ONLY RETURNS URL
- ALLMEDIA : 2 // allow selection from all media types
- },
- PictureSourceType:{
- PHOTOLIBRARY : 0, // Choose image from picture library (same as SAVEDPHOTOALBUM for Android)
- CAMERA : 1, // Take picture from camera
- SAVEDPHOTOALBUM : 2 // Choose image from picture library (same as PHOTOLIBRARY for Android)
- },
- PopoverArrowDirection:{
- ARROW_UP : 1, // matches iOS UIPopoverArrowDirection constants to specify arrow location on popover
- ARROW_DOWN : 2,
- ARROW_LEFT : 4,
- ARROW_RIGHT : 8,
- ARROW_ANY : 15
- },
- Direction:{
- BACK: 0,
- FRONT: 1
- }
-};
-
-});
-
-// file: lib/common/plugin/CameraPopoverHandle.js
-define("cordova/plugin/CameraPopoverHandle", function(require, exports, module) {
-
-var exec = require('cordova/exec');
-
-/**
- * A handle to an image picker popover.
- */
-var CameraPopoverHandle = function() {
- this.setPosition = function(popoverOptions) {
- console.log('CameraPopoverHandle.setPosition is only supported on iOS.');
- };
-};
-
-module.exports = CameraPopoverHandle;
-
-});
-
-// file: lib/common/plugin/CameraPopoverOptions.js
-define("cordova/plugin/CameraPopoverOptions", function(require, exports, module) {
-
-var Camera = require('cordova/plugin/CameraConstants');
-
-/**
- * Encapsulates options for iOS Popover image picker
- */
-var CameraPopoverOptions = function(x,y,width,height,arrowDir){
- // information of rectangle that popover should be anchored to
- this.x = x || 0;
- this.y = y || 32;
- this.width = width || 320;
- this.height = height || 480;
- // The direction of the popover arrow
- this.arrowDir = arrowDir || Camera.PopoverArrowDirection.ARROW_ANY;
-};
-
-module.exports = CameraPopoverOptions;
-
-});
-
-// file: lib/common/plugin/CaptureAudioOptions.js
-define("cordova/plugin/CaptureAudioOptions", function(require, exports, module) {
-
-/**
- * Encapsulates all audio capture operation configuration options.
- */
-var CaptureAudioOptions = function(){
- // Upper limit of sound clips user can record. Value must be equal or greater than 1.
- this.limit = 1;
- // Maximum duration of a single sound clip in seconds.
- this.duration = 0;
-};
-
-module.exports = CaptureAudioOptions;
-
-});
-
-// file: lib/common/plugin/CaptureError.js
-define("cordova/plugin/CaptureError", function(require, exports, module) {
-
-/**
- * The CaptureError interface encapsulates all errors in the Capture API.
- */
-var CaptureError = function(c) {
- this.code = c || null;
-};
-
-// Camera or microphone failed to capture image or sound.
-CaptureError.CAPTURE_INTERNAL_ERR = 0;
-// Camera application or audio capture application is currently serving other capture request.
-CaptureError.CAPTURE_APPLICATION_BUSY = 1;
-// Invalid use of the API (e.g. limit parameter has value less than one).
-CaptureError.CAPTURE_INVALID_ARGUMENT = 2;
-// User exited camera application or audio capture application before capturing anything.
-CaptureError.CAPTURE_NO_MEDIA_FILES = 3;
-// The requested capture operation is not supported.
-CaptureError.CAPTURE_NOT_SUPPORTED = 20;
-
-module.exports = CaptureError;
-
-});
-
-// file: lib/common/plugin/CaptureImageOptions.js
-define("cordova/plugin/CaptureImageOptions", function(require, exports, module) {
-
-/**
- * Encapsulates all image capture operation configuration options.
- */
-var CaptureImageOptions = function(){
- // Upper limit of images user can take. Value must be equal or greater than 1.
- this.limit = 1;
-};
-
-module.exports = CaptureImageOptions;
-
-});
-
-// file: lib/common/plugin/CaptureVideoOptions.js
-define("cordova/plugin/CaptureVideoOptions", function(require, exports, module) {
-
-/**
- * Encapsulates all video capture operation configuration options.
- */
-var CaptureVideoOptions = function(){
- // Upper limit of videos user can record. Value must be equal or greater than 1.
- this.limit = 1;
- // Maximum duration of a single video clip in seconds.
- this.duration = 0;
-};
-
-module.exports = CaptureVideoOptions;
-
-});
-
-// file: lib/common/plugin/CompassError.js
-define("cordova/plugin/CompassError", function(require, exports, module) {
-
-/**
- * CompassError.
- * An error code assigned by an implementation when an error has occurred
- * @constructor
- */
-var CompassError = function(err) {
- this.code = (err !== undefined ? err : null);
-};
-
-CompassError.COMPASS_INTERNAL_ERR = 0;
-CompassError.COMPASS_NOT_SUPPORTED = 20;
-
-module.exports = CompassError;
-
-});
-
-// file: lib/common/plugin/CompassHeading.js
-define("cordova/plugin/CompassHeading", function(require, exports, module) {
-
-var CompassHeading = function(magneticHeading, trueHeading, headingAccuracy, timestamp) {
- this.magneticHeading = magneticHeading;
- this.trueHeading = trueHeading;
- this.headingAccuracy = headingAccuracy;
- this.timestamp = timestamp || new Date().getTime();
-};
-
-module.exports = CompassHeading;
-
-});
-
-// file: lib/common/plugin/ConfigurationData.js
-define("cordova/plugin/ConfigurationData", function(require, exports, module) {
-
-/**
- * Encapsulates a set of parameters that the capture device supports.
- */
-function ConfigurationData() {
- // The ASCII-encoded string in lower case representing the media type.
- this.type = null;
- // The height attribute represents height of the image or video in pixels.
- // In the case of a sound clip this attribute has value 0.
- this.height = 0;
- // The width attribute represents width of the image or video in pixels.
- // In the case of a sound clip this attribute has value 0
- this.width = 0;
-}
-
-module.exports = ConfigurationData;
-
-});
-
-// file: lib/common/plugin/Connection.js
-define("cordova/plugin/Connection", function(require, exports, module) {
-
-/**
- * Network status
- */
-module.exports = {
- UNKNOWN: "unknown",
- ETHERNET: "ethernet",
- WIFI: "wifi",
- CELL_2G: "2g",
- CELL_3G: "3g",
- CELL_4G: "4g",
- CELL:"cellular",
- NONE: "none"
-};
-
-});
-
-// file: lib/common/plugin/Contact.js
-define("cordova/plugin/Contact", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- ContactError = require('cordova/plugin/ContactError'),
- utils = require('cordova/utils');
-
-/**
-* Converts primitives into Complex Object
-* Currently only used for Date fields
-*/
-function convertIn(contact) {
- var value = contact.birthday;
- try {
- contact.birthday = new Date(parseFloat(value));
- } catch (exception){
- console.log("Cordova Contact convertIn error: exception creating date.");
- }
- return contact;
-}
-
-/**
-* Converts Complex objects into primitives
-* Only conversion at present is for Dates.
-**/
-
-function convertOut(contact) {
- var value = contact.birthday;
- if (value !== null) {
- // try to make it a Date object if it is not already
- if (!utils.isDate(value)){
- try {
- value = new Date(value);
- } catch(exception){
- value = null;
- }
- }
- if (utils.isDate(value)){
- value = value.valueOf(); // convert to milliseconds
- }
- contact.birthday = value;
- }
- return contact;
-}
-
-/**
-* Contains information about a single contact.
-* @constructor
-* @param {DOMString} id unique identifier
-* @param {DOMString} displayName
-* @param {ContactName} name
-* @param {DOMString} nickname
-* @param {Array.<ContactField>} phoneNumbers array of phone numbers
-* @param {Array.<ContactField>} emails array of email addresses
-* @param {Array.<ContactAddress>} addresses array of addresses
-* @param {Array.<ContactField>} ims instant messaging user ids
-* @param {Array.<ContactOrganization>} organizations
-* @param {DOMString} birthday contact's birthday
-* @param {DOMString} note user notes about contact
-* @param {Array.<ContactField>} photos
-* @param {Array.<ContactField>} categories
-* @param {Array.<ContactField>} urls contact's web sites
-*/
-var Contact = function (id, displayName, name, nickname, phoneNumbers, emails, addresses,
- ims, organizations, birthday, note, photos, categories, urls) {
- this.id = id || null;
- this.rawId = null;
- this.displayName = displayName || null;
- this.name = name || null; // ContactName
- this.nickname = nickname || null;
- this.phoneNumbers = phoneNumbers || null; // ContactField[]
- this.emails = emails || null; // ContactField[]
- this.addresses = addresses || null; // ContactAddress[]
- this.ims = ims || null; // ContactField[]
- this.organizations = organizations || null; // ContactOrganization[]
- this.birthday = birthday || null;
- this.note = note || null;
- this.photos = photos || null; // ContactField[]
- this.categories = categories || null; // ContactField[]
- this.urls = urls || null; // ContactField[]
-};
-
-/**
-* Removes contact from device storage.
-* @param successCB success callback
-* @param errorCB error callback
-*/
-Contact.prototype.remove = function(successCB, errorCB) {
- argscheck.checkArgs('FF', 'Contact.remove', arguments);
- var fail = errorCB && function(code) {
- errorCB(new ContactError(code));
- };
- if (this.id === null) {
- fail(ContactError.UNKNOWN_ERROR);
- }
- else {
- exec(successCB, fail, "Contacts", "remove", [this.id]);
- }
-};
-
-/**
-* Creates a deep copy of this Contact.
-* With the contact ID set to null.
-* @return copy of this Contact
-*/
-Contact.prototype.clone = function() {
- var clonedContact = utils.clone(this);
- clonedContact.id = null;
- clonedContact.rawId = null;
-
- function nullIds(arr) {
- if (arr) {
- for (var i = 0; i < arr.length; ++i) {
- arr[i].id = null;
- }
- }
- }
-
- // Loop through and clear out any id's in phones, emails, etc.
- nullIds(clonedContact.phoneNumbers);
- nullIds(clonedContact.emails);
- nullIds(clonedContact.addresses);
- nullIds(clonedContact.ims);
- nullIds(clonedContact.organizations);
- nullIds(clonedContact.categories);
- nullIds(clonedContact.photos);
- nullIds(clonedContact.urls);
- return clonedContact;
-};
-
-/**
-* Persists contact to device storage.
-* @param successCB success callback
-* @param errorCB error callback
-*/
-Contact.prototype.save = function(successCB, errorCB) {
- argscheck.checkArgs('FFO', 'Contact.save', arguments);
- var fail = errorCB && function(code) {
- errorCB(new ContactError(code));
- };
- var success = function(result) {
- if (result) {
- if (successCB) {
- var fullContact = require('cordova/plugin/contacts').create(result);
- successCB(convertIn(fullContact));
- }
- }
- else {
- // no Entry object returned
- fail(ContactError.UNKNOWN_ERROR);
- }
- };
- var dupContact = convertOut(utils.clone(this));
- exec(success, fail, "Contacts", "save", [dupContact]);
-};
-
-
-module.exports = Contact;
-
-});
-
-// file: lib/common/plugin/ContactAddress.js
-define("cordova/plugin/ContactAddress", function(require, exports, module) {
-
-/**
-* Contact address.
-* @constructor
-* @param {DOMString} id unique identifier, should only be set by native code
-* @param formatted // NOTE: not a W3C standard
-* @param streetAddress
-* @param locality
-* @param region
-* @param postalCode
-* @param country
-*/
-
-var ContactAddress = function(pref, type, formatted, streetAddress, locality, region, postalCode, country) {
- this.id = null;
- this.pref = (typeof pref != 'undefined' ? pref : false);
- this.type = type || null;
- this.formatted = formatted || null;
- this.streetAddress = streetAddress || null;
- this.locality = locality || null;
- this.region = region || null;
- this.postalCode = postalCode || null;
- this.country = country || null;
-};
-
-module.exports = ContactAddress;
-
-});
-
-// file: lib/common/plugin/ContactError.js
-define("cordova/plugin/ContactError", function(require, exports, module) {
-
-/**
- * ContactError.
- * An error code assigned by an implementation when an error has occurred
- * @constructor
- */
-var ContactError = function(err) {
- this.code = (typeof err != 'undefined' ? err : null);
-};
-
-/**
- * Error codes
- */
-ContactError.UNKNOWN_ERROR = 0;
-ContactError.INVALID_ARGUMENT_ERROR = 1;
-ContactError.TIMEOUT_ERROR = 2;
-ContactError.PENDING_OPERATION_ERROR = 3;
-ContactError.IO_ERROR = 4;
-ContactError.NOT_SUPPORTED_ERROR = 5;
-ContactError.PERMISSION_DENIED_ERROR = 20;
-
-module.exports = ContactError;
-
-});
-
-// file: lib/common/plugin/ContactField.js
-define("cordova/plugin/ContactField", function(require, exports, module) {
-
-/**
-* Generic contact field.
-* @constructor
-* @param {DOMString} id unique identifier, should only be set by native code // NOTE: not a W3C standard
-* @param type
-* @param value
-* @param pref
-*/
-var ContactField = function(type, value, pref) {
- this.id = null;
- this.type = (type && type.toString()) || null;
- this.value = (value && value.toString()) || null;
- this.pref = (typeof pref != 'undefined' ? pref : false);
-};
-
-module.exports = ContactField;
-
-});
-
-// file: lib/common/plugin/ContactFindOptions.js
-define("cordova/plugin/ContactFindOptions", function(require, exports, module) {
-
-/**
- * ContactFindOptions.
- * @constructor
- * @param filter used to match contacts against
- * @param multiple boolean used to determine if more than one contact should be returned
- */
-
-var ContactFindOptions = function(filter, multiple) {
- this.filter = filter || '';
- this.multiple = (typeof multiple != 'undefined' ? multiple : false);
-};
-
-module.exports = ContactFindOptions;
-
-});
-
-// file: lib/common/plugin/ContactName.js
-define("cordova/plugin/ContactName", function(require, exports, module) {
-
-/**
-* Contact name.
-* @constructor
-* @param formatted // NOTE: not part of W3C standard
-* @param familyName
-* @param givenName
-* @param middle
-* @param prefix
-* @param suffix
-*/
-var ContactName = function(formatted, familyName, givenName, middle, prefix, suffix) {
- this.formatted = formatted || null;
- this.familyName = familyName || null;
- this.givenName = givenName || null;
- this.middleName = middle || null;
- this.honorificPrefix = prefix || null;
- this.honorificSuffix = suffix || null;
-};
-
-module.exports = ContactName;
-
-});
-
-// file: lib/common/plugin/ContactOrganization.js
-define("cordova/plugin/ContactOrganization", function(require, exports, module) {
-
-/**
-* Contact organization.
-* @constructor
-* @param {DOMString} id unique identifier, should only be set by native code // NOTE: not a W3C standard
-* @param name
-* @param dept
-* @param title
-* @param startDate
-* @param endDate
-* @param location
-* @param desc
-*/
-
-var ContactOrganization = function(pref, type, name, dept, title) {
- this.id = null;
- this.pref = (typeof pref != 'undefined' ? pref : false);
- this.type = type || null;
- this.name = name || null;
- this.department = dept || null;
- this.title = title || null;
-};
-
-module.exports = ContactOrganization;
-
-});
-
-// file: lib/common/plugin/Coordinates.js
-define("cordova/plugin/Coordinates", function(require, exports, module) {
-
-/**
- * This class contains position information.
- * @param {Object} lat
- * @param {Object} lng
- * @param {Object} alt
- * @param {Object} acc
- * @param {Object} head
- * @param {Object} vel
- * @param {Object} altacc
- * @constructor
- */
-var Coordinates = function(lat, lng, alt, acc, head, vel, altacc) {
- /**
- * The latitude of the position.
- */
- this.latitude = lat;
- /**
- * The longitude of the position,
- */
- this.longitude = lng;
- /**
- * The accuracy of the position.
- */
- this.accuracy = acc;
- /**
- * The altitude of the position.
- */
- this.altitude = (alt !== undefined ? alt : null);
- /**
- * The direction the device is moving at the position.
- */
- this.heading = (head !== undefined ? head : null);
- /**
- * The velocity with which the device is moving at the position.
- */
- this.speed = (vel !== undefined ? vel : null);
-
- if (this.speed === 0 || this.speed === null) {
- this.heading = NaN;
- }
-
- /**
- * The altitude accuracy of the position.
- */
- this.altitudeAccuracy = (altacc !== undefined) ? altacc : null;
-};
-
-module.exports = Coordinates;
-
-});
-
-// file: lib/common/plugin/DirectoryEntry.js
-define("cordova/plugin/DirectoryEntry", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- utils = require('cordova/utils'),
- exec = require('cordova/exec'),
- Entry = require('cordova/plugin/Entry'),
- FileError = require('cordova/plugin/FileError'),
- DirectoryReader = require('cordova/plugin/DirectoryReader');
-
-/**
- * An interface representing a directory on the file system.
- *
- * {boolean} isFile always false (readonly)
- * {boolean} isDirectory always true (readonly)
- * {DOMString} name of the directory, excluding the path leading to it (readonly)
- * {DOMString} fullPath the absolute full path to the directory (readonly)
- * TODO: implement this!!! {FileSystem} filesystem on which the directory resides (readonly)
- */
-var DirectoryEntry = function(name, fullPath) {
- DirectoryEntry.__super__.constructor.call(this, false, true, name, fullPath);
-};
-
-utils.extend(DirectoryEntry, Entry);
-
-/**
- * Creates a new DirectoryReader to read entries from this directory
- */
-DirectoryEntry.prototype.createReader = function() {
- return new DirectoryReader(this.fullPath);
-};
-
-/**
- * Creates or looks up a directory
- *
- * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a directory
- * @param {Flags} options to create or exclusively create the directory
- * @param {Function} successCallback is called with the new entry
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryEntry.prototype.getDirectory = function(path, options, successCallback, errorCallback) {
- argscheck.checkArgs('sOFF', 'DirectoryEntry.getDirectory', arguments);
- var win = successCallback && function(result) {
- var entry = new DirectoryEntry(result.name, result.fullPath);
- successCallback(entry);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getDirectory", [this.fullPath, path, options]);
-};
-
-/**
- * Deletes a directory and all of it's contents
- *
- * @param {Function} successCallback is called with no parameters
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryEntry.prototype.removeRecursively = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'DirectoryEntry.removeRecursively', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(successCallback, fail, "File", "removeRecursively", [this.fullPath]);
-};
-
-/**
- * Creates or looks up a file
- *
- * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a file
- * @param {Flags} options to create or exclusively create the file
- * @param {Function} successCallback is called with the new entry
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryEntry.prototype.getFile = function(path, options, successCallback, errorCallback) {
- argscheck.checkArgs('sOFF', 'DirectoryEntry.getFile', arguments);
- var win = successCallback && function(result) {
- var FileEntry = require('cordova/plugin/FileEntry');
- var entry = new FileEntry(result.name, result.fullPath);
- successCallback(entry);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getFile", [this.fullPath, path, options]);
-};
-
-module.exports = DirectoryEntry;
-
-});
-
-// file: lib/common/plugin/DirectoryReader.js
-define("cordova/plugin/DirectoryReader", function(require, exports, module) {
-
-var exec = require('cordova/exec'),
- FileError = require('cordova/plugin/FileError') ;
-
-/**
- * An interface that lists the files and directories in a directory.
- */
-function DirectoryReader(path) {
- this.path = path || null;
-}
-
-/**
- * Returns a list of entries from a directory.
- *
- * @param {Function} successCallback is called with a list of entries
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryReader.prototype.readEntries = function(successCallback, errorCallback) {
- var win = typeof successCallback !== 'function' ? null : function(result) {
- var retVal = [];
- for (var i=0; i<result.length; i++) {
- var entry = null;
- if (result[i].isDirectory) {
- entry = new (require('cordova/plugin/DirectoryEntry'))();
- }
- else if (result[i].isFile) {
- entry = new (require('cordova/plugin/FileEntry'))();
- }
- entry.isDirectory = result[i].isDirectory;
- entry.isFile = result[i].isFile;
- entry.name = result[i].name;
- entry.fullPath = result[i].fullPath;
- retVal.push(entry);
- }
- successCallback(retVal);
- };
- var fail = typeof errorCallback !== 'function' ? null : function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "readEntries", [this.path]);
-};
-
-module.exports = DirectoryReader;
-
-});
-
-// file: lib/common/plugin/Entry.js
-define("cordova/plugin/Entry", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- FileError = require('cordova/plugin/FileError'),
- Metadata = require('cordova/plugin/Metadata');
-
-/**
- * Represents a file or directory on the local file system.
- *
- * @param isFile
- * {boolean} true if Entry is a file (readonly)
- * @param isDirectory
- * {boolean} true if Entry is a directory (readonly)
- * @param name
- * {DOMString} name of the file or directory, excluding the path
- * leading to it (readonly)
- * @param fullPath
- * {DOMString} the absolute full path to the file or directory
- * (readonly)
- */
-function Entry(isFile, isDirectory, name, fullPath, fileSystem) {
- this.isFile = !!isFile;
- this.isDirectory = !!isDirectory;
- this.name = name || '';
- this.fullPath = fullPath || '';
- this.filesystem = fileSystem || null;
-}
-
-/**
- * Look up the metadata of the entry.
- *
- * @param successCallback
- * {Function} is called with a Metadata object
- * @param errorCallback
- * {Function} is called with a FileError
- */
-Entry.prototype.getMetadata = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'Entry.getMetadata', arguments);
- var success = successCallback && function(lastModified) {
- var metadata = new Metadata(lastModified);
- successCallback(metadata);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
-
- exec(success, fail, "File", "getMetadata", [this.fullPath]);
-};
-
-/**
- * Set the metadata of the entry.
- *
- * @param successCallback
- * {Function} is called with a Metadata object
- * @param errorCallback
- * {Function} is called with a FileError
- * @param metadataObject
- * {Object} keys and values to set
- */
-Entry.prototype.setMetadata = function(successCallback, errorCallback, metadataObject) {
- argscheck.checkArgs('FFO', 'Entry.setMetadata', arguments);
- exec(successCallback, errorCallback, "File", "setMetadata", [this.fullPath, metadataObject]);
-};
-
-/**
- * Move a file or directory to a new location.
- *
- * @param parent
- * {DirectoryEntry} the directory to which to move this entry
- * @param newName
- * {DOMString} new name of the entry, defaults to the current name
- * @param successCallback
- * {Function} called with the new DirectoryEntry object
- * @param errorCallback
- * {Function} called with a FileError
- */
-Entry.prototype.moveTo = function(parent, newName, successCallback, errorCallback) {
- argscheck.checkArgs('oSFF', 'Entry.moveTo', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- // source path
- var srcPath = this.fullPath,
- // entry name
- name = newName || this.name,
- success = function(entry) {
- if (entry) {
- if (successCallback) {
- // create appropriate Entry object
- var result = (entry.isDirectory) ? new (require('cordova/plugin/DirectoryEntry'))(entry.name, entry.fullPath) : new (require('cordova/plugin/FileEntry'))(entry.name, entry.fullPath);
- successCallback(result);
- }
- }
- else {
- // no Entry object returned
- fail && fail(FileError.NOT_FOUND_ERR);
- }
- };
-
- // copy
- exec(success, fail, "File", "moveTo", [srcPath, parent.fullPath, name]);
-};
-
-/**
- * Copy a directory to a different location.
- *
- * @param parent
- * {DirectoryEntry} the directory to which to copy the entry
- * @param newName
- * {DOMString} new name of the entry, defaults to the current name
- * @param successCallback
- * {Function} called with the new Entry object
- * @param errorCallback
- * {Function} called with a FileError
- */
-Entry.prototype.copyTo = function(parent, newName, successCallback, errorCallback) {
- argscheck.checkArgs('oSFF', 'Entry.copyTo', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
-
- // source path
- var srcPath = this.fullPath,
- // entry name
- name = newName || this.name,
- // success callback
- success = function(entry) {
- if (entry) {
- if (successCallback) {
- // create appropriate Entry object
- var result = (entry.isDirectory) ? new (require('cordova/plugin/DirectoryEntry'))(entry.name, entry.fullPath) : new (require('cordova/plugin/FileEntry'))(entry.name, entry.fullPath);
- successCallback(result);
- }
- }
- else {
- // no Entry object returned
- fail && fail(FileError.NOT_FOUND_ERR);
- }
- };
-
- // copy
- exec(success, fail, "File", "copyTo", [srcPath, parent.fullPath, name]);
-};
-
-/**
- * Return a URL that can be used to identify this entry.
- */
-Entry.prototype.toURL = function() {
- // fullPath attribute contains the full URL
- return this.fullPath;
-};
-
-/**
- * Returns a URI that can be used to identify this entry.
- *
- * @param {DOMString} mimeType for a FileEntry, the mime type to be used to interpret the file, when loaded through this URI.
- * @return uri
- */
-Entry.prototype.toURI = function(mimeType) {
- console.log("DEPRECATED: Update your code to use 'toURL'");
- // fullPath attribute contains the full URI
- return this.toURL();
-};
-
-/**
- * Remove a file or directory. It is an error to attempt to delete a
- * directory that is not empty. It is an error to attempt to delete a
- * root directory of a file system.
- *
- * @param successCallback {Function} called with no parameters
- * @param errorCallback {Function} called with a FileError
- */
-Entry.prototype.remove = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'Entry.remove', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(successCallback, fail, "File", "remove", [this.fullPath]);
-};
-
-/**
- * Look up the parent DirectoryEntry of this entry.
- *
- * @param successCallback {Function} called with the parent DirectoryEntry object
- * @param errorCallback {Function} called with a FileError
- */
-Entry.prototype.getParent = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'Entry.getParent', arguments);
- var win = successCallback && function(result) {
- var DirectoryEntry = require('cordova/plugin/DirectoryEntry');
- var entry = new DirectoryEntry(result.name, result.fullPath);
- successCallback(entry);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getParent", [this.fullPath]);
-};
-
-module.exports = Entry;
-
-});
-
-// file: lib/common/plugin/File.js
-define("cordova/plugin/File", function(require, exports, module) {
-
-/**
- * Constructor.
- * name {DOMString} name of the file, without path information
- * fullPath {DOMString} the full path of the file, including the name
- * type {DOMString} mime type
- * lastModifiedDate {Date} last modified date
- * size {Number} size of the file in bytes
- */
-
-var File = function(name, fullPath, type, lastModifiedDate, size){
- this.name = name || '';
- this.fullPath = fullPath || null;
- this.type = type || null;
- this.lastModifiedDate = lastModifiedDate || null;
- this.size = size || 0;
-
- // These store the absolute start and end for slicing the file.
- this.start = 0;
- this.end = this.size;
-};
-
-/**
- * Returns a "slice" of the file. Since Cordova Files don't contain the actual
- * content, this really returns a File with adjusted start and end.
- * Slices of slices are supported.
- * start {Number} The index at which to start the slice (inclusive).
- * end {Number} The index at which to end the slice (exclusive).
- */
-File.prototype.slice = function(start, end) {
- var size = this.end - this.start;
- var newStart = 0;
- var newEnd = size;
- if (arguments.length) {
- if (start < 0) {
- newStart = Math.max(size + start, 0);
- } else {
- newStart = Math.min(size, start);
- }
- }
-
- if (arguments.length >= 2) {
- if (end < 0) {
- newEnd = Math.max(size + end, 0);
- } else {
- newEnd = Math.min(end, size);
- }
- }
-
- var newFile = new File(this.name, this.fullPath, this.type, this.lastModifiedData, this.size);
- newFile.start = this.start + newStart;
- newFile.end = this.start + newEnd;
- return newFile;
-};
-
-
-module.exports = File;
-
-});
-
-// file: lib/common/plugin/FileEntry.js
-define("cordova/plugin/FileEntry", function(require, exports, module) {
-
-var utils = require('cordova/utils'),
- exec = require('cordova/exec'),
- Entry = require('cordova/plugin/Entry'),
- FileWriter = require('cordova/plugin/FileWriter'),
- File = require('cordova/plugin/File'),
- FileError = require('cordova/plugin/FileError');
-
-/**
- * An interface representing a file on the file system.
- *
- * {boolean} isFile always true (readonly)
- * {boolean} isDirectory always false (readonly)
- * {DOMString} name of the file, excluding the path leading to it (readonly)
- * {DOMString} fullPath the absolute full path to the file (readonly)
- * {FileSystem} filesystem on which the file resides (readonly)
- */
-var FileEntry = function(name, fullPath) {
- FileEntry.__super__.constructor.apply(this, [true, false, name, fullPath]);
-};
-
-utils.extend(FileEntry, Entry);
-
-/**
- * Creates a new FileWriter associated with the file that this FileEntry represents.
- *
- * @param {Function} successCallback is called with the new FileWriter
- * @param {Function} errorCallback is called with a FileError
- */
-FileEntry.prototype.createWriter = function(successCallback, errorCallback) {
- this.file(function(filePointer) {
- var writer = new FileWriter(filePointer);
-
- if (writer.fileName === null || writer.fileName === "") {
- errorCallback && errorCallback(new FileError(FileError.INVALID_STATE_ERR));
- } else {
- successCallback && successCallback(writer);
- }
- }, errorCallback);
-};
-
-/**
- * Returns a File that represents the current state of the file that this FileEntry represents.
- *
- * @param {Function} successCallback is called with the new File object
- * @param {Function} errorCallback is called with a FileError
- */
-FileEntry.prototype.file = function(successCallback, errorCallback) {
- var win = successCallback && function(f) {
- var file = new File(f.name, f.fullPath, f.type, f.lastModifiedDate, f.size);
- successCallback(file);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getFileMetadata", [this.fullPath]);
-};
-
-
-module.exports = FileEntry;
-
-});
-
-// file: lib/common/plugin/FileError.js
-define("cordova/plugin/FileError", function(require, exports, module) {
-
-/**
- * FileError
- */
-function FileError(error) {
- this.code = error || null;
-}
-
-// File error codes
-// Found in DOMException
-FileError.NOT_FOUND_ERR = 1;
-FileError.SECURITY_ERR = 2;
-FileError.ABORT_ERR = 3;
-
-// Added by File API specification
-FileError.NOT_READABLE_ERR = 4;
-FileError.ENCODING_ERR = 5;
-FileError.NO_MODIFICATION_ALLOWED_ERR = 6;
-FileError.INVALID_STATE_ERR = 7;
-FileError.SYNTAX_ERR = 8;
-FileError.INVALID_MODIFICATION_ERR = 9;
-FileError.QUOTA_EXCEEDED_ERR = 10;
-FileError.TYPE_MISMATCH_ERR = 11;
-FileError.PATH_EXISTS_ERR = 12;
-
-module.exports = FileError;
-
-});
-
-// file: lib/common/plugin/FileReader.js
-define("cordova/plugin/FileReader", function(require, exports, module) {
-
-var exec = require('cordova/exec'),
- modulemapper = require('cordova/modulemapper'),
- utils = require('cordova/utils'),
- File = require('cordova/plugin/File'),
- FileError = require('cordova/plugin/FileError'),
- ProgressEvent = require('cordova/plugin/ProgressEvent'),
- origFileReader = modulemapper.getOriginalSymbol(this, 'FileReader');
-
-/**
- * This class reads the mobile device file system.
- *
- * For Android:
- * The root directory is the root of the file system.
- * To read from the SD card, the file name is "sdcard/my_file.txt"
- * @constructor
- */
-var FileReader = function() {
- this._readyState = 0;
- this._error = null;
- this._result = null;
- this._fileName = '';
- this._realReader = origFileReader ? new origFileReader() : {};
-};
-
-// States
-FileReader.EMPTY = 0;
-FileReader.LOADING = 1;
-FileReader.DONE = 2;
-
-utils.defineGetter(FileReader.prototype, 'readyState', function() {
- return this._fileName ? this._readyState : this._realReader.readyState;
-});
-
-utils.defineGetter(FileReader.prototype, 'error', function() {
- return this._fileName ? this._error: this._realReader.error;
-});
-
-utils.defineGetter(FileReader.prototype, 'result', function() {
- return this._fileName ? this._result: this._realReader.result;
-});
-
-function defineEvent(eventName) {
- utils.defineGetterSetter(FileReader.prototype, eventName, function() {
- return this._realReader[eventName] || null;
- }, function(value) {
- this._realReader[eventName] = value;
- });
-}
-defineEvent('onloadstart'); // When the read starts.
-defineEvent('onprogress'); // While reading (and decoding) file or fileBlob data, and reporting partial file data (progress.loaded/progress.total)
-defineEvent('onload'); // When the read has successfully completed.
-defineEvent('onerror'); // When the read has failed (see errors).
-defineEvent('onloadend'); // When the request has completed (either in success or failure).
-defineEvent('onabort'); // When the read has been aborted. For instance, by invoking the abort() method.
-
-function initRead(reader, file) {
- // Already loading something
- if (reader.readyState == FileReader.LOADING) {
- throw new FileError(FileError.INVALID_STATE_ERR);
- }
-
- reader._result = null;
- reader._error = null;
- reader._readyState = FileReader.LOADING;
-
- if (typeof file == 'string') {
- // Deprecated in Cordova 2.4.
- console.warn('Using a string argument with FileReader.readAs functions is deprecated.');
- reader._fileName = file;
- } else if (typeof file.fullPath == 'string') {
- reader._fileName = file.fullPath;
- } else {
- reader._fileName = '';
- return true;
- }
-
- reader.onloadstart && reader.onloadstart(new ProgressEvent("loadstart", {target:reader}));
-}
-
-/**
- * Abort reading file.
- */
-FileReader.prototype.abort = function() {
- if (origFileReader && !this._fileName) {
- return this._realReader.abort();
- }
- this._result = null;
-
- if (this._readyState == FileReader.DONE || this._readyState == FileReader.EMPTY) {
- return;
- }
-
- this._readyState = FileReader.DONE;
-
- // If abort callback
- if (typeof this.onabort === 'function') {
- this.onabort(new ProgressEvent('abort', {target:this}));
- }
- // If load end callback
- if (typeof this.onloadend === 'function') {
- this.onloadend(new ProgressEvent('loadend', {target:this}));
- }
-};
-
-/**
- * Read text file.
- *
- * @param file {File} File object containing file properties
- * @param encoding [Optional] (see http://www.iana.org/assignments/character-sets)
- */
-FileReader.prototype.readAsText = function(file, encoding) {
- if (initRead(this, file)) {
- return this._realReader.readAsText(file, encoding);
- }
-
- // Default encoding is UTF-8
- var enc = encoding ? encoding : "UTF-8";
- var me = this;
- var execArgs = [this._fileName, enc, file.start, file.end];
-
- // Read file
- exec(
- // Success callback
- function(r) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // Save result
- me._result = r;
-
- // If onload callback
- if (typeof me.onload === "function") {
- me.onload(new ProgressEvent("load", {target:me}));
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- },
- // Error callback
- function(e) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- // null result
- me._result = null;
-
- // Save error
- me._error = new FileError(e);
-
- // If onerror callback
- if (typeof me.onerror === "function") {
- me.onerror(new ProgressEvent("error", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- }, "File", "readAsText", execArgs);
-};
-
-
-/**
- * Read file and return data as a base64 encoded data url.
- * A data url is of the form:
- * data:[<mediatype>][;base64],<data>
- *
- * @param file {File} File object containing file properties
- */
-FileReader.prototype.readAsDataURL = function(file) {
- if (initRead(this, file)) {
- return this._realReader.readAsDataURL(file);
- }
-
- var me = this;
- var execArgs = [this._fileName, file.start, file.end];
-
- // Read file
- exec(
- // Success callback
- function(r) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- // Save result
- me._result = r;
-
- // If onload callback
- if (typeof me.onload === "function") {
- me.onload(new ProgressEvent("load", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- },
- // Error callback
- function(e) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- me._result = null;
-
- // Save error
- me._error = new FileError(e);
-
- // If onerror callback
- if (typeof me.onerror === "function") {
- me.onerror(new ProgressEvent("error", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- }, "File", "readAsDataURL", execArgs);
-};
-
-/**
- * Read file and return data as a binary data.
- *
- * @param file {File} File object containing file properties
- */
-FileReader.prototype.readAsBinaryString = function(file) {
- if (initRead(this, file)) {
- return this._realReader.readAsBinaryString(file);
- }
-
- var me = this;
- var execArgs = [this._fileName, file.start, file.end];
-
- // Read file
- exec(
- // Success callback
- function(r) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- me._result = r;
-
- // If onload callback
- if (typeof me.onload === "function") {
- me.onload(new ProgressEvent("load", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- },
- // Error callback
- function(e) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- me._result = null;
-
- // Save error
- me._error = new FileError(e);
-
- // If onerror callback
- if (typeof me.onerror === "function") {
- me.onerror(new ProgressEvent("error", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- }, "File", "readAsBinaryString", execArgs);
-};
-
-/**
- * Read file and return data as a binary data.
- *
- * @param file {File} File object containing file properties
- */
-FileReader.prototype.readAsArrayBuffer = function(file) {
- if (initRead(this, file)) {
- return this._realReader.readAsArrayBuffer(file);
- }
-
- var me = this;
- var execArgs = [this._fileName, file.start, file.end];
-
- // Read file
- exec(
- // Success callback
- function(r) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- me._result = r;
-
- // If onload callback
- if (typeof me.onload === "function") {
- me.onload(new ProgressEvent("load", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- },
- // Error callback
- function(e) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- me._result = null;
-
- // Save error
- me._error = new FileError(e);
-
- // If onerror callback
- if (typeof me.onerror === "function") {
- me.onerror(new ProgressEvent("error", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- }, "File", "readAsArrayBuffer", execArgs);
-};
-
-module.exports = FileReader;
-
-});
-
-// file: lib/common/plugin/FileSystem.js
-define("cordova/plugin/FileSystem", function(require, exports, module) {
-
-var DirectoryEntry = require('cordova/plugin/DirectoryEntry');
-
-/**
- * An interface representing a file system
- *
- * @constructor
- * {DOMString} name the unique name of the file system (readonly)
- * {DirectoryEntry} root directory of the file system (readonly)
- */
-var FileSystem = function(name, root) {
- this.name = name || null;
- if (root) {
- this.root = new DirectoryEntry(root.name, root.fullPath);
- }
-};
-
-module.exports = FileSystem;
-
-});
-
-// file: lib/common/plugin/FileTransfer.js
-define("cordova/plugin/FileTransfer", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- FileTransferError = require('cordova/plugin/FileTransferError'),
- ProgressEvent = require('cordova/plugin/ProgressEvent');
-
-function newProgressEvent(result) {
- var pe = new ProgressEvent();
- pe.lengthComputable = result.lengthComputable;
- pe.loaded = result.loaded;
- pe.total = result.total;
- return pe;
-}
-
-function getBasicAuthHeader(urlString) {
- var header = null;
-
- if (window.btoa) {
- // parse the url using the Location object
- var url = document.createElement('a');
- url.href = urlString;
-
- var credentials = null;
- var protocol = url.protocol + "//";
- var origin = protocol + url.host;
-
- // check whether there are the username:password credentials in the url
- if (url.href.indexOf(origin) !== 0) { // credentials found
- var atIndex = url.href.indexOf("@");
- credentials = url.href.substring(protocol.length, atIndex);
- }
-
- if (credentials) {
- var authHeader = "Authorization";
- var authHeaderValue = "Basic " + window.btoa(credentials);
-
- header = {
- name : authHeader,
- value : authHeaderValue
- };
- }
- }
-
- return header;
-}
-
-var idCounter = 0;
-
-/**
- * FileTransfer uploads a file to a remote server.
- * @constructor
- */
-var FileTransfer = function() {
- this._id = ++idCounter;
- this.onprogress = null; // optional callback
-};
-
-/**
-* Given an absolute file path, uploads a file on the device to a remote server
-* using a multipart HTTP request.
-* @param filePath {String} Full path of the file on the device
-* @param server {String} URL of the server to receive the file
-* @param successCallback (Function} Callback to be invoked when upload has completed
-* @param errorCallback {Function} Callback to be invoked upon error
-* @param options {FileUploadOptions} Optional parameters such as file name and mimetype
-* @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false
-*/
-FileTransfer.prototype.upload = function(filePath, server, successCallback, errorCallback, options, trustAllHosts) {
- argscheck.checkArgs('ssFFO*', 'FileTransfer.upload', arguments);
- // check for options
- var fileKey = null;
- var fileName = null;
- var mimeType = null;
- var params = null;
- var chunkedMode = true;
- var headers = null;
- var httpMethod = null;
- var basicAuthHeader = getBasicAuthHeader(server);
- if (basicAuthHeader) {
- options = options || {};
- options.headers = options.headers || {};
- options.headers[basicAuthHeader.name] = basicAuthHeader.value;
- }
-
- if (options) {
- fileKey = options.fileKey;
- fileName = options.fileName;
- mimeType = options.mimeType;
- headers = options.headers;
- httpMethod = options.httpMethod || "POST";
- if (httpMethod.toUpperCase() == "PUT"){
- httpMethod = "PUT";
- } else {
- httpMethod = "POST";
- }
- if (options.chunkedMode !== null || typeof options.chunkedMode != "undefined") {
- chunkedMode = options.chunkedMode;
- }
- if (options.params) {
- params = options.params;
- }
- else {
- params = {};
- }
- }
-
- var fail = errorCallback && function(e) {
- var error = new FileTransferError(e.code, e.source, e.target, e.http_status, e.body);
- errorCallback(error);
- };
-
- var self = this;
- var win = function(result) {
- if (typeof result.lengthComputable != "undefined") {
- if (self.onprogress) {
- self.onprogress(newProgressEvent(result));
- }
- } else {
- succ
<TRUNCATED>
[03/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/camera/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/camera/index.html b/tests/MobileSpecUnitTests/www/camera/index.html
deleted file mode 100644
index bc3b554..0000000
--- a/tests/MobileSpecUnitTests/www/camera/index.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Camera
- //-------------------------------------------------------------------------
-
- /**
- * Capture picture
- */
- function getPicture() {
-
- //navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
- // destinationType: Camera.DestinationType.FILE_URI, sourceType : Camera.PictureSourceType.CAMERA });
-
- navigator.camera.getPicture(
- function(data) {
- var img = document.getElementById('camera_image');
- img.style.visibility = "visible";
- img.style.display = "block";
- //img.src = "data:image/jpeg;base64," + data;
- img.src = data;
- document.getElementById('camera_status').innerHTML = "Success";
- },
- function(e) {
- console.log("Error getting picture: " + e);
- document.getElementById('camera_status').innerHTML = "Error getting picture.";
- },
- { quality: 50, destinationType:
- Camera.DestinationType.FILE_URI, sourceType : Camera.PictureSourceType.CAMERA});
- };
-
- /**
- * Select image from library
- */
- function getImage() {
- navigator.camera.getPicture(
- function(data) {
- var img = document.getElementById('camera_image');
- img.style.visibility = "visible";
- img.style.display = "block";
- //img.src = "data:image/jpeg;base64," + data;
- img.src = data;
- document.getElementById('camera_status').innerHTML = "Success";
- },
- function(e) {
- console.log("Error getting picture: " + e);
- document.getElementById('camera_status').innerHTML = "Error getting picture.";
- },
- { quality: 50, destinationType:
- Camera.DestinationType.FILE_URI, sourceType: Camera.PictureSourceType.PHOTOLIBRARY});
- };
-
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Camera</h1>
- <div id="info">
- <b>Status:</b> <span id="camera_status"></span><br>
- <img style="width:120px;height:120px;visibility:hidden;display:none;" id="camera_image" src="" />
- </div>
- <h2>Action</h2>
- <div class="btn large" onclick="getPicture();">Take Picture</div>
- <div class="btn large" onclick="getImage();">Select Image from Library</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/compass/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/compass/index.html b/tests/MobileSpecUnitTests/www/compass/index.html
deleted file mode 100644
index 8dbf99a..0000000
--- a/tests/MobileSpecUnitTests/www/compass/index.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- function roundNumber(num) {
- var dec = 3;
- var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
- return result;
- }
-
- //-------------------------------------------------------------------------
- // Compass
- //-------------------------------------------------------------------------
- var watchCompassId = null;
-
- /**
- * Start watching compass
- */
- var watchCompass = function() {
- console.log("watchCompass()");
-
- // Success callback
- var success = function(a){
- document.getElementById('compassHeading').innerHTML = roundNumber(a.magneticHeading);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchCompass fail callback with error code "+e);
- stopCompass();
- setCompassStatus(e);
- };
-
- // Update heading every 1 sec
- var opt = {};
- opt.frequency = 1000;
- watchCompassId = navigator.compass.watchHeading(success, fail, opt);
-
- setCompassStatus("Running");
- };
-
- /**
- * Stop watching the acceleration
- */
- var stopCompass = function() {
- setCompassStatus("Stopped");
- if (watchCompassId) {
- navigator.compass.clearWatch(watchCompassId);
- watchCompassId = null;
- }
- };
-
- /**
- * Get current compass
- */
- var getCompass = function() {
- console.log("getCompass()");
-
- // Stop compass if running
- stopCompass();
-
- // Success callback
- var success = function(a){
- document.getElementById('compassHeading').innerHTML = roundNumber(a.magneticHeading);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("getCompass fail callback with error code "+e);
- setCompassStatus(e);
- };
-
- // Make call
- var opt = {};
- navigator.compass.getCurrentHeading(success, fail, opt);
- };
-
- /**
- * Set compass status
- */
- var setCompassStatus = function(status) {
- document.getElementById('compass_status').innerHTML = status;
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Compass</h1>
- <div id="info">
- <b>Status:</b> <span id="compass_status">Stopped</span>
- <table width="100%"><tr>
- <td width="33%">Heading: <span id="compassHeading"> </span></td>
- </tr></table>
- </div>
- <h2>Action</h2>
- <div class="btn large" onclick="getCompass();">Get Compass</div>
- <div class="btn large" onclick="watchCompass();">Start Watching Compass</div>
- <div class="btn large" onclick="stopCompass();">Stop Watching Compass</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/contacts/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/contacts/index.html b/tests/MobileSpecUnitTests/www/contacts/index.html
deleted file mode 100644
index 950e1cc..0000000
--- a/tests/MobileSpecUnitTests/www/contacts/index.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Contacts
- //-------------------------------------------------------------------------
- function getContacts() {
- obj = new ContactFindOptions();
- obj.filter = "D"; //Brooks";
- obj.multiple = true;
- navigator.contacts.find(
- ["displayName", "name", "phoneNumbers", "emails", "urls", "note"],
- function(contacts) {
- var s = "";
- if (contacts.length == 0) {
- s = "No contacts found";
- }
- else {
- s = "Number of contacts: "+contacts.length+"<br><table width='100%'><tr><th>Name</th><td>Phone</td><td>Email</td></tr>";
- for (var i=0; i<contacts.length; i++) {
- var contact = contacts[i];
- s = s + "<tr><td>" + contact.name.formatted + "</td><td>";
- if (contact.phoneNumbers && contact.phoneNumbers.length > 0) {
- s = s + contact.phoneNumbers[0].value;
- }
- s = s + "</td><td>"
- if (contact.emails && contact.emails.length > 0) {
- s = s + contact.emails[0].value;
- }
- s = s + "</td></tr>";
- }
- s = s + "</table>";
- }
- document.getElementById('contacts_results').innerHTML = s;
- },
- function(e) {
- document.getElementById('contacts_results').innerHTML = "Error: "+e.code;
- },
- obj);
- };
-
- function addContact(){
- console.log("addContact()");
- try{
- var contact = navigator.contacts.create({"displayName": "Dooney Evans"});
- var contactName = {
- formatted: "Dooney Evans",
- familyName: "Evans",
- givenName: "Dooney",
- middleName: ""
- };
-
- contact.name = contactName;
-
- var phoneNumbers = [1];
- phoneNumbers[0] = new ContactField('work', '512-555-1234', true);
- contact.phoneNumbers = phoneNumbers;
-
- contact.save(
- function() { alert("Contact saved.");},
- function(e) { alert("Contact save failed: " + e.code); }
- );
- console.log("you have saved the contact");
- }
- catch (e){
- alert(e);
- }
-
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Contacts</h1>
- <div id="info">
- <b>Results:</b><br>
- <span id="contacts_results"> </span>
- </div>
- <h2>Action</h2>
- <div class="btn large" onclick="getContacts();">Get phone's contacts</div>
- <div class="btn large" onclick="addContact();">Add a new contact 'Dooney Evans'</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
[08/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/audio/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/audio/index.html b/tests/MobileSpecUnitTests/www/audio/index.html
deleted file mode 100644
index 42cfe83..0000000
--- a/tests/MobileSpecUnitTests/www/audio/index.html
+++ /dev/null
@@ -1,394 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Audio Tests</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8"/>
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Audio player
- //-------------------------------------------------------------------------
- var media1 = null;
- var media1Timer = null;
- var audioSrc = null;
- var recordSrc = "myRecording.mp3";
-
- /**
- * Play audio
- */
- function playAudio(url) {
- console.log("playAudio()");
- console.log(" -- media="+media1);
-
- //var src = "http://neuga.s3.amazonaws.com/onclassical/strings-or gan.mp3";
- var src = "http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3";
- //var src = "/android_asset/www/Jet_Sledding.mp4"; // no work
- //var src = "http://vprbbc.streamguys.net/vprbbc24.mp3"; // mp3 streaming
-
- if (url) {
- src = url;
- }
-
- // Stop playing if src is different from currently playing source
- if (src != audioSrc) {
- if (media1 != null) {
- stopAudio();
- media1 = null;
- }
- }
-
- if (media1 == null) {
-
-
- // TEST STREAMING AUDIO PLAYBACK
- //var src = "http://nunzioweb.com/misc/Bon_Jovi-Crush_Mystery_Train.mp3"; // works
- //var src = "http://nunzioweb.com/misc/Bon_Jovi-Crush_Mystery_Train.m3u"; // doesn't work
- //var src = "http://www.wav-sounds.com/cartoon/bugsbunny1.wav"; // works
- //var src = "http://www.angelfire.com/fl5/html-tutorial/a/couldyou.mid"; // doesn't work
- //var src = "MusicSearch/mp3/train.mp3"; // works
- //var src = "bryce.mp3"; // works
- //var src = "/android_asset/www/bryce.mp3"; // works
-
- media1 = new Media(src,
- function() {
- console.log("playAudio():Audio Success");
- },
- function(err) {
- console.log("playAudio():Audio Error: "+err.code);
- setAudioStatus("Error: " + err.code);
- },
- function(status) {
- console.log("playAudio():Audio Status: "+status);
- setAudioStatus(Media.MEDIA_MSG[status]);
-
- // If stopped, then stop getting current position
- if (Media.MEDIA_STOPPED == status) {
- clearInterval(media1Timer);
- media1Timer = null;
- setAudioPosition("0 sec");
- }
- });
- }
- audioSrc = src;
- document.getElementById('audio_duration').innerHTML = "";
- // Play audio
- media1.play();
- if (media1Timer == null && media1.getCurrentPosition) {
- media1Timer = setInterval(
- function() {
- media1.getCurrentPosition(
- function(position) {
- console.log("Pos="+position);
- if (position >= 0.0) {
- setAudioPosition(position+" sec");
- }
- },
- function(e) {
- console.log("Error getting pos="+e);
- setAudioPosition("Error: "+e);
- }
- );
- },
- 1000
- );
- }
-
- // Get duration
- var counter = 0;
- var timerDur = setInterval(
- function() {
- counter = counter + 100;
- if (counter > 2000) {
- clearInterval(timerDur);
- }
- var dur = media1.getDuration();
- if (dur > 0) {
- clearInterval(timerDur);
- document.getElementById('audio_duration').innerHTML = dur + " sec";
- }
- }, 100);
- }
-
- /**
- * Pause audio playback
- */
- function pauseAudio() {
- console.log("pauseAudio()");
- if (media1) {
- media1.pause();
- }
- }
-
- /**
- * Stop audio
- */
- function stopAudio() {
- console.log("stopAudio()");
- if (media1) {
- media1.stop();
- media1.release();
- }
- clearInterval(media1Timer);
- media1Timer = null;
- }
-
- /**
- * Set audio status
- */
- var setAudioStatus = function(status) {
- document.getElementById('audio_status').innerHTML = status;
- };
-
- /**
- * Set audio position
- */
- var setAudioPosition = function(position) {
- document.getElementById('audio_position').innerHTML = position;
- };
-
- //-------------------------------------------------------------------------
- // Audio recorder
- //-------------------------------------------------------------------------
- var mediaRec = null;
- var recTime = 0;
-
- /**
- * Record audio
- */
- function recordAudio() {
- console.log("recordAudio()");
- console.log(" -- media="+mediaRec);
- if (mediaRec == null) {
-
- var src = recordSrc;
- mediaRec = new Media(src,
- function() {
- console.log("recordAudio():Audio Success");
- },
- function(err) {
- console.log("recordAudio():Audio Error: "+err.code);
- setAudioStatus("Error: " + err.code);
- },
- function(status) {
- console.log("recordAudio():Audio Status: "+status);
- setAudioStatus(Media.MEDIA_MSG[status]);
- }
- );
- }
-
- navigator.notification.beep(1);
-
- // Record audio
- mediaRec.startRecord();
-
- // Stop recording after 10 sec
- recTime = 0;
- var recInterval = setInterval(function() {
- recTime = recTime + 1;
- setAudioPosition(recTime+" sec");
- if (recTime >= 10) {
- clearInterval(recInterval);
- if (mediaRec.stopAudioRecord){
- mediaRec.stopAudioRecord();
- } else {
- mediaRec.stopRecord();
- }
- console.log("recordAudio(): stop");
- navigator.notification.beep(1);
- }
- }, 1000);
- }
-
- /**
- * Play back recorded audio
- */
- function playRecording() {
- playAudio(recordSrc);
- }
-
- /**
- * Function to create a file for iOS recording
- */
- function getRecordSrc() {
- var fsFail = function(error) {
- console.log("error creating file for iOS recording");
- };
- var gotFile = function(file) {
- recordSrc = file.fullPath;
- //console.log("recording Src: " + recordSrc);
- };
- var gotFS = function(fileSystem) {
- fileSystem.root.getFile("iOSRecording.wav", {create: true}, gotFile, fsFail);
- };
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, gotFS, fsFail);
- }
-
- /**
- * Function to create a file for BB recording
- */
- function getRecordSrcBB() {
- var fsFail = function(error) {
- console.log("error creating file for BB recording");
- };
- var gotFile = function(file) {
- recordSrc = file.fullPath;
- };
- var gotFS = function(fileSystem) {
- fileSystem.root.getFile("BBRecording.amr", {create: true}, gotFile, fsFail);
- };
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, gotFS, fsFail);
- }
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- if (device.platform.indexOf("iPhone") !=-1 || device.platform.indexOf("iPad") !=-1)
- {
- getRecordSrc();
- } else if (typeof blackberry !== 'undefined') {
- getRecordSrcBB();
- }
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
- /**
- * for forced updates of position after a successful seek
- */
- function updatePosition() {
- media1.getCurrentPosition(
- function(position) {
- console.log("Pos="+position);
- if (position >= 0.0) {
- setAudioPosition(position+" sec");
- }
- },
- function(e) {
- console.log("Error getting pos="+e);
- setAudioPosition("Error: "+e);
- });
- }
-
- /**
- *
- */
- function seekAudio(mode) {
- var time = document.getElementById("seekinput").value;
- if (time == "") {
- time = 5000;
- } else {
- time = time * 1000; //we expect the input to be in seconds
- }
- if (media1 == null) {
- console.log("seekTo requested while media1 is null");
- if (audioSrc == null) {
- audioSrc = "http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3";
- }
- media1 = new Media(audioSrc,
- function() {
- console.log("seekToAudio():Audio Success");
- },
- function(err) {
- console.log("seekAudio():Audio Error: "+err.code);
- setAudioStatus("Error: " + err.code);
- },
- function(status) {
- console.log("seekAudio():Audio Status: "+status);
- setAudioStatus(Media.MEDIA_MSG[status]);
-
- // If stopped, then stop getting current position
- if (Media.MEDIA_STOPPED == status) {
- clearInterval(media1Timer);
- media1Timer = null;
- setAudioPosition("0 sec");
- }
- });
- }
-
- media1.getCurrentPosition(
- function (position) {
- var deltat = time;
- if (mode == "by") {
- deltat = time + position * 1000;
- }
- media1.seekTo(deltat,
- function () {
- console.log("seekAudioTo():Audio Success");
- //force an update on the position display
- updatePosition();
- },
- function (err) {
- console.log("seekAudioTo():Audio Error: " + err.code);
- });
- },
- function(e) {
- console.log("Error getting pos="+e);
- setAudioPosition("Error: "+e);
- });
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Audio</h1>
- <div id="info">
- <table width="100%">
- <tr><td><b>Status:</b></td><td id="audio_status"> </td></tr>
- <tr><td><b>Duration:</b></td><td id="audio_duration"></td></tr>
- <tr><td><b>Position:</b></td><td id="audio_position"></td></tr>
- </table>
- </div>
- <h2>Action</h2>
- <table>
- <tr>
- <th colspan=3>Play Sample Audio</th>
- </tr>
- <tr>
- <td><div class="btn large" style="width:100%;" onclick="playAudio();">Play</div></td>
- <td><div class="btn large" style="width:100%;" onclick="pauseAudio();">Pause</div></td>
- <td><div class="btn large" style="width:100%;" onclick="stopAudio();">Stop</div></td>
- </tr>
- <tr>
- <td><div class="btn large" style="width:100%;" onclick="seekAudio('by');">Seek By</div></td>
- <td><div class="btn large" style="width:100%;" onclick="seekAudio('to');">Seek To</div></td>
- <td>
- <div style="width:100%;">
- <input class="input numeric" type="number" id="seekinput" value="in seconds">
- </div>
- </td>
- <td><h2>s</h2></td>
- </tr>
- <tr>
- <th colspan=3><br><br>Record Audio</th>
- </tr>
- <tr>
- <td colspan=3><div class="btn large" onclick="recordAudio();">Record Audio for 10 sec</a></td>
- </tr>
- <tr>
- <td><div class="btn large" style="width:100%;" onclick="playRecording();">Play</div></td>
- <td><div class="btn large" style="width:100%;" onclick="pauseAudio();">Pause</div></td>
- <td><div class="btn large" style="width:100%;" onclick="stopAudio();">Stop</div></td>
- </tr>
- </table>
-
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
-
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporter.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporter.js b/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporter.js
deleted file mode 100644
index 7d9d924..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporter.js
+++ /dev/null
@@ -1,101 +0,0 @@
-jasmine.HtmlReporter = function(_doc) {
- var self = this;
- var doc = _doc || window.document;
-
- var reporterView;
-
- var dom = {};
-
- // Jasmine Reporter Public Interface
- self.logRunningSpecs = false;
-
- self.reportRunnerStarting = function(runner) {
- var specs = runner.specs() || [];
-
- if (specs.length == 0) {
- return;
- }
-
- createReporterDom(runner.env.versionString());
- doc.body.appendChild(dom.reporter);
-
- reporterView = new jasmine.HtmlReporter.ReporterView(dom);
- reporterView.addSpecs(specs, self.specFilter);
- };
-
- self.reportRunnerResults = function(runner) {
- reporterView && reporterView.complete();
- };
-
- self.reportSuiteResults = function(suite) {
- reporterView.suiteComplete(suite);
- };
-
- self.reportSpecStarting = function(spec) {
- if (self.logRunningSpecs) {
- self.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
- }
- };
-
- self.reportSpecResults = function(spec) {
- reporterView.specComplete(spec);
- };
-
- self.log = function() {
- var console = jasmine.getGlobal().console;
- if (console && console.log) {
- if (console.log.apply) {
- console.log.apply(console, arguments);
- } else {
- console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
- }
- }
- };
-
- self.specFilter = function(spec) {
- if (!focusedSpecName()) {
- return true;
- }
-
- return spec.getFullName().indexOf(focusedSpecName()) === 0;
- };
-
- return self;
-
- function focusedSpecName() {
- var specName;
-
- (function memoizeFocusedSpec() {
- if (specName) {
- return;
- }
-
- var paramMap = [];
- var params = doc.location.search.substring(1).split('&');
-
- for (var i = 0; i < params.length; i++) {
- var p = params[i].split('=');
- paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
- }
-
- specName = paramMap.spec;
- })();
-
- return specName;
- }
-
- function createReporterDom(version) {
- dom.reporter = self.createDom('div', { id: 'HTMLReporter', className: 'jasmine_reporter' },
- dom.banner = self.createDom('div', { className: 'banner' },
- self.createDom('span', { className: 'title' }, "Jasmine "),
- self.createDom('span', { className: 'version' }, version)),
-
- dom.symbolSummary = self.createDom('ul', {className: 'symbolSummary'}),
- dom.alert = self.createDom('div', {className: 'alert'}),
- dom.results = self.createDom('div', {className: 'results'},
- dom.summary = self.createDom('div', { className: 'summary' }),
- dom.details = self.createDom('div', { id: 'details' }))
- );
- }
-};
-jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter);
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporterHelpers.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporterHelpers.js b/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporterHelpers.js
deleted file mode 100644
index 745e1e0..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/html/HtmlReporterHelpers.js
+++ /dev/null
@@ -1,60 +0,0 @@
-jasmine.HtmlReporterHelpers = {};
-
-jasmine.HtmlReporterHelpers.createDom = function(type, attrs, childrenVarArgs) {
- var el = document.createElement(type);
-
- for (var i = 2; i < arguments.length; i++) {
- var child = arguments[i];
-
- if (typeof child === 'string') {
- el.appendChild(document.createTextNode(child));
- } else {
- if (child) {
- el.appendChild(child);
- }
- }
- }
-
- for (var attr in attrs) {
- if (attr == "className") {
- el[attr] = attrs[attr];
- } else {
- el.setAttribute(attr, attrs[attr]);
- }
- }
-
- return el;
-};
-
-jasmine.HtmlReporterHelpers.getSpecStatus = function(child) {
- var results = child.results();
- var status = results.passed() ? 'passed' : 'failed';
- if (results.skipped) {
- status = 'skipped';
- }
-
- return status;
-};
-
-jasmine.HtmlReporterHelpers.appendToSummary = function(child, childElement) {
- var parentDiv = this.dom.summary;
- var parentSuite = (typeof child.parentSuite == 'undefined') ? 'suite' : 'parentSuite';
- var parent = child[parentSuite];
-
- if (parent) {
- if (typeof this.views.suites[parent.id] == 'undefined') {
- this.views.suites[parent.id] = new jasmine.HtmlReporter.SuiteView(parent, this.dom, this.views);
- }
- parentDiv = this.views.suites[parent.id].element;
- }
-
- parentDiv.appendChild(childElement);
-};
-
-
-jasmine.HtmlReporterHelpers.addHelpers = function(ctor) {
- for(var fn in jasmine.HtmlReporterHelpers) {
- ctor.prototype[fn] = jasmine.HtmlReporterHelpers[fn];
- }
-};
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/html/ReporterView.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/html/ReporterView.js b/tests/MobileSpecUnitTests/www/autotest/html/ReporterView.js
deleted file mode 100644
index 6a6d005..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/html/ReporterView.js
+++ /dev/null
@@ -1,164 +0,0 @@
-jasmine.HtmlReporter.ReporterView = function(dom) {
- this.startedAt = new Date();
- this.runningSpecCount = 0;
- this.completeSpecCount = 0;
- this.passedCount = 0;
- this.failedCount = 0;
- this.skippedCount = 0;
-
- this.createResultsMenu = function() {
- this.resultsMenu = this.createDom('span', {className: 'resultsMenu bar'},
- this.summaryMenuItem = this.createDom('a', {className: 'summaryMenuItem', href: "#"}, '0 specs'),
- ' | ',
- this.detailsMenuItem = this.createDom('a', {className: 'detailsMenuItem', href: "#"}, '0 failing'));
-
- this.summaryMenuItem.onclick = function() {
- dom.reporter.className = dom.reporter.className.replace(/ showDetails/g, '');
- };
-
- this.detailsMenuItem.onclick = function() {
- showDetails();
- };
- };
-
- this.addSpecs = function(specs, specFilter) {
- this.totalSpecCount = specs.length;
-
- this.views = {
- specs: {},
- suites: {}
- };
-
- for (var i = 0; i < specs.length; i++) {
- var spec = specs[i];
- this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom, this.views);
- if (specFilter(spec)) {
- this.runningSpecCount++;
- }
- }
- };
-
- this.specComplete = function(spec) {
- this.completeSpecCount++;
-
- if (isUndefined(this.views.specs[spec.id])) {
- this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom);
- }
-
- var specView = this.views.specs[spec.id];
-
- switch (specView.status()) {
- case 'passed':
- this.passedCount++;
- break;
-
- case 'failed':
- this.failedCount++;
- break;
-
- case 'skipped':
- this.skippedCount++;
- break;
- }
-
- specView.refresh();
- this.refresh();
- };
-
- this.suiteComplete = function(suite) {
- var suiteView = this.views.suites[suite.id];
- if (isUndefined(suiteView)) {
- return;
- }
- suiteView.refresh();
- };
-
- this.refresh = function() {
-
- if (isUndefined(this.resultsMenu)) {
- this.createResultsMenu();
- }
-
- // currently running UI
- if (isUndefined(this.runningAlert)) {
- this.runningAlert = this.createDom('a', {href: "?", className: "runningAlert bar"});
- dom.alert.appendChild(this.runningAlert);
- }
- this.runningAlert.innerHTML = "Running " + this.completeSpecCount + " of " + specPluralizedFor(this.totalSpecCount);
-
- // skipped specs UI
- if (isUndefined(this.skippedAlert)) {
- this.skippedAlert = this.createDom('a', {href: "?", className: "skippedAlert bar"});
- }
-
- this.skippedAlert.innerHTML = "Skipping " + this.skippedCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
-
- if (this.skippedCount === 1 && isDefined(dom.alert)) {
- dom.alert.appendChild(this.skippedAlert);
- }
-
- // passing specs UI
- if (isUndefined(this.passedAlert)) {
- this.passedAlert = this.createDom('span', {href: "?", className: "passingAlert bar"});
- }
- this.passedAlert.innerHTML = "Passing " + specPluralizedFor(this.passedCount);
-
- // failing specs UI
- if (isUndefined(this.failedAlert)) {
- this.failedAlert = this.createDom('span', {href: "?", className: "failingAlert bar"});
- }
- this.failedAlert.innerHTML = "Failing " + specPluralizedFor(this.failedCount);
-
- if (this.failedCount === 1 && isDefined(dom.alert)) {
- dom.alert.appendChild(this.failedAlert);
- dom.alert.appendChild(this.resultsMenu);
- }
-
- // summary info
- this.summaryMenuItem.innerHTML = "" + specPluralizedFor(this.runningSpecCount);
- this.detailsMenuItem.innerHTML = "" + this.failedCount + " failing";
- };
-
- this.complete = function() {
- dom.alert.removeChild(this.runningAlert);
-
- this.skippedAlert.innerHTML = "Ran " + this.runningSpecCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
-
- if (this.failedCount === 0) {
- dom.alert.appendChild(this.createDom('span', {className: 'passingAlert bar'}, "Passing " + specPluralizedFor(this.passedCount)));
- } else {
- showDetails();
- }
-
- dom.banner.appendChild(this.createDom('span', {className: 'duration'}, "finished in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"));
- };
-
- return this;
-
- function showDetails() {
- if (dom.reporter.className.search(/showDetails/) === -1) {
- dom.reporter.className += " showDetails";
- }
- }
-
- function isUndefined(obj) {
- return typeof obj === 'undefined';
- }
-
- function isDefined(obj) {
- return !isUndefined(obj);
- }
-
- function specPluralizedFor(count) {
- var str = count + " spec";
- if (count > 1) {
- str += "s"
- }
- return str;
- }
-
-};
-
-jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.ReporterView);
-
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/html/SpecView.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/html/SpecView.js b/tests/MobileSpecUnitTests/www/autotest/html/SpecView.js
deleted file mode 100644
index 8769bb8..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/html/SpecView.js
+++ /dev/null
@@ -1,79 +0,0 @@
-jasmine.HtmlReporter.SpecView = function(spec, dom, views) {
- this.spec = spec;
- this.dom = dom;
- this.views = views;
-
- this.symbol = this.createDom('li', { className: 'pending' });
- this.dom.symbolSummary.appendChild(this.symbol);
-
- this.summary = this.createDom('div', { className: 'specSummary' },
- this.createDom('a', {
- className: 'description',
- href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
- title: this.spec.getFullName()
- }, this.spec.description)
- );
-
- this.detail = this.createDom('div', { className: 'specDetail' },
- this.createDom('a', {
- className: 'description',
- href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
- title: this.spec.getFullName()
- }, this.spec.getFullName())
- );
-};
-
-jasmine.HtmlReporter.SpecView.prototype.status = function() {
- return this.getSpecStatus(this.spec);
-};
-
-jasmine.HtmlReporter.SpecView.prototype.refresh = function() {
- this.symbol.className = this.status();
-
- switch (this.status()) {
- case 'skipped':
- break;
-
- case 'passed':
- this.appendSummaryToSuiteDiv();
- break;
-
- case 'failed':
- this.appendSummaryToSuiteDiv();
- this.appendFailureDetail();
- break;
- }
-};
-
-jasmine.HtmlReporter.SpecView.prototype.appendSummaryToSuiteDiv = function() {
- this.summary.className += ' ' + this.status();
- this.appendToSummary(this.spec, this.summary);
-};
-
-jasmine.HtmlReporter.SpecView.prototype.appendFailureDetail = function() {
- this.detail.className += ' ' + this.status();
-
- var resultItems = this.spec.results().getItems();
- var messagesDiv = this.createDom('div', { className: 'messages' });
-
- for (var i = 0; i < resultItems.length; i++) {
- var result = resultItems[i];
-
- if (result.type == 'log') {
- messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
- } else if (result.type == 'expect' && result.passed && !result.passed()) {
- messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
-
- if (result.trace.stack) {
- messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
- }
- }
- }
-
- if (messagesDiv.childNodes.length > 0) {
- this.detail.appendChild(messagesDiv);
- this.dom.details.appendChild(this.detail);
- }
-};
-
-jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SpecView);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/html/SuiteView.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/html/SuiteView.js b/tests/MobileSpecUnitTests/www/autotest/html/SuiteView.js
deleted file mode 100644
index 19a1efa..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/html/SuiteView.js
+++ /dev/null
@@ -1,22 +0,0 @@
-jasmine.HtmlReporter.SuiteView = function(suite, dom, views) {
- this.suite = suite;
- this.dom = dom;
- this.views = views;
-
- this.element = this.createDom('div', { className: 'suite' },
- this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(this.suite.getFullName()) }, this.suite.description)
- );
-
- this.appendToSummary(this.suite, this.element);
-};
-
-jasmine.HtmlReporter.SuiteView.prototype.status = function() {
- return this.getSpecStatus(this.suite);
-};
-
-jasmine.HtmlReporter.SuiteView.prototype.refresh = function() {
- this.element.className += " " + this.status();
-};
-
-jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SuiteView);
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/html/TrivialReporter.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/html/TrivialReporter.js b/tests/MobileSpecUnitTests/www/autotest/html/TrivialReporter.js
deleted file mode 100644
index 167ac50..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/html/TrivialReporter.js
+++ /dev/null
@@ -1,192 +0,0 @@
-/* @deprecated Use jasmine.HtmlReporter instead
- */
-jasmine.TrivialReporter = function(doc) {
- this.document = doc || document;
- this.suiteDivs = {};
- this.logRunningSpecs = false;
-};
-
-jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) {
- var el = document.createElement(type);
-
- for (var i = 2; i < arguments.length; i++) {
- var child = arguments[i];
-
- if (typeof child === 'string') {
- el.appendChild(document.createTextNode(child));
- } else {
- if (child) { el.appendChild(child); }
- }
- }
-
- for (var attr in attrs) {
- if (attr == "className") {
- el[attr] = attrs[attr];
- } else {
- el.setAttribute(attr, attrs[attr]);
- }
- }
-
- return el;
-};
-
-jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) {
- var showPassed, showSkipped;
-
- this.outerDiv = this.createDom('div', { id: 'TrivialReporter', className: 'jasmine_reporter' },
- this.createDom('div', { className: 'banner' },
- this.createDom('div', { className: 'logo' },
- this.createDom('span', { className: 'title' }, "Jasmine"),
- this.createDom('span', { className: 'version' }, runner.env.versionString())),
- this.createDom('div', { className: 'options' },
- "Show ",
- showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }),
- this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "),
- showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }),
- this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped")
- )
- ),
-
- this.runnerDiv = this.createDom('div', { className: 'runner running' },
- this.createDom('a', { className: 'run_spec', href: '?' }, "run all"),
- this.runnerMessageSpan = this.createDom('span', {}, "Running..."),
- this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, ""))
- );
-
- this.document.body.appendChild(this.outerDiv);
-
- var suites = runner.suites();
- for (var i = 0; i < suites.length; i++) {
- var suite = suites[i];
- var suiteDiv = this.createDom('div', { className: 'suite' },
- this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"),
- this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description));
- this.suiteDivs[suite.id] = suiteDiv;
- var parentDiv = this.outerDiv;
- if (suite.parentSuite) {
- parentDiv = this.suiteDivs[suite.parentSuite.id];
- }
- parentDiv.appendChild(suiteDiv);
- }
-
- this.startedAt = new Date();
-
- var self = this;
- showPassed.onclick = function(evt) {
- if (showPassed.checked) {
- self.outerDiv.className += ' show-passed';
- } else {
- self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');
- }
- };
-
- showSkipped.onclick = function(evt) {
- if (showSkipped.checked) {
- self.outerDiv.className += ' show-skipped';
- } else {
- self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');
- }
- };
-};
-
-jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) {
- var results = runner.results();
- var className = (results.failedCount > 0) ? "runner failed" : "runner passed";
- this.runnerDiv.setAttribute("class", className);
- //do it twice for IE
- this.runnerDiv.setAttribute("className", className);
- var specs = runner.specs();
- var specCount = 0;
- for (var i = 0; i < specs.length; i++) {
- if (this.specFilter(specs[i])) {
- specCount++;
- }
- }
- var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s");
- message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s";
- this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild);
-
- this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString()));
-};
-
-jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) {
- var results = suite.results();
- var status = results.passed() ? 'passed' : 'failed';
- if (results.totalCount === 0) { // todo: change this to check results.skipped
- status = 'skipped';
- }
- this.suiteDivs[suite.id].className += " " + status;
-};
-
-jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) {
- if (this.logRunningSpecs) {
- this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
- }
-};
-
-jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) {
- var results = spec.results();
- var status = results.passed() ? 'passed' : 'failed';
- if (results.skipped) {
- status = 'skipped';
- }
- var specDiv = this.createDom('div', { className: 'spec ' + status },
- this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"),
- this.createDom('a', {
- className: 'description',
- href: '?spec=' + encodeURIComponent(spec.getFullName()),
- title: spec.getFullName()
- }, spec.description));
-
-
- var resultItems = results.getItems();
- var messagesDiv = this.createDom('div', { className: 'messages' });
- for (var i = 0; i < resultItems.length; i++) {
- var result = resultItems[i];
-
- if (result.type == 'log') {
- messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
- } else if (result.type == 'expect' && result.passed && !result.passed()) {
- messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
-
- if (result.trace.stack) {
- messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
- }
- }
- }
-
- if (messagesDiv.childNodes.length > 0) {
- specDiv.appendChild(messagesDiv);
- }
-
- this.suiteDivs[spec.suite.id].appendChild(specDiv);
-};
-
-jasmine.TrivialReporter.prototype.log = function() {
- var console = jasmine.getGlobal().console;
- if (console && console.log) {
- if (console.log.apply) {
- console.log.apply(console, arguments);
- } else {
- console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
- }
- }
-};
-
-jasmine.TrivialReporter.prototype.getLocation = function() {
- return this.document.location;
-};
-
-jasmine.TrivialReporter.prototype.specFilter = function(spec) {
- var paramMap = {};
- var params = this.getLocation().search.substring(1).split('&');
- for (var i = 0; i < params.length; i++) {
- var p = params[i].split('=');
- paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
- }
-
- if (!paramMap.spec) {
- return true;
- }
- return spec.getFullName().indexOf(paramMap.spec) === 0;
-};
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/index.html b/tests/MobileSpecUnitTests/www/autotest/index.html
deleted file mode 100644
index cf1117f..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
-
- <title>Cordova API Specs</title>
-
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" src="../cordova.js"></script>
- </head>
- <body id="stage" class="theme">
- <h1>Cordova API Specs</h1>
-
- <a href="pages/all.html" class="btn large" style="width:100%;">Run All Tests</a>
- <a href="pages/accelerometer.html" class="btn large" style="width:100%;">Run Accelerometer Tests</a>
- <a href="pages/battery.html" class="btn large" style="width:100%;">Run Battery Tests</a>
- <a href="pages/camera.html" class="btn large" style="width:100%;">Run Camera Tests</a>
- <a href="pages/capture.html" class="btn large" style="width:100%;">Run Capture Tests</a>
- <a href="pages/compass.html" class="btn large" style="width:100%;">Run Compass Tests</a>
- <a href="pages/contacts.html" class="btn large" style="width:100%;">Run Contacts Tests</a>
- <a href="pages/datauri.html" class="btn large" style="width:100%;">Run Data URI Tests</a>
- <a href="pages/device.html" class="btn large" style="width:100%;">Run Device Tests</a>
- <a href="pages/file.html" class="btn large" style="width:100%;">Run File Tests</a>
- <a href="pages/filetransfer.html" class="btn large" style="width:100%;">Run FileTransfer Tests</a>
- <a href="pages/geolocation.html" class="btn large" style="width:100%;">Run Geolocation Tests</a>
- <a href="pages/globalization.html" class="btn large" style="width:100%;">Run Globalization Tests</a>
- <a href="pages/media.html" class="btn large" style="width:100%;">Run Media Tests</a>
- <a href="pages/network.html" class="btn large" style="width:100%;">Run Network Tests</a>
- <a href="pages/notification.html" class="btn large" style="width:100%;">Run Notification Tests</a>
- <a href="pages/platform.html" class="btn large" style="width:100%;">Run Platform Tests</a>
- <a href="pages/storage.html" class="btn large" style="width:100%;">Run Storage Tests</a>
- <a href="pages/bridge.html" class="btn large" style="width:100%;">Run Bridge Tests</a>
-
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/jasmine.css
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/jasmine.css b/tests/MobileSpecUnitTests/www/autotest/jasmine.css
deleted file mode 100644
index 826e575..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/jasmine.css
+++ /dev/null
@@ -1,81 +0,0 @@
-body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; }
-
-#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; }
-#HTMLReporter a { text-decoration: none; }
-#HTMLReporter a:hover { text-decoration: underline; }
-#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; }
-#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; }
-#HTMLReporter #jasmine_content { position: fixed; right: 100%; }
-#HTMLReporter .version { color: #aaaaaa; }
-#HTMLReporter .banner { margin-top: 14px; }
-#HTMLReporter .duration { color: #aaaaaa; float: right; }
-#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; }
-#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; }
-#HTMLReporter .symbolSummary li.passed { font-size: 14px; }
-#HTMLReporter .symbolSummary li.passed:before { color: #5e7d00; content: "\02022"; }
-#HTMLReporter .symbolSummary li.failed { line-height: 9px; }
-#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; }
-#HTMLReporter .symbolSummary li.skipped { font-size: 14px; }
-#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; }
-#HTMLReporter .symbolSummary li.pending { line-height: 11px; }
-#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; }
-#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }
-#HTMLReporter .runningAlert { background-color: #666666; }
-#HTMLReporter .skippedAlert { background-color: #aaaaaa; }
-#HTMLReporter .skippedAlert:first-child { background-color: #333333; }
-#HTMLReporter .skippedAlert:hover { text-decoration: none; color: white; text-decoration: underline; }
-#HTMLReporter .passingAlert { background-color: #a6b779; }
-#HTMLReporter .passingAlert:first-child { background-color: #5e7d00; }
-#HTMLReporter .failingAlert { background-color: #cf867e; }
-#HTMLReporter .failingAlert:first-child { background-color: #b03911; }
-#HTMLReporter .results { margin-top: 14px; }
-#HTMLReporter #details { display: none; }
-#HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a { background-color: #fff; color: #333333; }
-#HTMLReporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; }
-#HTMLReporter.showDetails .summaryMenuItem:hover { text-decoration: underline; }
-#HTMLReporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; }
-#HTMLReporter.showDetails .summary { display: none; }
-#HTMLReporter.showDetails #details { display: block; }
-#HTMLReporter .summaryMenuItem { font-weight: bold; text-decoration: underline; }
-#HTMLReporter .summary { margin-top: 14px; }
-#HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; }
-#HTMLReporter .summary .specSummary.passed a { color: #5e7d00; }
-#HTMLReporter .summary .specSummary.failed a { color: #b03911; }
-#HTMLReporter .description + .suite { margin-top: 0; }
-#HTMLReporter .suite { margin-top: 14px; }
-#HTMLReporter .suite a { color: #333333; }
-#HTMLReporter #details .specDetail { margin-bottom: 28px; }
-#HTMLReporter #details .specDetail .description { display: block; color: white; background-color: #b03911; }
-#HTMLReporter .resultMessage { padding-top: 14px; color: #333333; }
-#HTMLReporter .resultMessage span.result { display: block; }
-#HTMLReporter .stackTrace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; }
-
-#TrivialReporter { padding: 8px 13px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow-y: scroll; background-color: white; font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/ /*white-space: pre;*/ /*}*/ }
-#TrivialReporter a:visited, #TrivialReporter a { color: #303; }
-#TrivialReporter a:hover, #TrivialReporter a:active { color: blue; }
-#TrivialReporter .run_spec { float: right; padding-right: 5px; font-size: .8em; text-decoration: none; }
-#TrivialReporter .banner { color: #303; background-color: #fef; padding: 5px; }
-#TrivialReporter .logo { float: left; font-size: 1.1em; padding-left: 5px; }
-#TrivialReporter .logo .version { font-size: .6em; padding-left: 1em; }
-#TrivialReporter .runner.running { background-color: yellow; }
-#TrivialReporter .options { text-align: right; font-size: .8em; }
-#TrivialReporter .suite { border: 1px outset gray; margin: 5px 0; padding-left: 1em; }
-#TrivialReporter .suite .suite { margin: 5px; }
-#TrivialReporter .suite.passed { background-color: #dfd; }
-#TrivialReporter .suite.failed { background-color: #fdd; }
-#TrivialReporter .spec { margin: 5px; padding-left: 1em; clear: both; }
-#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped { padding-bottom: 5px; border: 1px solid gray; }
-#TrivialReporter .spec.failed { background-color: #fbb; border-color: red; }
-#TrivialReporter .spec.passed { background-color: #bfb; border-color: green; }
-#TrivialReporter .spec.skipped { background-color: #bbb; }
-#TrivialReporter .messages { border-left: 1px dashed gray; padding-left: 1em; padding-right: 1em; }
-#TrivialReporter .passed { background-color: #cfc; display: none; }
-#TrivialReporter .failed { background-color: #fbb; }
-#TrivialReporter .skipped { color: #777; background-color: #eee; display: none; }
-#TrivialReporter .resultMessage span.result { display: block; line-height: 2em; color: black; }
-#TrivialReporter .resultMessage .mismatch { color: black; }
-#TrivialReporter .stackTrace { white-space: pre; font-size: .8em; margin-left: 10px; max-height: 5em; overflow: auto; border: 1px inset red; padding: 1em; background: #eef; }
-#TrivialReporter .finished-at { padding-left: 1em; font-size: .6em; }
-#TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped { display: block; }
-#TrivialReporter #jasmine_content { position: fixed; right: 100%; }
-#TrivialReporter .runner { border: 1px solid gray; display: block; margin: 5px 0; padding: 2px 0 2px 10px; }
[04/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/filetransfer.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/filetransfer.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/filetransfer.tests.js
deleted file mode 100644
index 8c1cd35..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/filetransfer.tests.js
+++ /dev/null
@@ -1,513 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-
-describe('FileTransfer', function() {
- // https://github.com/don/cordova-filetransfer
- var server = "http://cordova-filetransfer.jitsu.com";
-
- // deletes and re-creates the specified content
- var writeFile = function(fileName, fileContent, success, error) {
- deleteFile(fileName, function() {
- root.getFile(fileName, {create: true}, function(fileEntry) {
- fileEntry.createWriter(function (writer) {
-
- writer.onwrite = function(evt) {
- success(fileEntry);
- };
-
- writer.onabort = function(evt) {
- error(evt);
- };
-
- writer.error = function(evt) {
- error(evt);
- };
-
- writer.write(fileContent + "\n");
- }, error);
- }, error);
- });
- };
-
- var readFileEntry = function(entry, success, error) {
- entry.file(function(file) {
- var reader = new FileReader();
- reader.onerror = error;
- reader.onload = function(e) {
- success(reader.result);
- };
- reader.readAsText(file);
- }, error);
- };
-
- var getMalformedUrl = function() {
- if (device.platform.match(/Android/i)) {
- // bad protocol causes a MalformedUrlException on Android
- return "httpssss://example.com";
- } else {
- // iOS doesn't care about protocol, space in hostname causes error
- return "httpssss://exa mple.com";
- }
- };
-
- // deletes file, if it exists, then invokes callback
- var deleteFile = function(fileName, callback) {
- callback = callback || function() {};
- var spy = jasmine.createSpy().andCallFake(callback);
- root.getFile(fileName, null,
- // remove file system entry
- function(entry) {
- entry.remove(spy, spy);
- },
- // doesn't exist
- spy);
- waitsFor(function() { return spy.wasCalled; }, Tests.TEST_TIMEOUT);
- };
-
- it("should exist and be constructable", function() {
- var ft = new FileTransfer();
- expect(ft).toBeDefined();
- });
- it("should contain proper functions", function() {
- var ft = new FileTransfer();
- expect(typeof ft.upload).toBe('function');
- expect(typeof ft.download).toBe('function');
- });
- describe('FileTransferError', function() {
- it("FileTransferError constants should be defined", function() {
- expect(FileTransferError.FILE_NOT_FOUND_ERR).toBe(1);
- expect(FileTransferError.INVALID_URL_ERR).toBe(2);
- expect(FileTransferError.CONNECTION_ERR).toBe(3);
- });
- });
-
- describe('download method', function() {
-
- // NOTE: if download tests are failing, check the white list
- // Android
- // <access origin="httpssss://example.com"/>
- // <access origin="apache.org" subdomains="true" />
- // <access origin="cordova-filetransfer.jitsu.com"/>
- // iOS
- // # Cordova.plist
- // ExternalHosts
- // - Item 1 String cordova-filetransfer.jitsu.com
- // - Item 2 String *.apache.org
-
- it("should be able to download a file using http", function() {
- var fail = createDoNotCallSpy('downloadFail');
- var remoteFile = server + "/robots.txt"
- var localFileName = remoteFile.substring(remoteFile.lastIndexOf('/')+1);
- var lastProgressEvent = null;
-
- var downloadWin = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry.name).toBe(localFileName);
- expect(lastProgressEvent.loaded).toBeGreaterThan(1);
- });
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- var ft = new FileTransfer();
- ft.onprogress = function(e) {
- lastProgressEvent = e;
- };
- ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, fail);
- });
-
- waitsForAny(downloadWin, fail);
- });
- it("should be able to download a file using https", function() {
- var remoteFile = "https://www.apache.org/licenses/";
- var localFileName = 'httpstest.html';
- var downloadFail = createDoNotCallSpy('downloadFail', 'Ensure ' + remoteFile + ' is in the white-list');
- var fileFail = createDoNotCallSpy('fileFail');
- var downloadWin = function(entry) {
- readFileEntry(entry, fileWin, fileFail);
- };
- var fileWin = jasmine.createSpy().andCallFake(function(content) {
- expect(content).toMatch(/The Apache Software Foundation/);
- });
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- var ft = new FileTransfer();
- ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
- });
-
- waitsForAny(fileWin, downloadFail, fileFail);
- });
- it("should be stopped by abort() right away", function() {
- var downloadWin = createDoNotCallSpy('downloadWin');
- var remoteFile = 'http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3';
- var localFileName = remoteFile.substring(remoteFile.lastIndexOf('/')+1);
- var startTime = +new Date();
-
- var downloadFail = jasmine.createSpy().andCallFake(function(e) {
- expect(e.code).toBe(FileTransferError.ABORT_ERR);
- expect(new Date() - startTime).toBeLessThan(300);
- });
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- var ft = new FileTransfer();
- ft.abort(); // should be a no-op.
- ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
- ft.abort();
- ft.abort(); // should be a no-op.
- });
-
- waitsForAny(downloadWin, downloadFail);
- });
- it("should get http status on failure", function() {
- var downloadWin = createDoNotCallSpy('downloadWin');
-
- var remoteFile = server + "/404";
- var localFileName = remoteFile.substring(remoteFile.lastIndexOf('/')+1);
- var downloadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.http_status).toBe(404);
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- });
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- var ft = new FileTransfer();
- ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
- });
-
- waitsForAny(downloadWin, downloadFail);
- });
- it("should handle malformed urls", function() {
- var downloadWin = createDoNotCallSpy('downloadWin');
-
- var remoteFile = getMalformedUrl();
- var localFileName = "download_malformed_url.txt";
- var downloadFail = jasmine.createSpy().andCallFake(function(error) {
- // Note: Android needs the bad protocol to be added to the access list
- // <access origin=".*"/> won't match because ^https?:// is prepended to the regex
- // The bad protocol must begin with http to avoid automatic prefix
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- expect(error.code).toBe(FileTransferError.INVALID_URL_ERR);
- });
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- var ft = new FileTransfer();
- ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
- });
-
- waitsForAny(downloadWin, downloadFail);
- });
- it("should handle unknown host", function() {
- var downloadWin = createDoNotCallSpy('downloadWin');
-
- var remoteFile = "http://foobar.apache.org/index.html";
- var localFileName = remoteFile.substring(remoteFile.lastIndexOf('/')+1);
- var downloadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.code).toBe(FileTransferError.CONNECTION_ERR);
- });
-
- runs(function() {
- var ft = new FileTransfer();
- ft.download(remoteFile, root.fullPath + "/" + localFileName, downloadWin, downloadFail);
- });
-
- waitsForAny(downloadWin, downloadFail);
- });
- it("should handle bad file path", function() {
- var downloadWin = createDoNotCallSpy('downloadWin');
-
- var remoteFile = server;
- var badFilePath = "c:\\54321";
- var downloadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.code).toBe(FileTransferError.FILE_NOT_FOUND_ERR);
- });
-
- runs(function() {
- var ft = new FileTransfer();
- ft.download(remoteFile, badFilePath, downloadWin, downloadFail);
- });
-
- waitsForAny(downloadWin, downloadFail);
- });
- });
- describe('upload method', function() {
-
- it("should be able to upload a file", function() {
- var remoteFile = server + "/upload";
- var localFileName = "upload.txt";
- var fileContents = 'This file should upload';
-
- var fileFail = createDoNotCallSpy('fileFail');
- var uploadFail = createDoNotCallSpy('uploadFail', "Ensure " + remoteFile + " is in the white list");
- var lastProgressEvent = null;
-
- var uploadWin = jasmine.createSpy().andCallFake(function(uploadResult) {
- expect(uploadResult.bytesSent).toBeGreaterThan(0);
- expect(uploadResult.responseCode).toBe(200);
- expect(uploadResult.response).toMatch(/fields:\s*{\s*value1.*/);
- });
-
- var fileWin = function(fileEntry) {
- ft = new FileTransfer();
-
- var options = new FileUploadOptions();
- options.fileKey = "file";
- options.fileName = localFileName;
- options.mimeType = "text/plain";
-
- var params = new Object();
- params.value1 = "test";
- params.value2 = "param";
- options.params = params;
-
- ft.onprogress = function(e) {
- expect(e.lengthComputable).toBe(true);
- expect(e.total).toBeGreaterThan(0);
- expect(e.loaded).toBeGreaterThan(0);
- lastProgressEvent = e;
- };
-
- // removing options cause Android to timeout
- ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
- };
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- writeFile(localFileName, fileContents, fileWin, fileFail);
- });
-
- waitsForAny(uploadWin, uploadFail, fileFail);
- runs(function() {
- expect(lastProgressEvent).not.toBeNull('expected progress events');
- });
- });
- it("should be stopped by abort() right away.", function() {
- var remoteFile = server + "/upload";
- var localFileName = "upload.txt";
-
- var fileFail = createDoNotCallSpy('fileFail');
- var uploadWin = createDoNotCallSpy('uploadWin', 'Should have been aborted');
- var startTime;
-
- var uploadFail = jasmine.createSpy().andCallFake(function(e) {
- expect(e.code).toBe(FileTransferError.ABORT_ERR);
- expect(new Date() - startTime).toBeLessThan(300);
- });
-
- var fileWin = function(fileEntry) {
- ft = new FileTransfer();
-
- var options = new FileUploadOptions();
- options.fileKey = "file";
- options.fileName = localFileName;
- options.mimeType = "text/plain";
-
- startTime = +new Date();
- // removing options cause Android to timeout
- ft.abort(); // should be a no-op.
- ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
- ft.abort();
- ft.abort(); // should be a no-op.
- };
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- writeFile(localFileName, new Array(10000).join('aborttest!'), fileWin, fileFail);
- });
-
- waitsForAny(uploadWin, uploadFail, fileFail);
- });
- it("should get http status on failure", function() {
- var fileFail = createDoNotCallSpy('fileFail');
- var uploadWin = createDoNotCallSpy('uploadWin');
-
- var remoteFile = server + "/403";
- var localFileName = "upload_expect_fail.txt";
- var uploadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.http_status).toBe(403);
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- });
-
- var fileWin = function(fileEntry) {
- var ft = new FileTransfer();
-
- var options = new FileUploadOptions();
- options.fileKey="file";
- options.fileName=fileEntry.name;
- options.mimeType="text/plain";
-
- ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
- };
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- writeFile(localFileName, "this file should fail to upload", fileWin, fileFail);
- });
-
- waitsForAny(uploadWin, uploadFail, fileFail);
- });
- it("should handle malformed urls", function() {
- var fileFail = createDoNotCallSpy('fileFail');
- var uploadWin = createDoNotCallSpy('uploadWin');
-
- var remoteFile = getMalformedUrl();
- var localFileName = "malformed_url.txt";
- var uploadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.code).toBe(FileTransferError.INVALID_URL_ERR);
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- });
- var fileWin = function(fileEntry) {
- var ft = new FileTransfer();
- ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, {});
- };
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- writeFile(localFileName, "Some content", fileWin, fileFail);
- });
-
- waitsForAny(uploadWin, uploadFail, fileFail);
- });
- it("should handle unknown host", function() {
- var fileFail = createDoNotCallSpy('fileFail');
- var uploadWin = createDoNotCallSpy('uploadWin');
-
- var remoteFile = "http://foobar.apache.org/robots.txt";
- var localFileName = remoteFile.substring(remoteFile.lastIndexOf('/')+1);
- var uploadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.code).toBe(FileTransferError.CONNECTION_ERR);
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- });
- var fileWin = function(fileEntry) {
- var ft = new FileTransfer();
- ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, {});
- };
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- writeFile(localFileName, "# allow all", fileWin, fileFail);
- });
-
- waitsForAny(uploadWin, uploadFail, fileFail);
- });
- it("should handle missing file", function() {
- var uploadWin = createDoNotCallSpy('uploadWin');
-
- var remoteFile = server + "/upload";
- var localFileName = "does_not_exist.txt";
-
- var uploadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.code).toBe(FileTransferError.FILE_NOT_FOUND_ERR);
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- });
-
- runs(function() {
- var ft = new FileTransfer();
- ft.upload(root.fullPath + "/" + localFileName, remoteFile, uploadWin, uploadFail);
- });
-
- waitsForAny(uploadWin, uploadFail);
- });
- it("should handle bad file path", function() {
- var uploadWin = createDoNotCallSpy('uploadWin');
-
- var remoteFile = server + "/upload";
-
- var uploadFail = jasmine.createSpy().andCallFake(function(error) {
- expect(error.code).toBe(FileTransferError.FILE_NOT_FOUND_ERR);
- expect(error.http_status).not.toBe(401, "Ensure " + remoteFile + " is in the white list");
- });
-
- runs(function() {
- var ft = new FileTransfer();
- ft.upload("/usr/local/bad/file/path.txt", remoteFile, uploadWin, uploadFail);
- });
-
- waitsForAny(uploadWin, uploadFail);
- });
- it("should be able to set custom headers", function() {
- var remoteFile = "http://whatheaders.com";
- var localFileName = "upload.txt";
-
- var fileFail = function() {};
- var uploadFail = createDoNotCallSpy('uploadFail', "Ensure " + remoteFile + " is in the white list and that Content-Length header is being set.");
-
- var uploadWin = jasmine.createSpy().andCallFake(function(uploadResult) {
- expect(uploadResult.bytesSent).toBeGreaterThan(0);
- expect(uploadResult.responseCode).toBe(200);
- expect(uploadResult.response).toBeDefined();
- var responseHtml = decodeURIComponent(uploadResult.response);
- expect(responseHtml).toMatch(/CustomHeader1[\s\S]*CustomValue1/i);
- expect(responseHtml).toMatch(/CustomHeader2[\s\S]*CustomValue2[\s\S]*CustomValue3/i, "Should allow array values");
- });
-
- var fileWin = function(fileEntry) {
- ft = new FileTransfer();
-
- var options = new FileUploadOptions();
- options.fileKey = "file";
- options.fileName = localFileName;
- options.mimeType = "text/plain";
-
- var params = new Object();
- params.value1 = "test";
- params.value2 = "param";
- options.params = params;
- options.headers = {
- "CustomHeader1": "CustomValue1",
- "CustomHeader2": ["CustomValue2", "CustomValue3"],
- };
-
- // removing options cause Android to timeout
- ft.upload(fileEntry.fullPath, remoteFile, uploadWin, uploadFail, options);
- };
-
- this.after(function() {
- deleteFile(localFileName);
- });
- runs(function() {
- writeFile(localFileName, "this file should upload", fileWin, fileFail);
- });
-
- waitsForAny(uploadWin, uploadFail);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/geolocation.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/geolocation.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/geolocation.tests.js
deleted file mode 100644
index 7d1d6ce..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/geolocation.tests.js
+++ /dev/null
@@ -1,119 +0,0 @@
-describe('Geolocation (navigator.geolocation)', function () {
- it("should exist", function() {
- expect(navigator.geolocation).toBeDefined();
- });
-
- it("should contain a getCurrentPosition function", function() {
- expect(typeof navigator.geolocation.getCurrentPosition).toBeDefined();
- expect(typeof navigator.geolocation.getCurrentPosition == 'function').toBe(true);
- });
-
- it("should contain a watchPosition function", function() {
- expect(typeof navigator.geolocation.watchPosition).toBeDefined();
- expect(typeof navigator.geolocation.watchPosition == 'function').toBe(true);
- });
-
- it("should contain a clearWatch function", function() {
- expect(typeof navigator.geolocation.clearWatch).toBeDefined();
- expect(typeof navigator.geolocation.clearWatch == 'function').toBe(true);
- });
-
- describe('getCurrentPosition method', function() {
- describe('error callback', function() {
- it("should be called if we set timeout to 0 and maximumAge to a very small number", function() {
- console.log("Here I am");
- var win = jasmine.createSpy(),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.geolocation.getCurrentPosition(win, fail, {
- maximumAge: 0,
- timeout: 0
- });
- });
-
- waitsFor(function () { return fail.wasCalled; }, "fail never called", 250); //small timeout as this should fire very fast
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- });
- });
- });
-
- describe('success callback', function() {
- it("should be called with a Position object", function() {
- var win = jasmine.createSpy().andCallFake(function(p) {
- expect(p.coords).toBeDefined();
- expect(p.timestamp).toBeDefined();
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.geolocation.getCurrentPosition(win, fail, {
- maximumAge:300000 // 5 minutes maximum age of cached position
- });
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", 20000);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
- });
-
- describe('watchPosition method', function() {
- describe('error callback', function() {
- var errorWatch = null;
-
- afterEach(function() {
- navigator.geolocation.clearWatch(errorWatch);
- });
- it("should be called if we set timeout to 0 and maximumAge to a very small number", function() {
- var win = jasmine.createSpy(),
- fail = jasmine.createSpy();
-
- runs(function () {
- errorWatch = navigator.geolocation.watchPosition(win, fail, {
- maximumAge: 0,
- timeout: 0
- });
- });
-
- waitsFor(function () { return fail.wasCalled; }, "fail never called", 250); // small timeout as this hsould fire very quickly
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- });
- });
- });
-
- describe('success callback', function() {
- var successWatch = null;
-
- afterEach(function() {
- navigator.geolocation.clearWatch(successWatch);
- });
- it("should be called with a Position object", function() {
- var win = jasmine.createSpy().andCallFake(function(p) {
- expect(p.coords).toBeDefined();
- expect(p.timestamp).toBeDefined();
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- successWatch = navigator.geolocation.watchPosition(win, fail, {
- maximumAge:(5 * 60 * 1000) // 5 minutes maximum age of cached position
- });
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", 20000);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/globalization.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/globalization.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/globalization.tests.js
deleted file mode 100644
index 6903aee..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/globalization.tests.js
+++ /dev/null
@@ -1,808 +0,0 @@
-describe('Globalization (navigator.globalization)', function () {
- it("should exist", function() {
- expect(navigator.globalization).toBeDefined();
- });
-
- describe("getLocaleName", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.getLocaleName).toBeDefined();
- expect(typeof navigator.globalization.getLocaleName == 'function').toBe(true);
- });
- it("getLocaleName success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getLocaleName(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("dateToString", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.dateToString).toBeDefined();
- expect(typeof navigator.globalization.dateToString == 'function').toBe(true);
- });
- it("dateToString using default options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("dateToString using formatLength=short and selector=date options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win, fail, {formatLength: 'short', selector: 'date'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("dateToString using formatLength=full and selector=date options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win, fail, {formatLength: 'full', selector: 'date'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("dateToString using formatLength=medium and selector=date and time(default) options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win, fail, {formatLength: 'medium'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("dateToString using formatLength=long and selector=date and time(default) options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win, fail, {formatLength: 'long'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("dateToString using formatLength=full and selector=date and time(default) options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win, fail, {formatLength: 'full'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("stringToDate", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.stringToDate).toBeDefined();
- expect(typeof navigator.globalization.stringToDate == 'function').toBe(true);
- });
- it("stringToDate using default options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.year).toBeDefined();
- expect(typeof a.year).toBe('number');
- expect(a.year >= 0 && a.year <=9999).toBe(true);
- expect(a.month).toBeDefined();
- expect(typeof a.month).toBe('number');
- expect(a.month >= 0 && a.month <=11).toBe(true);
- expect(a.day).toBeDefined();
- expect(typeof a.day).toBe('number');
- expect(a.day >= 1 && a.day <=31).toBe(true);
- expect(a.hour).toBeDefined();
- expect(typeof a.hour).toBe('number');
- expect(a.hour >= 0 && a.hour <=23).toBe(true);
- expect(a.minute).toBeDefined();
- expect(typeof a.minute).toBe('number');
- expect(a.minute >= 0 && a.minute <=59).toBe(true);
- expect(a.second).toBeDefined();
- expect(typeof a.second).toBe('number');
- expect(a.second >= 0 && a.second <=59).toBe(true);
- expect(a.millisecond).toBeDefined();
- expect(typeof a.millisecond).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- var win2 = function(a) {
- navigator.globalization.stringToDate(a.value, win, fail);
- };
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win2, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("stringToDate using formatLength=short and selector=date options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.year).toBeDefined();
- expect(typeof a.year).toBe('number');
- expect(a.year >= 0 && a.year <=9999).toBe(true);
- expect(a.month).toBeDefined();
- expect(typeof a.month).toBe('number');
- expect(a.month >= 0 && a.month <=11).toBe(true);
- expect(a.day).toBeDefined();
- expect(typeof a.day).toBe('number');
- expect(a.day >= 1 && a.day <=31).toBe(true);
- expect(a.hour).toBeDefined();
- expect(typeof a.hour).toBe('number');
- expect(a.hour >= 0 && a.hour <=23).toBe(true);
- expect(a.minute).toBeDefined();
- expect(typeof a.minute).toBe('number');
- expect(a.minute >= 0 && a.minute <=59).toBe(true);
- expect(a.second).toBeDefined();
- expect(typeof a.second).toBe('number');
- expect(a.second >= 0 && a.second <=59).toBe(true);
- expect(a.millisecond).toBeDefined();
- expect(typeof a.millisecond).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- var win2 = function(a) {
- navigator.globalization.stringToDate(a.value, win, fail, {formatLength: 'short', selector: 'date'});
- };
-
- runs(function () {
- navigator.globalization.dateToString(new Date(), win2, fail, {formatLength: 'short', selector: 'date'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("stringToDate using formatLength=full and selector=date options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.year).toBeDefined();
- expect(typeof a.year).toBe('number');
- expect(a.year >= 0 && a.year <=9999).toBe(true);
- expect(a.month).toBeDefined();
- expect(typeof a.month).toBe('number');
- expect(a.month >= 0 && a.month <=11).toBe(true);
- expect(a.day).toBeDefined();
- expect(typeof a.day).toBe('number');
- expect(a.day >= 1 && a.day <=31).toBe(true);
- expect(a.hour).toBeDefined();
- expect(typeof a.hour).toBe('number');
- expect(a.hour >= 0 && a.hour <=23).toBe(true);
- expect(a.minute).toBeDefined();
- expect(typeof a.minute).toBe('number');
- expect(a.minute >= 0 && a.minute <=59).toBe(true);
- expect(a.second).toBeDefined();
- expect(typeof a.second).toBe('number');
- expect(a.second >= 0 && a.second <=59).toBe(true);
- expect(a.millisecond).toBeDefined();
- expect(typeof a.millisecond).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- var win2 = function(a) {
- navigator.globalization.stringToDate(a.value, win, fail, {formatLength: 'full', selector: 'date'});
- };
- runs(function () {
- navigator.globalization.dateToString(new Date(), win2, fail, {formatLength: 'full', selector: 'date'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("stringToDate using invalid date, error callback should be called with a GlobalizationError object", function() {
- var win = jasmine.createSpy(),
- fail = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.code).toBeDefined();
- expect(typeof a.code).toBe('number');
- expect(a.code === GlobalizationError.PARSING_ERROR).toBe(true);
- expect(a.message).toBeDefined();
- expect(typeof a.message).toBe('string');
- expect(a.message !== "").toBe(true);
- });
-
- runs(function () {
- navigator.globalization.stringToDate('notADate', win, fail, {selector:'foobar'});
- });
-
- waitsFor(function () { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("getDatePattern", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.getDatePattern).toBeDefined();
- expect(typeof navigator.globalization.getDatePattern == 'function').toBe(true);
- });
- it("getDatePattern using default options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.pattern).toBeDefined();
- expect(typeof a.pattern).toBe('string');
- expect(a.pattern.length > 0).toBe(true);
- expect(a.timezone).toBeDefined();
- expect(typeof a.timezone).toBe('string');
- expect(a.timezone.length > 0).toBe(true);
- expect(a.utc_offset).toBeDefined();
- expect(typeof a.utc_offset).toBe('number');
- expect(a.dst_offset).toBeDefined();
- expect(typeof a.dst_offset).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDatePattern(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getDatePattern using formatLength=medium and selector=date options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.pattern).toBeDefined();
- expect(typeof a.pattern).toBe('string');
- expect(a.pattern.length > 0).toBe(true);
- expect(a.timezone).toBeDefined();
- expect(typeof a.timezone).toBe('string');
- expect(a.timezone.length > 0).toBe(true);
- expect(a.utc_offset).toBeDefined();
- expect(typeof a.utc_offset).toBe('number');
- expect(a.dst_offset).toBeDefined();
- expect(typeof a.dst_offset).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDatePattern(win, fail, {formatLength: 'medium', selector: 'date'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("getDateNames", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.getDateNames).toBeDefined();
- expect(typeof navigator.globalization.getDateNames == 'function').toBe(true);
- });
- it("getDateNames using default options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(a.value instanceof Array).toBe(true);
- expect(a.value.length > 0).toBe(true);
- expect(typeof a.value[0]).toBe('string');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDateNames(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getDateNames using type=narrow and item=days options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(a.value instanceof Array).toBe(true);
- expect(a.value.length > 0).toBe(true);
- expect(typeof a.value[0]).toBe('string');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDateNames(win, fail, {type: 'narrow', item: 'days'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getDateNames using type=narrow and item=months options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(a.value instanceof Array).toBe(true);
- expect(a.value.length > 0).toBe(true);
- expect(typeof a.value[0]).toBe('string');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDateNames(win, fail, {type: 'narrow', item: 'months'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getDateNames using type=wide and item=days options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(a.value instanceof Array).toBe(true);
- expect(a.value.length > 0).toBe(true);
- expect(typeof a.value[0]).toBe('string');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDateNames(win, fail, {item: 'days'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getDateNames using type=wide and item=months options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(a.value instanceof Array).toBe(true);
- expect(a.value.length > 0).toBe(true);
- expect(typeof a.value[0]).toBe('string');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getDateNames(win, fail, {item: 'months'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("isDayLightSavingsTime", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.isDayLightSavingsTime).toBeDefined();
- expect(typeof navigator.globalization.isDayLightSavingsTime == 'function').toBe(true);
- });
- it("isDayLightSavingsTime using default options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.dst).toBeDefined();
- expect(typeof a.dst).toBe('boolean');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.isDayLightSavingsTime(new Date(), win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("getFirstDayOfWeek", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.getFirstDayOfWeek).toBeDefined();
- expect(typeof navigator.globalization.getFirstDayOfWeek == 'function').toBe(true);
- });
- it("getFirstDayOfWeek success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getFirstDayOfWeek(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("numberToString", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.numberToString).toBeDefined();
- expect(typeof navigator.globalization.numberToString == 'function').toBe(true);
- });
- it("numberToString using default options, should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.numberToString(3.25, win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("numberToString using type=percent options, should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.numberToString(.25, win, fail, {type: 'percent'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("numberToString using type=currency options, should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('string');
- expect(a.value.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.numberToString(5.20, win, fail, {type: 'currency'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("stringToNumber", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.stringToNumber).toBeDefined();
- expect(typeof navigator.globalization.stringToNumber == 'function').toBe(true);
- });
- it("stringToNumber using default options, should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('number');
- expect(a.value > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- var win2 = function(a) {
- navigator.globalization.stringToNumber(a.value, win, fail);
- };
-
- runs(function () {
- navigator.globalization.numberToString(3.25, win2, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("stringToNumber using type=percent options, should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.value).toBeDefined();
- expect(typeof a.value).toBe('number');
- expect(a.value > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- var win2 = function(a) {
- navigator.globalization.stringToNumber(a.value, win, fail, {type: 'percent'});
- };
-
- runs(function () {
- navigator.globalization.numberToString(.25, win2, fail, {type: 'percent'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("getNumberPattern", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.getNumberPattern).toBeDefined();
- expect(typeof navigator.globalization.getNumberPattern == 'function').toBe(true);
- });
- it("getNumberPattern using default options, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.pattern).toBeDefined();
- expect(typeof a.pattern).toBe('string');
- expect(a.pattern.length > 0).toBe(true);
- expect(typeof a.symbol).toBe('string');
- expect(typeof a.fraction).toBe('number');
- expect(typeof a.rounding).toBe('number');
- expect(a.positive).toBeDefined();
- expect(typeof a.positive).toBe('string');
- expect(a.positive.length >= 0).toBe(true);
- expect(a.negative).toBeDefined();
- expect(typeof a.negative).toBe('string');
- expect(a.negative.length >= 0).toBe(true);
- expect(a.decimal).toBeDefined();
- expect(typeof a.decimal).toBe('string');
- expect(a.decimal.length > 0).toBe(true);
- expect(a.grouping).toBeDefined();
- expect(typeof a.grouping).toBe('string');
- expect(a.grouping.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getNumberPattern(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getNumberPattern using type=percent, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.pattern).toBeDefined();
- expect(typeof a.pattern).toBe('string');
- expect(a.pattern.length > 0).toBe(true);
- expect(typeof a.symbol).toBe('string');
- expect(typeof a.fraction).toBe('number');
- expect(typeof a.rounding).toBe('number');
- expect(a.positive).toBeDefined();
- expect(typeof a.positive).toBe('string');
- expect(a.positive.length >= 0).toBe(true);
- expect(a.negative).toBeDefined();
- expect(typeof a.negative).toBe('string');
- expect(a.negative.length >= 0).toBe(true);
- expect(a.decimal).toBeDefined();
- expect(typeof a.decimal).toBe('string');
- expect(a.decimal.length > 0).toBe(true);
- expect(a.grouping).toBeDefined();
- expect(typeof a.grouping).toBe('string');
- expect(a.grouping.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getNumberPattern(win, fail, {type: 'percent'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getNumberPattern using type=currency, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.pattern).toBeDefined();
- expect(typeof a.pattern).toBe('string');
- expect(a.pattern.length > 0).toBe(true);
- expect(typeof a.symbol).toBe('string');
- expect(typeof a.fraction).toBe('number');
- expect(typeof a.rounding).toBe('number');
- expect(a.positive).toBeDefined();
- expect(typeof a.positive).toBe('string');
- expect(a.positive.length >= 0).toBe(true);
- expect(a.negative).toBeDefined();
- expect(typeof a.negative).toBe('string');
- expect(a.negative.length >= 0).toBe(true);
- expect(a.decimal).toBeDefined();
- expect(typeof a.decimal).toBe('string');
- expect(a.decimal.length > 0).toBe(true);
- expect(a.grouping).toBeDefined();
- expect(typeof a.grouping).toBe('string');
- expect(a.grouping.length > 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getNumberPattern(win, fail, {type: 'currency'});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("getCurrencyPattern", function() {
- it("should exist", function() {
- expect(typeof navigator.globalization.getCurrencyPattern).toBeDefined();
- expect(typeof navigator.globalization.getCurrencyPattern == 'function').toBe(true);
- });
- it("getCurrencyPattern using EUR for currency, success callback should be called with a Properties object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(typeof a).toBe('object');
- expect(a.pattern).toBeDefined();
- expect(typeof a.pattern).toBe('string');
- expect(a.pattern.length > 0).toBe(true);
- expect(a.code).toBeDefined();
- expect(typeof a.code).toBe('string');
- expect(a.code.length > 0).toBe(true);
- expect(typeof a.fraction).toBe('number');
- expect(typeof a.rounding).toBe('number');
- expect(a.decimal).toBeDefined();
- expect(typeof a.decimal).toBe('string');
- expect(a.decimal.length >= 0).toBe(true);
- expect(a.grouping).toBeDefined();
- expect(typeof a.grouping).toBe('string');
- expect(a.grouping.length >= 0).toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.globalization.getCurrencyPattern("EUR", win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/media.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/media.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/media.tests.js
deleted file mode 100644
index d0e6c4f..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/media.tests.js
+++ /dev/null
@@ -1,144 +0,0 @@
-describe('Media', function () {
- it("should exist", function() {
- expect(Media).toBeDefined();
- expect(typeof Media).toBe("function");
- });
-
- it("should have the following properties", function() {
- var media1 = new Media("dummy");
- expect(media1.id).toBeDefined();
- expect(media1.src).toBeDefined();
- expect(media1._duration).toBeDefined();
- expect(media1._position).toBeDefined();
- media1.release();
- });
-
- it("should define constants for Media errors", function() {
- expect(MediaError).toBeDefined();
- expect(MediaError.MEDIA_ERR_NONE_ACTIVE).toBe(0);
- expect(MediaError.MEDIA_ERR_ABORTED).toBe(1);
- expect(MediaError.MEDIA_ERR_NETWORK).toBe(2);
- expect(MediaError.MEDIA_ERR_DECODE).toBe(3);
- expect(MediaError.MEDIA_ERR_NONE_SUPPORTED).toBe(4);
- });
-
- it("should contain a play function", function() {
- var media1 = new Media();
- expect(media1.play).toBeDefined();
- expect(typeof media1.play).toBe('function');
- media1.release();
- });
-
- it("should contain a stop function", function() {
- var media1 = new Media();
- expect(media1.stop).toBeDefined();
- expect(typeof media1.stop).toBe('function');
- media1.release();
- });
-
- it("should contain a seekTo function", function() {
- var media1 = new Media();
- expect(media1.seekTo).toBeDefined();
- expect(typeof media1.seekTo).toBe('function');
- media1.release();
- });
-
- it("should contain a pause function", function() {
- var media1 = new Media();
- expect(media1.pause).toBeDefined();
- expect(typeof media1.pause).toBe('function');
- media1.release();
- });
-
- it("should contain a getDuration function", function() {
- var media1 = new Media();
- expect(media1.getDuration).toBeDefined();
- expect(typeof media1.getDuration).toBe('function');
- media1.release();
- });
-
- it("should contain a getCurrentPosition function", function() {
- var media1 = new Media();
- expect(media1.getCurrentPosition).toBeDefined();
- expect(typeof media1.getCurrentPosition).toBe('function');
- media1.release();
- });
-
- it("should contain a startRecord function", function() {
- var media1 = new Media();
- expect(media1.startRecord).toBeDefined();
- expect(typeof media1.startRecord).toBe('function');
- media1.release();
- });
-
- it("should contain a stopRecord function", function() {
- var media1 = new Media();
- expect(media1.stopRecord).toBeDefined();
- expect(typeof media1.stopRecord).toBe('function');
- media1.release();
- });
-
- it("should contain a release function", function() {
- var media1 = new Media();
- expect(media1.release).toBeDefined();
- expect(typeof media1.release).toBe('function');
- media1.release();
- });
-
- it("should contain a setVolume function", function() {
- var media1 = new Media();
- expect(media1.setVolume).toBeDefined();
- expect(typeof media1.setVolume).toBe('function');
- media1.release();
- });
-
- it("should return MediaError for bad filename", function() {
- var badMedia = null,
- win = jasmine.createSpy(),
- fail = jasmine.createSpy().andCallFake(function (result) {
- expect(result).toBeDefined();
- expect(result.code).toBe(MediaError.MEDIA_ERR_ABORTED);
- });
-
- runs(function () {
- badMedia = new Media("invalid.file.name", win,fail);
- badMedia.play();
- });
-
- waitsFor(function () { return fail.wasCalled; }, Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- badMedia.release();
- });
- });
-
- it("position should be set properly", function() {
- var media1 = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3"),
- test = jasmine.createSpy().andCallFake(function(position) {
- console.log("position = " + position);
- expect(position).toBeGreaterThan(0.0);
- media1.stop()
- media1.release();
- });
-
- media1.play();
-
- waits(5000);
-
- runs(function () {
- media1.getCurrentPosition(test, function () {});
- });
-
- waitsFor(function () { return test.wasCalled; }, Tests.TEST_TIMEOUT);
- });
-
- it("duration should be set properly", function() {
- var media1 = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
- media1.play();
- waits(5000);
- runs(function () {
- expect(media1.getDuration()).toBeGreaterThan(0.0);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/network.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/network.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/network.tests.js
deleted file mode 100644
index 780097f..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/network.tests.js
+++ /dev/null
@@ -1,25 +0,0 @@
-describe('Network (navigator.network)', function () {
- it("should exist", function() {
- expect(navigator.network).toBeDefined();
- });
-
- describe('Network Information API', function () {
- it("connection should exist", function() {
- expect(navigator.network.connection).toBeDefined();
- });
-
- it("should contain connection properties", function() {
- expect(navigator.network.connection.type).toBeDefined();
- });
-
- it("should define constants for connection status", function() {
- expect(Connection.UNKNOWN).toBe("unknown");
- expect(Connection.ETHERNET).toBe("ethernet");
- expect(Connection.WIFI).toBe("wifi");
- expect(Connection.CELL_2G).toBe("2g");
- expect(Connection.CELL_3G).toBe("3g");
- expect(Connection.CELL_4G).toBe("4g");
- expect(Connection.NONE).toBe("none");
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/notification.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/notification.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/notification.tests.js
deleted file mode 100644
index 61c795d..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/notification.tests.js
+++ /dev/null
@@ -1,20 +0,0 @@
-describe('Notification (navigator.notification)', function () {
- it("should exist", function() {
- expect(navigator.notification).toBeDefined();
- });
-
- it("should contain a vibrate function", function() {
- expect(typeof navigator.notification.vibrate).toBeDefined();
- expect(typeof navigator.notification.vibrate).toBe("function");
- });
-
- it("should contain a beep function", function() {
- expect(typeof navigator.notification.beep).toBeDefined();
- expect(typeof navigator.notification.beep).toBe("function");
- });
-
- it("should contain a alert function", function() {
- expect(typeof navigator.notification.alert).toBeDefined();
- expect(typeof navigator.notification.alert).toBe("function");
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/platform.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/platform.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/platform.tests.js
deleted file mode 100644
index f44fcb3..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/platform.tests.js
+++ /dev/null
@@ -1,10 +0,0 @@
-describe('Platform (cordova)', function () {
- it("should exist", function() {
- expect(cordova).toBeDefined();
- });
-
- it("exec method should exist", function() {
- expect(cordova.exec).toBeDefined();
- expect(typeof cordova.exec).toBe('function');
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/storage.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/storage.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/storage.tests.js
deleted file mode 100644
index 08ea608..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/storage.tests.js
+++ /dev/null
@@ -1,174 +0,0 @@
-describe("Session Storage", function () {
- it("should exist", function () {
- expect(window.sessionStorage).toBeDefined();
- expect(typeof window.sessionStorage.length).not.toBe('undefined');
- expect(typeof(window.sessionStorage.key)).toBe('function');
- expect(typeof(window.sessionStorage.getItem)).toBe('function');
- expect(typeof(window.sessionStorage.setItem)).toBe('function');
- expect(typeof(window.sessionStorage.removeItem)).toBe('function');
- expect(typeof(window.sessionStorage.clear)).toBe('function');
- });
-
- it("check length", function () {
- expect(window.sessionStorage.length).toBe(0);
- window.sessionStorage.setItem("key","value");
- expect(window.sessionStorage.length).toBe(1);
- window.sessionStorage.removeItem("key");
- expect(window.sessionStorage.length).toBe(0);
- });
-
- it("check key", function () {
- expect(window.sessionStorage.key(0)).toBe(null);
- window.sessionStorage.setItem("test","value");
- expect(window.sessionStorage.key(0)).toBe("test");
- window.sessionStorage.removeItem("test");
- expect(window.sessionStorage.key(0)).toBe(null);
- });
-
- it("check getItem", function() {
- expect(window.sessionStorage.getItem("item")).toBe(null);
- window.sessionStorage.setItem("item","value");
- expect(window.sessionStorage.getItem("item")).toBe("value");
- window.sessionStorage.removeItem("item");
- expect(window.sessionStorage.getItem("item")).toBe(null);
- });
-
- it("check setItem", function() {
- expect(window.sessionStorage.getItem("item")).toBe(null);
- window.sessionStorage.setItem("item","value");
- expect(window.sessionStorage.getItem("item")).toBe("value");
- window.sessionStorage.setItem("item","newval");
- expect(window.sessionStorage.getItem("item")).toBe("newval");
- window.sessionStorage.removeItem("item");
- expect(window.sessionStorage.getItem("item")).toBe(null);
- });
-
- it("can remove an item", function () {
- expect(window.sessionStorage.getItem("item")).toBe(null);
- window.sessionStorage.setItem("item","value");
- expect(window.sessionStorage.getItem("item")).toBe("value");
- window.sessionStorage.removeItem("item");
- expect(window.sessionStorage.getItem("item")).toBe(null);
- });
-
- it("check clear", function() {
- window.sessionStorage.setItem("item1","value");
- window.sessionStorage.setItem("item2","value");
- window.sessionStorage.setItem("item3","value");
- expect(window.sessionStorage.length).toBe(3);
- window.sessionStorage.clear();
- expect(window.sessionStorage.length).toBe(0);
- });
-
- it("check dot notation", function() {
- expect(window.sessionStorage.item).not.toBeDefined();
- window.sessionStorage.item = "value";
- expect(window.sessionStorage.item).toBe("value");
- window.sessionStorage.removeItem("item");
- expect(window.sessionStorage.item).not.toBeDefined();
- });
-
- describe("Local Storage", function () {
- it("should exist", function() {
- expect(window.localStorage).toBeDefined();
- expect(window.localStorage.length).toBeDefined();
- expect(typeof window.localStorage.key).toBe("function");
- expect(typeof window.localStorage.getItem).toBe("function");
- expect(typeof window.localStorage.setItem).toBe("function");
- expect(typeof window.localStorage.removeItem).toBe("function");
- expect(typeof window.localStorage.clear).toBe("function");
- });
-
- it("check length", function() {
- expect(window.localStorage.length).toBe(0);
- window.localStorage.setItem("key","value");
- expect(window.localStorage.length).toBe(1);
- window.localStorage.removeItem("key");
- expect(window.localStorage.length).toBe(0);
- });
-
- it("check key", function() {
- expect(window.localStorage.key(0)).toBe(null);
- window.localStorage.setItem("test","value");
- expect(window.localStorage.key(0)).toBe("test");
- window.localStorage.removeItem("test");
- expect(window.localStorage.key(0)).toBe(null);
- });
-
- it("check getItem", function() {
- expect(window.localStorage.getItem("item")).toBe(null);
- window.localStorage.setItem("item","value");
- expect(window.localStorage.getItem("item")).toBe("value");
- window.localStorage.removeItem("item");
- expect(window.localStorage.getItem("item")).toBe(null);
- });
-
- it("check setItem", function() {
- expect(window.localStorage.getItem("item")).toBe(null);
- window.localStorage.setItem("item","value");
- expect(window.localStorage.getItem("item")).toBe("value");
- window.localStorage.setItem("item","newval");
- expect(window.localStorage.getItem("item")).toBe("newval");
- window.localStorage.removeItem("item");
- expect(window.localStorage.getItem("item")).toBe(null);
- });
-
- it("check removeItem", function() {
- expect(window.localStorage.getItem("item")).toBe(null);
- window.localStorage.setItem("item","value");
- expect(window.localStorage.getItem("item")).toBe("value");
- window.localStorage.removeItem("item");
- expect(window.localStorage.getItem("item")).toBe(null);
- });
-
- it("check clear", function() {
- expect(window.localStorage.getItem("item1")).toBe(null);
- expect(window.localStorage.getItem("item2")).toBe(null);
- expect(window.localStorage.getItem("item3")).toBe(null);
- window.localStorage.setItem("item1","value");
- window.localStorage.setItem("item2","value");
- window.localStorage.setItem("item3","value");
- expect(window.localStorage.getItem("item1")).toBe("value");
- expect(window.localStorage.getItem("item2")).toBe("value");
- expect(window.localStorage.getItem("item3")).toBe("value");
- expect(window.localStorage.length).toBe(3);
- window.localStorage.clear();
- expect(window.localStorage.length).toBe(0);
- expect(window.localStorage.getItem("item1")).toBe(null);
- expect(window.localStorage.getItem("item2")).toBe(null);
- expect(window.localStorage.getItem("item3")).toBe(null);
- });
-
- it("check dot notation", function() {
- expect(window.localStorage.item).not.toBeDefined();
- window.localStorage.item = "value";
- expect(window.localStorage.item).toBe("value");
- window.localStorage.removeItem("item");
- expect(window.localStorage.item).not.toBeDefined();
- });
- });
-
- describe("HTML 5 Storage", function () {
- it("should exist", function() {
- expect(window.openDatabase).toBeDefined();
- });
-
- it("Should be able to create and drop tables", function() {
- var win = jasmine.createSpy('win');
- var fail1 = createDoNotCallSpy('fail1');
- var fail2 = createDoNotCallSpy('fail2');
- var db = openDatabase("Database", "1.0", "HTML5 Database API example", 5*1024*1024);
- db.transaction(function(t) {
- t.executeSql('CREATE TABLE IF NOT EXISTS foo(id int, name varchar(255));');
- t.executeSql('CREATE TABLE IF NOT EXISTS foo2(id int, name varchar(255));');
- }, fail1, step2);
- function step2() {
- db.transaction(function(t) {
- t.executeSql('DROP TABLE foo;');
- t.executeSql('DROP TABLE foo2');
- }, fail2, win);
- }
- waitsForAny(win, fail1, fail2);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/battery/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/battery/index.html b/tests/MobileSpecUnitTests/www/battery/index.html
deleted file mode 100644
index 394988c..0000000
--- a/tests/MobileSpecUnitTests/www/battery/index.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
- /* Battery */
- function updateInfo(info) {
- document.getElementById('level').innerText = info.level;
- document.getElementById('isPlugged').innerText = info.isPlugged;
- if (info.level > 5) {
- document.getElementById('crit').innerText = "false";
- }
- if (info.level > 20) {
- document.getElementById('low').innerText = "false";
- }
- }
-
- function batteryLow(info) {
- document.getElementById('low').innerText = "true";
- }
-
- function batteryCritical(info) {
- document.getElementById('crit').innerText = "true";
- }
-
- function addBattery() {
- window.addEventListener("batterystatus", updateInfo, false);
- }
-
- function removeBattery() {
- window.removeEventListener("batterystatus", updateInfo, false);
- }
-
- function addLow() {
- window.addEventListener("batterylow", batteryLow, false);
- }
-
- function removeLow() {
- window.removeEventListener("batterylow", batteryLow, false);
- }
-
- function addCritical() {
- window.addEventListener("batterycritical", batteryCritical, false);
- }
-
- function removeCritical() {
- window.removeEventListener("batterycritical", batteryCritical, false);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Battery</h1>
- <div id="info">
- <b>Status:</b> <span id="battery_status"></span><br>
- Level: <span id="level"></span><br/>
- Plugged: <span id="isPlugged"></span><br/>
- Low: <span id="low"></span><br/>
- Critical: <span id="crit"></span><br/>
- </div>
- <h2>Action</h2>
- <div class="btn large" onclick="addBattery();">Add "batterystatus" listener</div>
- <div class="btn large" onclick="removeBattery();">Remove "batterystatus" listener</div>
- <div class="btn large" onclick="addLow();">Add "batterylow" listener</div>
- <div class="btn large" onclick="removeLow();">Remove "batterylow" listener</div>
- <div class="btn large" onclick="addCritical();">Add "batterycritical" listener</div>
- <div class="btn large" onclick="removeCritical();">Remove "batterycritical" listener</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
[13/13] git commit: master branch will maintain a VERSION of 0.0.0
Posted by pu...@apache.org.
master branch will maintain a VERSION of 0.0.0
Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/13717c31
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/13717c31
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/13717c31
Branch: refs/heads/master
Commit: 13717c3120f45b6a9043bf327ed1393b0f6b76fa
Parents: bf4b3ce
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Thu Jun 6 15:05:32 2013 -0700
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Thu Jun 6 15:05:32 2013 -0700
----------------------------------------------------------------------
VERSION | 2 +-
framework/Properties/AssemblyInfo.cs | 6 +++---
templates/standalone/Plugins/Device.cs | 2 +-
templates/standalone/VERSION | 2 +-
templates/vs/MyTemplateStandAlone.vstemplate | 6 +++---
templates/vs/description.txt | 4 ++--
6 files changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/13717c31/VERSION
----------------------------------------------------------------------
diff --git a/VERSION b/VERSION
index 9aa3464..bd52db8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.7.0
\ No newline at end of file
+0.0.0
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/13717c31/framework/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/framework/Properties/AssemblyInfo.cs b/framework/Properties/AssemblyInfo.cs
index 4ed7003..6f1ef4f 100644
--- a/framework/Properties/AssemblyInfo.cs
+++ b/framework/Properties/AssemblyInfo.cs
@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WPCordovaClassLib")]
-[assembly: AssemblyDescription("2.7.0")]
+[assembly: AssemblyDescription("0.0.0")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Apache Cordova")]
[assembly: AssemblyProduct("WPCordovaClassLib")]
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("2.7.0.0")]
-[assembly: AssemblyFileVersion("2.7.0.0")]
+[assembly: AssemblyVersion("0.0.0.0")]
+[assembly: AssemblyFileVersion("0.0.0.0")]
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/13717c31/templates/standalone/Plugins/Device.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/Plugins/Device.cs b/templates/standalone/Plugins/Device.cs
index 07100ae..8abb4ff 100644
--- a/templates/standalone/Plugins/Device.cs
+++ b/templates/standalone/Plugins/Device.cs
@@ -73,7 +73,7 @@ namespace WPCordovaClassLib.Cordova.Commands
get
{
// TODO: should be able to dynamically read the Cordova version from somewhere...
- return "2.7.0";
+ return "0.0.0";
}
}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/13717c31/templates/standalone/VERSION
----------------------------------------------------------------------
diff --git a/templates/standalone/VERSION b/templates/standalone/VERSION
index 9aa3464..bd52db8 100644
--- a/templates/standalone/VERSION
+++ b/templates/standalone/VERSION
@@ -1 +1 @@
-2.7.0
\ No newline at end of file
+0.0.0
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/13717c31/templates/vs/MyTemplateStandAlone.vstemplate
----------------------------------------------------------------------
diff --git a/templates/vs/MyTemplateStandAlone.vstemplate b/templates/vs/MyTemplateStandAlone.vstemplate
index ab5a43b..6ecd8db 100644
--- a/templates/vs/MyTemplateStandAlone.vstemplate
+++ b/templates/vs/MyTemplateStandAlone.vstemplate
@@ -1,13 +1,13 @@
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
- <Name>CordovaWP8_2_7_0</Name>
- <Description>Cordova 2.7.0 for Windows Phone 8 using the Cordova source code directly.</Description>
+ <Name>CordovaWP8_0_0_0</Name>
+ <Description>Cordova 0.0.0 for Windows Phone 8 using the Cordova source code directly.</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
- <DefaultName>CordovaWP8_2_7_0</DefaultName>
+ <DefaultName>CordovaWP8_0_0_0</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/13717c31/templates/vs/description.txt
----------------------------------------------------------------------
diff --git a/templates/vs/description.txt b/templates/vs/description.txt
index b8c91ec..99306fa 100644
--- a/templates/vs/description.txt
+++ b/templates/vs/description.txt
@@ -1,8 +1,8 @@
CordovaWP8_2_6_0_Full
-Apache Cordova 2.7.0 Windows Phone 8 App using a pre-built dll.
+Apache Cordova 0.0.0 Windows Phone 8 App using a pre-built dll.
CordovaWP8_2_6_0_StandAlone
-Apache Cordova 2.7.0 Windows Phone 8 App including all framework source code.
+Apache Cordova 0.0.0 Windows Phone 8 App including all framework source code.
[11/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/contacts.html
----------------------------------------------------------------------
diff --git a/example/www/contacts.html b/example/www/contacts.html
deleted file mode 100644
index ae79f08..0000000
--- a/example/www/contacts.html
+++ /dev/null
@@ -1,169 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Contacts
- //-------------------------------------------------------------------------
- function getContacts() {
- obj = new ContactFindOptions();
- obj.filter = ""; //Brooks";
- obj.multiple = true;
- navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails", "urls", "note"],
- function(contacts)
- {
- console.log("received contacts :: " + contacts.length);
- console.log("contacts[0] = " + contacts[0]);
-
- var s = "";
- if (contacts.length == 0)
- {
- s = "No contacts found";
- }
- else
- {
- s = "Number of contacts: "+contacts.length+"<br/><table width='100%'><tr><th>Name</th><td>Phone</td><td>Email</td></tr>";
-
- for (var i=0; i < contacts.length; i++)
- {
- try
- {
- var contact = JSON.parse(contacts[i]);
- }
- catch(e)
- {
- console.log(e.message + " " + contacts[i]);
- continue;
- }
- s = s + "<tr><td>" + contact.displayName + "</td><td>";
-
- if (contact.phoneNumbers && contact.phoneNumbers.length > 0)
- {
- s = s + contact.phoneNumbers[0];
- }
- s = s + "</td><td>"
-
- if (contact.emails && contact.emails.length > 0)
- {
- s = s + contact.emails[0];
- }
- s = s + "</td></tr>";
- }
- s = s + "</table>";
- }
-
- document.getElementById('contacts_results').innerHTML = s;
- },
- function(e)
- {
- document.getElementById('contacts_results').innerHTML = "Error: "+e.code;
- },
- obj);
- };
-
- function addContact(){
- console.log("addContact()");
- try{
-
- console.log("before create");
-
- // create seems to be failing...
- var contact = navigator.contacts.create({"displayName": "Dooney Evans"});
-
- console.log("contact created");
-
- var contactName = {
- formatted: "Dooney Evans",
- familyName: "Evans",
- givenName: "Dooney",
- middleName: ""
- };
-
- console.log("create contactName");
-
- contact.name = contactName;
-
- contact.phoneNumbers = [new ContactField('work', '512-555-1234', true)];
-
- console.log("create contact phone number");
-
- contact.save(
- function(id) { console.log("Contact saved." + id);},
- function(e) { console.log("Contact save failed: " + e.code); }
- );
-
- console.log("saving the contact");
- }
- catch (e)
- {
- //alert(e);
- console.log("failed to save contact");
- }
-
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
- </script>
-
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Contacts</h1>
- <div id="info">
- Results:<br/>
- <span id="contacts_results"> </span>
- </div>
- <h2>Action</h2>
- <a class="btn large" onClick="getContacts();">Get phone's contacts</a>
- <a class="btn large" onClick="addContact();">Add a new contact 'Dooney Evans'</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
[05/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/file.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/file.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/file.tests.js
deleted file mode 100644
index 06d8ec8..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/file.tests.js
+++ /dev/null
@@ -1,3462 +0,0 @@
-describe('File API', function() {
- // Adding a Jasmine helper matcher, to report errors when comparing to FileError better.
- var fileErrorMap = {
- 1: 'NOT_FOUND_ERR',
- 2: 'SECURITY_ERR',
- 3: 'ABORT_ERR',
- 4: 'NOT_READABLE_ERR',
- 5: 'ENCODING_ERR',
- 6: 'NO_MODIFICATION_ALLOWED_ERR',
- 7: 'INVALID_STATE_ERR',
- 8: 'SYNTAX_ERR',
- 9: 'INVALID_MODIFICATION_ERR',
- 10:'QUOTA_EXCEEDED_ERR',
- 11:'TYPE_MISMATCH_ERR',
- 12:'PATH_EXISTS_ERR'
- };
- beforeEach(function() {
- this.addMatchers({
- toBeFileError: function(code) {
- var error = this.actual;
- this.message = function(){
- return "Expected FileError with code " + fileErrorMap[error.code] + " (" + error.code + ") to be " + fileErrorMap[code] + "(" + code + ")";
- };
- return (error.code == code);
- },
- toCanonicallyMatch:function(path){
- this.message = function(){
- return "Expected paths to match : " + path + " should be " + this.actual;
- };
-
- var a = path.split("/").join("").split("\\").join("");
- var b = this.actual.split("/").join("").split("\\").join("");
-
- return a == b;
- }
- });
- });
-
- // HELPER FUNCTIONS
-
- // deletes specified file or directory
- var deleteEntry = function(name, success, error) {
- // deletes entry, if it exists
- window.resolveLocalFileSystemURI(root.toURL() + '/' + name,
- function(entry) {
- if (entry.isDirectory === true) {
- entry.removeRecursively(success, error);
- } else {
- entry.remove(success, error);
- }
- }, success);
- };
- // deletes file, if it exists, then invokes callback
- var deleteFile = function(fileName, callback) {
- root.getFile(fileName, null,
- // remove file system entry
- function(entry) {
- entry.remove(callback, function() { console.log('[ERROR] deleteFile cleanup method invoked fail callback.'); });
- },
- // doesn't exist
- callback);
- };
- // deletes and re-creates the specified file
- var createFile = function(fileName, success, error) {
- deleteEntry(fileName, function() {
- root.getFile(fileName, {create: true}, success, error);
- }, error);
- };
- // deletes and re-creates the specified directory
- var createDirectory = function(dirName, success, error) {
- deleteEntry(dirName, function() {
- root.getDirectory(dirName, {create: true}, success, error);
- }, error);
- };
-
- var createFail = function(module) {
- return jasmine.createSpy().andCallFake(function(err) {
- console.log('[ERROR ' + module + '] ' + JSON.stringify(err));
- });
- };
-
- var createWin = function(module) {
- return jasmine.createSpy().andCallFake(function() {
- console.log('[ERROR ' + module + '] Unexpected success callback');
- });
- };
-
- describe('FileError object', function() {
- it("should define FileError constants", function() {
- expect(FileError.NOT_FOUND_ERR).toBe(1);
- expect(FileError.SECURITY_ERR).toBe(2);
- expect(FileError.ABORT_ERR).toBe(3);
- expect(FileError.NOT_READABLE_ERR).toBe(4);
- expect(FileError.ENCODING_ERR).toBe(5);
- expect(FileError.NO_MODIFICATION_ALLOWED_ERR).toBe(6);
- expect(FileError.INVALID_STATE_ERR).toBe(7);
- expect(FileError.SYNTAX_ERR).toBe(8);
- expect(FileError.INVALID_MODIFICATION_ERR).toBe(9);
- expect(FileError.QUOTA_EXCEEDED_ERR).toBe(10);
- expect(FileError.TYPE_MISMATCH_ERR).toBe(11);
- expect(FileError.PATH_EXISTS_ERR).toBe(12);
- });
- });
-
- describe('LocalFileSystem', function() {
-
- it("should define LocalFileSystem constants", function() {
- expect(LocalFileSystem.TEMPORARY).toBe(0);
- expect(LocalFileSystem.PERSISTENT).toBe(1);
- });
-
- describe('window.requestFileSystem', function() {
- it("should be defined", function() {
- expect(window.requestFileSystem).toBeDefined();
- });
- it("should be able to retrieve a PERSISTENT file system", function() {
- var win = jasmine.createSpy().andCallFake(function(fileSystem) {
- expect(fileSystem).toBeDefined();
- expect(fileSystem.name).toBeDefined();
- expect(fileSystem.name).toBe("persistent");
- expect(fileSystem.root).toBeDefined();
- }),
- fail = createFail('window.requestFileSystem');
-
- // retrieve PERSISTENT file system
- runs(function() {
- window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).not.toHaveBeenCalled();
- expect(win).toHaveBeenCalled();
- });
- });
- it("should be able to retrieve a TEMPORARY file system", function() {
- var win = jasmine.createSpy().andCallFake(function(fileSystem) {
- expect(fileSystem).toBeDefined();
- expect(fileSystem.name).toBeDefined();
- expect(fileSystem.name).toBe("temporary");
- expect(fileSystem.root).toBeDefined();
- }),
- fail = createFail('window.requestFileSystem');
-
- // Request the file system
- runs(function() {
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).not.toHaveBeenCalled();
- expect(win).toHaveBeenCalled();
- });
- });
- it("should error if you request a file system that is too large", function() {
- var fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.QUOTA_EXCEEDED_ERR);
- }),
- win = createWin('window.requestFileSystem');
-
- // Request the file system
- runs(function() {
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 1000000000000000, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(fail).toHaveBeenCalled();
- });
- });
- it("should error out if you request a file system that does not exist", function() {
- var fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.SYNTAX_ERR);
- }),
- win = createWin('window.requestFileSystem');
-
- // Request the file system
- runs(function() {
- window.requestFileSystem(-1, 0, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(fail).toHaveBeenCalled();
- });
- });
- });
-
- describe('window.resolveLocalFileSystemURI', function() {
- it("should be defined", function() {
- expect(window.resolveLocalFileSystemURI).toBeDefined();
- });
- it("should resolve a valid file name", function() {
- var fileName = "resolve.file.uri",
- win = jasmine.createSpy().andCallFake(function(fileEntry) {
- expect(fileEntry).toBeDefined();
- expect(fileEntry.name).toCanonicallyMatch(fileName);
-
- // cleanup
- deleteEntry(fileName);
- }),
- fail = createFail('window.resolveLocalFileSystemURI');
- resolveCallback = jasmine.createSpy().andCallFake(function(entry) {
- // lookup file system entry
- runs(function() {
- window.resolveLocalFileSystemURI(entry.toURL(), win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "resolveLocalFileSystemURI callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- // create a new file entry
- runs(function() {
- createFile(fileName, resolveCallback, fail);
- });
-
- waitsFor(function() { return resolveCallback.wasCalled; }, "createFile callback never called", Tests.TEST_TIMEOUT);
- });
- it("resolve valid file name with parameters", function() {
- var fileName = "resolve.file.uri.params",
- win = jasmine.createSpy().andCallFake(function(fileEntry) {
- expect(fileEntry).toBeDefined();
- expect(fileEntry.name).toBe(fileName);
-
- // cleanup
- deleteEntry(fileName);
- }),
- fail = createFail('window.resolveLocalFileSystemURI');
- resolveCallback = jasmine.createSpy().andCallFake(function(entry) {
- // lookup file system entry
- runs(function() {
- window.resolveLocalFileSystemURI(entry.toURL() + "?1234567890", win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "resolveLocalFileSystemURI callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- // create a new file entry
- runs(function() {
- createFile(fileName, resolveCallback, fail);
- });
-
- waitsFor(function() { return resolveCallback.wasCalled; }, "createFile callback never called", Tests.TEST_TIMEOUT);
- });
- it("should error (NOT_FOUND_ERR) when resolving (non-existent) invalid file name", function() {
- var fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- }),
- win = createWin('window.resolveLocalFileSystemURI');
-
- // lookup file system entry
- runs(function() {
- window.resolveLocalFileSystemURI("file:///this.is.not.a.valid.file.txt", win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- });
- it("should error (ENCODING_ERR) when resolving invalid URI with leading /", function() {
- var fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.ENCODING_ERR);
- }),
- win = createWin('window.resolveLocalFileSystemURI');
-
- // lookup file system entry
- runs(function() {
- window.resolveLocalFileSystemURI("/this.is.not.a.valid.url", win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- });
- });
- });
-
- describe('Metadata interface', function() {
- it("should exist and have the right properties", function() {
- var metadata = new Metadata();
- expect(metadata).toBeDefined();
- expect(metadata.modificationTime).toBeDefined();
- });
- });
-
- describe('Flags interface', function() {
- it("should exist and have the right properties", function() {
- var flags = new Flags(false, true);
- expect(flags).toBeDefined();
- expect(flags.create).toBeDefined();
- expect(flags.create).toBe(false);
- expect(flags.exclusive).toBeDefined();
- expect(flags.exclusive).toBe(true);
- });
- });
-
- describe('FileSystem interface', function() {
- it("should have a root that is a DirectoryEntry", function() {
- var win = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(false);
- expect(entry.isDirectory).toBe(true);
- expect(entry.name).toBeDefined();
- expect(entry.fullPath).toBeDefined();
- expect(entry.getMetadata).toBeDefined();
- expect(entry.moveTo).toBeDefined();
- expect(entry.copyTo).toBeDefined();
- expect(entry.toURL).toBeDefined();
- expect(entry.remove).toBeDefined();
- expect(entry.getParent).toBeDefined();
- expect(entry.createReader).toBeDefined();
- expect(entry.getFile).toBeDefined();
- expect(entry.getDirectory).toBeDefined();
- expect(entry.removeRecursively).toBeDefined();
- }),
- fail = createFail('FileSystem');
-
- runs(function() {
- window.resolveLocalFileSystemURI(root.toURL(), win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).not.toHaveBeenCalled();
- expect(win).toHaveBeenCalled();
- });
- });
- });
-
- describe('DirectoryEntry', function() {
- it("getFile: get Entry for file that does not exist", function() {
- var fileName = "de.no.file",
- filePath = root.fullPath + '/' + fileName,
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- }),
- win = createWin('DirectoryEntry');
-
- // create:false, exclusive:false, file does not exist
- runs(function() {
- root.getFile(fileName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "error callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- });
- it("etFile: create new file", function() {
- var fileName = "de.create.file",
- filePath = root.fullPath + '/' + fileName,
- win = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(true);
- expect(entry.isDirectory).toBe(false);
- expect(entry.name).toCanonicallyMatch(fileName);
- expect(entry.fullPath).toBe(filePath);
- // cleanup
- entry.remove(null, null);
- }),
- fail = createFail('DirectoryEntry');
-
- // create:true, exclusive:false, file does not exist
- runs(function() {
- root.getFile(fileName, {create: true}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getFile: create new file (exclusive)", function() {
- var fileName = "de.create.exclusive.file",
- filePath = root.fullPath + '/' + fileName,
- win = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(true);
- expect(entry.isDirectory).toBe(false);
- expect(entry.name).toBe(fileName);
- expect(entry.fullPath).toBe(filePath);
-
- // cleanup
- entry.remove(null, null);
- }),
- fail = createFail('DirectoryEntry');
-
- // create:true, exclusive:true, file does not exist
- runs(function() {
- root.getFile(fileName, {create: true, exclusive:true}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("getFile: create file that already exists", function() {
- var fileName = "de.create.existing.file",
- filePath = root.fullPath + '/' + fileName,
- getFile = jasmine.createSpy().andCallFake(function(file) {
- // create:true, exclusive:false, file exists
- runs(function() {
- root.getFile(fileName, {create:true}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win was never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- fail = createFail('DirectoryEntry'),
- win = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(true);
- expect(entry.isDirectory).toBe(false);
- expect(entry.name).toCanonicallyMatch(fileName);
- expect(entry.fullPath).toBe(filePath);
-
- // cleanup
- entry.remove(null, fail);
- });
- // create file to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, getFile, fail);
- });
-
- waitsFor(function() { return getFile.wasCalled; }, "getFile was never called", Tests.TEST_TIMEOUT);
- });
- it("getFile: create file that already exists (exclusive)", function() {
- var fileName = "de.create.exclusive.existing.file",
- filePath = root.fullPath + '/' + fileName,
- existingFile,
- getFile = jasmine.createSpy().andCallFake(function(file) {
- existingFile = file;
- // create:true, exclusive:true, file exists
- runs(function() {
- root.getFile(fileName, {create:true, exclusive:true}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.PATH_EXISTS_ERR);
-
- // cleanup
- existingFile.remove(null, fail);
- }),
- win = createWin('DirectoryEntry');
-
- // create file to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, getFile, fail);
- });
-
- waitsFor(function() { return getFile.wasCalled; }, "getFile never called", Tests.TEST_TIMEOUT);
- });
- it("getFile: get Entry for existing file", function() {
- var fileName = "de.get.file",
- filePath = root.fullPath + '/' + fileName,
- win = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(true);
- expect(entry.isDirectory).toBe(false);
- expect(entry.name).toCanonicallyMatch(fileName);
- expect(entry.fullPath).toCanonicallyMatch(filePath);
-
- entry.remove(null, fail); //clean up
- }),
- fail = createFail('DirectoryEntry'),
- getFile = jasmine.createSpy().andCallFake(function(file) {
- // create:false, exclusive:false, file exists
- runs(function() {
- root.getFile(fileName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "getFile success callback", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- // create file to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, getFile, fail);
- });
-
- waitsFor(function() { return getFile.wasCalled; }, "file creation", Tests.TEST_TIMEOUT);
- });
- it("DirectoryEntry.getFile: get FileEntry for invalid path", function() {
- var fileName = "de:invalid:path",
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.ENCODING_ERR);
- }),
- win = createWin('DirectoryEntry');
-
- // create:false, exclusive:false, invalid path
- runs(function() {
- root.getFile(fileName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
-
- });
- it("DirectoryEntry.getDirectory: get Entry for directory that does not exist", function() {
- var dirName = "de.no.dir",
- dirPath = root.fullPath + '/' + dirName,
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- }),
- win = createWin('DirectoryEntry');
-
- // create:false, exclusive:false, directory does not exist
- runs(function() {
- root.getDirectory(dirName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- });
- it("DirectoryEntry.getDirectory: create new dir with space then resolveFileSystemURI", function() {
- var dirName = "de create dir",
- dirPath = root.fullPath + '/' + dirName,
- getDir = jasmine.createSpy().andCallFake(function(dirEntry) {
- var dirURI = dirEntry.toURL();
- // now encode URI and try to resolve
- runs(function() {
- window.resolveLocalFileSystemURI(dirURI, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
-
- }), win = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.name).toCanonicallyMatch(dirName);
- expect(directory.fullPath).toCanonicallyMatch(dirPath);
-
- // cleanup
- directory.remove(null, fail);
- }),
- fail = createFail('DirectoryEntry');
-
- // create:true, exclusive:false, directory does not exist
- runs(function() {
- root.getDirectory(dirName, {create: true}, getDir, fail);
- });
-
- waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT);
- });
- it("DirectoryEntry.getDirectory: create new dir with space resolveFileSystemURI with encoded URI", function() {
- var dirName = "de create dir",
- dirPath = root.fullPath + '/' + dirName,
- getDir = jasmine.createSpy().andCallFake(function(dirEntry) {
- var dirURI = dirEntry.toURL();
- // now encode URI and try to resolve
- runs(function() {
- window.resolveLocalFileSystemURI(encodeURI(dirURI), win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- win = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.name).toCanonicallyMatch(dirName);
- expect(directory.fullPath).toCanonicallyMatch(dirPath);
- // cleanup
- directory.remove(null, fail);
- }),
- fail = createFail('DirectoryEntry');
-
- // create:true, exclusive:false, directory does not exist
- runs(function() {
- root.getDirectory(dirName, {create: true}, getDir, fail);
- });
-
- waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT);
- });
-
- it("DirectoryEntry.getDirectory: create new directory", function() {
- var dirName = "de.create.dir",
- dirPath = root.fullPath + '/' + dirName,
- win = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.name).toCanonicallyMatch(dirName);
- expect(directory.fullPath).toCanonicallyMatch(dirPath);
-
- // cleanup
- directory.remove(null, fail);
- }),
- fail = createFail('DirectoryEntry');
-
- // create:true, exclusive:false, directory does not exist
- runs(function() {
- root.getDirectory(dirName, {create: true}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- it("DirectoryEntry.getDirectory: create new directory (exclusive)", function() {
- var dirName = "de.create.exclusive.dir",
- dirPath = root.fullPath + '/' + dirName,
- win = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.name).toCanonicallyMatch(dirName);
- expect(directory.fullPath).toCanonicallyMatch(dirPath);
-
- // cleanup
- directory.remove(null, fail);
- }),
- fail = createFail('DirectoryEntry');
- // create:true, exclusive:true, directory does not exist
- runs(function() {
- root.getDirectory(dirName, {create: true, exclusive:true}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("DirectoryEntry.getDirectory: create directory that already exists", function() {
- var dirName = "de.create.existing.dir",
- dirPath = root.fullPath + '/' + dirName,
- getDir = jasmine.createSpy().andCallFake(function(directory) {
- // create:true, exclusive:false, directory exists
- runs(function() {
- root.getDirectory(dirName, {create:true}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- win = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.name).toCanonicallyMatch(dirName);
- expect(directory.fullPath).toCanonicallyMatch(dirPath);
-
- // cleanup
- directory.remove(null, fail);
- }),
- fail = createFail('DirectoryEntry');
-
- // create directory to kick off it
- runs(function() {
- root.getDirectory(dirName, {create:true}, getDir, this.fail);
- });
-
- waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT);
- });
- it("DirectoryEntry.getDirectory: create directory that already exists (exclusive)", function() {
- var dirName = "de.create.exclusive.existing.dir",
- dirPath = root.fullPath + '/' + dirName,
- existingDir,
- getDir = jasmine.createSpy().andCallFake(function(directory) {
- existingDir = directory;
- // create:true, exclusive:true, directory exists
- runs(function() {
- root.getDirectory(dirName, {create:true, exclusive:true}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.PATH_EXISTS_ERR);
-
- // cleanup
- existingDir.remove(null, fail);
- }),
- win = createWin('DirectoryEntry');
-
- // create directory to kick off it
- runs(function() {
- root.getDirectory(dirName, {create:true}, getDir, fail);
- });
-
- waitsFor(function() { return getDir.wasCalled; }, "getDir never called", Tests.TEST_TIMEOUT);
- });
- it("DirectoryEntry.getDirectory: get Entry for existing directory", function() {
- var dirName = "de.get.dir",
- dirPath = root.fullPath + '/' + dirName,
- getDir = jasmine.createSpy().andCallFake(function(directory) {
- // create:false, exclusive:false, directory exists
- runs(function() {
- root.getDirectory(dirName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- win = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.name).toCanonicallyMatch(dirName);
-
- expect(directory.fullPath).toCanonicallyMatch(dirPath);
-
- // cleanup
- directory.remove(null, fail);
- }),
- fail = createFail('DirectoryEntry');
-
- // create directory to kick off it
- root.getDirectory(dirName, {create:true}, getDir, fail);
- });
- it("DirectoryEntry.getDirectory: get DirectoryEntry for invalid path", function() {
- var dirName = "de:invalid:path",
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.ENCODING_ERR);
- }),
- win = createWin('DirectoryEntry');
-
- // create:false, exclusive:false, invalid path
- runs(function() {
- root.getDirectory(dirName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- });
- it("DirectoryEntry.getDirectory: get DirectoryEntry for existing file", function() {
- var fileName = "de.existing.file",
- existingFile,
- filePath = root.fullPath + '/' + fileName,
- getDir = jasmine.createSpy().andCallFake(function(file) {
- existingFile = file;
- // create:false, exclusive:false, existing file
- runs(function() {
- root.getDirectory(fileName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.TYPE_MISMATCH_ERR);
-
- // cleanup
- existingFile.remove(null, null);
- }),
- win = createWin('DirectoryEntry');
-
- // create file to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, getDir, fail);
- });
-
- waitsFor(function() { return getDir.wasCalled; }, "getDir was called", Tests.TEST_TIMEOUT);
- });
- it("DirectoryEntry.getFile: get FileEntry for existing directory", function() {
- var dirName = "de.existing.dir",
- existingDir,
- dirPath = root.fullPath + '/' + dirName,
- getFile = jasmine.createSpy().andCallFake(function(directory) {
- existingDir = directory;
- // create:false, exclusive:false, existing directory
- runs(function() {
- root.getFile(dirName, {create:false}, win, fail);
- });
-
- waitsFor(function() { return fail.wasCalled; }, "fail never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- fail = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.TYPE_MISMATCH_ERR);
-
- // cleanup
- existingDir.remove(null, null);
- }),
- win = createWin('DirectoryEntry');
-
- // create directory to kick off it
- runs(function() {
- root.getDirectory(dirName, {create:true}, getFile, fail);
- });
-
- waitsFor(function() { return getFile.wasCalled; }, "getFile never called", Tests.TEST_TIMEOUT);
- });
- it("DirectoryEntry.removeRecursively on directory", function() {
- var dirName = "de.removeRecursively",
- subDirName = "dir",
- dirPath = root.fullPath + '/' + dirName,
- //subDirPath = this.root.fullPath + '/' + subDirName,
- subDirPath = dirPath + '/' + subDirName,
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- // delete directory
- var deleteDirectory = jasmine.createSpy().andCallFake(function(directory) {
- runs(function() {
- entry.removeRecursively(remove, fail);
- });
-
- waitsFor(function() { return remove.wasCalled; }, "remove never called", Tests.TEST_TIMEOUT);
- });
- // create a sub-directory within directory
- runs(function() {
- entry.getDirectory(subDirName, {create: true}, deleteDirectory, fail);
- });
-
- waitsFor(function() { return deleteDirectory.wasCalled; }, "deleteDirectory never called", Tests.TEST_TIMEOUT);
- }),
- remove = jasmine.createSpy().andCallFake(function() {
- // it that removed directory no longer exists
- runs(function() {
- root.getDirectory(dirName, {create:false}, win, dirExists);
- });
-
- waitsFor(function() { return dirExists.wasCalled; }, "dirExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(dirExists).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- dirExists = jasmine.createSpy().andCallFake(function(error){
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- }),
- fail = createFail('DirectoryEntry'),
- win = createWin('DirectoryEntry');
-
- // create a new directory entry to kick off it
- runs(function() {
- root.getDirectory(dirName, {create:true}, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("createReader: create reader on existing directory", function() {
- // create reader for root directory
- var reader = root.createReader();
- expect(reader).toBeDefined();
- expect(typeof reader.readEntries).toBe('function');
- });
- it("removeRecursively on root file system", function() {
- var remove = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NO_MODIFICATION_ALLOWED_ERR);
- }),
- win = createWin('DirectoryEntry');
-
- // remove root file system
- runs(function() {
- root.removeRecursively(win, remove);
- });
-
- waitsFor(function() { return remove.wasCalled; }, "remove never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(remove).toHaveBeenCalled();
- });
- });
- });
-
- describe('DirectoryReader interface', function() {
- describe("readEntries", function() {
- it("should read contents of existing directory", function() {
- var reader,
- win = jasmine.createSpy().andCallFake(function(entries) {
- expect(entries).toBeDefined();
- expect(entries instanceof Array).toBe(true);
- }),
- fail = createFail('DirectoryReader');
-
- // create reader for root directory
- reader = root.createReader();
- // read entries
- runs(function() {
- reader.readEntries(win, fail);
- });
-
- waitsFor(function() { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("should read contents of directory that has been removed", function() {
- var dirName = "de.createReader.notfound",
- dirPath = root.fullPath + '/' + dirName,
- entryCallback = jasmine.createSpy().andCallFake(function(directory) {
- // read entries
- var readEntries = jasmine.createSpy().andCallFake(function() {
- var reader = directory.createReader();
-
- runs(function() {
- reader.readEntries(win, itReader);
- });
-
- waitsFor(function() { return itReader.wasCalled; }, "itReader never called", Tests.TEST_TIMEOUT);
- });
- // delete directory
- runs(function() {
- directory.removeRecursively(readEntries, fail);
- });
-
- waitsFor(function() { return readEntries.wasCalled; }, "readEntries never called", Tests.TEST_TIMEOUT);
- }),
- itReader = jasmine.createSpy().andCallFake(function(error) {
- var itDirectoryExists = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- });
-
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
-
- runs(function() {
- root.getDirectory(dirName, {create:false}, win, itDirectoryExists);
- });
-
- waitsFor(function() { return itDirectoryExists.wasCalled; }, "itDirectoryExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itDirectoryExists).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- fail = createFail('DirectoryReader'),
- win = createWin('DirectoryReader');
-
- // create a new directory entry to kick off it
- runs(function() {
- root.getDirectory(dirName, {create:true}, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- });
- });
-
- describe('File', function() {
- it("constructor should be defined", function() {
- expect(File).toBeDefined();
- expect(typeof File).toBe('function');
- });
- it("should be define File attributes", function() {
- var file = new File();
- expect(file.name).toBeDefined();
- expect(file.fullPath).toBeDefined();
- expect(file.type).toBeDefined();
- expect(file.lastModifiedDate).toBeDefined();
- expect(file.size).toBeDefined();
- });
- });
-
- describe('FileEntry', function() {
- it("should be define FileEntry methods", function() {
- var fileName = "fe.methods",
- itFileEntry = jasmine.createSpy().andCallFake(function(fileEntry) {
- expect(fileEntry).toBeDefined();
- expect(typeof fileEntry.createWriter).toBe('function');
- expect(typeof fileEntry.file).toBe('function');
-
- // cleanup
- fileEntry.remove(null, fail);
- }),
- fail = createFail('FileEntry');
-
- // create a new file entry to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, itFileEntry, fail);
- });
-
- waitsFor(function() { return itFileEntry.wasCalled; }, "itFileEntry never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itFileEntry).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("createWriter should return a FileWriter object", function() {
- var fileName = "fe.createWriter",
- itFile,
- entryCallback = jasmine.createSpy().andCallFake(function(fileEntry) {
- itFile = fileEntry;
-
- runs(function() {
- fileEntry.createWriter(itWriter, fail);
- });
-
- waitsFor(function() { return itWriter.wasCalled; }, "itWriter", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itWriter).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itWriter = jasmine.createSpy().andCallFake(function(writer) {
- expect(writer).toBeDefined();
- expect(writer instanceof FileWriter).toBe(true);
-
- // cleanup
- itFile.remove(null, fail);
- }),
- fail = createFail('FileEntry');
-
- // create a new file entry to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("file should return a File object", function() {
- var fileName = "fe.file",
- newFile,
- entryCallback = jasmine.createSpy().andCallFake(function(fileEntry) {
- newFile = fileEntry;
-
- runs(function() {
- fileEntry.file(itFile, fail);
- });
-
- waitsFor(function() { return itFile.wasCalled; }, "itFile never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itFile).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itFile = jasmine.createSpy().andCallFake(function(file) {
- expect(file).toBeDefined();
- expect(file instanceof File).toBe(true);
-
- // cleanup
- newFile.remove(null, fail);
- }),
- fail = createFail('FileEntry');
-
- // create a new file entry to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("file: on File that has been removed", function() {
- var fileName = "fe.no.file",
- entryCallback = jasmine.createSpy().andCallFake(function(fileEntry) {
- // create File object
- var getFile = jasmine.createSpy().andCallFake(function() {
- runs(function() {
- fileEntry.file(win, itFile);
- });
-
- waitsFor(function() { return itFile.wasCalled; }, "itFile never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itFile).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- });
- // delete file
- runs(function() {
- fileEntry.remove(getFile, fail);
- });
-
- waitsFor(function() { return getFile.wasCalled; }, "getFile never called", Tests.TEST_TIMEOUT);
- }),
- itFile = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- }),
- fail = createFail('FileEntry'),
- win = createWin('FileEntry');
-
- // create a new file entry to kick off it
- runs(function() {
- root.getFile(fileName, {create:true}, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- });
- describe('Entry', function() {
- it("Entry object", function() {
- var fileName = "entry",
- fullPath = root.fullPath + '/' + fileName,
- fail = createFail('Entry'),
- itEntry = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(true);
- expect(entry.isDirectory).toBe(false);
- expect(entry.name).toCanonicallyMatch(fileName);
- expect(entry.fullPath).toCanonicallyMatch(fullPath);
- expect(typeof entry.getMetadata).toBe('function');
- expect(typeof entry.setMetadata).toBe('function');
- expect(typeof entry.moveTo).toBe('function');
- expect(typeof entry.copyTo).toBe('function');
- expect(typeof entry.toURL).toBe('function');
- expect(typeof entry.remove).toBe('function');
- expect(typeof entry.getParent).toBe('function');
- expect(typeof entry.createWriter).toBe('function');
- expect(typeof entry.file).toBe('function');
-
- // cleanup
- deleteEntry(fileName);
- });
-
- // create a new file entry
- runs(function() {
- createFile(fileName, itEntry, fail);
- });
-
- waitsFor(function() { return itEntry.wasCalled; }, "itEntry", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itEntry).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("Entry.getMetadata on file", function() {
- var fileName = "entry.metadata.file",
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- runs(function() {
- entry.getMetadata(itMetadata, fail);
- });
-
- waitsFor(function() { return itMetadata.wasCalled; }, "itMetadata never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itMetadata).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- fail = createFail('Entry'),
- itMetadata = jasmine.createSpy().andCallFake(function(metadata) {
- expect(metadata).toBeDefined();
- expect(metadata.modificationTime instanceof Date).toBe(true);
-
- // cleanup
- deleteEntry(fileName);
- });
-
- // create a new file entry
- createFile(fileName, entryCallback, fail);
- });
- it("Entry.getMetadata on directory", function() {
- var dirName = "entry.metadata.dir",
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- runs(function() {
- entry.getMetadata(itMetadata, fail);
- });
-
- waitsFor(function() { return itMetadata.wasCalled; }, "itMetadata never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itMetadata).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- fail = createFail('Entry'),
- itMetadata = jasmine.createSpy().andCallFake(function(metadata) {
- expect(metadata).toBeDefined();
- expect(metadata.modificationTime instanceof Date).toBe(true);
-
- // cleanup
- deleteEntry(dirName);
- });
-
- // create a new directory entry
- runs(function() {
- createDirectory(dirName, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("Entry.getParent on file in root file system", function() {
- var fileName = "entry.parent.file",
- rootPath = root.fullPath,
- fail = createFail('Entry'),
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- runs(function() {
- entry.getParent(itParent, fail);
- });
-
- waitsFor(function() { return itParent.wasCalled; }, "itCalled never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itParent).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itParent = jasmine.createSpy().andCallFake(function(parent) {
- expect(parent).toBeDefined();
- expect(parent.fullPath).toCanonicallyMatch(rootPath);
-
- // cleanup
- deleteEntry(fileName);
- });
-
- // create a new file entry
- runs(function() {
- createFile(fileName, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("Entry.getParent on directory in root file system", function() {
- var dirName = "entry.parent.dir",
- rootPath = root.fullPath,
- fail = createFail('Entry'),
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- runs(function() {
- entry.getParent(itParent, fail);
- });
-
- waitsFor(function() { return itParent.wasCalled; }, "itParent never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itParent).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itParent = jasmine.createSpy().andCallFake(function(parent) {
- expect(parent).toBeDefined();
- expect(parent.fullPath).toCanonicallyMatch(rootPath);
-
- // cleanup
- deleteEntry(dirName);
- });
-
- // create a new directory entry
- runs(function() {
- createDirectory(dirName, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("Entry.getParent on root file system", function() {
- var rootPath = root.fullPath,
- itParent = jasmine.createSpy().andCallFake(function(parent) {
- expect(parent).toBeDefined();
- expect(parent.fullPath).toCanonicallyMatch(rootPath);
- }),
- fail = createFail('Entry');
-
- // create a new directory entry
- runs(function() {
- root.getParent(itParent, fail);
- });
-
- waitsFor(function() { return itParent.wasCalled; }, "itParent never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itParent).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("Entry.toURL on file", function() {
- var fileName = "entry.uri.file",
- rootPath = root.fullPath,
- itURI = jasmine.createSpy().andCallFake(function(entry) {
- var uri = entry.toURL();
- expect(uri).toBeDefined();
- expect(uri.indexOf(rootPath)).not.toBe(-1);
-
- // cleanup
- deleteEntry(fileName);
- }),
- fail = createFail('Entry');
-
- // create a new file entry
- runs(function() {
- createFile(fileName, itURI, fail);
- });
-
- waitsFor(function() { return itURI.wasCalled; }, "itURI never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itURI).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("Entry.toURL on directory", function() {
- var dirName = "entry.uri.dir",
- rootPath = root.fullPath,
- itURI = jasmine.createSpy().andCallFake(function(entry) {
- var uri = entry.toURL();
- expect(uri).toBeDefined();
- expect(uri.indexOf(rootPath)).not.toBe(-1);
-
- // cleanup
- deleteEntry(dirName);
- }),
- fail = createFail('Entry');
-
- // create a new directory entry
- runs(function() {
- createDirectory(dirName, itURI, fail);
- });
-
- waitsFor(function() { return itURI.wasCalled; }, "itURI never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itURI).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
- it("Entry.remove on file", function() {
- var fileName = "entry.rm.file",
- fullPath = root.fullPath + '/' + fileName,
- win = createWin('Entry'),
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- var checkRemove = jasmine.createSpy().andCallFake(function() {
- runs(function() {
- root.getFile(fileName, null, win, itRemove);
- });
-
- waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- expect(itRemove).toHaveBeenCalled();
- });
- });
- expect(entry).toBeDefined();
-
- runs(function() {
- entry.remove(checkRemove, fail);
- });
-
- waitsFor(function() { return checkRemove.wasCalled; }, "checkRemove never called", Tests.TEST_TIMEOUT);
- }),
- itRemove = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- // cleanup
- deleteEntry(fileName);
- }),
- fail = createFail('Entry');
-
- // create a new file entry
- runs(function() {
- createFile(fileName, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("remove on empty directory", function() {
- var dirName = "entry.rm.dir",
- fullPath = root.fullPath + '/' + dirName,
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- var checkRemove = jasmine.createSpy().andCallFake(function() {
- runs(function() {
- root.getDirectory(dirName, null, win, itRemove);
- });
-
- waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itRemove).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- expect(entry).toBeDefined();
-
- runs(function() {
- entry.remove(checkRemove, fail);
- });
-
- waitsFor(function() { return checkRemove.wasCalled; }, "checkRemove never called", Tests.TEST_TIMEOUT);
- }),
- itRemove = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- // cleanup
- deleteEntry(dirName);
- }),
- win = createWin('Entry'),
- fail = createFail('Entry');
-
- // create a new directory entry
- runs(function() {
- createDirectory(dirName, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("remove on non-empty directory", function() {
- var dirName = "entry.rm.dir.not.empty",
- fullPath = root.fullPath + '/' + dirName,
- fileName = "remove.txt",
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- var checkFile = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR);
- // verify that dir still exists
- runs(function() {
- root.getDirectory(dirName, null, itRemove, fail);
- });
-
- waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- expect(itRemove).toHaveBeenCalled();
- });
- });
- // delete directory
- var deleteDirectory = jasmine.createSpy().andCallFake(function(fileEntry) {
- runs(function() {
- entry.remove(win, checkFile);
- });
-
- waitsFor(function() { return checkFile.wasCalled; }, "checkFile never called", Tests.TEST_TIMEOUT);
- });
- // create a file within directory, then try to delete directory
- runs(function() {
- entry.getFile(fileName, {create: true}, deleteDirectory, fail);
- });
-
- waitsFor(function() { return deleteDirectory.wasCalled; }, "deleteDirectory never called", Tests.TEST_TIMEOUT);
- }),
- itRemove = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.fullPath).toCanonicallyMatch(fullPath);
- // cleanup
- deleteEntry(dirName);
- }),
- win = createWin('Entry'),
- fail = createFail('Entry');
-
- // create a new directory entry
- runs(function() {
- createDirectory(dirName, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("remove on root file system", function() {
- var itRemove = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NO_MODIFICATION_ALLOWED_ERR);
- }),
- win = createWin('Entry');
-
- // remove entry that doesn't exist
- runs(function() {
- root.remove(win, itRemove);
- });
-
- waitsFor(function() { return itRemove.wasCalled; }, "itRemove never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(itRemove).toHaveBeenCalled();
- });
- });
- it("copyTo: file", function() {
- var file1 = "entry.copy.file1",
- file2 = "entry.copy.file2",
- fullPath = root.fullPath + '/' + file2,
- fail = createFail('Entry'),
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- // copy file1 to file2
- runs(function() {
- entry.copyTo(root, file2, itCopy, fail);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT);
- }),
- itCopy = jasmine.createSpy().andCallFake(function(entry) {
- expect(entry).toBeDefined();
- expect(entry.isFile).toBe(true);
- expect(entry.isDirectory).toBe(false);
- expect(entry.fullPath).toCanonicallyMatch(fullPath);
- expect(entry.name).toCanonicallyMatch(file2);
-
- runs(function() {
- root.getFile(file2, {create:false}, itFileExists, fail);
- });
-
- waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(fail).not.toHaveBeenCalled();
- expect(itFileExists).toHaveBeenCalled();
- });
- }),
- itFileExists = jasmine.createSpy().andCallFake(function(entry2) {
- // a bit redundant since copy returned this entry already
- expect(entry2).toBeDefined();
- expect(entry2.isFile).toBe(true);
- expect(entry2.isDirectory).toBe(false);
- expect(entry2.fullPath).toCanonicallyMatch(fullPath);
- expect(entry2.name).toCanonicallyMatch(file2);
-
- // cleanup
- deleteEntry(file1);
- deleteEntry(file2);
- });
-
- // create a new file entry to kick off it
- runs(function() {
- createFile(file1, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("copyTo: file onto itself", function() {
- var file1 = "entry.copy.fos.file1",
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- // copy file1 onto itself
- runs(function() {
- entry.copyTo(root, null, win, itCopy);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itCopy).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- });
- }),
- fail = createFail('Entry'),
- win = createWin('Entry'),
- itCopy = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR);
-
- // cleanup
- deleteEntry(file1);
- });
-
- // create a new file entry to kick off it
- runs(function() {
- createFile(file1, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("copyTo: directory", function() {
- var file1 = "file1",
- srcDir = "entry.copy.srcDir",
- dstDir = "entry.copy.dstDir",
- dstPath = root.fullPath + '/' + dstDir,
- filePath = dstPath + '/' + file1,
- entryCallback = jasmine.createSpy().andCallFake(function(directory) {
- var copyDir = jasmine.createSpy().andCallFake(function(fileEntry) {
- // copy srcDir to dstDir
- runs(function() {
- directory.copyTo(root, dstDir, itCopy, fail);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT);
- });
-
- // create a file within new directory
- runs(function() {
- directory.getFile(file1, {create: true}, copyDir, fail);
- });
-
- waitsFor(function() { return copyDir.wasCalled; }, "copyDir never called", Tests.TEST_TIMEOUT);
- }),
- itCopy = jasmine.createSpy().andCallFake(function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.fullPath).toCanonicallyMatch(dstPath);
- expect(directory.name).toCanonicallyMatch(dstDir);
-
- runs(function() {
- root.getDirectory(dstDir, {create:false}, itDirExists, fail);
- });
-
- waitsFor(function() { return itDirExists.wasCalled; }, "itDirExists never called", Tests.TEST_TIMEOUT);
- }),
- itDirExists = jasmine.createSpy().andCallFake(function(dirEntry) {
- expect(dirEntry).toBeDefined();
- expect(dirEntry.isFile).toBe(false);
- expect(dirEntry.isDirectory).toBe(true);
- expect(dirEntry.fullPath).toCanonicallyMatch(dstPath);
- expect(dirEntry.name).toCanonicallyMatch(dstDir);
-
- runs(function() {
- dirEntry.getFile(file1, {create:false}, itFileExists, fail);
- });
-
- waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itFileExists).toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) {
- expect(fileEntry).toBeDefined();
- expect(fileEntry.isFile).toBe(true);
- expect(fileEntry.isDirectory).toBe(false);
- expect(fileEntry.fullPath).toCanonicallyMatch(filePath);
- expect(fileEntry.name).toCanonicallyMatch(file1);
-
- // cleanup
- deleteEntry(srcDir);
- deleteEntry(dstDir);
- }),
- fail = createFail('Entry');
-
- // create a new directory entry to kick off it
- runs(function() {
- createDirectory(srcDir, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("copyTo: directory to backup at same root directory", function() {
- var file1 = "file1",
- srcDir = "entry.copy.srcDirSame",
- dstDir = "entry.copy.srcDirSame-backup",
- dstPath = root.fullPath + '/' + dstDir,
- filePath = dstPath + '/' + file1,
- fail = createFail('Entry copyTo: directory to backup at same root'),
- entryCallback = function(directory) {
- var copyDir = function(fileEntry) {
- // copy srcDir to dstDir
- directory.copyTo(root, dstDir, itCopy, fail);
- };
- // create a file within new directory
- directory.getFile(file1, {create: true}, copyDir, fail);
- },
- itCopy = function(directory) {
- expect(directory).toBeDefined();
- expect(directory.isFile).toBe(false);
- expect(directory.isDirectory).toBe(true);
- expect(directory.fullPath).toCanonicallyMatch(dstPath);
- expect(directory.name).toCanonicallyMatch(dstDir);
-
- root.getDirectory(dstDir, {create:false}, itDirExists, fail);
- },
- itDirExists = function(dirEntry) {
- expect(dirEntry).toBeDefined();
- expect(dirEntry.isFile).toBe(false);
- expect(dirEntry.isDirectory).toBe(true);
- expect(dirEntry.fullPath).toCanonicallyMatch(dstPath);
- expect(dirEntry.name).toCanonicallyMatch(dstDir);
-
- dirEntry.getFile(file1, {create:false}, itFileExists, fail);
- },
- itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) {
- var cleanSrc = jasmine.createSpy();
- var cleanDst = jasmine.createSpy();
- runs(function() {
- expect(fileEntry).toBeDefined();
- expect(fileEntry.isFile).toBe(true);
- expect(fileEntry.isDirectory).toBe(false);
- expect(fileEntry.fullPath).toCanonicallyMatch(filePath);
- expect(fileEntry.name).toCanonicallyMatch(file1);
- expect(fail).not.toHaveBeenCalled();
-
- // cleanup
- deleteEntry(srcDir, cleanSrc);
- deleteEntry(dstDir, cleanDst);
- });
-
- waitsFor(function() { return cleanSrc.wasCalled && cleanDst.wasCalled; }, "cleanSrc and cleanDst cleanup methods", Tests.TEST_TIMEOUT);
- });
-
- // create a new directory entry to kick off it
- runs(function() {
- createDirectory(srcDir, entryCallback, fail);
- });
-
- waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists", 10000);
- });
- it("copyTo: directory onto itself", function() {
- var file1 = "file1",
- srcDir = "entry.copy.dos.srcDir",
- srcPath = root.fullPath + '/' + srcDir,
- filePath = srcPath + '/' + file1,
- win = createWin('Entry'),
- fail = createFail('Entry copyTo: directory onto itself'),
- entryCallback = jasmine.createSpy().andCallFake(function(directory) {
- var copyDir = jasmine.createSpy().andCallFake(function(fileEntry) {
- // copy srcDir onto itself
- runs(function() {
- directory.copyTo(root, null, win, itCopy);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT);
- });
- // create a file within new directory
- runs(function() {
- directory.getFile(file1, {create: true}, copyDir, fail);
- });
-
- waitsFor(function() { return copyDir.wasCalled; }, "copyDir never called", Tests.TEST_TIMEOUT);
- }),
- itCopy = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR);
-
- runs(function() {
- root.getDirectory(srcDir, {create:false}, itDirectoryExists, fail);
- });
-
- waitsFor(function() { return itDirectoryExists.wasCalled; }, "itDirectoryExists", Tests.TEST_TIMEOUT);
- }),
- itDirectoryExists = jasmine.createSpy().andCallFake(function(dirEntry) {
- // returning confirms existence so just check fullPath entry
- expect(dirEntry).toBeDefined();
- expect(dirEntry.fullPath).toCanonicallyMatch(srcPath);
-
- runs(function() {
- dirEntry.getFile(file1, {create:false}, itFileExists, fail);
- });
-
- waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- expect(itFileExists).toHaveBeenCalled();
- });
- }),
- itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) {
- expect(fileEntry).toBeDefined();
- expect(fileEntry.fullPath).toCanonicallyMatch(filePath);
-
- // cleanup
- deleteEntry(srcDir);
- });
-
- // create a new directory entry to kick off it
- runs(function() {
- createDirectory(srcDir, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("copyTo: directory into itself", function() {
- var srcDir = "entry.copy.dis.srcDir",
- dstDir = "entry.copy.dis.dstDir",
- fail = createFail('Entry'),
- win = createWin('Entry'),
- srcPath = root.fullPath + '/' + srcDir,
- entryCallback = jasmine.createSpy().andCallFake(function(directory) {
- // copy source directory into itself
- runs(function() {
- directory.copyTo(directory, dstDir, win, itCopy);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy", Tests.TEST_TIMEOUT);
- }),
- itCopy = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR);
-
- runs(function() {
- root.getDirectory(srcDir, {create:false}, itDirectoryExists, fail);
- });
-
- waitsFor(function() { return itDirectoryExists.wasCalled; }, "itDirectoryExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itDirectoryExists).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itDirectoryExists = jasmine.createSpy().andCallFake(function(dirEntry) {
- // returning confirms existence so just check fullPath entry
- expect(dirEntry).toBeDefined();
- expect(dirEntry.fullPath).toCanonicallyMatch(srcPath);
-
- // cleanup
- deleteEntry(srcDir);
- });
-
- // create a new directory entry to kick off it
- runs(function() {
- createDirectory(srcDir, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("copyTo: directory that does not exist", function() {
- var file1 = "entry.copy.dnf.file1",
- dstDir = "entry.copy.dnf.dstDir",
- filePath = root.fullPath + '/' + file1,
- dstPath = root.fullPath + '/' + dstDir,
- win = createWin('Entry'),
- fail = createFail('Entry'),
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- // copy file to target directory that does not exist
- runs(function() {
- directory = new DirectoryEntry();
- directory.fullPath = dstPath;
- entry.copyTo(directory, null, win, itCopy);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT);
- }),
- itCopy = jasmine.createSpy().andCallFake(function(error) {
- expect(error).toBeDefined();
- expect(error).toBeFileError(FileError.NOT_FOUND_ERR);
- runs(function() {
- root.getFile(file1, {create: false}, itFileExists, fail);
- });
-
- waitsFor(function() { return itFileExists.wasCalled; }, "itFileExists never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- expect(itFileExists).toHaveBeenCalled();
- expect(win).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- }),
- itFileExists = jasmine.createSpy().andCallFake(function(fileEntry) {
- expect(fileEntry).toBeDefined();
- expect(fileEntry.fullPath).toCanonicallyMatch(filePath);
-
- // cleanup
- deleteEntry(file1);
- });
-
- // create a new file entry to kick off it
- runs(function() {
- createFile(file1, entryCallback, fail);
- });
-
- waitsFor(function() { return entryCallback.wasCalled; }, "entryCallback never called", Tests.TEST_TIMEOUT);
- });
- it("copyTo: invalid target name", function() {
- var file1 = "entry.copy.itn.file1",
- file2 = "bad:file:name",
- filePath = root.fullPath + '/' + file1,
- fail = createFail('Entry'),
- win = createWin('Entry'),
- entryCallback = jasmine.createSpy().andCallFake(function(entry) {
- // copy file1 to file2
- runs(function() {
- entry.copyTo(root, file2, win, itCopy);
- });
-
- waitsFor(function() { return itCopy.wasCalled; }, "itCopy never called", Tests.TEST_TIMEOUT);
-
- r
<TRUNCATED>
[06/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/contacts.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/contacts.html b/tests/MobileSpecUnitTests/www/autotest/pages/contacts.html
deleted file mode 100644
index 2575e13..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/contacts.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Contacts API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/contacts.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/datauri.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/datauri.html b/tests/MobileSpecUnitTests/www/autotest/pages/datauri.html
deleted file mode 100644
index 3d5ffd2..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/datauri.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<!--
-
- 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.
-
--->
-<html>
-
-<head>
- <title>Cordova: Data URI tests</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/datauri.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/device.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/device.html b/tests/MobileSpecUnitTests/www/autotest/pages/device.html
deleted file mode 100644
index ed25d81..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/device.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Device API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/device.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/file.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/file.html b/tests/MobileSpecUnitTests/www/autotest/pages/file.html
deleted file mode 100644
index d9e21ca..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/file.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>Cordova: File API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/file.tests.js"></script>
-
- <script type="text/javascript">
- var root, temp_root, persistent_root;
-
- document.addEventListener('deviceready', function () {
- // one-time retrieval of the root file system entry
- var onError = function(e) {
- console.log('[ERROR] Problem setting up root filesystem for test running! Error to follow.');
- console.log(JSON.stringify(e));
- };
-
- window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
- function(fileSystem) {
- console.log('File API test Init: Setting PERSISTENT FS.');
- root = fileSystem.root; // set in file.tests.js
- persistent_root = root;
-
- // Once root is set up, fire off tests
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, onError);
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 0,
- function(fileSystem) {
- console.log('File API test Init: Setting TEMPORARY FS.');
- temp_root = fileSystem.root; // set in file.tests.js
- }, onError);
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/filetransfer.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/filetransfer.html b/tests/MobileSpecUnitTests/www/autotest/pages/filetransfer.html
deleted file mode 100644
index 0fde591..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/filetransfer.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <title>Cordova: File API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/filetransfer.tests.js"></script>
-
- <script type="text/javascript">
- var root, temp_root, persistent_root;
-
- document.addEventListener('deviceready', function () {
- // one-time retrieval of the root file system entry
- var onError = function(e) {
- console.log('[ERROR] Problem setting up root filesystem for test running! Error to follow.');
- console.log(JSON.stringify(e));
- };
-
- window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
- function(fileSystem) {
- console.log('File API test Init: Setting PERSISTENT FS.');
- root = fileSystem.root; // set in file.tests.js
- persistent_root = root;
-
- // Once root is set up, fire off tests
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, onError);
- window.requestFileSystem(LocalFileSystem.TEMPORARY, 0,
- function(fileSystem) {
- console.log('File API test Init: Setting TEMPORARY FS.');
- temp_root = fileSystem.root; // set in file.tests.js
- }, onError);
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/geolocation.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/geolocation.html b/tests/MobileSpecUnitTests/www/autotest/pages/geolocation.html
deleted file mode 100644
index 578c6f4..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/geolocation.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Geolocation API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/geolocation.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/globalization.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/globalization.html b/tests/MobileSpecUnitTests/www/autotest/pages/globalization.html
deleted file mode 100644
index 79c5acd..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/globalization.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<!--
-
- 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.
-
--->
-
-
-<html>
-<head>
- <title>Cordova: Globalization API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
-
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/globalization.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/media.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/media.html b/tests/MobileSpecUnitTests/www/autotest/pages/media.html
deleted file mode 100644
index 48d9e2d..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/media.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Media API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/media.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/network.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/network.html b/tests/MobileSpecUnitTests/www/autotest/pages/network.html
deleted file mode 100644
index 627320c..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/network.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Network API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/network.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/notification.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/notification.html b/tests/MobileSpecUnitTests/www/autotest/pages/notification.html
deleted file mode 100644
index ef9d4a2..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/notification.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Notification API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/notification.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/platform.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/platform.html b/tests/MobileSpecUnitTests/www/autotest/pages/platform.html
deleted file mode 100644
index 884ba45..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/platform.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Platform API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/platform.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/pages/storage.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/pages/storage.html b/tests/MobileSpecUnitTests/www/autotest/pages/storage.html
deleted file mode 100644
index eb0703b..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/pages/storage.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>Cordova: Storage API Specs</title>
-
- <meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0;" />
- <!-- Load jasmine -->
- <link href="../jasmine.css" rel="stylesheet"/>
- <script type="text/javascript" src="../jasmine.js"></script>
- <script type="text/javascript" src="../html/HtmlReporterHelpers.js"></script>
- <script type="text/javascript" src="../html/HtmlReporter.js"></script>
- <script type="text/javascript" src="../html/ReporterView.js"></script>
- <script type="text/javascript" src="../html/SpecView.js"></script>
- <script type="text/javascript" src="../html/SuiteView.js"></script>
- <script type="text/javascript" src="../html/TrivialReporter.js"></script>
-
- <!-- Source -->
- <script type="text/javascript" src="../../cordova.js"></script>
-
- <!-- Load Test Runner -->
- <script type="text/javascript" src="../test-runner.js"></script>
-
- <!-- Tests -->
- <script type="text/javascript" src="../tests/storage.tests.js"></script>
-
- <script type="text/javascript">
- document.addEventListener('deviceready', function () {
- var jasmineEnv = jasmine.getEnv();
- jasmineEnv.updateInterval = 1000;
-
- var htmlReporter = new jasmine.HtmlReporter();
-
- jasmineEnv.addReporter(htmlReporter);
-
- jasmineEnv.specFilter = function(spec) {
- return htmlReporter.specFilter(spec);
- };
-
- jasmineEnv.execute();
- }, false);
- </script>
-</head>
-
-<body>
- <a href="javascript:" class="backBtn" onclick="backHome();">Back</a>
-</body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/test-runner.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/test-runner.js b/tests/MobileSpecUnitTests/www/autotest/test-runner.js
deleted file mode 100644
index e85578c..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/test-runner.js
+++ /dev/null
@@ -1,41 +0,0 @@
-if (window.sessionStorage != null) {
- window.sessionStorage.clear();
-}
-
-// Timeout is 2 seconds to allow physical devices enough
-// time to query the response. This is important for some
-// Android devices.
-var Tests = function() {};
-Tests.TEST_TIMEOUT = 7500;
-
-// Creates a spy that will fail if called.
-function createDoNotCallSpy(name, opt_extraMessage) {
- return jasmine.createSpy().andCallFake(function() {
- var errorMessage = name + ' should not have been called.';
- if (arguments.length) {
- errorMessage += ' Got args: ' + JSON.stringify(arguments);
- }
- if (opt_extraMessage) {
- errorMessage += '\n' + opt_extraMessage;
- }
- expect(false).toBe(true, errorMessage);
- });
-}
-
-// Waits for any of the given spys to be called.
-// Last param may be a custom timeout duration.
-function waitsForAny() {
- var spys = [].slice.call(arguments);
- var timeout = Tests.TEST_TIMEOUT;
- if (typeof spys[spys.length - 1] == 'number') {
- timeout = spys.pop();
- }
- waitsFor(function() {
- for (var i = 0; i < spys.length; ++i) {
- if (spys[i].wasCalled) {
- return true;
- }
- }
- return false;
- }, "Expecting callbacks to be called.", timeout);
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/accelerometer.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/accelerometer.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/accelerometer.tests.js
deleted file mode 100644
index 0b61ac3..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/accelerometer.tests.js
+++ /dev/null
@@ -1,193 +0,0 @@
-describe('Accelerometer (navigator.accelerometer)', function () {
- it("should exist", function () {
- expect(navigator.accelerometer).toBeDefined();
- });
-
- describe("getCurrentAcceleration", function() {
- it("should exist", function() {
- expect(typeof navigator.accelerometer.getCurrentAcceleration).toBeDefined();
- expect(typeof navigator.accelerometer.getCurrentAcceleration == 'function').toBe(true);
- });
-
- it("success callback should be called with an Acceleration object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(a.x).toBeDefined();
- expect(typeof a.x == 'number').toBe(true);
- expect(a.y).toBeDefined();
- expect(typeof a.y == 'number').toBe(true);
- expect(a.z).toBeDefined();
- expect(typeof a.z == 'number').toBe(true);
- expect(a.timestamp).toBeDefined();
- expect(typeof a.timestamp).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.accelerometer.getCurrentAcceleration(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- it("success callback Acceleration object should have (reasonable) values for x, y and z expressed in m/s^2", function() {
- var reasonableThreshold = 15;
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a.x).toBeLessThan(reasonableThreshold);
- expect(a.x).toBeGreaterThan(reasonableThreshold * -1);
- expect(a.y).toBeLessThan(reasonableThreshold);
- expect(a.y).toBeGreaterThan(reasonableThreshold * -1);
- expect(a.z).toBeLessThan(reasonableThreshold);
- expect(a.z).toBeGreaterThan(reasonableThreshold * -1);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.accelerometer.getCurrentAcceleration(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- it("success callback Acceleration object should return a recent timestamp", function() {
- var veryRecently = (new Date()).getTime();
- // Need to check that dates returned are not vastly greater than a recent time stamp.
- // In case the timestamps returned are ridiculously high
- var reasonableTimeLimit = veryRecently + 5000; // 5 seconds from now
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a.timestamp).toBeGreaterThan(veryRecently);
- expect(a.timestamp).toBeLessThan(reasonableTimeLimit);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.accelerometer.getCurrentAcceleration(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("watchAcceleration", function() {
- var id;
-
- afterEach(function() {
- navigator.accelerometer.clearWatch(id);
- });
-
- it("should exist", function() {
- expect(navigator.accelerometer.watchAcceleration).toBeDefined();
- expect(typeof navigator.accelerometer.watchAcceleration == 'function').toBe(true);
- });
- it("success callback should be called with an Acceleration object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a).toBeDefined();
- expect(a.x).toBeDefined();
- expect(typeof a.x == 'number').toBe(true);
- expect(a.y).toBeDefined();
- expect(typeof a.y == 'number').toBe(true);
- expect(a.z).toBeDefined();
- expect(typeof a.z == 'number').toBe(true);
- expect(a.timestamp).toBeDefined();
- expect(typeof a.timestamp).toBe('number');
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- id = navigator.accelerometer.watchAcceleration(win, fail, {frequency:500});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- it("success callback Acceleration object should have (reasonable) values for x, y and z expressed in m/s^2", function() {
- var reasonableThreshold = 15;
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a.x).toBeLessThan(reasonableThreshold);
- expect(a.x).toBeGreaterThan(reasonableThreshold * -1);
- expect(a.y).toBeLessThan(reasonableThreshold);
- expect(a.y).toBeGreaterThan(reasonableThreshold * -1);
- expect(a.z).toBeLessThan(reasonableThreshold);
- expect(a.z).toBeGreaterThan(reasonableThreshold * -1);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- id = navigator.accelerometer.watchAcceleration(win, fail, {frequency:500});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- it("success callback Acceleration object should return a recent timestamp", function() {
- var veryRecently = (new Date()).getTime();
- // Need to check that dates returned are not vastly greater than a recent time stamp.
- // In case the timestamps returned are ridiculously high
- var reasonableTimeLimit = veryRecently + 5000; // 5 seconds from now
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a.timestamp).toBeGreaterThan(veryRecently);
- expect(a.timestamp).toBeLessThan(reasonableTimeLimit);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- id = navigator.accelerometer.watchAcceleration(win, fail, {frequency:500});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("clearWatch", function() {
- it("should exist", function() {
- expect(navigator.accelerometer.clearWatch).toBeDefined();
- expect(typeof navigator.accelerometer.clearWatch == 'function').toBe(true);
- });
-
- it("should clear an existing watch", function() {
- var id,
- win = jasmine.createSpy();
-
- runs(function() {
- id = navigator.accelerometer.watchAcceleration(win, function() {}, {frequency:100});
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function() {
- win.reset();
- navigator.accelerometer.clearWatch(id);
- });
-
- waits(201);
-
- runs(function() {
- expect(win).not.toHaveBeenCalled();
- });
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/battery.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/battery.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/battery.tests.js
deleted file mode 100644
index 7bb25af..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/battery.tests.js
+++ /dev/null
@@ -1,5 +0,0 @@
-describe('Battery (navigator.battery)', function () {;
- it("should exist", function() {
- expect(navigator.battery).toBeDefined();
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/bridge.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/bridge.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/bridge.tests.js
deleted file mode 100644
index ec363d7..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/bridge.tests.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-
-/* This test requires some extra code to run, because we want benchmark results */
-
-/*
- It's never going to be OVER 9000
- http://youtu.be/SiMHTK15Pik
-*/
-var FENCEPOST = 9000;
-
-var exec = cordova.require('cordova/exec'),
- echo = cordova.require('cordova/plugin/echo'),
- startTime,
- endTime,
- callCount,
- durationMs = 1000,
- asyncEcho,
- useSetTimeout,
- payloadSize,
- payload;
-
-var vanillaWin = function(result) {
- callCount++;
- if (result != payload) {
- console.log('Wrong echo data!');
- }
- var elapsedMs = new Date - startTime;
- if (elapsedMs < durationMs) {
- if (useSetTimeout) {
- setTimeout(echoMessage, 0);
- } else {
- echoMessage();
- }
- } else {
- endTime = +new Date;
- }
-}
-
-var reset = function()
-{
- endTime = null;
- callCount = 0;
- useSetTimeout = false;
- payloadSize = 5;
- callsPerSecond = 0;
-}
-
-var echoMessage = function()
-{
- echo(vanillaWin, fail, payload, asyncEcho);
-}
-
-var fail = function() {
- expect(false).toBe(true);
-};
-
-function createTestCase(jsToNativeModeName, nativeToJsModeName, testAsyncEcho) {
- it(jsToNativeModeName + '+' + nativeToJsModeName, function() {
- expect(exec.jsToNativeModes[jsToNativeModeName]).toBeDefined();
- expect(exec.nativeToJsModes[nativeToJsModeName]).toBeDefined();
- reset();
- payload = new Array(payloadSize * 10 + 1).join('012\n\n 6789');
- asyncEcho = testAsyncEcho;
- exec.setJsToNativeBridgeMode(exec.jsToNativeModes[jsToNativeModeName]);
- exec.setNativeToJsBridgeMode(exec.nativeToJsModes[nativeToJsModeName]);
-
- waits(300);
- runs(function() {
- startTime = +new Date,
- echoMessage();
- });
- waitsFor(function() { return endTime; }, "never completed", durationMs * 2);
- runs(function() {
- var elapsedMs = endTime - startTime,
- callsPerSecond = callCount * 1000 / elapsedMs;
- expect(callsPerSecond).toBeGreaterThan(FENCEPOST);
- });
- });
-};
-
-// Wait so that the first benchmark doesn't have contention.
-describe('Wait for page to load.', function() {
- it('waiting...', function() {
- waits(1000);
- });
-});
-
-// Before running on Android, set the following constants in NativeToJsMessagingBridge:
-// - ENABLE_LOCATION_CHANGE_EXEC_MODE = true
-// - DISABLE_EXEC_CHAINING = true
-describe('Android bridge with', function() {
- var testAsyncEcho = false;
- createTestCase('PROMPT', 'POLLING', testAsyncEcho);
- createTestCase('JS_OBJECT', 'POLLING', testAsyncEcho);
- createTestCase('LOCATION_CHANGE', 'ONLINE_EVENT', testAsyncEcho);
-
- testAsyncEcho = true;
- createTestCase('PROMPT', 'POLLING', testAsyncEcho);
- createTestCase('PROMPT', 'HANGING_GET', testAsyncEcho);
- createTestCase('PROMPT', 'LOAD_URL', testAsyncEcho);
- createTestCase('PROMPT', 'ONLINE_EVENT', testAsyncEcho);
- createTestCase('PROMPT', 'PRIVATE_API', testAsyncEcho);
-
- createTestCase('JS_OBJECT', 'POLLING', testAsyncEcho);
- createTestCase('JS_OBJECT', 'HANGING_GET', testAsyncEcho);
- createTestCase('JS_OBJECT', 'LOAD_URL', testAsyncEcho);
- createTestCase('JS_OBJECT', 'ONLINE_EVENT', testAsyncEcho);
- createTestCase('JS_OBJECT', 'PRIVATE_API', testAsyncEcho);
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/camera.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/camera.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/camera.tests.js
deleted file mode 100644
index 9b6b04c..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/camera.tests.js
+++ /dev/null
@@ -1,47 +0,0 @@
-describe('Camera (navigator.camera)', function () {
- it("should exist", function() {
- expect(navigator.camera).toBeDefined();
- });
-
- it("should contain a getPicture function", function() {
- expect(navigator.camera.getPicture).toBeDefined();
- expect(typeof navigator.camera.getPicture == 'function').toBe(true);
- });
-});
-
-describe('Camera Constants (window.Camera + navigator.camera)', function () {
- it("window.Camera should exist", function() {
- expect(window.Camera).toBeDefined();
- });
-
- it("should contain two DestinationType constants", function() {
- expect(Camera.DestinationType.DATA_URL).toBe(0);
- expect(Camera.DestinationType.FILE_URI).toBe(1);
- expect(navigator.camera.DestinationType.DATA_URL).toBe(0);
- expect(navigator.camera.DestinationType.FILE_URI).toBe(1);
- });
-
- it("should contain two EncodingType constants", function() {
- expect(Camera.EncodingType.JPEG).toBe(0);
- expect(Camera.EncodingType.PNG).toBe(1);
- expect(navigator.camera.EncodingType.JPEG).toBe(0);
- expect(navigator.camera.EncodingType.PNG).toBe(1);
- });
-
- it("should contain three MediaType constants", function() {
- expect(Camera.MediaType.PICTURE).toBe(0);
- expect(Camera.MediaType.VIDEO).toBe(1);
- expect(Camera.MediaType.ALLMEDIA).toBe(2);
- expect(navigator.camera.MediaType.PICTURE).toBe(0);
- expect(navigator.camera.MediaType.VIDEO).toBe(1);
- expect(navigator.camera.MediaType.ALLMEDIA).toBe(2);
- });
- it("should contain three PictureSourceType constants", function() {
- expect(Camera.PictureSourceType.PHOTOLIBRARY).toBe(0);
- expect(Camera.PictureSourceType.CAMERA).toBe(1);
- expect(Camera.PictureSourceType.SAVEDPHOTOALBUM).toBe(2);
- expect(navigator.camera.PictureSourceType.PHOTOLIBRARY).toBe(0);
- expect(navigator.camera.PictureSourceType.CAMERA).toBe(1);
- expect(navigator.camera.PictureSourceType.SAVEDPHOTOALBUM).toBe(2);
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/capture.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/capture.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/capture.tests.js
deleted file mode 100644
index bffced8..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/capture.tests.js
+++ /dev/null
@@ -1,95 +0,0 @@
-describe('Capture (navigator.device.capture)', function () {
- it("should exist", function() {
- expect(navigator.device).toBeDefined();
- expect(navigator.device.capture).toBeDefined();
- });
-
- it("should have the correct properties ", function() {
- expect(navigator.device.capture.supportedAudioModes).toBeDefined();
- expect(navigator.device.capture.supportedImageModes).toBeDefined();
- expect(navigator.device.capture.supportedVideoModes).toBeDefined();
- });
-
- it("should contain a captureAudio function", function() {
- expect(navigator.device.capture.captureAudio).toBeDefined();
- expect(typeof navigator.device.capture.captureAudio == 'function').toBe(true);
- });
-
- it("should contain a captureImage function", function() {
- expect(navigator.device.capture.captureImage).toBeDefined();
- expect(typeof navigator.device.capture.captureImage == 'function').toBe(true);
- });
-
- it("should contain a captureVideo function", function() {
- expect(navigator.device.capture.captureVideo).toBeDefined();
- expect(typeof navigator.device.capture.captureVideo == 'function').toBe(true);
- });
-
- describe('CaptureAudioOptions', function () {
- it("CaptureAudioOptions constructor should exist", function() {
- var options = new CaptureAudioOptions();
- expect(options).toBeDefined();
- expect(options.limit).toBeDefined();
- expect(options.duration).toBeDefined();
- expect(options.mode).toBeDefined();
- });
- });
-
- describe('CaptureImageOptions', function () {
- it("CaptureImageOptions constructor should exist", function() {
- var options = new CaptureImageOptions();
- expect(options).toBeDefined();
- expect(options.limit).toBeDefined();
- expect(options.mode).toBeDefined();
- });
- });
-
- describe('CaptureVideoOptions', function () {
- it("CaptureVideoOptions constructor should exist", function() {
- var options = new CaptureVideoOptions();
- expect(options).toBeDefined();
- expect(options.limit).toBeDefined();
- expect(options.duration).toBeDefined();
- expect(options.mode).toBeDefined();
- });
- });
-
- describe('CaptureError interface', function () {
- it("CaptureError constants should be defined", function() {
- expect(CaptureError.CAPTURE_INTERNAL_ERR).toBe(0);
- expect(CaptureError.CAPTURE_APPLICATION_BUSY).toBe(1);
- expect(CaptureError.CAPTURE_INVALID_ARGUMENT).toBe(2);
- expect(CaptureError.CAPTURE_NO_MEDIA_FILES).toBe(3);
- });
-
- it("CaptureError properties should exist", function() {
- var error = new CaptureError();
- expect(error).toBeDefined();
- expect(error.code).toBeDefined();
- });
- });
-
- describe('MediaFileData', function () {
- it("MediaFileData constructor should exist", function() {
- var fileData = new MediaFileData();
- expect(fileData).toBeDefined();
- expect(fileData.bitrate).toBeDefined();
- expect(fileData.codecs).toBeDefined();
- expect(fileData.duration).toBeDefined();
- expect(fileData.height).toBeDefined();
- expect(fileData.width).toBeDefined();
- });
- });
-
- describe('MediaFile', function () {
- it("MediaFile constructor should exist", function() {
- var fileData = new MediaFile();
- expect(fileData).toBeDefined();
- expect(fileData.name).toBeDefined();
- expect(fileData.fullPath).toBeDefined();
- expect(fileData.type).toBeDefined();
- expect(fileData.lastModifiedDate).toBeDefined();
- expect(fileData.size).toBeDefined();
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/compass.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/compass.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/compass.tests.js
deleted file mode 100644
index a16ec0e..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/compass.tests.js
+++ /dev/null
@@ -1,76 +0,0 @@
-describe('Compass (navigator.compass)', function () {
- it("should exist", function() {
- expect(navigator.compass).toBeDefined();
- });
-
- it("should contain a getCurrentHeading function", function() {
- expect(navigator.compass.getCurrentHeading).toBeDefined();
- expect(typeof navigator.compass.getCurrentHeading == 'function').toBe(true);
- });
-
- it("getCurrentHeading success callback should be called with a Heading object", function() {
- var win = jasmine.createSpy().andCallFake(function(a) {
- expect(a instanceof CompassHeading).toBe(true);
- expect(a.magneticHeading).toBeDefined();
- expect(typeof a.magneticHeading == 'number').toBe(true);
- expect(a.trueHeading).not.toBe(undefined);
- expect(typeof a.trueHeading == 'number' || a.trueHeading === null).toBe(true);
- expect(a.headingAccuracy).not.toBe(undefined);
- expect(typeof a.headingAccuracy == 'number' || a.headingAccuracy === null).toBe(true);
- expect(typeof a.timestamp == 'number').toBe(true);
- }),
- fail = jasmine.createSpy();
-
- runs(function () {
- navigator.compass.getCurrentHeading(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "success callback never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- expect(win).toHaveBeenCalled();
- });
- });
-
- it("should contain a watchHeading function", function() {
- expect(navigator.compass.watchHeading).toBeDefined();
- expect(typeof navigator.compass.watchHeading == 'function').toBe(true);
- });
-
- it("should contain a clearWatch function", function() {
- expect(navigator.compass.clearWatch).toBeDefined();
- expect(typeof navigator.compass.clearWatch == 'function').toBe(true);
- });
-
- describe('Compass Constants (window.CompassError)', function () {
- it("should exist", function() {
- expect(window.CompassError).toBeDefined();
- expect(window.CompassError.COMPASS_INTERNAL_ERR).toBe(0);
- expect(window.CompassError.COMPASS_NOT_SUPPORTED).toBe(20);
- });
- });
-
- describe('Compass Heading model (CompassHeading)', function () {
- it("should exist", function() {
- expect(CompassHeading).toBeDefined();
- });
-
- it("should be able to create a new CompassHeading instance with no parameters", function() {
- var h = new CompassHeading();
- expect(h.magneticHeading).toBeDefined();
- expect(h.trueHeading).toBeDefined();
- expect(h.headingAccuracy).toBeDefined();
- expect(typeof h.timestamp == 'number').toBe(true);
- });
-
- it("should be able to creat a new CompassHeading instance with parameters", function() {
- var h = new CompassHeading(1,2,3,4);
- expect(h.magneticHeading).toBe(1);
- expect(h.trueHeading).toBe(2);
- expect(h.headingAccuracy).toBe(3);
- expect(h.timestamp.valueOf()).toBe(4);
- expect(typeof h.timestamp == 'number').toBe(true);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/contacts.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/contacts.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/contacts.tests.js
deleted file mode 100644
index a5f41a5..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/contacts.tests.js
+++ /dev/null
@@ -1,451 +0,0 @@
-// global to store a contact so it doesn't have to be created or retrieved multiple times
-// all of the setup/teardown test methods can reference the following variables to make sure to do the right cleanup
-var gContactObj = null;
-var gContactId = null;
-
-var removeContact = function(){
- if (gContactObj) {
- gContactObj.remove(function(){},function(){
- console.log("[CONTACTS ERROR]: removeContact cleanup method failed to clean up test artifacts.");
- });
- gContactObj = null;
- }
-};
-
-describe("Contacts (navigator.contacts)", function () {
- it("should exist", function() {
- expect(navigator.contacts).toBeDefined();
- });
-
- it("should contain a find function", function() {
- expect(navigator.contacts.find).toBeDefined();
- expect(typeof navigator.contacts.find).toBe('function');
- });
-
- describe("find method", function() {
- it("success callback should be called with an array", function() {
- var win = jasmine.createSpy().andCallFake(function(result) {
- expect(result).toBeDefined();
- expect(result instanceof Array).toBe(true);
- }),
- fail = jasmine.createSpy(),
- obj = new ContactFindOptions();
-
- runs(function () {
- obj.filter="";
- obj.multiple=true;
- navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], win, fail, obj);
- });
-
- waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- it("should throw an exception if success callback is empty", function() {
- var fail = function() {};
- var obj = new ContactFindOptions();
- obj.filter="";
- obj.multiple=true;
-
- expect(function () {
- navigator.contacts.find(["displayName", "name", "emails", "phoneNumbers"], null, fail, obj);
- }).toThrow();
- });
-
- it("error callback should be called when no fields are specified", function() {
- var win = jasmine.createSpy(),
- fail = jasmine.createSpy(function(result) {
- expect(result).toBeDefined();
- expect(result.code).toBe(ContactError.INVALID_ARGUMENT_ERROR);
- }),
- obj = new ContactFindOptions();
-
- runs(function () {
- obj.filter="";
- obj.multiple=true;
- navigator.contacts.find([], win, fail, obj);
- });
-
- waitsFor(function () { return fail.wasCalled; }, Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- expect(fail).toHaveBeenCalled();
- });
- });
-
- describe("with newly-created contact", function () {
-
- afterEach(removeContact);
-
- it("should be able to find a contact by name", function() {
- var foundName = jasmine.createSpy().andCallFake(function(result) {
- var bFound = false;
- try {
- for (var i=0; i < result.length; i++) {
- if (result[i].name.familyName == "Delete") {
- bFound = true;
- break;
- }
- }
- } catch(e) {
- return false;
- }
- return bFound;
- }),
- fail = jasmine.createSpy(),
- test = jasmine.createSpy().andCallFake(function(savedContact) {
- console.log('in test');
- // update so contact will get removed
- gContactObj = savedContact;
- // ----
- // Find asserts
- // ---
- var findWin = jasmine.createSpy().andCallFake(function(object) {
- console.log('in findwin');
- expect(object instanceof Array).toBe(true);
- expect(object.length >= 1).toBe(true);
- expect(foundName(object)).toBe(true);
- }),
- findFail = jasmine.createSpy(),
- obj = new ContactFindOptions();
-
- obj.filter="Delete";
- obj.multiple=true;
-
- runs(function () {
- navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], findWin, findFail, obj);
- });
-
- waitsFor(function () { return foundName.wasCalled; }, "foundName not done", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(findFail).not.toHaveBeenCalled();
- expect(fail).not.toHaveBeenCalled();
- });
- });
-
- runs(function () {
- gContactObj = new Contact();
- gContactObj.name = new ContactName();
- gContactObj.name.familyName = "Delete";
- gContactObj.save(test, fail);
- });
-
- waitsFor(function () { return test.wasCalled; }, "test not done", Tests.TEST_TIMEOUT);
- });
- });
- });
-
- describe('create method', function() {
-
- it("should exist", function() {
- expect(navigator.contacts.create).toBeDefined();
- expect(typeof navigator.contacts.create).toBe('function');
- });
-
- it("should return a Contact object", function() {
- var bDay = new Date(1976, 7,4);
- var obj = navigator.contacts.create({"displayName": "test name", "gender": "male", "note": "my note", "name": {"formatted": "Mr. Test Name"}, "emails": [{"value": "here@there.com"}, {"value": "there@here.com"}], "birthday": bDay});
-
- expect(obj).toBeDefined();
- expect(obj.displayName).toBe('test name');
- expect(obj.note).toBe('my note');
- expect(obj.name.formatted).toBe('Mr. Test Name');
- expect(obj.emails.length).toBe(2);
- expect(obj.emails[0].value).toBe('here@there.com');
- expect(obj.emails[1].value).toBe('there@here.com');
- expect(obj.nickname).toBe(null);
- expect(obj.birthday).toBe(bDay);
- });
- });
-
- describe("Contact object", function () {
- it("should be able to create instance", function() {
- var contact = new Contact("a", "b", new ContactName("a", "b", "c", "d", "e", "f"), "c", [], [], [], [], [], "f", "i",
- [], [], []);
- expect(contact).toBeDefined();
- expect(contact.id).toBe("a");
- expect(contact.displayName).toBe("b");
- expect(contact.name.formatted).toBe("a");
- expect(contact.nickname).toBe("c");
- expect(contact.phoneNumbers).toBeDefined();
- expect(contact.emails).toBeDefined();
- expect(contact.addresses).toBeDefined();
- expect(contact.ims).toBeDefined();
- expect(contact.organizations).toBeDefined();
- expect(contact.birthday).toBe("f");
- expect(contact.note).toBe("i");
- expect(contact.photos).toBeDefined();
- expect(contact.categories).toBeDefined();
- expect(contact.urls).toBeDefined();
- });
-
- it("should be able to define a ContactName object", function() {
- var contactName = new ContactName("Dr. First Last Jr.", "Last", "First", "Middle", "Dr.", "Jr.");
- expect(contactName).toBeDefined();
- expect(contactName.formatted).toBe("Dr. First Last Jr.");
- expect(contactName.familyName).toBe("Last");
- expect(contactName.givenName).toBe("First");
- expect(contactName.middleName).toBe("Middle");
- expect(contactName.honorificPrefix).toBe("Dr.");
- expect(contactName.honorificSuffix).toBe("Jr.");
- });
-
- it("should be able to define a ContactField object", function() {
- var contactField = new ContactField("home", "8005551212", true);
- expect(contactField).toBeDefined();
- expect(contactField.type).toBe("home");
- expect(contactField.value).toBe("8005551212");
- expect(contactField.pref).toBe(true);
- });
-
- it("ContactField object should coerce type and value properties to strings", function() {
- var contactField = new ContactField(12345678, 12345678, true);
- expect(contactField.type).toBe("12345678");
- expect(contactField.value).toBe("12345678");
- });
-
- it("should be able to define a ContactAddress object", function() {
- var contactAddress = new ContactAddress(true, "home", "a","b","c","d","e","f");
- expect(contactAddress).toBeDefined();
- expect(contactAddress.pref).toBe(true);
- expect(contactAddress.type).toBe("home");
- expect(contactAddress.formatted).toBe("a");
- expect(contactAddress.streetAddress).toBe("b");
- expect(contactAddress.locality).toBe("c");
- expect(contactAddress.region).toBe("d");
- expect(contactAddress.postalCode).toBe("e");
- expect(contactAddress.country).toBe("f");
- });
-
- it("should be able to define a ContactOrganization object", function() {
- var contactOrg = new ContactOrganization(true, "home", "a","b","c","d","e","f","g");
- expect(contactOrg).toBeDefined();
- expect(contactOrg.pref).toBe(true);
- expect(contactOrg.type).toBe("home");
- expect(contactOrg.name).toBe("a");
- expect(contactOrg.department).toBe("b");
- expect(contactOrg.title).toBe("c");
- });
-
- it("should be able to define a ContactFindOptions object", function() {
- var contactFindOptions = new ContactFindOptions("a", true, "b");
- expect(contactFindOptions).toBeDefined();
- expect(contactFindOptions.filter).toBe("a");
- expect(contactFindOptions.multiple).toBe(true);
- });
-
- it("should contain a clone function", function() {
- var contact = new Contact();
- expect(contact.clone).toBeDefined();
- expect(typeof contact.clone).toBe('function');
- });
-
- it("clone function should make deep copy of Contact Object", function() {
- var contact = new Contact();
- contact.id=1;
- contact.displayName="Test Name";
- contact.nickname="Testy";
- contact.gender="male";
- contact.note="note to be cloned";
- contact.name = new ContactName("Mr. Test Name");
-
- var clonedContact = contact.clone();
-
- expect(contact.id).toBe(1);
- expect(clonedContact.id).toBe(null);
- expect(clonedContact.displayName).toBe(contact.displayName);
- expect(clonedContact.nickname).toBe(contact.nickname);
- expect(clonedContact.gender).toBe(contact.gender);
- expect(clonedContact.note).toBe(contact.note);
- expect(clonedContact.name.formatted).toBe(contact.name.formatted);
- expect(clonedContact.connected).toBe(contact.connected);
- });
-
- it("should contain a save function", function() {
- var contact = new Contact();
- expect(contact.save).toBeDefined();
- expect(typeof contact.save).toBe('function');
- });
-
- it("should contain a remove function", function() {
- var contact = new Contact();
- expect(contact.remove).toBeDefined();
- expect(typeof contact.remove).toBe('function');
- });
- });
-
- describe('save method', function () {
- it("should be able to save a contact", function() {
- var bDay = new Date(1976, 6,4);
- gContactObj = navigator.contacts.create({"gender": "male", "note": "my note", "name": {"familyName": "Delete", "givenName": "Test"}, "emails": [{"value": "here@there.com"}, {"value": "there@here.com"}], "birthday": bDay});
-
- var saveSuccess = jasmine.createSpy().andCallFake(function(obj) {
- expect(obj).toBeDefined();
- expect(obj.note).toBe('my note');
- expect(obj.name.familyName).toBe('Delete');
- expect(obj.name.givenName).toBe('Test');
- expect(obj.emails.length).toBe(2);
- expect(obj.emails[0].value).toBe('here@there.com');
- expect(obj.emails[1].value).toBe('there@here.com');
- expect(obj.birthday.toDateString()).toBe(bDay.toDateString());
- expect(obj.addresses).toBe(null);
- // must store returned object in order to have id for update test below
- gContactObj = obj;
- }),
- saveFail = jasmine.createSpy();
-
- runs(function () {
- gContactObj.save(saveSuccess, saveFail);
- });
-
- waitsFor(function () { return saveSuccess.wasCalled; }, "saveSuccess never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(saveFail).not.toHaveBeenCalled();
- });
- });
- // HACK: there is a reliance between the previous and next test. This is bad form.
- it("update a contact", function() {
- expect(gContactObj).toBeDefined();
-
- var bDay = new Date(1975, 5,4);
- var noteText = "an UPDATED note";
-
- var win = jasmine.createSpy().andCallFake(function(obj) {
- expect(obj).toBeDefined();
- expect(obj.id).toBe(gContactObj.id);
- expect(obj.note).toBe(noteText);
- expect(obj.birthday.toDateString()).toBe(bDay.toDateString());
- expect(obj.emails.length).toBe(1);
- expect(obj.emails[0].value).toBe('here@there.com');
- removeContact(); // Clean up contact object
- }), fail = jasmine.createSpy().andCallFake(removeContact);
-
- runs(function () {
- // remove an email
- gContactObj.emails[1].value = "";
- // change birthday
- gContactObj.birthday = bDay;
- // update note
- gContactObj.note = noteText;
- gContactObj.save(win, fail);
- });
-
- waitsFor(function () { return win.wasCalled; }, "saveSuccess never called", Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(fail).not.toHaveBeenCalled();
- });
- });
- });
-
- describe('Contact.remove method', function () {
- afterEach(removeContact);
-
- it("calling remove on a contact has an id of null should return ContactError.UNKNOWN_ERROR", function() {
- var win = jasmine.createSpy();
- var fail = jasmine.createSpy().andCallFake(function(result) {
- expect(result.code).toBe(ContactError.UNKNOWN_ERROR);
- });
-
- runs(function () {
- var rmContact = new Contact();
- rmContact.remove(win, fail);
- });
-
- waitsFor(function () { return fail.wasCalled; }, Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- });
- });
-
- it("calling remove on a contact that does not exist should return ContactError.UNKNOWN_ERROR", function() {
- var win = jasmine.createSpy();
- var fail = jasmine.createSpy().andCallFake(function(result) {
- expect(result.code).toBe(ContactError.UNKNOWN_ERROR);
- });
-
- runs(function () {
- var rmContact = new Contact();
- // this is a bit risky as some devices may have contact ids that large
- var contact = new Contact("this string is supposed to be a unique identifier that will never show up on a device");
- contact.remove(win, fail);
- });
-
- waitsFor(function () { return fail.wasCalled; }, Tests.TEST_TIMEOUT);
-
- runs(function () {
- expect(win).not.toHaveBeenCalled();
- });
- });
- });
-
- describe("Round trip Contact tests (creating + save + delete + find).", function () {
- afterEach(removeContact);
-
- it("Creating, saving, finding a contact should work, removing it should work, after which we should not be able to find it, and we should not be able to delete it again.", function() {
- var done = false;
- runs(function () {
- gContactObj = new Contact();
- gContactObj.name = new ContactName();
- gContactObj.name.familyName = "DeleteMe";
- gContactObj.save(function(c_obj) {
- var findWin = function(cs) {
- expect(cs.length).toBe(1);
- // update to have proper saved id
- gContactObj = cs[0];
- gContactObj.remove(function() {
- var findWinAgain = function(seas) {
- expect(seas.length).toBe(0);
- gContactObj.remove(function() {
- throw("success callback called after non-existent Contact object called remove(). Test failed.");
- }, function(e) {
- expect(e.code).toBe(ContactError.UNKNOWN_ERROR);
- done = true;
- });
- };
- var findFailAgain = function(e) {
- throw("find error callback invoked after delete, test failed.");
- };
- var obj = new ContactFindOptions();
- obj.filter="DeleteMe";
- obj.multiple=true;
- navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], findWinAgain, findFailAgain, obj);
- }, function(e) {
- throw("Newly created contact's remove function invoked error callback. Test failed.");
- });
- };
- var findFail = function(e) {
- throw("Failure callback invoked in navigator.contacts.find call, test failed.");
- };
- var obj = new ContactFindOptions();
- obj.filter="DeleteMe";
- obj.multiple=true;
- navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], findWin, findFail, obj);
- }, function(e) {
- throw("Contact creation failed, error callback was invoked.");
- });
- });
-
- waitsFor(function () { return done; }, Tests.TEST_TIMEOUT);
- });
- });
-
- describe('ContactError interface', function () {
- it("ContactError constants should be defined", function() {
- expect(ContactError.UNKNOWN_ERROR).toBe(0);
- expect(ContactError.INVALID_ARGUMENT_ERROR).toBe(1);
- expect(ContactError.TIMEOUT_ERROR).toBe(2);
- expect(ContactError.PENDING_OPERATION_ERROR).toBe(3);
- expect(ContactError.IO_ERROR).toBe(4);
- expect(ContactError.NOT_SUPPORTED_ERROR).toBe(5);
- expect(ContactError.PERMISSION_DENIED_ERROR).toBe(20);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/datauri.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/datauri.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/datauri.tests.js
deleted file mode 100644
index 2e54810..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/datauri.tests.js
+++ /dev/null
@@ -1,36 +0,0 @@
-describe('data uris', function () {
- it("should work with iframes", function() {
- var gotFoo = false,
- frame = document.createElement('iframe');
- function onMessage(msg) {
- gotFoo = gotFoo || msg.data == 'foo';
- };
-
- this.after(function() {
- document.body.removeChild(frame);
- window.removeEventListener('message', onMessage, false);
- });
-
- window.addEventListener('message', onMessage, false);
- frame.src = 'data:text/html;charset=utf-8,%3Chtml%3E%3Cscript%3Eparent.postMessage%28%27foo%27%2C%27%2A%27%29%3C%2Fscript%3E%3C%2Fhtml%3E'
- document.body.appendChild(frame);
- waitsFor(function() {
- return gotFoo;
- }, 'iframe did not load.', 1000);
- runs(function() {
- expect(gotFoo).toBe(true);
- });
- });
- it("should work with images", function() {
- var img = new Image();
- img.onload = jasmine.createSpy('onLoad');
- img.onerror = jasmine.createSpy('onError');
- img.src = 'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7'
- waitsFor(function() {
- return img.onload.wasCalled || img.onerror.wasCalled;
- }, 'image did not load or error', 1000);
- runs(function() {
- expect(img.onload).toHaveBeenCalled();
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/autotest/tests/device.tests.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/autotest/tests/device.tests.js b/tests/MobileSpecUnitTests/www/autotest/tests/device.tests.js
deleted file mode 100644
index cc322d6..0000000
--- a/tests/MobileSpecUnitTests/www/autotest/tests/device.tests.js
+++ /dev/null
@@ -1,34 +0,0 @@
-describe('Device Information (window.device)', function () {
- it("should exist", function() {
- expect(window.device).toBeDefined();
- });
-
- it("should contain a platform specification that is a string", function() {
- expect(window.device.platform).toBeDefined();
- expect((new String(window.device.platform)).length > 0).toBe(true);
- });
-
- it("should contain a version specification that is a string", function() {
- expect(window.device.version).toBeDefined();
- expect((new String(window.device.version)).length > 0).toBe(true);
- });
-
- it("should contain a name specification that is a string", function() {
- expect(window.device.name).toBeDefined();
- expect((new String(window.device.name)).length > 0).toBe(true);
- });
-
- it("should contain a UUID specification that is a string or a number", function() {
- expect(window.device.uuid).toBeDefined();
- if (typeof window.device.uuid == 'string' || typeof window.device.uuid == 'object') {
- expect((new String(window.device.uuid)).length > 0).toBe(true);
- } else {
- expect(window.device.uuid > 0).toBe(true);
- }
- });
-
- it("should contain a cordova specification that is a string", function() {
- expect(window.device.cordova).toBeDefined();
- expect((new String(window.device.cordova)).length > 0).toBe(true);
- });
-});
[09/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/events.html
----------------------------------------------------------------------
diff --git a/example/www/events.html b/example/www/events.html
deleted file mode 100644
index da0d17e..0000000
--- a/example/www/events.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
-
-
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
-
- function interceptBackbutton() {
- eventOutput("Back button intercepted");
- }
- function interceptMenubutton() {
- eventOutput("Menu button intercepted");
- }
- function interceptSearchbutton() {
- eventOutput("Search button intercepted");
- }
-
- var eventOutput = function(s) {
- console.log("eventOutput :: " + s);
- var el = document.getElementById("results");
- el.innerHTML = el.innerHTML + s + "<br/>";
- };
-
-
- /**
- * Function called when page has finished loading.
- */
- function init()
- {
- document.addEventListener("deviceready", function() {
- console.log("Device="+device.platform+" "+device.version);
- eventOutput("deviceready event: "+device.platform+" "+device.version);
- }, false);
-
-
- document.addEventListener("resume", function() {eventOutput("resume event");}, false);
- document.addEventListener("pause", function() {eventOutput("pause event");}, false);
- window.addEventListener("online", function() {eventOutput("online event");});
- window.addEventListener("offline", function() {eventOutput("offline event");});
-
- window.addEventListener("orientationchange", onOrientationChangedA);
-
- window.onorientationchange = onOrientationChangedB;
-
- console.log("window.orientation = " + window.orientation);
- }
-
- function tryCallback(orientation)
- {
- var evt = document.createEvent('HTMLEvents')
- evt.initEvent( 'orientationchange', true, false );
- window.dispatchEvent(evt);
- }
-
- function onOrientationChangedA(e)
- {
- console.log("A OrientationChange event received!!!!!! " + window.orientation);
- }
-
- function onOrientationChangedB(e)
- {
- console.log("B OrientationChange event received!!!!!! " + window.orientation);
- }
-
- function onInterceptClicked(bAdd)
- {
- console.log("onInterceptClicked " + bAdd);
- if(bAdd)
- {
- document.addEventListener('backbutton', interceptBackbutton, false);
- }
- else
- {
- document.removeEventListener('backbutton', interceptBackbutton, false);
- }
- }
-
- function goBack()
- {
- document.location = "index.html";
- }
-
- function doBlur()
- {
- console.log("doBlur");
- }
-
- function doUnload()
- {
- console.log("doUnload");
- }
-
- function doFocus()
- {
- console.log("doFocus");
- }
-
-</script>
-
- </head>
- <body onLoad="init();" onBlur="doBlur()" onUnload="doUnload()" onFocus="doFocus()" id="stage" class="theme">
-
- <h1>Events</h1>
- <div id="info">
- Results:<br/>
- <span id="results"></span>
- </div>
-
- <h2>Action</h2>
- <div class="btn large" onclick="onInterceptClicked(1);">Intercept backbutton</div>
- <div class="btn large" onclick="onInterceptClicked(0);">Stop intercept of backbutton</div>
- <div class="btn large" onclick="document.addEventListener('menubutton', interceptMenubutton, false);">Intercept menubutton</div>
- <div class="btn large" onclick="document.removeEventListener('menubutton', interceptMenubutton, false);">Stop intercept of menubutton</div>
- <div class="btn large" onclick="document.addEventListener('searchbutton', interceptSearchbutton, false);">Intercept searchbutton</div>
- <div class="btn large" onclick="document.removeEventListener('searchbutton', interceptSearchbutton, false);">Stop intercept of searchbutton</div>
- <div/>
- <a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/file.html
----------------------------------------------------------------------
diff --git a/example/www/file.html b/example/www/file.html
deleted file mode 100644
index a6758fd..0000000
--- a/example/www/file.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
- var persistent_root;
-
- var getFileSystemRoot = (function () {
-
- var onError = function (error) {
- console.log('unable to retrieve file system: ' + error.code);
- };
-
- // one-time retrieval of the root file system entry
- if (typeof persistent_root === 'undefined') {
- window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
- function (fileSystem) {
- persistent_root = fileSystem.root;
- }, onError);
- }
-
- // public function returns private root entry
- return persistent_root;
-
- });
-
-
- /**
- * Gets file or directory
- */
- function getEntry(isFile, onSuccess, options) {
-
- var root = getFileSystemRoot();
- //TODO
- console.log(typeof root);
- var filePath = document.getElementById('filePath');
-
- var onGetEntryError = function (fileError) {
- console.log("Error creating/opening file/directory: " + fileError.code);
- document.getElementById('file_status').innerHTML = "Error creating/opening file/directory: " + fileError.code;
- };
-
- if (isFile == true) {
- console.log('Creating file');
- root.getFile(
- filePath.value,
- options,
- onSuccess,
- onGetEntryError);
- } else {
- console.log('Creating directory');
- root.getDirectory(
- filePath.value,
- options,
- onSuccess,
- onGetEntryError);
- }
- };
-
- /**
- * Creates or opens file/directory
- */
- function createOrOpen(isFile) {
- var onGetEntrySuccess = function (fileEntry) {
- document.getElementById('file_status').innerHTML = "isFile: " + fileEntry.isFile + "; isDirectory: " + fileEntry.isDirectory + "; name: " + fileEntry.name + "; path: " + fileEntry.fullPath;
- entry = fileEntry;
- };
- getEntry(isFile, onGetEntrySuccess, {create: true, exclusive: true});
- };
-
- /**
- * Check if file/directory exists
- */
- function isExists(isFile) {
-
- console.log("Start checking...");
-
- var root = getFileSystemRoot();
-
- var onError = function (fileError) {
- console.log("Error checking file/directory: " + fileError.code);
- document.getElementById('file_status').innerHTML = "Error checking file/directory: " + fileError.code;
- };
-
- var onSuccess = function (isExist) {
- document.getElementById('file_status').innerHTML = "is exists: " + isExist;
- };
-
- var filePath = document.getElementById('filePath');
-
- if (isFile == true) {
- console.log('check if file exists');
- navigator.fileMgr.testFileExists(
- filePath.value,
- onSuccess,
- onError);
- } else {
- navigator.fileMgr.testDirectoryExists(
- filePath.value,
- onSuccess,
- onError);
- }
- };
-
-
-
- /**
- * Remove file or directory
- */
- function remove(isFile) {
-
- var onSuccess = function (fileEntry) {
-
- var onRemoveError = function (fileError) {
- console.log("Error removing file/directory: " + fileError.code);
- document.getElementById('file_status').innerHTML = "Error removing file/directory: " + fileError.code;
- };
-
- var onRemoveSuccess = function () {
- document.getElementById('file_status').innerHTML = "file/directory was removed";
- };
-
- fileEntry.remove(onRemoveSuccess, onRemoveError);
- };
-
- getEntry(isFile, onSuccess, {create: false});
-
- };
-
- /**
- * Writes data in file
- */
- function writeInFile() {
- var onSuccess = function (fileEntry) {
-
- var writer = new FileWriter(fileEntry);
-
- writer.onwrite = function (evt) {
- console.log("End writing...");
- document.getElementById('file_status').innerHTML = writer.length + " bytes was written";
- };
- writer.onerror = function (evt) {
- console.log("writing error");
- document.getElementById('file_status').innerHTML = "writing error: " + evt.target.error;
- };
- writer.write(textToWrite.value);
- console.log("End writing");
- };
- console.log("Start getting entry");
- getEntry(true, onSuccess, { create: false });
- };
-
- /**
- * Reads file as base64 string
- */
- function readAsBase64() {
- var onSuccess = function (fileEntry) {
- var reader = new FileReader();
- reader.onloadend = function (evt) {
- console.log("read success");
- document.getElementById('file_status').innerHTML = evt.target.result;
- };
- reader.onerror = function (evt) {
- console.log("read error");
- document.getElementById('file_status').innerHTML = "read error: " + evt.target.error;
- };
-
- reader.readAsDataURL(fileEntry);
- };
-
- console.log("Start getting entry");
- getEntry(true, onSuccess, { create: false });
-
- };
-
- /**
- * Uploads selected file to specified server
- */
- function uploadFile() {
-
- var onSuccess = function (fileUploadResult) {
- console.log("Upload success");
- document.getElementById('file_status').innerHTML = "Code: " + fileUploadResult.responseCode + "; Sent = " + fileUploadResult.bytesSent + "; Response: " + fileUploadResult.response;
- };
-
- var onError = function (error) {
- document.getElementById('file_status').innerHTML = "Upload error: " + error.code;
- };
-
- console.log("Set upload parameters");
- var options = new FileUploadOptions();
-
- options.fileKey = "file";
- options.fileName = "newFile.txt";
- options.mimeType = "text/plain";
- var filePath = document.getElementById('filePath').value;
- var server = document.getElementById('server').value;
-
- var params = new Object();
- params.key1 = "value1";
- params.key2 = "value2";
- options.params = params;
-
- var fileTransfer = new FileTransfer();
-
- fileTransfer.upload(filePath, server, onSuccess, onError, options);
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function () {
- deviceReady = true;
- console.log("Device=" + device.platform + " " + device.version);
- getFileSystemRoot();
- }, false);
- window.setTimeout(function () {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- }, 1000);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>File</h1>
- <div id="info">
- <span class='tb-label'>Enter file/directory name here:</span> <span id="Span1"></span>
- <input type="text" id="filePath" style="width:250px;height:20px;"/>
- <br/>
- <span class='tb-label'>Enter text to write in file :</span> <span id="Span2"></span>
- <input type="text" id="textToWrite" style="width:250px;height:20px;"/>
- <br/>
- <span class='tb-label'>Enter URL to upload file to: </span> <span id="Span3"></span>
- <input type="text" id="server" value='http://posttestserver.com/post.php?dir=cordovaTest' style="width:250px;height:20px;"/>
- <br/>
- Result: <span id="file_status"></span>
- </div>
- <h2>Action</h2>
- <a class="btn large" onclick="createOrOpen(true);">Create/Open file</a>
- <a class="btn large" onclick="createOrOpen(false);">Create/Open directory</a>
- <a class="btn large" onclick="isExists(true);">Check if file exists</a>
- <a class="btn large" onclick="isExists(false);">Check if directory exists</a>
- <a class="btn large" onclick="remove(true);">Remove file</a>
- <a class="btn large" onclick="remove(false);">Remove directory</a>
- <a class="btn large" onclick="writeInFile();">Write in file (type text in the second field)</a>
- <a class="btn large" onclick="readAsBase64();">Read file as base64</a>
- <a class="btn large" onclick="uploadFile();">Upload file</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/index.html
----------------------------------------------------------------------
diff --git a/example/www/index.html b/example/www/index.html
deleted file mode 100644
index a56342f..0000000
--- a/example/www/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
-
- <title>Cordova WP</title>
-
- <link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
- <script type="text/javascript">
-
-
- document.addEventListener("deviceready",onDeviceReady,false);
- document.addEventListener("backbutton",onBackButton,false);
-
- // once the device ready event fires, you can safely do your thing! -jm
- function onDeviceReady()
- {
- // IE does NOT provide an alert method, you can patch it with this line after deviceready.
- window.alert = window.alert || navigator.notification.alert;
-
- console.log("onDeviceReady. You should see this message in Visual Studio's output window.");
- updateDeviceInfo();
-
- }
-
- function onBackButton()
- {
- console.log("onBackButton");
- }
-
- function updateDeviceInfo()
- {
- document.getElementById("platform").innerHTML = device.platform;
- document.getElementById("version").innerHTML = device.version;
- document.getElementById("uuid").innerHTML = device.uuid;
- document.getElementById("name").innerHTML = device.name;
- document.getElementById("width").innerHTML = screen.width;
- document.getElementById("height").innerHTML = screen.height;
- document.getElementById("colorDepth").innerHTML = screen.colorDepth;
- };
-
- </script>
-
-
-
-
- </head>
- <body>
- <h1>Cordova Tests</h1>
- <div id="info">
- <h4>
- Platform: <span id="platform"> </span>
- </h4>
- <h4>
- Version: <span id="version"></span>
- </h4>
- <h4>
- UUID: <span id="uuid"> </span>
- </h4>
- <h4>
- Name: <span id="name"></span>
- </h4>
- <h4>
- Width: <span id="width"></span>, Height: <span id="height">
-
- </span>, Color Depth: <span id="colorDepth"></span>
- </h4>
- </div>
-
- <a href="accelerometer.html" class="btn large">Accelerometer</a>
- <a href="accelerometer2.html" class="btn large">Accel Game</a>
- <a href="audio.html" class="btn large">Audio Play/Record</a>
- <a href="camera.html" class="btn large">Camera</a>
- <a href="capture.html" class="btn large">Capture</a>
- <a href="compass.html" class="btn large">Compass</a>
- <a href="network.html" class="btn large">Connection</a>
- <a href="contacts.html" class="btn large">Contacts</a>
- <a href="events.html" class="btn large">Events</a>
- <a href="file.html" class="btn large">File</a>
- <a href="location.html" class="btn large">Location</a>
- <a href="notification.html" class="btn large">Notification</a>
- <a href="storage.html" class="btn large">Local Storage</a>
- <a href="calculator.html" class="btn large">Calculator (custom plugin)</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/location.html
----------------------------------------------------------------------
diff --git a/example/www/location.html b/example/www/location.html
deleted file mode 100644
index 21e9545..0000000
--- a/example/www/location.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Location
- //-------------------------------------------------------------------------
- var watchLocationId = null;
-
- /**
- * Start watching location
- */
- var watchLocation = function() {
- console.log("watchLocation()");
-
- // Success callback
- var success = function(p){
- document.getElementById('latitude').innerHTML = p.coords.latitude;
- document.getElementById('longitude').innerHTML = p.coords.longitude;
-
- document.getElementById('tdAlt').innerHTML = p.coords.altitude;
- document.getElementById('tdAcc').innerHTML = p.coords.accuracy;
- document.getElementById('tdAltAcc').innerHTML = p.coords.altitudeAccuracy;
- document.getElementById('tdHeading').innerHTML = p.coords.heading;
- document.getElementById('tdSpeed').innerHTML = p.coords.speed;
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchLocation fail callback with error code "+e);
- stopLocation();
- };
-
- // Get location
- watchLocationId = navigator.geolocation.watchPosition(success, fail, {enableHighAccuracy: true});
- setLocationStatus("Running");
- };
-
- /**
- * Stop watching the location
- */
- var stopLocation = function() {
- setLocationStatus("Stopped");
- if (watchLocationId) {
- navigator.geolocation.clearWatch(watchLocationId);
- watchLocationId = null;
- }
- };
-
- /**
- * Get current location
- */
- var getLocation = function() {
- console.log("getLocation()");
-
- // Stop location if running
- stopLocation();
-
- // Success callback
- var success = function(p)
- {
- document.getElementById('latitude').innerHTML = p.coords.latitude;
- document.getElementById('longitude').innerHTML = p.coords.longitude;
-
- document.getElementById('tdAlt').innerHTML = p.coords.altitude;
- document.getElementById('tdAcc').innerHTML = p.coords.accuracy;
- document.getElementById('tdAltAcc').innerHTML = p.coords.altitudeAccuracy;
- document.getElementById('tdHeading').innerHTML = p.coords.heading;
- document.getElementById('tdSpeed').innerHTML = p.coords.speed;
-
- setLocationStatus("Done");
- };
-
- // Fail callback
- var fail = function(e){
- console.log("getLocation fail callback with error code "+e.code);
- setLocationStatus("Error: "+e.code);
- };
-
- // Get location
- navigator.geolocation.getCurrentPosition(success, fail, {enableHighAccuracy: true}); //, {timeout: 10000});
- setLocationStatus("Retrieving location...");
-
- };
-
- /**
- * Set location status
- */
- var setLocationStatus = function(status) {
- document.getElementById('location_status').innerHTML = status;
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Location</h1>
- <div id="info">
- <b>Status:</b> <span id="location_status">Stopped</span>
- <table width="100%">
- <tr><td><b>Latitude:</b></td><td id="latitude"> </td></tr>
- <tr><td><b>Longitude:</b></td><td id="longitude"> </td></tr>
- <tr><td><b>Altitude:</b></td><td id="tdAlt"> </td></tr>
- <tr><td><b>Accuracy:</b></td><td id="tdAcc"> </td></tr>
- <tr><td><b>Altitude Accuracy:</b></td><td id="tdAltAcc"> </td></tr>
- <tr><td><b>Heading:</b></td><td id="tdHeading"> </td></tr>
- <tr><td><b>Speed:</b></td><td id="tdSpeed"> </td></tr>
- </table>
- </div>
- <h2>Action</h2>
- <a class="btn large" onClick="getLocation();">Get Location</a>
- <a class="btn large" onClick="watchLocation();">Start Watching Location</a>
- <a class="btn large" onClick="stopLocation();">Stop Watching Location</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/master.css
----------------------------------------------------------------------
diff --git a/example/www/master.css b/example/www/master.css
deleted file mode 100644
index 51ebc11..0000000
--- a/example/www/master.css
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-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.
-*/
-
-/**
- PhoneFontSizeSmall=14pt
- PhoneFontSizeNormal = 15pt
- PhoneFontSizeMedium=17pt
- PhoneFontSizeMediumLarge=19pt
- PhoneFontSizeLarge=24pt
- PhoneFontSizeExtraLarge=32pt
- PhoneFontSizeExtraExtraLarge=54pt
- PhoneFontSizeHuge=140pt
-*/
-
-/**
-
-main wp7 color and fonts
-
-*/
-
-body, input, div
-{
- background: Background;
- color: Highlight;
- font-family: Segoe WP;
- font-size: 15pt; /* PhoneFontSizeNormal */
- margin-left:0.1em;
- filter: progid:DXImageTransform.Microsoft.Shadow(color=#000000,direction=45);
-}
-
-h1, h2, h3, h4
-{
- display: block;
- font-family: Segoe WP Light;
- font-weight: bold;
- margin: 0 0.1em;
- min-height: 1.1em;
- outline: 0 none;
- overflow: hidden;
- padding: 0;
- text-align: left;
- white-space: nowrap;
- }
-
-h1
-{
- font-size: 32pt; /* PhoneFontSizeExtraLarge */
-}
-
-h2
-{
- font-size: 24pt; /* PhoneFontSizeLarge */
- font-weight: normal;
-}
-
-h3
-{
- font-size: 17pt; /* PhoneFontSizeMedium */
-}
-
-h4
-{
- font-size: 15pt; /* PhoneFontSizeNormal */
- font-weight: normal;
-}
-
-h4 > span
-{
- color: gray;
-}
-
-/**
-
-Buttons
-
-*/
-
-a.btn, div.btn
-{
- background: Background;
- color: Highlight;
- text-decoration: none;
- display:block;
- font-size: 15pt;
- text-decoration:none;
- padding:0.7em 0;
- margin:3px 0px 3px 5px;
-}
-
-a.backBtn, input[type="button"], input[type="submit"]
-{
- background: Background;
- color: Highlight;
- border-color: Highlight;
- border-style: solid;
- padding: 4px 10px;
- border-width: 3px; /* PhoneBorderThickness */
- font-size: 17pt; /* PhoneFontSizeMedium */
- display: block;
- text-decoration:none;
- text-transform:lowercase;
-
-}
-
-input[type="button"]:active, input[type="submit"]:active
-{
- background: white;
- color: black;
-}
-
-/**
-
-Input fields
-
-*/
-
-input[type="text"]
-{
- width: 150px;
- padding:4px;
- margin-bottom: 14px;
- box-shadow: 0px 0px 12px #387bbe;
- background-color: #8c8e8b;
- border: 1px solid #B3B3B3;
- color: #3e3e3e;
- text-shadow: 0 1px 0 #FFFFFF;
-}
-
-input[type="text"]:focus,
-input[type="text"]:active {
- box-shadow: 0 0 12px #387BBE;
- background-color: #f0f0f0;
-}
-
-span.tb-label
-{
- padding: 4px 10px 8px 4px;
- font-size: 12pt;
- color: grey;
- display: block;
-}
-
-/**
-
-application specific styles
-
-*/
-
-#info {
- border-bottom: 1px solid #666666;
- border-top: 1px solid #666666;
-}
-
-#info table
-{
- font-family: Segoe WP Light;
-}
-
-
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/network.html
----------------------------------------------------------------------
diff --git a/example/www/network.html b/example/www/network.html
deleted file mode 100644
index 579f69d..0000000
--- a/example/www/network.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8"/>
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
- <script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Notifications
- //-------------------------------------------------------------------------
-
- function getConnectionState()
- {
- var networkState = navigator.network.connection.type;
-
- var states = {};
- states[Connection.UNKNOWN] = 'Unknown connection';
- states[Connection.ETHERNET] = 'Ethernet connection';
- states[Connection.WIFI] = 'WiFi connection';
- states[Connection.CELL_2G] = 'Cell 2G connection';
- states[Connection.CELL_3G] = 'Cell 3G connection';
- states[Connection.CELL_4G] = 'Cell 4G connection';
- states[Connection.NONE] = 'No network connection';
-
-
- document.getElementById("info").innerHTML = 'Connection type: ' + networkState;
- };
-
-
-
-
-
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
-
-
-
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
-
- Cordova.onCordovaConnectionReady.subscribeOnce(getConnectionState);
-
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- console.log("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Network Connection</h1>
- <div id="info">
- </div>
-
- <h2>Action</h2>
- <a class="btn large" onClick="getConnectionState();">Get Connection State</a>
-
- <a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/notification.html
----------------------------------------------------------------------
diff --git a/example/www/notification.html b/example/www/notification.html
deleted file mode 100644
index 6b353ef..0000000
--- a/example/www/notification.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
- <script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Notifications
- //-------------------------------------------------------------------------
-
- function doBeep(x)
- {
-
- navigator.notification.beep(x || 1);
- };
-
- function doVibrate()
- {
- navigator.notification.vibrate(0);
- };
-
- function doAlert()
- {
- var message = "This is an Alert dialog";
- var title = "Attention!";
-
- navigator.notification.alert(message,
- function()
- {
- console.log("Alert dismissed.");
- },
- title);
-
- console.log("After alert");
- };
-
- function doConfirm()
- {
- var message = "This is a confirm dialog";
- var title = "Please Confirm";
- var buttons = "OK,Cancel";
- navigator.notification.confirm(message,
- function(r) {
- console.log("You selected " + r);
-
- },
- title,
- buttons);
- }
-
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- console.log("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },3000);
- }
-
- </script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Notifications and Dialogs</h1>
- <div id="info">
- </div>
-
- <h2>Action</h2>
- <a class="btn large" onClick="doBeep();">Beep Once</a>
- <a class="btn large" onClick="doBeep(3);">Beep 3X</a>
- <a class="btn large" onClick="doVibrate();">Vibrate</a>
- <a class="btn large" onClick="doAlert();">Show Alert Dialog</a>
- <a class="btn large" onClick="doConfirm();">Show Confirm Dialog</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/storage.html
----------------------------------------------------------------------
diff --git a/example/www/storage.html b/example/www/storage.html
deleted file mode 100644
index 4946c84..0000000
--- a/example/www/storage.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Local Storage</h1>
- <div id="info">
- You have loaded this view <span id="count">an untold number of</span> time(s).
- </div>
-
- <script>
-
- console.log("sessionStorage = " + ( 'sessionStorage' in window && window.sessionStorage != null ));
- console.log("localStorage = " + ( 'localStorage' in window && window.localStorage != null ));
-
- if (!localStorage.pageLoadCount)
- {
- localStorage.setItem("pageLoadCount",0);
- }
-
- localStorage.setItem("pageLoadCount",parseInt(localStorage.pageLoadCount) + 1);
-
- document.getElementById('count').textContent = localStorage.pageLoadCount;
- </script>
-
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/App.xaml
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/App.xaml b/tests/MobileSpecUnitTests/App.xaml
deleted file mode 100644
index ac01322..0000000
--- a/tests/MobileSpecUnitTests/App.xaml
+++ /dev/null
@@ -1,38 +0,0 @@
-<!--
- 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.
--->
-<Application
- x:Class="MobileSpecUnitTests.App"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
- xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
-
- <!--Application Resources-->
- <Application.Resources>
- <MediaElement x:Key="PhoneGapMediaPlayer" Visibility="Collapsed" />
- </Application.Resources>
-
- <Application.ApplicationLifetimeObjects>
- <!--Required object that handles lifetime events for the application-->
- <shell:PhoneApplicationService
- Launching="Application_Launching" Closing="Application_Closing"
- Activated="Application_Activated" Deactivated="Application_Deactivated"/>
- </Application.ApplicationLifetimeObjects>
-
-</Application>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/App.xaml.cs
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/App.xaml.cs b/tests/MobileSpecUnitTests/App.xaml.cs
deleted file mode 100644
index 53d9a90..0000000
--- a/tests/MobileSpecUnitTests/App.xaml.cs
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- 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.
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-
-namespace MobileSpecUnitTests
-{
- public partial class App : Application
- {
- /// <summary>
- /// Provides easy access to the root frame of the Phone Application.
- /// </summary>
- /// <returns>The root frame of the Phone Application.</returns>
- public PhoneApplicationFrame RootFrame { get; private set; }
-
- /// <summary>
- /// Constructor for the Application object.
- /// </summary>
- public App()
- {
- // Global handler for uncaught exceptions.
- UnhandledException += Application_UnhandledException;
-
- // Show graphics profiling information while debugging.
- if (System.Diagnostics.Debugger.IsAttached)
- {
- // Display the current frame rate counters.
- Application.Current.Host.Settings.EnableFrameRateCounter = true;
-
- // Show the areas of the app that are being redrawn in each frame.
- //Application.Current.Host.Settings.EnableRedrawRegions = true;
-
- // Enable non-production analysis visualization mode,
- // which shows areas of a page that are being GPU accelerated with a colored overlay.
- //Application.Current.Host.Settings.EnableCacheVisualization = true;
- }
-
- // Standard Silverlight initialization
- InitializeComponent();
-
- // Phone-specific initialization
- InitializePhoneApplication();
- }
-
- // Code to execute when the application is launching (eg, from Start)
- // This code will not execute when the application is reactivated
- private void Application_Launching(object sender, LaunchingEventArgs e)
- {
- System.Diagnostics.Debug.WriteLine("Application_Launching");
- }
-
- // Code to execute when the application is activated (brought to foreground)
- // This code will not execute when the application is first launched
- private void Application_Activated(object sender, ActivatedEventArgs e)
- {
- System.Diagnostics.Debug.WriteLine("Application_Activated");
- }
-
- // Code to execute when the application is deactivated (sent to background)
- // This code will not execute when the application is closing
- private void Application_Deactivated(object sender, DeactivatedEventArgs e)
- {
- System.Diagnostics.Debug.WriteLine("Application_Deactivated");
- }
-
- // Code to execute when the application is closing (eg, user hit Back)
- // This code will not execute when the application is deactivated
- private void Application_Closing(object sender, ClosingEventArgs e)
- {
- System.Diagnostics.Debug.WriteLine("Application_Closing");
- }
-
- // Code to execute if a navigation fails
- private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
- {
- if (System.Diagnostics.Debugger.IsAttached)
- {
- // A navigation has failed; break into the debugger
- System.Diagnostics.Debugger.Break();
- }
- }
-
- // Code to execute on Unhandled Exceptions
- private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
- {
- if (System.Diagnostics.Debugger.IsAttached)
- {
- // An unhandled exception has occurred; break into the debugger
- System.Diagnostics.Debugger.Break();
- }
- }
-
- #region Phone application initialization
-
- // Avoid double-initialization
- private bool phoneApplicationInitialized = false;
-
- // Do not add any additional code to this method
- private void InitializePhoneApplication()
- {
- if (phoneApplicationInitialized)
- return;
-
- // Create the frame but don't set it as RootVisual yet; this allows the splash
- // screen to remain active until the application is ready to render.
- RootFrame = new PhoneApplicationFrame();
- RootFrame.Navigated += CompleteInitializePhoneApplication;
-
- // Handle navigation failures
- RootFrame.NavigationFailed += RootFrame_NavigationFailed;
-
- // Ensure we don't initialize again
- phoneApplicationInitialized = true;
- }
-
- // Do not add any additional code to this method
- private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
- {
- // Set the root visual to allow the application to render
- if (RootVisual != RootFrame)
- RootVisual = RootFrame;
-
- // Remove this handler since it is no longer needed
- RootFrame.Navigated -= CompleteInitializePhoneApplication;
- }
-
- #endregion
- }
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/ApplicationIcon.png
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/ApplicationIcon.png b/tests/MobileSpecUnitTests/ApplicationIcon.png
deleted file mode 100644
index 6b69046..0000000
Binary files a/tests/MobileSpecUnitTests/ApplicationIcon.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/Background.png
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/Background.png b/tests/MobileSpecUnitTests/Background.png
deleted file mode 100644
index 2667df4..0000000
Binary files a/tests/MobileSpecUnitTests/Background.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/MainPage.xaml
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/MainPage.xaml b/tests/MobileSpecUnitTests/MainPage.xaml
deleted file mode 100644
index 4b39b4e..0000000
--- a/tests/MobileSpecUnitTests/MainPage.xaml
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
- 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.
--->
-<phone:PhoneApplicationPage
- x:Class="MobileSpecUnitTests.MainPage"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
- xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:my="clr-namespace:WPCordovaClassLib;assembly=WPCordovaClassLib"
- FontFamily="{StaticResource PhoneFontFamilyNormal}"
- FontSize="{StaticResource PhoneFontSizeNormal}"
- Foreground="{StaticResource PhoneForegroundBrush}"
- SupportedOrientations="Portrait" Orientation="Portrait"
- mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
- shell:SystemTray.IsVisible="True">
-
- <!--LayoutRoot is the root grid where all page content is placed-->
- <Grid x:Name="LayoutRoot" Background="Transparent">
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
-
- <my:CordovaView Name="PGView"
- VerticalAlignment="Stretch"
- HorizontalAlignment="Stretch"
- Margin="0,0,0,0">
- </my:CordovaView>
-
-
- </Grid>
-
-
-
-</phone:PhoneApplicationPage>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/MainPage.xaml.cs
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/MainPage.xaml.cs b/tests/MobileSpecUnitTests/MainPage.xaml.cs
deleted file mode 100644
index a81888b..0000000
--- a/tests/MobileSpecUnitTests/MainPage.xaml.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- 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.
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Shapes;
-using Microsoft.Phone.Controls;
-
-namespace MobileSpecUnitTests
-{
- public partial class MainPage : PhoneApplicationPage
- {
- public MainPage()
- {
- InitializeComponent();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/MobileSpecUnitTests.csproj
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/MobileSpecUnitTests.csproj b/tests/MobileSpecUnitTests/MobileSpecUnitTests.csproj
deleted file mode 100644
index 6c8ce71..0000000
--- a/tests/MobileSpecUnitTests/MobileSpecUnitTests.csproj
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- 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.
--->
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>10.0.20506</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}</ProjectGuid>
- <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>MobileSpecUnitTests</RootNamespace>
- <AssemblyName>MobileSpecUnitTests</AssemblyName>
- <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
- <SilverlightVersion>
- </SilverlightVersion>
- <TargetFrameworkProfile>
- </TargetFrameworkProfile>
- <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
- <SilverlightApplication>true</SilverlightApplication>
- <SupportedCultures>
- </SupportedCultures>
- <XapOutputs>true</XapOutputs>
- <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
- <XapFilename>MobileSpecUnitTests_$(Configuration)_$(Platform).xap</XapFilename>
- <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
- <SilverlightAppEntry>MobileSpecUnitTests.App</SilverlightAppEntry>
- <ValidateXaml>true</ValidateXaml>
- <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
- <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>Bin\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>Bin\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>Bin\x86\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <DebugType>full</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Optimize>false</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
- <OutputPath>Bin\x86\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <Optimize>true</Optimize>
- <NoStdLib>true</NoStdLib>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>Bin\ARM\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <DebugType>full</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- <Optimize>false</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
- <OutputPath>Bin\ARM\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <Optimize>true</Optimize>
- <NoStdLib>true</NoStdLib>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="App.xaml.cs">
- <DependentUpon>App.xaml</DependentUpon>
- </Compile>
- <Compile Include="MainPage.xaml.cs">
- <DependentUpon>MainPage.xaml</DependentUpon>
- </Compile>
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ApplicationDefinition Include="App.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </ApplicationDefinition>
- <Page Include="MainPage.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <None Include="Properties\AppManifest.xml" />
- <None Include="Properties\WMAppManifest.xml">
- <SubType>Designer</SubType>
- </None>
- </ItemGroup>
- <ItemGroup>
- <Content Include="ApplicationIcon.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="Background.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="www\accelerometer\index.html" />
- <Content Include="www\audio\index.html" />
- <Content Include="www\autotest\html\HtmlReporter.js" />
- <Content Include="www\autotest\html\HtmlReporterHelpers.js" />
- <Content Include="www\autotest\html\ReporterView.js" />
- <Content Include="www\autotest\html\SpecView.js" />
- <Content Include="www\autotest\html\SuiteView.js" />
- <Content Include="www\autotest\html\TrivialReporter.js" />
- <Content Include="www\autotest\index.html" />
- <Content Include="www\autotest\jasmine.css" />
- <Content Include="www\autotest\jasmine.js" />
- <Content Include="www\autotest\pages\accelerometer.html" />
- <Content Include="www\autotest\pages\all.html" />
- <Content Include="www\autotest\pages\battery.html" />
- <Content Include="www\autotest\pages\bridge.html" />
- <Content Include="www\autotest\pages\camera.html" />
- <Content Include="www\autotest\pages\capture.html" />
- <Content Include="www\autotest\pages\compass.html" />
- <Content Include="www\autotest\pages\contacts.html" />
- <Content Include="www\autotest\pages\datauri.html" />
- <Content Include="www\autotest\pages\device.html" />
- <Content Include="www\autotest\pages\file.html" />
- <Content Include="www\autotest\pages\filetransfer.html" />
- <Content Include="www\autotest\pages\geolocation.html" />
- <Content Include="www\autotest\pages\globalization.html" />
- <Content Include="www\autotest\pages\media.html" />
- <Content Include="www\autotest\pages\network.html" />
- <Content Include="www\autotest\pages\notification.html" />
- <Content Include="www\autotest\pages\platform.html" />
- <Content Include="www\autotest\pages\storage.html" />
- <Content Include="www\autotest\test-runner.js" />
- <Content Include="www\autotest\tests\accelerometer.tests.js" />
- <Content Include="www\autotest\tests\battery.tests.js" />
- <Content Include="www\autotest\tests\bridge.tests.js" />
- <Content Include="www\autotest\tests\camera.tests.js" />
- <Content Include="www\autotest\tests\capture.tests.js" />
- <Content Include="www\autotest\tests\compass.tests.js" />
- <Content Include="www\autotest\tests\contacts.tests.js" />
- <Content Include="www\autotest\tests\datauri.tests.js" />
- <Content Include="www\autotest\tests\device.tests.js" />
- <Content Include="www\autotest\tests\file.tests.js" />
- <Content Include="www\autotest\tests\filetransfer.tests.js" />
- <Content Include="www\autotest\tests\geolocation.tests.js" />
- <Content Include="www\autotest\tests\globalization.tests.js" />
- <Content Include="www\autotest\tests\media.tests.js" />
- <Content Include="www\autotest\tests\network.tests.js" />
- <Content Include="www\autotest\tests\notification.tests.js" />
- <Content Include="www\autotest\tests\platform.tests.js" />
- <Content Include="www\autotest\tests\storage.tests.js" />
- <Content Include="www\battery\index.html" />
- <Content Include="www\camera\index.html" />
- <Content Include="www\compass\index.html" />
- <Content Include="www\contacts\index.html" />
- <Content Include="www\cordova-2.5.0.js" />
- <Content Include="www\cordova.js" />
- <Content Include="www\events\index.html" />
- <Content Include="www\index.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\location\index.html" />
- <Content Include="www\main.js" />
- <Content Include="www\master.css" />
- <Content Include="SplashScreenImage.jpg" />
- <Content Include="www\misc\index.html" />
- <Content Include="www\misc\page2.html" />
- <Content Include="www\network\index.html" />
- <Content Include="www\notification\index.html" />
- <Content Include="www\sql\index.html" />
- <Content Include="www\storage\index.html" />
- </ItemGroup>
- <ItemGroup>
- <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\framework\WPCordovaClassLib.csproj">
- <Project>{FC6A1A70-892D-46AD-9E4A-9793F72AF780}</Project>
- <Name>WPCordovaClassLib</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <Folder Include="www\execbenchmark\" />
- </ItemGroup>
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
- <ProjectExtensions />
- <PropertyGroup>
- </PropertyGroup>
-</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/MobileSpecUnitTests.sln
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/MobileSpecUnitTests.sln b/tests/MobileSpecUnitTests/MobileSpecUnitTests.sln
deleted file mode 100644
index 20257da..0000000
--- a/tests/MobileSpecUnitTests/MobileSpecUnitTests.sln
+++ /dev/null
@@ -1,44 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MobileSpecUnitTests", "MobileSpecUnitTests.csproj", "{86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPCordovaClassLib", "..\..\framework\WPCordovaClassLib.csproj", "{FC6A1A70-892D-46AD-9E4A-9793F72AF780}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Debug|x86.ActiveCfg = Debug|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Release|Any CPU.Build.0 = Release|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Release|ARM.ActiveCfg = Release|Any CPU
- {86DC5E2F-4AEE-42E3-9471-A082B9BEBEAC}.Release|x86.ActiveCfg = Release|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|ARM.ActiveCfg = Debug|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|ARM.Build.0 = Debug|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|x86.ActiveCfg = Debug|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|x86.Build.0 = Debug|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|Any CPU.Build.0 = Release|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|ARM.ActiveCfg = Release|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|ARM.Build.0 = Release|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|x86.ActiveCfg = Release|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/Properties/AppManifest.xml
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/Properties/AppManifest.xml b/tests/MobileSpecUnitTests/Properties/AppManifest.xml
deleted file mode 100644
index 6712a11..0000000
--- a/tests/MobileSpecUnitTests/Properties/AppManifest.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
->
- <Deployment.Parts>
- </Deployment.Parts>
-</Deployment>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/Properties/AssemblyInfo.cs b/tests/MobileSpecUnitTests/Properties/AssemblyInfo.cs
deleted file mode 100644
index 5acaa9c..0000000
--- a/tests/MobileSpecUnitTests/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("MobileSpecUnitTests")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("MobileSpecUnitTests")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("ce0ba3ac-f23b-47d7-b37b-09bdd19ebefe")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/Properties/WMAppManifest.xml
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/Properties/WMAppManifest.xml b/tests/MobileSpecUnitTests/Properties/WMAppManifest.xml
deleted file mode 100644
index 009cc2e..0000000
--- a/tests/MobileSpecUnitTests/Properties/WMAppManifest.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
- <DefaultLanguage xmlns="" code="" />
- <App xmlns="" ProductID="{f2c6c498-143c-44e6-b107-2f71bf3e08b9}" Title="MobileSpecUnitTests" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="MobileSpecUnitTests author" Description="Sample description" Publisher="MobileSpecUnitTests" PublisherID="{8a4bc540-418c-471e-b8fd-184444b00802}">
- <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
- <Capabilities>
- <Capability Name="ID_CAP_GAMERSERVICES" />
- <Capability Name="ID_CAP_IDENTITY_DEVICE" />
- <Capability Name="ID_CAP_IDENTITY_USER" />
- <Capability Name="ID_CAP_LOCATION" />
- <Capability Name="ID_CAP_MICROPHONE" />
- <Capability Name="ID_CAP_NETWORKING" />
- <Capability Name="ID_CAP_PHONEDIALER" />
- <Capability Name="ID_CAP_PUSH_NOTIFICATION" />
- <Capability Name="ID_CAP_SENSORS" />
- <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
- <Capability Name="ID_CAP_CONTACTS" />
- <Capability Name="ID_CAP_SENSORS" />
- <Capability Name="ID_CAP_ISV_CAMERA" />
- <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
- <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
- <Capability Name="ID_CAP_MEDIALIB_PHOTO" />
- </Capabilities>
- <Tasks>
- <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
- </Tasks>
- <Tokens>
- <PrimaryToken TokenID="MobileSpecUnitTestsToken" TaskName="_default">
- <TemplateFlip>
- <SmallImageURI IsResource="false" IsRelative="true">Background.png</SmallImageURI>
- <Count>0</Count>
- <BackgroundImageURI IsResource="false" IsRelative="true">Background.png</BackgroundImageURI>
- <Title>MobileSpecUnitTests</Title>
- <BackContent></BackContent>
- <BackBackgroundImageURI></BackBackgroundImageURI>
- <BackTitle></BackTitle>
- <LargeBackgroundImageURI></LargeBackgroundImageURI>
- <LargeBackContent></LargeBackContent>
- <LargeBackBackgroundImageURI></LargeBackBackgroundImageURI>
- <DeviceLockImageURI></DeviceLockImageURI>
- <HasLarge>false</HasLarge>
- </TemplateFlip>
- </PrimaryToken>
- </Tokens>
- <ScreenResolutions>
- <ScreenResolution Name="ID_RESOLUTION_WVGA" />
- <ScreenResolution Name="ID_RESOLUTION_WXGA" />
- <ScreenResolution Name="ID_RESOLUTION_HD720P" />
- </ScreenResolutions>
- </App>
-</Deployment>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/SplashScreenImage.jpg
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/SplashScreenImage.jpg b/tests/MobileSpecUnitTests/SplashScreenImage.jpg
deleted file mode 100644
index 479d3e4..0000000
Binary files a/tests/MobileSpecUnitTests/SplashScreenImage.jpg and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/accelerometer/index.html
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/accelerometer/index.html b/tests/MobileSpecUnitTests/www/accelerometer/index.html
deleted file mode 100644
index efa043b..0000000
--- a/tests/MobileSpecUnitTests/www/accelerometer/index.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- function roundNumber(num) {
- var dec = 3;
- var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
- return result;
- }
-
- //-------------------------------------------------------------------------
- // Acceleration
- //-------------------------------------------------------------------------
- var watchAccelId = null;
-
- /**
- * Start watching acceleration
- */
- var watchAccel = function() {
- console.log("watchAccel()");
-
- // Success callback
- var success = function(a){
- document.getElementById('x').innerHTML = roundNumber(a.x);
- document.getElementById('y').innerHTML = roundNumber(a.y);
- document.getElementById('z').innerHTML = roundNumber(a.z);
- console.log("watchAccel success callback");
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchAccel fail callback with error code "+e);
- stopAccel();
- setAccelStatus(Accelerometer.ERROR_MSG[e]);
- };
-
- // Update acceleration every 1 sec
- var opt = {};
- opt.frequency = 1000;
- watchAccelId = navigator.accelerometer.watchAcceleration(success, fail, opt);
-
- setAccelStatus("Running");
- };
-
- /**
- * Stop watching the acceleration
- */
- var stopAccel = function() {
- console.log("stopAccel()");
- setAccelStatus("Stopped");
- if (watchAccelId) {
- navigator.accelerometer.clearWatch(watchAccelId);
- watchAccelId = null;
- }
- };
-
- /**
- * Get current acceleration
- */
- var getAccel = function() {
- console.log("getAccel()");
-
- // Stop accel if running
- stopAccel();
-
- // Success callback
- var success = function(a){
- document.getElementById('x').innerHTML = roundNumber(a.x);
- document.getElementById('y').innerHTML = roundNumber(a.y);
- document.getElementById('z').innerHTML = roundNumber(a.z);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("getAccel fail callback with error code "+e);
- setAccelStatus(Accelerometer.ERROR_MSG[e]);
- };
-
- // Make call
- var opt = {};
- navigator.accelerometer.getCurrentAcceleration(success, fail, opt);
- };
-
- /**
- * Set accelerometer status
- */
- var setAccelStatus = function(status) {
- document.getElementById('accel_status').innerHTML = status;
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- console.log("accelerometer.init()");
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: PhoneGap did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onload="init();" id="stage" class="theme">
-
- <h1>Acceleration</h1>
- <div id="info">
- <div id="accel_status">Stopped</div>
- <div ><table width="100%">
- <tr><td width="20%">X:</td><td id="x"> </td></tr>
- <tr><td width="20%">Y:</td><td id="y"> </td></tr>
- <tr><td width="20%">Z:</td><td id="z"> </td></tr>
- </table></div>
- </div>
-
- <h2>Action</h2>
- <div class="btn large" onclick="getAccel();">Get Acceleration</div>
- <div class="btn large" onclick="watchAccel();">Start Watch</div>
- <div class="btn large" onclick="stopAccel();">Clear Watch</div>
- <h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
- </body>
-</html>
[12/13] git commit: remove cruft
Posted by pu...@apache.org.
remove cruft
Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/bf4b3ce3
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/bf4b3ce3
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/bf4b3ce3
Branch: refs/heads/master
Commit: bf4b3ce3b2b5e803ade2994a4e632e95deab90f6
Parents: 804a1f0
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Mon Jun 3 11:33:37 2013 -0700
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Mon Jun 3 11:33:37 2013 -0700
----------------------------------------------------------------------
example/.gitignore | 1 -
example/App.xaml | 37 -
example/App.xaml.cs | 154 -
example/ApplicationIcon.png | Bin 4951 -> 0 bytes
example/Background.png | Bin 10259 -> 0 bytes
example/CordovaExample.csproj | 235 -
example/CordovaExample.sln | 52 -
example/MainPage.xaml | 52 -
example/MainPage.xaml.cs | 70 -
example/Plugins/Calculator.cs | 46 -
example/Properties/AppManifest.xml | 24 -
example/Properties/AssemblyInfo.cs | 38 -
example/Properties/WMAppManifest.xml | 57 -
example/SplashScreenImage.jpg | Bin 22066 -> 0 bytes
example/config.xml | 49 -
example/www/accelerometer.html | 164 -
example/www/accelerometer2.html | 175 -
example/www/audio.html | 267 -
example/www/calculator.html | 84 -
example/www/camera.html | 115 -
example/www/capture.html | 207 -
example/www/compass.html | 150 -
example/www/contacts.html | 169 -
example/www/cordova.js | 6723 ---------------
example/www/events.html | 146 -
example/www/file.html | 284 -
example/www/index.html | 108 -
example/www/location.html | 165 -
example/www/master.css | 175 -
example/www/network.html | 96 -
example/www/notification.html | 112 -
example/www/storage.html | 78 -
tests/MobileSpecUnitTests/App.xaml | 38 -
tests/MobileSpecUnitTests/App.xaml.cs | 158 -
tests/MobileSpecUnitTests/ApplicationIcon.png | Bin 4951 -> 0 bytes
tests/MobileSpecUnitTests/Background.png | Bin 10259 -> 0 bytes
tests/MobileSpecUnitTests/MainPage.xaml | 52 -
tests/MobileSpecUnitTests/MainPage.xaml.cs | 42 -
.../MobileSpecUnitTests/MobileSpecUnitTests.csproj | 247 -
tests/MobileSpecUnitTests/MobileSpecUnitTests.sln | 44 -
.../MobileSpecUnitTests/Properties/AppManifest.xml | 6 -
.../MobileSpecUnitTests/Properties/AssemblyInfo.cs | 35 -
.../Properties/WMAppManifest.xml | 51 -
tests/MobileSpecUnitTests/SplashScreenImage.jpg | Bin 22066 -> 0 bytes
.../www/accelerometer/index.html | 138 -
tests/MobileSpecUnitTests/www/audio/index.html | 394 -
.../www/autotest/html/HtmlReporter.js | 101 -
.../www/autotest/html/HtmlReporterHelpers.js | 60 -
.../www/autotest/html/ReporterView.js | 164 -
.../www/autotest/html/SpecView.js | 79 -
.../www/autotest/html/SuiteView.js | 22 -
.../www/autotest/html/TrivialReporter.js | 192 -
tests/MobileSpecUnitTests/www/autotest/index.html | 37 -
tests/MobileSpecUnitTests/www/autotest/jasmine.css | 81 -
tests/MobileSpecUnitTests/www/autotest/jasmine.js | 2530 ------
.../www/autotest/pages/accelerometer.html | 48 -
.../www/autotest/pages/all.html | 85 -
.../www/autotest/pages/battery.html | 44 -
.../www/autotest/pages/bridge.html | 71 -
.../www/autotest/pages/camera.html | 49 -
.../www/autotest/pages/capture.html | 49 -
.../www/autotest/pages/compass.html | 49 -
.../www/autotest/pages/contacts.html | 49 -
.../www/autotest/pages/datauri.html | 69 -
.../www/autotest/pages/device.html | 49 -
.../www/autotest/pages/file.html | 68 -
.../www/autotest/pages/filetransfer.html | 69 -
.../www/autotest/pages/geolocation.html | 49 -
.../www/autotest/pages/globalization.html | 70 -
.../www/autotest/pages/media.html | 49 -
.../www/autotest/pages/network.html | 49 -
.../www/autotest/pages/notification.html | 49 -
.../www/autotest/pages/platform.html | 49 -
.../www/autotest/pages/storage.html | 49 -
.../www/autotest/test-runner.js | 41 -
.../www/autotest/tests/accelerometer.tests.js | 193 -
.../www/autotest/tests/battery.tests.js | 5 -
.../www/autotest/tests/bridge.tests.js | 128 -
.../www/autotest/tests/camera.tests.js | 47 -
.../www/autotest/tests/capture.tests.js | 95 -
.../www/autotest/tests/compass.tests.js | 76 -
.../www/autotest/tests/contacts.tests.js | 451 -
.../www/autotest/tests/datauri.tests.js | 36 -
.../www/autotest/tests/device.tests.js | 34 -
.../www/autotest/tests/file.tests.js | 3462 --------
.../www/autotest/tests/filetransfer.tests.js | 513 --
.../www/autotest/tests/geolocation.tests.js | 119 -
.../www/autotest/tests/globalization.tests.js | 808 --
.../www/autotest/tests/media.tests.js | 144 -
.../www/autotest/tests/network.tests.js | 25 -
.../www/autotest/tests/notification.tests.js | 20 -
.../www/autotest/tests/platform.tests.js | 10 -
.../www/autotest/tests/storage.tests.js | 174 -
tests/MobileSpecUnitTests/www/battery/index.html | 96 -
tests/MobileSpecUnitTests/www/camera/index.html | 96 -
tests/MobileSpecUnitTests/www/compass/index.html | 128 -
tests/MobileSpecUnitTests/www/contacts/index.html | 112 -
tests/MobileSpecUnitTests/www/cordova-2.5.0.js | 6446 --------------
tests/MobileSpecUnitTests/www/cordova.js | 14 -
tests/MobileSpecUnitTests/www/events/index.html | 88 -
tests/MobileSpecUnitTests/www/index.html | 38 -
tests/MobileSpecUnitTests/www/location/index.html | 147 -
tests/MobileSpecUnitTests/www/main.js | 140 -
tests/MobileSpecUnitTests/www/master.css | 136 -
tests/MobileSpecUnitTests/www/misc/index.html | 59 -
tests/MobileSpecUnitTests/www/misc/page2.html | 25 -
tests/MobileSpecUnitTests/www/network/index.html | 59 -
.../www/notification/index.html | 81 -
tests/MobileSpecUnitTests/www/sql/index.html | 132 -
tests/MobileSpecUnitTests/www/storage/index.html | 50 -
110 files changed, 0 insertions(+), 29795 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/.gitignore
----------------------------------------------------------------------
diff --git a/example/.gitignore b/example/.gitignore
deleted file mode 100644
index fcd5ae5..0000000
--- a/example/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/_UpgradeReport_Files/
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/App.xaml
----------------------------------------------------------------------
diff --git a/example/App.xaml b/example/App.xaml
deleted file mode 100644
index 65ba89a..0000000
--- a/example/App.xaml
+++ /dev/null
@@ -1,37 +0,0 @@
-<!--
- 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.
--->
-<Application
- x:Class="CordovaExample.App"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
- xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
-
- <!--Application Resources-->
- <Application.Resources>
- </Application.Resources>
-
- <Application.ApplicationLifetimeObjects>
- <!--Required object that handles lifetime events for the application-->
- <shell:PhoneApplicationService
- Launching="Application_Launching" Closing="Application_Closing"
- Activated="Application_Activated" Deactivated="Application_Deactivated"/>
- </Application.ApplicationLifetimeObjects>
-
-</Application>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/App.xaml.cs
----------------------------------------------------------------------
diff --git a/example/App.xaml.cs b/example/App.xaml.cs
deleted file mode 100644
index 6ae05e6..0000000
--- a/example/App.xaml.cs
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- 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.
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-
-namespace CordovaExample
-{
- public partial class App : Application
- {
- /// <summary>
- /// Provides easy access to the root frame of the Phone Application.
- /// </summary>
- /// <returns>The root frame of the Phone Application.</returns>
- public PhoneApplicationFrame RootFrame { get; private set; }
-
- /// <summary>
- /// Constructor for the Application object.
- /// </summary>
- public App()
- {
- // Global handler for uncaught exceptions.
- UnhandledException += Application_UnhandledException;
-
- // Show graphics profiling information while debugging.
- if (System.Diagnostics.Debugger.IsAttached)
- {
- // Display the current frame rate counters.
- //Application.Current.Host.Settings.EnableFrameRateCounter = true;
-
- // Show the areas of the app that are being redrawn in each frame.
- //Application.Current.Host.Settings.EnableRedrawRegions = true;
-
- // Enable non-production analysis visualization mode,
- // which shows areas of a page that are being GPU accelerated with a colored overlay.
- //Application.Current.Host.Settings.EnableCacheVisualization = true;
- }
-
- // Standard Silverlight initialization
- InitializeComponent();
-
- // Phone-specific initialization
- InitializePhoneApplication();
- }
-
- // Code to execute when the application is launching (eg, from Start)
- // This code will not execute when the application is reactivated
- private void Application_Launching(object sender, LaunchingEventArgs e)
- {
- }
-
- // Code to execute when the application is activated (brought to foreground)
- // This code will not execute when the application is first launched
- private void Application_Activated(object sender, ActivatedEventArgs e)
- {
- }
-
- // Code to execute when the application is deactivated (sent to background)
- // This code will not execute when the application is closing
- private void Application_Deactivated(object sender, DeactivatedEventArgs e)
- {
- }
-
- // Code to execute when the application is closing (eg, user hit Back)
- // This code will not execute when the application is deactivated
- private void Application_Closing(object sender, ClosingEventArgs e)
- {
- }
-
- // Code to execute if a navigation fails
- private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
- {
- if (System.Diagnostics.Debugger.IsAttached)
- {
- // A navigation has failed; break into the debugger
- System.Diagnostics.Debugger.Break();
- }
- }
-
- // Code to execute on Unhandled Exceptions
- private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
- {
- if (System.Diagnostics.Debugger.IsAttached)
- {
- // An unhandled exception has occurred; break into the debugger
- System.Diagnostics.Debugger.Break();
- }
- }
-
- #region Phone application initialization
-
- // Avoid double-initialization
- private bool phoneApplicationInitialized = false;
-
- // Do not add any additional code to this method
- private void InitializePhoneApplication()
- {
- if (phoneApplicationInitialized)
- return;
-
- // Create the frame but don't set it as RootVisual yet; this allows the splash
- // screen to remain active until the application is ready to render.
- RootFrame = new PhoneApplicationFrame();
- RootFrame.Navigated += CompleteInitializePhoneApplication;
-
- // Handle navigation failures
- RootFrame.NavigationFailed += RootFrame_NavigationFailed;
-
- // Ensure we don't initialize again
- phoneApplicationInitialized = true;
- }
-
- // Do not add any additional code to this method
- private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
- {
- // Set the root visual to allow the application to render
- if (RootVisual != RootFrame)
- RootVisual = RootFrame;
-
- // Remove this handler since it is no longer needed
- RootFrame.Navigated -= CompleteInitializePhoneApplication;
- }
-
- #endregion
- }
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/ApplicationIcon.png
----------------------------------------------------------------------
diff --git a/example/ApplicationIcon.png b/example/ApplicationIcon.png
deleted file mode 100644
index 6b69046..0000000
Binary files a/example/ApplicationIcon.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/Background.png
----------------------------------------------------------------------
diff --git a/example/Background.png b/example/Background.png
deleted file mode 100644
index 2667df4..0000000
Binary files a/example/Background.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/CordovaExample.csproj
----------------------------------------------------------------------
diff --git a/example/CordovaExample.csproj b/example/CordovaExample.csproj
deleted file mode 100644
index 1cbe869..0000000
--- a/example/CordovaExample.csproj
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- 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.
- -->
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>10.0.20506</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}</ProjectGuid>
- <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>CordovaExample</RootNamespace>
- <AssemblyName>CordovaExample</AssemblyName>
- <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
- <SilverlightVersion>
- </SilverlightVersion>
- <TargetFrameworkProfile>
- </TargetFrameworkProfile>
- <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
- <SilverlightApplication>true</SilverlightApplication>
- <SupportedCultures>en-US</SupportedCultures>
- <UICulture>en-US</UICulture>
- <XapOutputs>true</XapOutputs>
- <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
- <XapFilename>CordovaExample_$(Configuration)_$(Platform).xap</XapFilename>
- <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
- <SilverlightAppEntry>CordovaExample.App</SilverlightAppEntry>
- <ValidateXaml>true</ValidateXaml>
- <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
- <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>Bin\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>Bin\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <NoConfig>true</NoConfig>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>Bin\x86\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <DebugType>full</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Optimize>false</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
- <OutputPath>Bin\x86\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <Optimize>true</Optimize>
- <NoStdLib>true</NoStdLib>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
- <DebugSymbols>true</DebugSymbols>
- <OutputPath>Bin\ARM\Debug</OutputPath>
- <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <NoStdLib>true</NoStdLib>
- <DebugType>full</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- <Optimize>false</Optimize>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
- <OutputPath>Bin\ARM\Release</OutputPath>
- <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
- <Optimize>true</Optimize>
- <NoStdLib>true</NoStdLib>
- <DebugType>pdbonly</DebugType>
- <PlatformTarget>
- </PlatformTarget>
- <ErrorReport>prompt</ErrorReport>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="App.xaml.cs">
- <DependentUpon>App.xaml</DependentUpon>
- </Compile>
- <Compile Include="MainPage.xaml.cs">
- <DependentUpon>MainPage.xaml</DependentUpon>
- </Compile>
- <Compile Include="Plugins\Calculator.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <ApplicationDefinition Include="App.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </ApplicationDefinition>
- <Page Include="MainPage.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <Content Include="config.xml" />
- <Content Include="www\cordova.js" />
- <Content Include="www\network.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\notification.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\storage.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\accelerometer.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\accelerometer2.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\audio.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\calculator.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\camera.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\capture.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\compass.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\contacts.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\events.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\file.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\index.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\location.html">
- <SubType>Designer</SubType>
- </Content>
- <Content Include="www\master.css" />
- <None Include="Properties\AppManifest.xml">
- <SubType>Designer</SubType>
- </None>
- <None Include="Properties\WMAppManifest.xml">
- <SubType>Designer</SubType>
- </None>
- </ItemGroup>
- <ItemGroup>
- <Content Include="ApplicationIcon.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="Background.png">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- <Content Include="SplashScreenImage.jpg" />
- </ItemGroup>
- <ItemGroup>
- <WCFMetadata Include="Service References\" />
- </ItemGroup>
- <ItemGroup>
- <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\framework\WPCordovaClassLib.csproj">
- <Project>{FC6A1A70-892D-46AD-9E4A-9793F72AF780}</Project>
- <Name>WPCordovaClassLib</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
- <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
- <ProjectExtensions />
- <PropertyGroup>
- </PropertyGroup>
- <PropertyGroup>
- <PostBuildEvent>
- </PostBuildEvent>
- </PropertyGroup>
-</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/CordovaExample.sln
----------------------------------------------------------------------
diff --git a/example/CordovaExample.sln b/example/CordovaExample.sln
deleted file mode 100644
index 5eedd9f..0000000
--- a/example/CordovaExample.sln
+++ /dev/null
@@ -1,52 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2012 for Windows Phone
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CordovaExample", "CordovaExample.csproj", "{0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPCordovaClassLib", "..\framework\WPCordovaClassLib.csproj", "{FC6A1A70-892D-46AD-9E4A-9793F72AF780}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|ARM = Debug|ARM
- Debug|Any CPU = Debug|Any CPU
- Debug|x86 = Debug|x86
- Release|ARM = Release|ARM
- Release|Any CPU = Release|Any CPU
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|ARM.ActiveCfg = Debug|ARM
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|ARM.Build.0 = Debug|ARM
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|ARM.Deploy.0 = Debug|ARM
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|x86.ActiveCfg = Debug|x86
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|x86.Build.0 = Debug|x86
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Debug|x86.Deploy.0 = Debug|x86
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|ARM.ActiveCfg = Release|ARM
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|ARM.Build.0 = Release|ARM
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|ARM.Deploy.0 = Release|ARM
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|Any CPU.Build.0 = Release|Any CPU
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|x86.ActiveCfg = Release|x86
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|x86.Build.0 = Release|x86
- {0C6DFC84-A3BE-4581-BAAD-85B8CCC17FF8}.Release|x86.Deploy.0 = Release|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|ARM.ActiveCfg = Debug|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|ARM.Build.0 = Debug|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|x86.ActiveCfg = Debug|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Debug|x86.Build.0 = Debug|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|ARM.ActiveCfg = Release|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|ARM.Build.0 = Release|ARM
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|Any CPU.Build.0 = Release|Any CPU
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|x86.ActiveCfg = Release|x86
- {FC6A1A70-892D-46AD-9E4A-9793F72AF780}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/MainPage.xaml
----------------------------------------------------------------------
diff --git a/example/MainPage.xaml b/example/MainPage.xaml
deleted file mode 100644
index cdb7205..0000000
--- a/example/MainPage.xaml
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
- 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.
--->
-<phone:PhoneApplicationPage
- x:Class="CordovaExample.MainPage"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
- xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}"
- FontSize="{StaticResource PhoneFontSizeNormal}"
- Foreground="{StaticResource PhoneForegroundBrush}"
- Background="Black"
- SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
- shell:SystemTray.IsVisible="True" d:DesignHeight="768" d:DesignWidth="480"
- xmlns:my="clr-namespace:WPCordovaClassLib;assembly=WPCordovaClassLib">
- <Grid x:Name="LayoutRoot" Background="Transparent" HorizontalAlignment="Stretch">
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
- <my:CordovaView HorizontalAlignment="Stretch"
- Margin="0,0,0,0"
- Name="CordovaView"
- VerticalAlignment="Stretch" />
- <Image Source="SplashScreenImage.jpg"
- x:Name="SplashImage"
- VerticalAlignment="Center"
- HorizontalAlignment="Stretch">
- <Image.Projection>
- <PlaneProjection x:Name="SplashProjector" CenterOfRotationX="0"/>
- </Image.Projection>
- </Image>
- </Grid>
-
-</phone:PhoneApplicationPage>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/MainPage.xaml.cs
----------------------------------------------------------------------
diff --git a/example/MainPage.xaml.cs b/example/MainPage.xaml.cs
deleted file mode 100644
index b0c26a9..0000000
--- a/example/MainPage.xaml.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- 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.
- */
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Animation;
-using System.Windows.Shapes;
-using Microsoft.Phone.Controls;
-using System.IO;
-using System.Windows.Media.Imaging;
-using System.Windows.Resources;
-
-
-namespace CordovaExample
-{
- public partial class MainPage : PhoneApplicationPage
- {
- // Constructor
- public MainPage()
- {
- InitializeComponent();
- this.CordovaView.Loaded += CordovaView_Loaded;
- }
-
- private void CordovaView_Loaded(object sender, RoutedEventArgs e)
- {
- this.CordovaView.Loaded -= CordovaView_Loaded;
- Storyboard _storyBoard = new Storyboard();
- DoubleAnimation animation = new DoubleAnimation()
- {
- From = 0,
- Duration = TimeSpan.FromSeconds(0.6),
- To = 90
- };
- Storyboard.SetTarget(animation, SplashProjector);
- Storyboard.SetTargetProperty(animation, new PropertyPath("RotationY"));
- _storyBoard.Children.Add(animation);
- _storyBoard.Begin();
- _storyBoard.Completed += Splash_Completed;
- }
-
- void Splash_Completed(object sender, EventArgs e)
- {
- (sender as Storyboard).Completed -= Splash_Completed;
- LayoutRoot.Children.Remove(SplashImage);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/Plugins/Calculator.cs
----------------------------------------------------------------------
diff --git a/example/Plugins/Calculator.cs b/example/Plugins/Calculator.cs
deleted file mode 100644
index 2e74dd3..0000000
--- a/example/Plugins/Calculator.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- 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.
- */
-
-using System.Runtime.Serialization;
-using WPCordovaClassLib.Cordova;
-using WPCordovaClassLib.Cordova.Commands;
-using WPCordovaClassLib.Cordova.JSON;
-
-namespace Cordova.Extension.Commands
-{
- public class Calculator : BaseCommand
- {
-
- [DataContract]
- public class CalculateParameters
- {
- [DataMember]
- public double x { get; set; }
- [DataMember]
- public double y { get; set; }
- }
-
- public void sum(string args)
- {
- CalculateParameters calcParam = JsonHelper.Deserialize<CalculateParameters> (args);
-
- this.DispatchCommandResult(new PluginResult(PluginResult.Status.OK, calcParam.x + calcParam.y));
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/Properties/AppManifest.xml
----------------------------------------------------------------------
diff --git a/example/Properties/AppManifest.xml b/example/Properties/AppManifest.xml
deleted file mode 100644
index d80a20d..0000000
--- a/example/Properties/AppManifest.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
- 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.
- -->
-<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
->
- <Deployment.Parts>
- </Deployment.Parts>
-</Deployment>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/example/Properties/AssemblyInfo.cs b/example/Properties/AssemblyInfo.cs
deleted file mode 100644
index 9b6cbd9..0000000
--- a/example/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Resources;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("CordovaExample")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
-[assembly: AssemblyProduct("CordovaExample")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("9e27b972-0825-4386-ba17-63c695262c3d")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/Properties/WMAppManifest.xml
----------------------------------------------------------------------
diff --git a/example/Properties/WMAppManifest.xml b/example/Properties/WMAppManifest.xml
deleted file mode 100644
index 3b9779e..0000000
--- a/example/Properties/WMAppManifest.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
- <DefaultLanguage xmlns="" code="en-US" />
- <App xmlns="" ProductID="{fafc7e71-243d-49fc-a77a-d3b21b3aa5cf}" Title="CordovaExample" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="CordovaExample author" Description="Cordova for Windows Phone" Publisher="CordovaExample" PublisherID="{4e2a1a57-007f-4940-9fe5-37f92f5a27a2}">
- <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
- <Capabilities>
- <Capability Name="ID_CAP_IDENTITY_DEVICE" />
- <Capability Name="ID_CAP_IDENTITY_USER" />
- <Capability Name="ID_CAP_LOCATION" />
- <Capability Name="ID_CAP_NETWORKING" />
- <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
- <Capability Name="ID_CAP_APPOINTMENTS" />
- <Capability Name="ID_CAP_CONTACTS" />
- <Capability Name="ID_CAP_ISV_CAMERA" />
- <Capability Name="ID_CAP_MICROPHONE" />
- <Capability Name="ID_CAP_PHONEDIALER" />
- <Capability Name="ID_CAP_PUSH_NOTIFICATION" />
- <Capability Name="ID_CAP_SENSORS" />
- <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
- <Capability Name="ID_CAP_MEDIALIB_PHOTO" />
- <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
- </Capabilities>
- <Tasks>
- <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
- </Tasks>
- <Tokens>
- <PrimaryToken TokenID="CordovaExampleToken" TaskName="_default">
- <TemplateFlip>
- <SmallImageURI IsResource="false" IsRelative="true">Background.png</SmallImageURI>
- <Count>0</Count>
- <BackgroundImageURI IsResource="false" IsRelative="true">Background.png</BackgroundImageURI>
- <Title>CordovaExample</Title>
- <BackContent>
- </BackContent>
- <BackBackgroundImageURI>
- </BackBackgroundImageURI>
- <BackTitle>
- </BackTitle>
- <LargeBackgroundImageURI>
- </LargeBackgroundImageURI>
- <LargeBackContent>
- </LargeBackContent>
- <LargeBackBackgroundImageURI>
- </LargeBackBackgroundImageURI>
- <DeviceLockImageURI>
- </DeviceLockImageURI>
- <HasLarge>false</HasLarge>
- </TemplateFlip>
- </PrimaryToken>
- </Tokens>
- <ScreenResolutions>
- <ScreenResolution Name="ID_RESOLUTION_WVGA" />
- <ScreenResolution Name="ID_RESOLUTION_WXGA" />
- <ScreenResolution Name="ID_RESOLUTION_HD720P" />
- </ScreenResolutions>
- </App>
-</Deployment>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/SplashScreenImage.jpg
----------------------------------------------------------------------
diff --git a/example/SplashScreenImage.jpg b/example/SplashScreenImage.jpg
deleted file mode 100644
index 479d3e4..0000000
Binary files a/example/SplashScreenImage.jpg and /dev/null differ
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/config.xml
----------------------------------------------------------------------
diff --git a/example/config.xml b/example/config.xml
deleted file mode 100644
index 170f9fe..0000000
--- a/example/config.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-#
-# 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.
-#
--->
-<widget>
-
- <plugins>
- <plugin name="Device"/>
- <plugin name="Logger"/>
- <plugin name="Compass"/>
- <plugin name="Accelerometer"/>
- <plugin name="Camera"/>
- <plugin name="NetworkStatus"/>
- <plugin name="Contacts"/>
- <plugin name="DebugConsole" />
- <plugin name="Echo"/>
- <plugin name="File"/>
- <plugin name="FileTransfer"/>
- <plugin name="Geolocation"/>
- <plugin name="Notification"/>
- <plugin name="Media"/>
- <plugin name="Capture"/>
- <plugin name="SplashScreen"/>
- <plugin name="Battery"/>
- <plugin name="Globalization"/>
- <plugin name="InAppBrowser"/>
- </plugins>
-
-
- <access origin="*"/>
-
-</widget>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/accelerometer.html
----------------------------------------------------------------------
diff --git a/example/www/accelerometer.html b/example/www/accelerometer.html
deleted file mode 100644
index 5c4553b..0000000
--- a/example/www/accelerometer.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
-
- <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- function roundNumber(num) {
- var dec = 3;
- var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
- return result;
- }
-
- //-------------------------------------------------------------------------
- // Acceleration
- //-------------------------------------------------------------------------
- var watchAccelId = null;
-
- /**
- * Start watching acceleration
- */
- var watchAccel = function() {
- console.log("watchAccel()");
-
- // Success callback
- var success = function (a) {
- document.getElementById('x').innerHTML = roundNumber(a.x);
- document.getElementById('y').innerHTML = roundNumber(a.y);
- document.getElementById('z').innerHTML = roundNumber(a.z);
- console.log("watchAccel success callback");
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchAccel fail callback with error code "+e);
- stopAccel();
- setAccelStatus(Accelerometer.ERROR_MSG[e]);
- };
-
- // Update acceleration every 1 sec
- var opt = {};
- opt.frequency = 50;
- watchAccelId = navigator.accelerometer.watchAcceleration(success, fail, opt);
-
- setAccelStatus("Running");
- };
-
- /**
- * Stop watching the acceleration
- */
- var stopAccel = function() {
- console.log("stopAccel()");
- setAccelStatus("Stopped");
- if (watchAccelId) {
- navigator.accelerometer.clearWatch(watchAccelId);
- watchAccelId = null;
- }
- };
-
- /**
- * Get current acceleration
- */
- var getAccel = function() {
- console.log("getAccel()");
-
- // Stop accel if running
- //stopAccel();
-
- // Success callback
- var success = function (a) {
- document.getElementById('x').innerHTML = roundNumber(a.x);
- document.getElementById('y').innerHTML = roundNumber(a.y);
- document.getElementById('z').innerHTML = roundNumber(a.z);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("getAccel fail callback with error code "+e);
- setAccelStatus(Accelerometer.ERROR_MSG[e]);
- };
-
- // Make call
- var opt = {};
- navigator.accelerometer.getCurrentAcceleration(success, fail, opt);
- };
-
- /**
- * Set accelerometer status
- */
- var setAccelStatus = function (status) {
-
- document.getElementById('accel_status').innerHTML = status;
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
-
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
-
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Acceleration</h1>
- <div id="info">
- <div id="accel_status">Stopped</div>
- <div><table width="100%">
- <tr><td width="20%">X:</td><td id="x"> </td></tr>
- <tr><td width="20%">Y:</td><td id="y"> </td></tr>
- <tr><td width="20%">Z:</td><td id="z"> </td></tr>
- </table></div>
- </div>
-
-
-
- <h2>Action</h2>
- <a class="btn large" onclick="getAccel();">Get Acceleration</a>
- <a class="btn large" onclick="watchAccel();">Start Watch</a>
- <a class="btn large" onclick="stopAccel();">Clear Watch</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/accelerometer2.html
----------------------------------------------------------------------
diff --git a/example/www/accelerometer2.html b/example/www/accelerometer2.html
deleted file mode 100644
index ade6d84..0000000
--- a/example/www/accelerometer2.html
+++ /dev/null
@@ -1,175 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
-
- //-------------------------------------------------------------------------
- // Acceleration
- //-------------------------------------------------------------------------
- var watchAccelId = null;
-
- /**
- * Start watching acceleration
- */
- var watchAccel = function() {
- console.log("watchAccel()");
-
- if(watchAccelId)
- {
- return;
- }
-
- // Success callback
- var success = function (a) {
- document.getElementById("ball").style.left = parseInt(a.x * 100 + 100) + "px" ;
- document.getElementById("ball").style.top = parseInt(a.z * 100 + 100) + "px" ;
-
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchAccel fail callback with error code "+e);
- stopAccel();
- };
-
- // Update acceleration every 1 sec
- var opt = {};
- opt.frequency = 50;
- watchAccelId = navigator.accelerometer.watchAcceleration(onAccelData, fail, opt);
-
- setAccelStatus("Running");
- };
-
-
- var ballX = 0;
- var ballY = 0;
- var ballPixelsPerUpdate = 10;
-
- function onAccelData(a)
- {
- ballX += a.x * ballPixelsPerUpdate;
- ballY += a.z * ballPixelsPerUpdate;
-
- ballX = Math.max(ballX,0);
- ballX = Math.min(ballX,200);
-
- ballY = Math.max(ballY,0);
- ballY = Math.min(ballY,200);
-
-
- document.getElementById("ball").style.left = ballX + "px" ;
- document.getElementById("ball").style.top = ballY + "px" ;
- }
-
- /**
- * Stop watching the acceleration
- */
- var stopAccel = function() {
- console.log("stopAccel()");
- if (watchAccelId) {
- navigator.accelerometer.clearWatch(watchAccelId);
- watchAccelId = null;
- }
- };
-
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
-
- document.addEventListener("deviceready", function() {
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- }
-
-</script>
-
-<style>
- #ball
- {
- position:relative;
- width:20px;
- height:20px;
- border-radius:10px;
- background-color:#FFF;
- }
-
- #playfield
- {
- position:absolute;
- left:50px;
- top:220px;
- width:220px;
- height:220px;
- background-color:#ff8800;
- }
-
- .dButton
- {
- width:80px;
- height:40px;
- display:inline;
- float:left;
- clear:none;
- border-style:solid;
- border-width:1px;
- border-radius:2px;
- line-height:40px;
- }
-
- .backBtnz
- {
- position:absolute;
- bottom:-20px;
- }
-</style>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <div id="playfield">
- <div id="ball">
-
- </div>
- </div>
-
- <h2>Actions</h2>
-
- <div class="dButton" onclick="watchAccel();">Start</div>
- <div class="dButton" onclick="stopAccel();">Stop</div>
-
- <div/>
- <a href="index.html" class="backBtn backBtnz">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/audio.html
----------------------------------------------------------------------
diff --git a/example/www/audio.html b/example/www/audio.html
deleted file mode 100644
index b446943..0000000
--- a/example/www/audio.html
+++ /dev/null
@@ -1,267 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
-
- //-------------------------------------------------------------------------
- // Audio player
- //-------------------------------------------------------------------------
- var media1 = null;
- var media1Timer = null;
- var audioSrc = null;
- var recordSrc = "/folder/1.wav";
-
- /**
- * Play audio
- */
- function playAudio(path) {
- console.log("playAudio()");
- console.log(" -- media="+media1);
- var src = path;
-
- // Stop playing if src is different from currently playing source
- if (src != audioSrc) {
- if (media1 != null) {
- stopAudio();
- media1 = null;
- }
- }
-
- if (media1 == null) {
- console.log("Start creating media...");
- media1 = new Media(src,
- function() {
- console.log("playAudio():Audio Success");
- },
- function(err) {
- console.log("playAudio():Audio Error: "+err);
- setAudioStatus("Error: " + err);
- },
- function(status) {
- console.log("playAudio():Audio Status: "+status);
- setAudioStatus(Media.MEDIA_MSG[status]);
-
- // If stopped, then stop getting current position
- if (Media.MEDIA_STOPPED == status) {
- clearInterval(media1Timer);
- media1Timer = null;
- }
- });
- }
- console.log("Start play audio...");
- audioSrc = src;
- document.getElementById('audio_duration').innerHTML = "";
- // Play audio
- media1.play();
-
- document.getElementById('play_caption').innerHTML = "Now playing: ";
- document.getElementById('file_name').innerHTML = path;
-
- if (media1Timer == null && media1.getCurrentPosition) {
- media1Timer = setInterval(
- function() {
- media1.getCurrentPosition(
- function(position) {
- console.log("Pos="+position);
- if (position > -1) {
- setAudioPosition(position+" sec");
- }
- },
- function(e) {
- console.log("Error getting pos="+e);
- setAudioPosition("Error: "+e);
- }
- );
- },
- 1000
- );
- }
-
- // Get duration
- var counter = 0;
- var timerDur = setInterval(
- function() {
- counter = counter + 100;
- if (counter > 2000) {
- clearInterval(timerDur);
- }
- var dur = media1.getDuration();
- if (dur > 0) {
- clearInterval(timerDur);
- document.getElementById('audio_duration').innerHTML = dur + " sec";
- }
- }, 100);
-
- }
-
- /**
- * Pause audio playback
- */
- function pauseAudio() {
- console.log("pauseAudio()");
- if (media1) {
- media1.pause();
- }
- }
-
- /**
- * Stop audio
- */
- function stopAudio() {
- console.log("stopAudio()");
- if (media1) {
- media1.stop();
- }
- clearInterval(media1Timer);
- media1Timer = null;
- }
-
- /**
- * Set audio status
- */
- var setAudioStatus = function(status) {
- document.getElementById('audio_status').innerHTML = status;
- };
-
- /**
- * Set audio position
- */
- var setAudioPosition = function(position) {
- document.getElementById('audio_position').innerHTML = position;
- };
-
- //-------------------------------------------------------------------------
- // Audio recorder
- //-------------------------------------------------------------------------
- var mediaRec = null;
- var recTime = 0;
-
- /**
- * Record audio
- */
- function recordAudio() {
- console.log("recordAudio()");
- console.log(" -- media="+mediaRec);
- if (mediaRec == null) {
-
- var src = recordSrc;
- mediaRec = new Media(src,
- function() {
- console.log("recordAudio():Audio Success");
- },
- function(err) {
- console.log("recordAudio():Audio Error: "+err);
- setAudioStatus("Error: " + err);
- },
- function(status) {
- console.log("recordAudio():Audio Status: "+status);
- setAudioStatus(Media.MEDIA_MSG[status]);
- }
- );
- }
-
- navigator.notification.beep(1);
-
- console.log("Start recording...");
- mediaRec.startRecord();
-
- document.getElementById('play_caption').innerHTML = "Recording in:";
- document.getElementById('file_name').innerHTML = recordSrc;
-
- // Stop recording after 10 sec
- recTime = 0;
- var recInterval = setInterval(function() {
- recTime = recTime + 1;
- setAudioPosition(recTime+" sec");
- if (recTime >= 10) {
- clearInterval(recInterval);
- if (mediaRec.stopAudioRecord){
- console.log("stopAudioRecord");
- mediaRec.stopAudioRecord();
- } else {
- console.log("stopRecord");
- mediaRec.stopRecord();
- }
- console.log("recordAudio(): stop");
- navigator.notification.beep(1);
- }
- }, 1000);
- }
-
- /**
- * Play back recorded audio
- */
- function playRecording() {
- playAudio(recordSrc);
- }
-
- function seekTo() {
- console.log("seekTo()");
- if (media1) {
- media1.seekTo(15000);
- }
- }
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Audio</h1>
- <div id="info">
- <table width="100%">
- <tr><td id="play_caption">Now playing:</td><td id="file_name"> </td></tr>
- <tr><td>Status:</td><td id="audio_status"> </td></tr>
- <tr><td>Duration:</td><td id="audio_duration"></td></tr>
- <tr><td>Position:</td><td id="audio_position"></td></tr>
- </table>
- </div>
- <h2>Action</h2>
- <a class="btn large" onClick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play/Unpause Audio</a>
- <a class="btn large" onClick="pauseAudio();">Pause Playing Audio</a>
- <a class="btn large" onClick="stopAudio();">Stop Playing Audio</a>
- <a class="btn large" onClick="recordAudio();">Record Audio for 10 sec</a>
- <a class="btn large" onClick="playRecording();">Play/Unpause Recording</a>
- <a class="btn large" onClick="seekTo();">Seek To 15 sec</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
-
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/calculator.html
----------------------------------------------------------------------
diff --git a/example/www/calculator.html b/example/www/calculator.html
deleted file mode 100644
index fb5cf28..0000000
--- a/example/www/calculator.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function () {
- deviceReady = true;
- console.log("Device=" + device.platform + " " + device.version);
- }, false);
- window.setTimeout(function () {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- }, 1000);
- }
-
- function calculateSum() {
-
- cordova.exec(
- function (res) {
- document.getElementById('res').innerHTML = res;
- },
- function (e) {
- console.log("Error occurred: " + e);
- document.getElementById('res').innerHTML = "Error occurred: " + e;
- },
- "Calculator", "sum",
- { x: document.getElementById('x').value, y: document.getElementById('y').value });
- };
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Calculator</h1>
- <div id="info">
- <span class='tb-label'>X</span> <span id="Span1"></span>
- <input type="text" id="x" value="1" style="width:250px;height:20px;"/>
- <br/>
- <span class='tb-label'>Y</span> <span id="Span2"></span>
- <input type="text" id="y" value="2" style="width:250px;height:20px;"/>
- <br/>
- Sum: <span id="res"></span>
- </div>
- <h2>Action</h2>
- <a class="btn large" onclick="calculateSum();">Calculate</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/camera.html
----------------------------------------------------------------------
diff --git a/example/www/camera.html b/example/www/camera.html
deleted file mode 100644
index d770661..0000000
--- a/example/www/camera.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- //-------------------------------------------------------------------------
- // Camera
- //-------------------------------------------------------------------------
-
- /**
- * Capture picture
- */
- function getPicture() {
-
- //navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
- // destinationType: Camera.DestinationType.FILE_URI, sourceType : Camera.PictureSourceType.CAMERA });
-
- navigator.camera.getPicture(
- function(data) {
- var img = document.getElementById('camera_image');
- img.style.visibility = "visible";
- img.style.display = "block";
- img.src = "data:image/jpeg;base64," + data;
- //img.src = data;
- document.getElementById('camera_status').innerHTML = "Success";
- },
- function(e) {
- console.log("Error getting picture: " + e);
- document.getElementById('camera_status').innerHTML = "Error getting picture.";
- },
- { quality: 50, destinationType: navigator.camera.DestinationType.DATA_URL, sourceType : navigator.camera.PictureSourceType.CAMERA});
- };
-
- /**
- * Select image from library
- */
- function getImage() {
- navigator.camera.getPicture(
- function(data) {
- var img = document.getElementById('camera_image');
- img.style.visibility = "visible";
- img.style.display = "block";
- //img.src = "data:image/jpeg;base64," + data;
- img.src = data;
- document.getElementById('camera_status').innerHTML = "Success";
- },
- function(e) {
- console.log("Error getting picture: " + e);
- document.getElementById('camera_status').innerHTML = "Error getting picture.";
- },
- { quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY });
- };
-
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Camera</h1>
- <div id="info">
- Status: <span id="camera_status"></span><br/>
- <img style="width:120px;height:120px;visibility:hidden;display:none;" id="camera_image" src="" />
- </div>
- <h2>Action</h2>
- <a class="btn large" onclick="getPicture();">Take Picture</a>
- <a class="btn large" onclick="getImage();">Select Image from Library</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/capture.html
----------------------------------------------------------------------
diff --git a/example/www/capture.html b/example/www/capture.html
deleted file mode 100644
index f5ba9e4..0000000
--- a/example/www/capture.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <!-- ISO-8859-1 -->
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
-
- // last captured media file
- var mediaFile = null;
-
- function clearMediaPlaceholder() {
- document.getElementById('audio_player').setAttribute('style', 'visibility:hidden;display:none;');
-
- var img = document.getElementById('camera_image');
- img.style.visibility = "hidden";
- img.style.display = "none";
- img.src = "";
- }
-
- //-------------------------------------------------------------------------
- // Capture
- //-------------------------------------------------------------------------
-
- /**
- * Capture image
- */
- function captureImage() {
-
- navigator.device.capture.captureImage(
- function (mediaFiles) {
-
- document.getElementById('capture_status').innerHTML = "Success. Captured " + mediaFiles.length + " media file(s).";
-
- if (mediaFiles.length <= 0) return;
-
- mediaFile = mediaFiles[0];
-
- document.getElementById('name').innerHTML = mediaFile.name;
- document.getElementById('fullPath').innerHTML = mediaFile.fullPath;
- document.getElementById('size').innerHTML = mediaFile.size;
- document.getElementById('lastModifiedDate').innerHTML = mediaFile.lastModifiedDate;
- document.getElementById('type').innerHTML = mediaFile.type;
-
- clearMediaPlaceholder();
-
- var img = document.getElementById('camera_image');
- img.style.visibility = "visible";
- img.style.display = "block";
- img.src = mediaFile.fullPath;
- },
- function (e) {
- console.log("Error getting picture: " + e);
- document.getElementById('capture_status').innerHTML = "Error getting picture.";
- },
- { limit: 1 });
- };
-
- /**
- * Capture Audio
- */
- function captureAudio() {
-
- navigator.device.capture.captureAudio(
- function (mediaFiles) {
-
- document.getElementById('capture_status').innerHTML = "Success. Captured " + mediaFiles.length + " media file(s).";
-
- if (mediaFiles.length <= 0) return;
-
- mediaFile = mediaFiles[0];
-
- document.getElementById('name').innerHTML = mediaFile.name;
- document.getElementById('fullPath').innerHTML = mediaFile.fullPath;
- document.getElementById('size').innerHTML = mediaFile.size;
- document.getElementById('lastModifiedDate').innerHTML = mediaFile.lastModifiedDate;
- document.getElementById('type').innerHTML = mediaFile.type;
-
- clearMediaPlaceholder();
-
- var player = document.getElementById('audio_player');
- player.setAttribute('style', 'visibility:visible;');
- player.src = mediaFile.fullPath;
- //player.play();
- },
- function (e) {
- console.log("Error getting audio: " + e);
- document.getElementById('capture_status').innerHTML = "Error getting audio.";
- },
- { limit: 1 });
- };
-
- /**
- * Capture Video
- */
- function captureVideo() {
-
- navigator.device.capture.captureVideo(
- function (mediaFiles) {
-
- document.getElementById('capture_status').innerHTML = "Success. Captured " + mediaFiles.length + " media file(s).";
-
- if (mediaFiles.length <= 0) return;
-
- mediaFile = mediaFiles[0];
-
- document.getElementById('name').innerHTML = mediaFile.name;
- document.getElementById('fullPath').innerHTML = mediaFile.fullPath;
- document.getElementById('size').innerHTML = mediaFile.size;
- document.getElementById('lastModifiedDate').innerHTML = mediaFile.lastModifiedDate;
- document.getElementById('type').innerHTML = mediaFile.type;
-
- clearMediaPlaceholder();
-
- var player = document.getElementById('video_player');
- player.setAttribute('style', 'visibility:visible;');
- player.src = mediaFile.fullPath;
- console.log("src: " + mediaFile.fullPath);
- },
- function (e) {
- console.log("Error getting video: " + e);
- document.getElementById('capture_status').innerHTML = "Error getting video.";
- },
- { limit: 1 });
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function () {
- console.log("Device=" + device.platform + " " + device.version);
- }, false);
- }
-
- /**
- * Function to play last captured media.
- */
- function playMedia() {
- if (typeof mediaFile !== 'undefined') {
- mediaFile.play(
- null,
- function (e) {
- console.log("Error playing media: " + e);
- document.getElementById('capture_status').innerHTML = "Error playing media.";
- });
- }
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Capture</h1>
- <div id="info">
- Status: <span id="capture_status"></span><br/>
- <img style="width:120px;height:120px;visibility:hidden;display:none;" id="camera_image" src="" />
- <audio style="visibility:hidden;display:none;" id="audio_player" src="" controls />
- <video style="visibility:hidden;display:none;" width="150" height="150" id="video_player" src=""
- onclick="playMedia();" >
- Browser does not support the video tag.
- </video>
-
-
- <div><table width="100%">
- <tr><td width="20%">Name:</td><td id="name"> </td></tr>
- <tr><td width="20%">FullPath:</td><td id="fullPath"> </td></tr>
- <tr><td width="20%">Type:</td><td id="type"> </td></tr>
- <tr><td width="20%">Size:</td><td id="size"> </td></tr>
- <tr><td width="20%">Modified:</td><td id="lastModifiedDate"> </td></tr>
- </table></div>
-
- </div>
- <h2>Actions</h2>
- <a class="btn large" onclick="captureImage();">Capture Image</a>
- <a class="btn large" onclick="captureAudio();">Capture Audio</a>
- <a class="btn large" onclick="captureVideo();">Capture Video</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/example/www/compass.html
----------------------------------------------------------------------
diff --git a/example/www/compass.html b/example/www/compass.html
deleted file mode 100644
index 0bbd9fc..0000000
--- a/example/www/compass.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html>
-<!--
- 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.
--->
-<html>
- <head>
- <!-- meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=2.0, maximum-scale=4.0, minimum-scale=1.0" / -->
- <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
- <title>Cordova</title>
- <link rel="stylesheet" href="master.css" type="text/css" media="screen"/>
-
-
-
- <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
-
-
-<script type="text/javascript" charset="utf-8">
-
- var deviceReady = false;
-
- function roundNumber(num) {
- var dec = 3;
- var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
- return result;
- }
-
- //-------------------------------------------------------------------------
- // Compass
- //-------------------------------------------------------------------------
- var watchCompassId = null;
-
- /**
- * Start watching compass
- */
- var watchCompass = function() {
- console.log("watchCompass()");
-
- // Success callback
- var success = function(a){
- document.getElementById('compassHeading').innerHTML = roundNumber(a);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("watchCompass fail callback with error code "+e);
- stopCompass();
- setCompassStatus(Compass.ERROR_MSG[e]);
- };
-
- // Update heading every 1 sec
- var opt = {};
- opt.frequency = 1000;
- watchCompassId = navigator.compass.watchHeading(success, fail, opt);
-
- setCompassStatus("Running");
- };
-
- /**
- * Stop watching the acceleration
- */
- var stopCompass = function() {
- setCompassStatus("Stopped");
- if (watchCompassId) {
- navigator.compass.clearWatch(watchCompassId);
- watchCompassId = null;
- }
- };
-
- /**
- * Get current compass
- */
- var getCompass = function() {
- console.log("getCompass()");
-
- // Stop compass if running
- stopCompass();
-
- // Success callback
- var success = function(a){
- document.getElementById('compassHeading').innerHTML = roundNumber(a);
- };
-
- // Fail callback
- var fail = function(e){
- console.log("getCompass fail callback with error code "+e);
- setCompassStatus(Compass.ERROR_MSG[e]);
- };
-
- // Make call
- var opt = {};
- navigator.compass.getCurrentHeading(success, fail, opt);
- };
-
- /**
- * Set compass status
- */
- var setCompassStatus = function(status) {
- document.getElementById('compass_status').innerHTML = status;
- };
-
- /**
- * Function called when page has finished loading.
- */
- function init() {
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- console.log("Device="+device.platform+" "+device.version);
- }, false);
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- },1000);
- }
-
-</script>
-
- </head>
- <body onLoad="init();" id="stage" class="theme">
-
- <h1>Compass</h1>
- <div id="info">
- Status: <span id="compass_status">Stopped</span>
- <table width="100%"><tr>
- <td width="33%">Heading: <span id="compassHeading"/> </td>
- </tr></table>
- </div>
- <h2>Action</h2>
- <a class="btn large" onClick="getCompass();">Get Compass</a>
- <a class="btn large" onClick="watchCompass();">Start Watching Compass</a>
- <a class="btn large" onClick="stopCompass();">Stop Watching Compass</a>
- <h2> </h2><a href="index.html" class="backBtn">Back</a>
- </body>
-</html>
[02/13] remove cruft
Posted by pu...@apache.org.
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/bf4b3ce3/tests/MobileSpecUnitTests/www/cordova-2.5.0.js
----------------------------------------------------------------------
diff --git a/tests/MobileSpecUnitTests/www/cordova-2.5.0.js b/tests/MobileSpecUnitTests/www/cordova-2.5.0.js
deleted file mode 100644
index 5989d67..0000000
--- a/tests/MobileSpecUnitTests/www/cordova-2.5.0.js
+++ /dev/null
@@ -1,6446 +0,0 @@
-// Platform: windowsphone
-
-// commit 54660e97952c558518cad8c4eecc67cfa42b2993
-
-// File generated at :: Tue Feb 26 2013 16:24:06 GMT-0800 (Pacific Standard Time)
-
-/*
- 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.
-*/
-
-;(function() {
-
-// file: lib\scripts\require.js
-
-var require,
- define;
-
-(function () {
- var modules = {};
- // Stack of moduleIds currently being built.
- var requireStack = [];
- // Map of module ID -> index into requireStack of modules currently being built.
- var inProgressModules = {};
-
- function build(module) {
- var factory = module.factory;
- module.exports = {};
- delete module.factory;
- factory(require, module.exports, module);
- return module.exports;
- }
-
- require = function (id) {
- if (!modules[id]) {
- throw "module " + id + " not found";
- } else if (id in inProgressModules) {
- var cycle = requireStack.slice(inProgressModules[id]).join('->') + '->' + id;
- throw "Cycle in require graph: " + cycle;
- }
- if (modules[id].factory) {
- try {
- inProgressModules[id] = requireStack.length;
- requireStack.push(id);
- return build(modules[id]);
- } finally {
- delete inProgressModules[id];
- requireStack.pop();
- }
- }
- return modules[id].exports;
- };
-
- define = function (id, factory) {
- if (modules[id]) {
- throw "module " + id + " already defined";
- }
-
- modules[id] = {
- id: id,
- factory: factory
- };
- };
-
- define.remove = function (id) {
- delete modules[id];
- };
-
- define.moduleMap = modules;
-})();
-
-//Export for use in node
-if (typeof module === "object" && typeof require === "function") {
- module.exports.require = require;
- module.exports.define = define;
-}
-
-// file: lib/cordova.js
-define("cordova", function(require, exports, module) {
-
-
-var channel = require('cordova/channel');
-
-/**
- * Listen for DOMContentLoaded and notify our channel subscribers.
- */
-document.addEventListener('DOMContentLoaded', function() {
- channel.onDOMContentLoaded.fire();
-}, false);
-if (document.readyState == 'complete' || document.readyState == 'interactive') {
- channel.onDOMContentLoaded.fire();
-}
-
-/**
- * Intercept calls to addEventListener + removeEventListener and handle deviceready,
- * resume, and pause events.
- */
-var m_document_addEventListener = document.addEventListener;
-var m_document_removeEventListener = document.removeEventListener;
-var m_window_addEventListener = window.addEventListener;
-var m_window_removeEventListener = window.removeEventListener;
-
-/**
- * Houses custom event handlers to intercept on document + window event listeners.
- */
-var documentEventHandlers = {},
- windowEventHandlers = {};
-
-document.addEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- if (typeof documentEventHandlers[e] != 'undefined') {
- documentEventHandlers[e].subscribe(handler);
- } else {
- m_document_addEventListener.call(document, evt, handler, capture);
- }
-};
-
-window.addEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- if (typeof windowEventHandlers[e] != 'undefined') {
- windowEventHandlers[e].subscribe(handler);
- } else {
- m_window_addEventListener.call(window, evt, handler, capture);
- }
-};
-
-document.removeEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- // If unsubscribing from an event that is handled by a plugin
- if (typeof documentEventHandlers[e] != "undefined") {
- documentEventHandlers[e].unsubscribe(handler);
- } else {
- m_document_removeEventListener.call(document, evt, handler, capture);
- }
-};
-
-window.removeEventListener = function(evt, handler, capture) {
- var e = evt.toLowerCase();
- // If unsubscribing from an event that is handled by a plugin
- if (typeof windowEventHandlers[e] != "undefined") {
- windowEventHandlers[e].unsubscribe(handler);
- } else {
- m_window_removeEventListener.call(window, evt, handler, capture);
- }
-};
-
-function createEvent(type, data) {
- var event = document.createEvent('Events');
- event.initEvent(type, false, false);
- if (data) {
- for (var i in data) {
- if (data.hasOwnProperty(i)) {
- event[i] = data[i];
- }
- }
- }
- return event;
-}
-
-if(typeof window.console === "undefined") {
- window.console = {
- log:function(){}
- };
-}
-
-var cordova = {
- define:define,
- require:require,
- /**
- * Methods to add/remove your own addEventListener hijacking on document + window.
- */
- addWindowEventHandler:function(event) {
- return (windowEventHandlers[event] = channel.create(event));
- },
- addStickyDocumentEventHandler:function(event) {
- return (documentEventHandlers[event] = channel.createSticky(event));
- },
- addDocumentEventHandler:function(event) {
- return (documentEventHandlers[event] = channel.create(event));
- },
- removeWindowEventHandler:function(event) {
- delete windowEventHandlers[event];
- },
- removeDocumentEventHandler:function(event) {
- delete documentEventHandlers[event];
- },
- /**
- * Retrieve original event handlers that were replaced by Cordova
- *
- * @return object
- */
- getOriginalHandlers: function() {
- return {'document': {'addEventListener': m_document_addEventListener, 'removeEventListener': m_document_removeEventListener},
- 'window': {'addEventListener': m_window_addEventListener, 'removeEventListener': m_window_removeEventListener}};
- },
- /**
- * Method to fire event from native code
- * bNoDetach is required for events which cause an exception which needs to be caught in native code
- */
- fireDocumentEvent: function(type, data, bNoDetach) {
- var evt = createEvent(type, data);
- if (typeof documentEventHandlers[type] != 'undefined') {
- if( bNoDetach ) {
- documentEventHandlers[type].fire(evt);
- }
- else {
- setTimeout(function() {
- documentEventHandlers[type].fire(evt);
- }, 0);
- }
- } else {
- document.dispatchEvent(evt);
- }
- },
- fireWindowEvent: function(type, data) {
- var evt = createEvent(type,data);
- if (typeof windowEventHandlers[type] != 'undefined') {
- setTimeout(function() {
- windowEventHandlers[type].fire(evt);
- }, 0);
- } else {
- window.dispatchEvent(evt);
- }
- },
-
- /**
- * Plugin callback mechanism.
- */
- // Randomize the starting callbackId to avoid collisions after refreshing or navigating.
- // This way, it's very unlikely that any new callback would get the same callbackId as an old callback.
- callbackId: Math.floor(Math.random() * 2000000000),
- callbacks: {},
- callbackStatus: {
- NO_RESULT: 0,
- OK: 1,
- CLASS_NOT_FOUND_EXCEPTION: 2,
- ILLEGAL_ACCESS_EXCEPTION: 3,
- INSTANTIATION_EXCEPTION: 4,
- MALFORMED_URL_EXCEPTION: 5,
- IO_EXCEPTION: 6,
- INVALID_ACTION: 7,
- JSON_EXCEPTION: 8,
- ERROR: 9
- },
-
- /**
- * Called by native code when returning successful result from an action.
- */
- callbackSuccess: function(callbackId, args) {
- try {
- cordova.callbackFromNative(callbackId, true, args.status, [args.message], args.keepCallback);
- } catch (e) {
- console.log("Error in error callback: " + callbackId + " = "+e);
- }
- },
-
- /**
- * Called by native code when returning error result from an action.
- */
- callbackError: function(callbackId, args) {
- // TODO: Deprecate callbackSuccess and callbackError in favour of callbackFromNative.
- // Derive success from status.
- try {
- cordova.callbackFromNative(callbackId, false, args.status, [args.message], args.keepCallback);
- } catch (e) {
- console.log("Error in error callback: " + callbackId + " = "+e);
- }
- },
-
- /**
- * Called by native code when returning the result from an action.
- */
- callbackFromNative: function(callbackId, success, status, args, keepCallback) {
- var callback = cordova.callbacks[callbackId];
- if (callback) {
- if (success && status == cordova.callbackStatus.OK) {
- callback.success && callback.success.apply(null, args);
- } else if (!success) {
- callback.fail && callback.fail.apply(null, args);
- }
-
- // Clear callback if not expecting any more results
- if (!keepCallback) {
- delete cordova.callbacks[callbackId];
- }
- }
- },
- addConstructor: function(func) {
- channel.onCordovaReady.subscribe(function() {
- try {
- func();
- } catch(e) {
- console.log("Failed to run constructor: " + e);
- }
- });
- }
-};
-
-// Register pause, resume and deviceready channels as events on document.
-channel.onPause = cordova.addDocumentEventHandler('pause');
-channel.onResume = cordova.addDocumentEventHandler('resume');
-channel.onDeviceReady = cordova.addStickyDocumentEventHandler('deviceready');
-
-module.exports = cordova;
-
-});
-
-// file: lib\common\argscheck.js
-define("cordova/argscheck", function(require, exports, module) {
-
-var exec = require('cordova/exec');
-var utils = require('cordova/utils');
-
-var moduleExports = module.exports;
-
-var typeMap = {
- 'A': 'Array',
- 'D': 'Date',
- 'N': 'Number',
- 'S': 'String',
- 'F': 'Function',
- 'O': 'Object'
-};
-
-function extractParamName(callee, argIndex) {
- return (/.*?\((.*?)\)/).exec(callee)[1].split(', ')[argIndex];
-}
-
-function checkArgs(spec, functionName, args, opt_callee) {
- if (!moduleExports.enableChecks) {
- return;
- }
- var errMsg = null;
- var typeName;
- for (var i = 0; i < spec.length; ++i) {
- var c = spec.charAt(i),
- cUpper = c.toUpperCase(),
- arg = args[i];
- // Asterix means allow anything.
- if (c == '*') {
- continue;
- }
- typeName = utils.typeName(arg);
- if ((arg === null || arg === undefined) && c == cUpper) {
- continue;
- }
- if (typeName != typeMap[cUpper]) {
- errMsg = 'Expected ' + typeMap[cUpper];
- break;
- }
- }
- if (errMsg) {
- errMsg += ', but got ' + typeName + '.';
- errMsg = 'Wrong type for parameter "' + extractParamName(opt_callee || args.callee, i) + '" of ' + functionName + ': ' + errMsg;
- // Don't log when running jake test.
- if (typeof jasmine == 'undefined') {
- console.error(errMsg);
- }
- throw TypeError(errMsg);
- }
-}
-
-function getValue(value, defaultValue) {
- return value === undefined ? defaultValue : value;
-}
-
-moduleExports.checkArgs = checkArgs;
-moduleExports.getValue = getValue;
-moduleExports.enableChecks = true;
-
-
-});
-
-// file: lib\common\builder.js
-define("cordova/builder", function(require, exports, module) {
-
-var utils = require('cordova/utils');
-
-function each(objects, func, context) {
- for (var prop in objects) {
- if (objects.hasOwnProperty(prop)) {
- func.apply(context, [objects[prop], prop]);
- }
- }
-}
-
-function clobber(obj, key, value) {
- exports.replaceHookForTesting(obj, key);
- obj[key] = value;
- // Getters can only be overridden by getters.
- if (obj[key] !== value) {
- utils.defineGetter(obj, key, function() {
- return value;
- });
- }
-}
-
-function assignOrWrapInDeprecateGetter(obj, key, value, message) {
- if (message) {
- utils.defineGetter(obj, key, function() {
- console.log(message);
- delete obj[key];
- clobber(obj, key, value);
- return value;
- });
- } else {
- clobber(obj, key, value);
- }
-}
-
-function include(parent, objects, clobber, merge) {
- each(objects, function (obj, key) {
- try {
- var result = obj.path ? require(obj.path) : {};
-
- if (clobber) {
- // Clobber if it doesn't exist.
- if (typeof parent[key] === 'undefined') {
- assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
- } else if (typeof obj.path !== 'undefined') {
- // If merging, merge properties onto parent, otherwise, clobber.
- if (merge) {
- recursiveMerge(parent[key], result);
- } else {
- assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
- }
- }
- result = parent[key];
- } else {
- // Overwrite if not currently defined.
- if (typeof parent[key] == 'undefined') {
- assignOrWrapInDeprecateGetter(parent, key, result, obj.deprecated);
- } else {
- // Set result to what already exists, so we can build children into it if they exist.
- result = parent[key];
- }
- }
-
- if (obj.children) {
- include(result, obj.children, clobber, merge);
- }
- } catch(e) {
- utils.alert('Exception building cordova JS globals: ' + e + ' for key "' + key + '"');
- }
- });
-}
-
-/**
- * Merge properties from one object onto another recursively. Properties from
- * the src object will overwrite existing target property.
- *
- * @param target Object to merge properties into.
- * @param src Object to merge properties from.
- */
-function recursiveMerge(target, src) {
- for (var prop in src) {
- if (src.hasOwnProperty(prop)) {
- if (target.prototype && target.prototype.constructor === target) {
- // If the target object is a constructor override off prototype.
- clobber(target.prototype, prop, src[prop]);
- } else {
- if (typeof src[prop] === 'object' && typeof target[prop] === 'object') {
- recursiveMerge(target[prop], src[prop]);
- } else {
- clobber(target, prop, src[prop]);
- }
- }
- }
- }
-}
-
-exports.buildIntoButDoNotClobber = function(objects, target) {
- include(target, objects, false, false);
-};
-exports.buildIntoAndClobber = function(objects, target) {
- include(target, objects, true, false);
-};
-exports.buildIntoAndMerge = function(objects, target) {
- include(target, objects, true, true);
-};
-exports.recursiveMerge = recursiveMerge;
-exports.assignOrWrapInDeprecateGetter = assignOrWrapInDeprecateGetter;
-exports.replaceHookForTesting = function() {};
-
-});
-
-// file: lib\common\channel.js
-define("cordova/channel", function(require, exports, module) {
-
-var utils = require('cordova/utils'),
- nextGuid = 1;
-
-/**
- * Custom pub-sub "channel" that can have functions subscribed to it
- * This object is used to define and control firing of events for
- * cordova initialization, as well as for custom events thereafter.
- *
- * The order of events during page load and Cordova startup is as follows:
- *
- * onDOMContentLoaded* Internal event that is received when the web page is loaded and parsed.
- * onNativeReady* Internal event that indicates the Cordova native side is ready.
- * onCordovaReady* Internal event fired when all Cordova JavaScript objects have been created.
- * onCordovaInfoReady* Internal event fired when device properties are available.
- * onCordovaConnectionReady* Internal event fired when the connection property has been set.
- * onDeviceReady* User event fired to indicate that Cordova is ready
- * onResume User event fired to indicate a start/resume lifecycle event
- * onPause User event fired to indicate a pause lifecycle event
- * onDestroy* Internal event fired when app is being destroyed (User should use window.onunload event, not this one).
- *
- * The events marked with an * are sticky. Once they have fired, they will stay in the fired state.
- * All listeners that subscribe after the event is fired will be executed right away.
- *
- * The only Cordova events that user code should register for are:
- * deviceready Cordova native code is initialized and Cordova APIs can be called from JavaScript
- * pause App has moved to background
- * resume App has returned to foreground
- *
- * Listeners can be registered as:
- * document.addEventListener("deviceready", myDeviceReadyListener, false);
- * document.addEventListener("resume", myResumeListener, false);
- * document.addEventListener("pause", myPauseListener, false);
- *
- * The DOM lifecycle events should be used for saving and restoring state
- * window.onload
- * window.onunload
- *
- */
-
-/**
- * Channel
- * @constructor
- * @param type String the channel name
- */
-var Channel = function(type, sticky) {
- this.type = type;
- // Map of guid -> function.
- this.handlers = {};
- // 0 = Non-sticky, 1 = Sticky non-fired, 2 = Sticky fired.
- this.state = sticky ? 1 : 0;
- // Used in sticky mode to remember args passed to fire().
- this.fireArgs = null;
- // Used by onHasSubscribersChange to know if there are any listeners.
- this.numHandlers = 0;
- // Function that is called when the first listener is subscribed, or when
- // the last listener is unsubscribed.
- this.onHasSubscribersChange = null;
-},
- channel = {
- /**
- * Calls the provided function only after all of the channels specified
- * have been fired. All channels must be sticky channels.
- */
- join: function(h, c) {
- var len = c.length,
- i = len,
- f = function() {
- if (!(--i)) h();
- };
- for (var j=0; j<len; j++) {
- if (c[j].state === 0) {
- throw Error('Can only use join with sticky channels.');
- }
- c[j].subscribe(f);
- }
- if (!len) h();
- },
- create: function(type) {
- return channel[type] = new Channel(type, false);
- },
- createSticky: function(type) {
- return channel[type] = new Channel(type, true);
- },
-
- /**
- * cordova Channels that must fire before "deviceready" is fired.
- */
- deviceReadyChannelsArray: [],
- deviceReadyChannelsMap: {},
-
- /**
- * Indicate that a feature needs to be initialized before it is ready to be used.
- * This holds up Cordova's "deviceready" event until the feature has been initialized
- * and Cordova.initComplete(feature) is called.
- *
- * @param feature {String} The unique feature name
- */
- waitForInitialization: function(feature) {
- if (feature) {
- var c = channel[feature] || this.createSticky(feature);
- this.deviceReadyChannelsMap[feature] = c;
- this.deviceReadyChannelsArray.push(c);
- }
- },
-
- /**
- * Indicate that initialization code has completed and the feature is ready to be used.
- *
- * @param feature {String} The unique feature name
- */
- initializationComplete: function(feature) {
- var c = this.deviceReadyChannelsMap[feature];
- if (c) {
- c.fire();
- }
- }
- };
-
-function forceFunction(f) {
- if (typeof f != 'function') throw "Function required as first argument!";
-}
-
-/**
- * Subscribes the given function to the channel. Any time that
- * Channel.fire is called so too will the function.
- * Optionally specify an execution context for the function
- * and a guid that can be used to stop subscribing to the channel.
- * Returns the guid.
- */
-Channel.prototype.subscribe = function(f, c) {
- // need a function to call
- forceFunction(f);
- if (this.state == 2) {
- f.apply(c || this, this.fireArgs);
- return;
- }
-
- var func = f,
- guid = f.observer_guid;
- if (typeof c == "object") { func = utils.close(c, f); }
-
- if (!guid) {
- // first time any channel has seen this subscriber
- guid = '' + nextGuid++;
- }
- func.observer_guid = guid;
- f.observer_guid = guid;
-
- // Don't add the same handler more than once.
- if (!this.handlers[guid]) {
- this.handlers[guid] = func;
- this.numHandlers++;
- if (this.numHandlers == 1) {
- this.onHasSubscribersChange && this.onHasSubscribersChange();
- }
- }
-};
-
-/**
- * Unsubscribes the function with the given guid from the channel.
- */
-Channel.prototype.unsubscribe = function(f) {
- // need a function to unsubscribe
- forceFunction(f);
-
- var guid = f.observer_guid,
- handler = this.handlers[guid];
- if (handler) {
- delete this.handlers[guid];
- this.numHandlers--;
- if (this.numHandlers === 0) {
- this.onHasSubscribersChange && this.onHasSubscribersChange();
- }
- }
-};
-
-/**
- * Calls all functions subscribed to this channel.
- */
-Channel.prototype.fire = function(e) {
- var fail = false,
- fireArgs = Array.prototype.slice.call(arguments);
- // Apply stickiness.
- if (this.state == 1) {
- this.state = 2;
- this.fireArgs = fireArgs;
- }
- if (this.numHandlers) {
- // Copy the values first so that it is safe to modify it from within
- // callbacks.
- var toCall = [];
- for (var item in this.handlers) {
- toCall.push(this.handlers[item]);
- }
- for (var i = 0; i < toCall.length; ++i) {
- toCall[i].apply(this, fireArgs);
- }
- if (this.state == 2 && this.numHandlers) {
- this.numHandlers = 0;
- this.handlers = {};
- this.onHasSubscribersChange && this.onHasSubscribersChange();
- }
- }
-};
-
-
-// defining them here so they are ready super fast!
-// DOM event that is received when the web page is loaded and parsed.
-channel.createSticky('onDOMContentLoaded');
-
-// Event to indicate the Cordova native side is ready.
-channel.createSticky('onNativeReady');
-
-// Event to indicate that all Cordova JavaScript objects have been created
-// and it's time to run plugin constructors.
-channel.createSticky('onCordovaReady');
-
-// Event to indicate that device properties are available
-channel.createSticky('onCordovaInfoReady');
-
-// Event to indicate that the connection property has been set.
-channel.createSticky('onCordovaConnectionReady');
-
-// Event to indicate that all automatically loaded JS plugins are loaded and ready.
-// This is used in conjunction with the automatic plugin JS loading CLI prototype.
-channel.createSticky('onPluginsReady');
-
-// Event to indicate that Cordova is ready
-channel.createSticky('onDeviceReady');
-
-// Event to indicate a resume lifecycle event
-channel.create('onResume');
-
-// Event to indicate a pause lifecycle event
-channel.create('onPause');
-
-// Event to indicate a destroy lifecycle event
-channel.createSticky('onDestroy');
-
-// Channels that must fire before "deviceready" is fired.
-channel.waitForInitialization('onCordovaReady');
-channel.waitForInitialization('onCordovaConnectionReady');
-
-module.exports = channel;
-
-});
-
-// file: lib\common\commandProxy.js
-define("cordova/commandProxy", function(require, exports, module) {
-
-
-// internal map of proxy function
-var CommandProxyMap = {};
-
-module.exports = {
-
- // example: cordova.commandProxy.add("Accelerometer",{getCurrentAcceleration: function(successCallback, errorCallback, options) {...},...);
- add:function(id,proxyObj) {
- console.log("adding proxy for " + id);
- CommandProxyMap[id] = proxyObj;
- return proxyObj;
- },
-
- // cordova.commandProxy.remove("Accelerometer");
- remove:function(id) {
- var proxy = CommandProxyMap[id];
- delete CommandProxyMap[id];
- CommandProxyMap[id] = null;
- return proxy;
- },
-
- get:function(service,action) {
- return ( CommandProxyMap[service] ? CommandProxyMap[service][action] : null );
- }
-};
-});
-
-// file: lib\windowsphone\exec.js
-define("cordova/exec", function(require, exports, module) {
-
-var cordova = require('cordova');
-
-/**
- * Execute a cordova command. It is up to the native side whether this action
- * is synchronous or asynchronous. The native side can return:
- * Synchronous: PluginResult object as a JSON string
- * Asynchronous: Empty string ""
- * If async, the native side will cordova.callbackSuccess or cordova.callbackError,
- * depending upon the result of the action.
- *
- * @param {Function} success The success callback
- * @param {Function} fail The fail callback
- * @param {String} service The name of the service to use
- * @param {String} action Action to be run in cordova
- * @param {String[]} [args] Zero or more arguments to pass to the method
-
- */
-
-module.exports = function(success, fail, service, action, args) {
-
- var callbackId = service + cordova.callbackId++;
- if (typeof success == "function" || typeof fail == "function") {
- cordova.callbacks[callbackId] = {success:success, fail:fail};
- }
- // generate a new command string, ex. DebugConsole/log/DebugConsole23/["wtf dude?"]
- for(var n = 0; n < args.length; n++)
- {
- if(typeof args[n] !== "string")
- {
- args[n] = JSON.stringify(args[n]);
- }
- }
- var command = service + "/" + action + "/" + callbackId + "/" + JSON.stringify(args);
- // pass it on to Notify
- try {
- if(window.external) {
- window.external.Notify(command);
- }
- else {
- console.log("window.external not available :: command=" + command);
- }
- }
- catch(e) {
- console.log("Exception calling native with command :: " + command + " :: exception=" + e);
- }
-};
-
-
-});
-
-// file: lib\common\modulemapper.js
-define("cordova/modulemapper", function(require, exports, module) {
-
-var builder = require('cordova/builder'),
- moduleMap = define.moduleMap,
- symbolList,
- deprecationMap;
-
-exports.reset = function() {
- symbolList = [];
- deprecationMap = {};
-};
-
-function addEntry(strategy, moduleName, symbolPath, opt_deprecationMessage) {
- if (!(moduleName in moduleMap)) {
- throw new Error('Module ' + moduleName + ' does not exist.');
- }
- symbolList.push(strategy, moduleName, symbolPath);
- if (opt_deprecationMessage) {
- deprecationMap[symbolPath] = opt_deprecationMessage;
- }
-}
-
-// Note: Android 2.3 does have Function.bind().
-exports.clobbers = function(moduleName, symbolPath, opt_deprecationMessage) {
- addEntry('c', moduleName, symbolPath, opt_deprecationMessage);
-};
-
-exports.merges = function(moduleName, symbolPath, opt_deprecationMessage) {
- addEntry('m', moduleName, symbolPath, opt_deprecationMessage);
-};
-
-exports.defaults = function(moduleName, symbolPath, opt_deprecationMessage) {
- addEntry('d', moduleName, symbolPath, opt_deprecationMessage);
-};
-
-function prepareNamespace(symbolPath, context) {
- if (!symbolPath) {
- return context;
- }
- var parts = symbolPath.split('.');
- var cur = context;
- for (var i = 0, part; part = parts[i]; ++i) {
- cur = cur[part] = cur[part] || {};
- }
- return cur;
-}
-
-exports.mapModules = function(context) {
- var origSymbols = {};
- context.CDV_origSymbols = origSymbols;
- for (var i = 0, len = symbolList.length; i < len; i += 3) {
- var strategy = symbolList[i];
- var moduleName = symbolList[i + 1];
- var symbolPath = symbolList[i + 2];
- var lastDot = symbolPath.lastIndexOf('.');
- var namespace = symbolPath.substr(0, lastDot);
- var lastName = symbolPath.substr(lastDot + 1);
-
- var module = require(moduleName);
- var deprecationMsg = symbolPath in deprecationMap ? 'Access made to deprecated symbol: ' + symbolPath + '. ' + deprecationMsg : null;
- var parentObj = prepareNamespace(namespace, context);
- var target = parentObj[lastName];
-
- if (strategy == 'm' && target) {
- builder.recursiveMerge(target, module);
- } else if ((strategy == 'd' && !target) || (strategy != 'd')) {
- if (!(symbolPath in origSymbols)) {
- origSymbols[symbolPath] = target;
- }
- builder.assignOrWrapInDeprecateGetter(parentObj, lastName, module, deprecationMsg);
- }
- }
-};
-
-exports.getOriginalSymbol = function(context, symbolPath) {
- var origSymbols = context.CDV_origSymbols;
- if (origSymbols && (symbolPath in origSymbols)) {
- return origSymbols[symbolPath];
- }
- var parts = symbolPath.split('.');
- var obj = context;
- for (var i = 0; i < parts.length; ++i) {
- obj = obj && obj[parts[i]];
- }
- return obj;
-};
-
-exports.loadMatchingModules = function(matchingRegExp) {
- for (var k in moduleMap) {
- if (matchingRegExp.exec(k)) {
- require(k);
- }
- }
-};
-
-exports.reset();
-
-
-});
-
-// file: lib\windowsphone\platform.js
-define("cordova/platform", function(require, exports, module) {
-
-var cordova = require('cordova'),
- exec = require('cordova/exec');
-
-// specifically require the following patches :
-
-// localStorage+SessionStorage APIs
-require("cordova/plugin/windowsphone/DOMStorage");
-
-// Fix XHR calls to local file-system
-require("cordova/plugin/windowsphone/XHRPatch");
-
-
-module.exports = {
- id: "windowsphone",
- initialize:function() {
- var modulemapper = require('cordova/modulemapper');
-
- modulemapper.loadMatchingModules(/cordova.*\/symbols$/);
- modulemapper.mapModules(window);
-
- window.alert = window.alert || require("cordova/plugin/notification").alert;
- window.confirm = window.confirm || require("cordova/plugin/notification").confirm;
-
- // Inject a listener for the backbutton, and tell native to override the flag (true/false) when we have 1 or more, or 0, listeners
- var backButtonChannel = cordova.addDocumentEventHandler('backbutton');
- backButtonChannel.onHasSubscribersChange = function() {
- exec(null, null, "CoreEvents", "overridebackbutton", [this.numHandlers == 1]);
- };
- },
- clobbers: {
- CordovaCommandResult: {
- path:"cordova/plugin/windowsphone/CordovaCommandResult"
- },
- navigator: {
- children: {
- console: {
- path: "cordova/plugin/windowsphone/console"
-
- }
- }
- },
- console:{
- path: "cordova/plugin/windowsphone/console"
- },
- FileTransfer: {
- path: 'cordova/plugin/windowsphone/FileTransfer'
- },
- open : {
- path: 'cordova/plugin/InAppBrowser'
- }
- }
-};
-
-});
-
-// file: lib\common\plugin\Acceleration.js
-define("cordova/plugin/Acceleration", function(require, exports, module) {
-
-var Acceleration = function(x, y, z, timestamp) {
- this.x = x;
- this.y = y;
- this.z = z;
- this.timestamp = timestamp || (new Date()).getTime();
-};
-
-module.exports = Acceleration;
-
-});
-
-// file: lib\common\plugin\Camera.js
-define("cordova/plugin/Camera", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- Camera = require('cordova/plugin/CameraConstants'),
- CameraPopoverHandle = require('cordova/plugin/CameraPopoverHandle');
-
-var cameraExport = {};
-
-// Tack on the Camera Constants to the base camera plugin.
-for (var key in Camera) {
- cameraExport[key] = Camera[key];
-}
-
-/**
- * Gets a picture from source defined by "options.sourceType", and returns the
- * image as defined by the "options.destinationType" option.
-
- * The defaults are sourceType=CAMERA and destinationType=FILE_URI.
- *
- * @param {Function} successCallback
- * @param {Function} errorCallback
- * @param {Object} options
- */
-cameraExport.getPicture = function(successCallback, errorCallback, options) {
- argscheck.checkArgs('fFO', 'Camera.getPicture', arguments);
- options = options || {};
- var getValue = argscheck.getValue;
-
- var quality = getValue(options.quality, 50);
- var destinationType = getValue(options.destinationType, Camera.DestinationType.FILE_URI);
- var sourceType = getValue(options.sourceType, Camera.PictureSourceType.CAMERA);
- var targetWidth = getValue(options.targetWidth, -1);
- var targetHeight = getValue(options.targetHeight, -1);
- var encodingType = getValue(options.encodingType, Camera.EncodingType.JPEG);
- var mediaType = getValue(options.mediaType, Camera.MediaType.PICTURE);
- var allowEdit = !!options.allowEdit;
- var correctOrientation = !!options.correctOrientation;
- var saveToPhotoAlbum = !!options.saveToPhotoAlbum;
- var popoverOptions = getValue(options.popoverOptions, null);
-
- var args = [quality, destinationType, sourceType, targetWidth, targetHeight, encodingType,
- mediaType, allowEdit, correctOrientation, saveToPhotoAlbum, popoverOptions];
-
- exec(successCallback, errorCallback, "Camera", "takePicture", args);
- return new CameraPopoverHandle();
-};
-
-cameraExport.cleanup = function(successCallback, errorCallback) {
- exec(successCallback, errorCallback, "Camera", "cleanup", []);
-};
-
-module.exports = cameraExport;
-
-});
-
-// file: lib\common\plugin\CameraConstants.js
-define("cordova/plugin/CameraConstants", function(require, exports, module) {
-
-module.exports = {
- DestinationType:{
- DATA_URL: 0, // Return base64 encoded string
- FILE_URI: 1, // Return file uri (content://media/external/images/media/2 for Android)
- NATIVE_URI: 2 // Return native uri (eg. asset-library://... for iOS)
- },
- EncodingType:{
- JPEG: 0, // Return JPEG encoded image
- PNG: 1 // Return PNG encoded image
- },
- MediaType:{
- PICTURE: 0, // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
- VIDEO: 1, // allow selection of video only, ONLY RETURNS URL
- ALLMEDIA : 2 // allow selection from all media types
- },
- PictureSourceType:{
- PHOTOLIBRARY : 0, // Choose image from picture library (same as SAVEDPHOTOALBUM for Android)
- CAMERA : 1, // Take picture from camera
- SAVEDPHOTOALBUM : 2 // Choose image from picture library (same as PHOTOLIBRARY for Android)
- },
- PopoverArrowDirection:{
- ARROW_UP : 1, // matches iOS UIPopoverArrowDirection constants to specify arrow location on popover
- ARROW_DOWN : 2,
- ARROW_LEFT : 4,
- ARROW_RIGHT : 8,
- ARROW_ANY : 15
- }
-};
-
-});
-
-// file: lib\common\plugin\CameraPopoverHandle.js
-define("cordova/plugin/CameraPopoverHandle", function(require, exports, module) {
-
-var exec = require('cordova/exec');
-
-/**
- * A handle to an image picker popover.
- */
-var CameraPopoverHandle = function() {
- this.setPosition = function(popoverOptions) {
- console.log('CameraPopoverHandle.setPosition is only supported on iOS.');
- };
-};
-
-module.exports = CameraPopoverHandle;
-
-});
-
-// file: lib\common\plugin\CameraPopoverOptions.js
-define("cordova/plugin/CameraPopoverOptions", function(require, exports, module) {
-
-var Camera = require('cordova/plugin/CameraConstants');
-
-/**
- * Encapsulates options for iOS Popover image picker
- */
-var CameraPopoverOptions = function(x,y,width,height,arrowDir){
- // information of rectangle that popover should be anchored to
- this.x = x || 0;
- this.y = y || 32;
- this.width = width || 320;
- this.height = height || 480;
- // The direction of the popover arrow
- this.arrowDir = arrowDir || Camera.PopoverArrowDirection.ARROW_ANY;
-};
-
-module.exports = CameraPopoverOptions;
-
-});
-
-// file: lib\common\plugin\CaptureAudioOptions.js
-define("cordova/plugin/CaptureAudioOptions", function(require, exports, module) {
-
-/**
- * Encapsulates all audio capture operation configuration options.
- */
-var CaptureAudioOptions = function(){
- // Upper limit of sound clips user can record. Value must be equal or greater than 1.
- this.limit = 1;
- // Maximum duration of a single sound clip in seconds.
- this.duration = 0;
- // The selected audio mode. Must match with one of the elements in supportedAudioModes array.
- this.mode = null;
-};
-
-module.exports = CaptureAudioOptions;
-
-});
-
-// file: lib\common\plugin\CaptureError.js
-define("cordova/plugin/CaptureError", function(require, exports, module) {
-
-/**
- * The CaptureError interface encapsulates all errors in the Capture API.
- */
-var CaptureError = function(c) {
- this.code = c || null;
-};
-
-// Camera or microphone failed to capture image or sound.
-CaptureError.CAPTURE_INTERNAL_ERR = 0;
-// Camera application or audio capture application is currently serving other capture request.
-CaptureError.CAPTURE_APPLICATION_BUSY = 1;
-// Invalid use of the API (e.g. limit parameter has value less than one).
-CaptureError.CAPTURE_INVALID_ARGUMENT = 2;
-// User exited camera application or audio capture application before capturing anything.
-CaptureError.CAPTURE_NO_MEDIA_FILES = 3;
-// The requested capture operation is not supported.
-CaptureError.CAPTURE_NOT_SUPPORTED = 20;
-
-module.exports = CaptureError;
-
-});
-
-// file: lib\common\plugin\CaptureImageOptions.js
-define("cordova/plugin/CaptureImageOptions", function(require, exports, module) {
-
-/**
- * Encapsulates all image capture operation configuration options.
- */
-var CaptureImageOptions = function(){
- // Upper limit of images user can take. Value must be equal or greater than 1.
- this.limit = 1;
- // The selected image mode. Must match with one of the elements in supportedImageModes array.
- this.mode = null;
-};
-
-module.exports = CaptureImageOptions;
-
-});
-
-// file: lib\common\plugin\CaptureVideoOptions.js
-define("cordova/plugin/CaptureVideoOptions", function(require, exports, module) {
-
-/**
- * Encapsulates all video capture operation configuration options.
- */
-var CaptureVideoOptions = function(){
- // Upper limit of videos user can record. Value must be equal or greater than 1.
- this.limit = 1;
- // Maximum duration of a single video clip in seconds.
- this.duration = 0;
- // The selected video mode. Must match with one of the elements in supportedVideoModes array.
- this.mode = null;
-};
-
-module.exports = CaptureVideoOptions;
-
-});
-
-// file: lib\common\plugin\CompassError.js
-define("cordova/plugin/CompassError", function(require, exports, module) {
-
-/**
- * CompassError.
- * An error code assigned by an implementation when an error has occurred
- * @constructor
- */
-var CompassError = function(err) {
- this.code = (err !== undefined ? err : null);
-};
-
-CompassError.COMPASS_INTERNAL_ERR = 0;
-CompassError.COMPASS_NOT_SUPPORTED = 20;
-
-module.exports = CompassError;
-
-});
-
-// file: lib\common\plugin\CompassHeading.js
-define("cordova/plugin/CompassHeading", function(require, exports, module) {
-
-var CompassHeading = function(magneticHeading, trueHeading, headingAccuracy, timestamp) {
- this.magneticHeading = magneticHeading;
- this.trueHeading = trueHeading;
- this.headingAccuracy = headingAccuracy;
- this.timestamp = timestamp || new Date().getTime();
-};
-
-module.exports = CompassHeading;
-
-});
-
-// file: lib\common\plugin\ConfigurationData.js
-define("cordova/plugin/ConfigurationData", function(require, exports, module) {
-
-/**
- * Encapsulates a set of parameters that the capture device supports.
- */
-function ConfigurationData() {
- // The ASCII-encoded string in lower case representing the media type.
- this.type = null;
- // The height attribute represents height of the image or video in pixels.
- // In the case of a sound clip this attribute has value 0.
- this.height = 0;
- // The width attribute represents width of the image or video in pixels.
- // In the case of a sound clip this attribute has value 0
- this.width = 0;
-}
-
-module.exports = ConfigurationData;
-
-});
-
-// file: lib\common\plugin\Connection.js
-define("cordova/plugin/Connection", function(require, exports, module) {
-
-/**
- * Network status
- */
-module.exports = {
- UNKNOWN: "unknown",
- ETHERNET: "ethernet",
- WIFI: "wifi",
- CELL_2G: "2g",
- CELL_3G: "3g",
- CELL_4G: "4g",
- CELL:"cellular",
- NONE: "none"
-};
-
-});
-
-// file: lib\common\plugin\Contact.js
-define("cordova/plugin/Contact", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- ContactError = require('cordova/plugin/ContactError'),
- utils = require('cordova/utils');
-
-/**
-* Converts primitives into Complex Object
-* Currently only used for Date fields
-*/
-function convertIn(contact) {
- var value = contact.birthday;
- try {
- contact.birthday = new Date(parseFloat(value));
- } catch (exception){
- console.log("Cordova Contact convertIn error: exception creating date.");
- }
- return contact;
-}
-
-/**
-* Converts Complex objects into primitives
-* Only conversion at present is for Dates.
-**/
-
-function convertOut(contact) {
- var value = contact.birthday;
- if (value !== null) {
- // try to make it a Date object if it is not already
- if (!utils.isDate(value)){
- try {
- value = new Date(value);
- } catch(exception){
- value = null;
- }
- }
- if (utils.isDate(value)){
- value = value.valueOf(); // convert to milliseconds
- }
- contact.birthday = value;
- }
- return contact;
-}
-
-/**
-* Contains information about a single contact.
-* @constructor
-* @param {DOMString} id unique identifier
-* @param {DOMString} displayName
-* @param {ContactName} name
-* @param {DOMString} nickname
-* @param {Array.<ContactField>} phoneNumbers array of phone numbers
-* @param {Array.<ContactField>} emails array of email addresses
-* @param {Array.<ContactAddress>} addresses array of addresses
-* @param {Array.<ContactField>} ims instant messaging user ids
-* @param {Array.<ContactOrganization>} organizations
-* @param {DOMString} birthday contact's birthday
-* @param {DOMString} note user notes about contact
-* @param {Array.<ContactField>} photos
-* @param {Array.<ContactField>} categories
-* @param {Array.<ContactField>} urls contact's web sites
-*/
-var Contact = function (id, displayName, name, nickname, phoneNumbers, emails, addresses,
- ims, organizations, birthday, note, photos, categories, urls) {
- this.id = id || null;
- this.rawId = null;
- this.displayName = displayName || null;
- this.name = name || null; // ContactName
- this.nickname = nickname || null;
- this.phoneNumbers = phoneNumbers || null; // ContactField[]
- this.emails = emails || null; // ContactField[]
- this.addresses = addresses || null; // ContactAddress[]
- this.ims = ims || null; // ContactField[]
- this.organizations = organizations || null; // ContactOrganization[]
- this.birthday = birthday || null;
- this.note = note || null;
- this.photos = photos || null; // ContactField[]
- this.categories = categories || null; // ContactField[]
- this.urls = urls || null; // ContactField[]
-};
-
-/**
-* Removes contact from device storage.
-* @param successCB success callback
-* @param errorCB error callback
-*/
-Contact.prototype.remove = function(successCB, errorCB) {
- argscheck.checkArgs('FF', 'Contact.remove', arguments);
- var fail = errorCB && function(code) {
- errorCB(new ContactError(code));
- };
- if (this.id === null) {
- fail(ContactError.UNKNOWN_ERROR);
- }
- else {
- exec(successCB, fail, "Contacts", "remove", [this.id]);
- }
-};
-
-/**
-* Creates a deep copy of this Contact.
-* With the contact ID set to null.
-* @return copy of this Contact
-*/
-Contact.prototype.clone = function() {
- var clonedContact = utils.clone(this);
- clonedContact.id = null;
- clonedContact.rawId = null;
-
- function nullIds(arr) {
- if (arr) {
- for (var i = 0; i < arr.length; ++i) {
- arr[i].id = null;
- }
- }
- }
-
- // Loop through and clear out any id's in phones, emails, etc.
- nullIds(clonedContact.phoneNumbers);
- nullIds(clonedContact.emails);
- nullIds(clonedContact.addresses);
- nullIds(clonedContact.ims);
- nullIds(clonedContact.organizations);
- nullIds(clonedContact.categories);
- nullIds(clonedContact.photos);
- nullIds(clonedContact.urls);
- return clonedContact;
-};
-
-/**
-* Persists contact to device storage.
-* @param successCB success callback
-* @param errorCB error callback
-*/
-Contact.prototype.save = function(successCB, errorCB) {
- argscheck.checkArgs('FFO', 'Contact.save', arguments);
- var fail = errorCB && function(code) {
- errorCB(new ContactError(code));
- };
- var success = function(result) {
- if (result) {
- if (successCB) {
- var fullContact = require('cordova/plugin/contacts').create(result);
- successCB(convertIn(fullContact));
- }
- }
- else {
- // no Entry object returned
- fail(ContactError.UNKNOWN_ERROR);
- }
- };
- var dupContact = convertOut(utils.clone(this));
- exec(success, fail, "Contacts", "save", [dupContact]);
-};
-
-
-module.exports = Contact;
-
-});
-
-// file: lib\common\plugin\ContactAddress.js
-define("cordova/plugin/ContactAddress", function(require, exports, module) {
-
-/**
-* Contact address.
-* @constructor
-* @param {DOMString} id unique identifier, should only be set by native code
-* @param formatted // NOTE: not a W3C standard
-* @param streetAddress
-* @param locality
-* @param region
-* @param postalCode
-* @param country
-*/
-
-var ContactAddress = function(pref, type, formatted, streetAddress, locality, region, postalCode, country) {
- this.id = null;
- this.pref = (typeof pref != 'undefined' ? pref : false);
- this.type = type || null;
- this.formatted = formatted || null;
- this.streetAddress = streetAddress || null;
- this.locality = locality || null;
- this.region = region || null;
- this.postalCode = postalCode || null;
- this.country = country || null;
-};
-
-module.exports = ContactAddress;
-
-});
-
-// file: lib\common\plugin\ContactError.js
-define("cordova/plugin/ContactError", function(require, exports, module) {
-
-/**
- * ContactError.
- * An error code assigned by an implementation when an error has occurred
- * @constructor
- */
-var ContactError = function(err) {
- this.code = (typeof err != 'undefined' ? err : null);
-};
-
-/**
- * Error codes
- */
-ContactError.UNKNOWN_ERROR = 0;
-ContactError.INVALID_ARGUMENT_ERROR = 1;
-ContactError.TIMEOUT_ERROR = 2;
-ContactError.PENDING_OPERATION_ERROR = 3;
-ContactError.IO_ERROR = 4;
-ContactError.NOT_SUPPORTED_ERROR = 5;
-ContactError.PERMISSION_DENIED_ERROR = 20;
-
-module.exports = ContactError;
-
-});
-
-// file: lib\common\plugin\ContactField.js
-define("cordova/plugin/ContactField", function(require, exports, module) {
-
-/**
-* Generic contact field.
-* @constructor
-* @param {DOMString} id unique identifier, should only be set by native code // NOTE: not a W3C standard
-* @param type
-* @param value
-* @param pref
-*/
-var ContactField = function(type, value, pref) {
- this.id = null;
- this.type = (type && type.toString()) || null;
- this.value = (value && value.toString()) || null;
- this.pref = (typeof pref != 'undefined' ? pref : false);
-};
-
-module.exports = ContactField;
-
-});
-
-// file: lib\common\plugin\ContactFindOptions.js
-define("cordova/plugin/ContactFindOptions", function(require, exports, module) {
-
-/**
- * ContactFindOptions.
- * @constructor
- * @param filter used to match contacts against
- * @param multiple boolean used to determine if more than one contact should be returned
- */
-
-var ContactFindOptions = function(filter, multiple) {
- this.filter = filter || '';
- this.multiple = (typeof multiple != 'undefined' ? multiple : false);
-};
-
-module.exports = ContactFindOptions;
-
-});
-
-// file: lib\common\plugin\ContactName.js
-define("cordova/plugin/ContactName", function(require, exports, module) {
-
-/**
-* Contact name.
-* @constructor
-* @param formatted // NOTE: not part of W3C standard
-* @param familyName
-* @param givenName
-* @param middle
-* @param prefix
-* @param suffix
-*/
-var ContactName = function(formatted, familyName, givenName, middle, prefix, suffix) {
- this.formatted = formatted || null;
- this.familyName = familyName || null;
- this.givenName = givenName || null;
- this.middleName = middle || null;
- this.honorificPrefix = prefix || null;
- this.honorificSuffix = suffix || null;
-};
-
-module.exports = ContactName;
-
-});
-
-// file: lib\common\plugin\ContactOrganization.js
-define("cordova/plugin/ContactOrganization", function(require, exports, module) {
-
-/**
-* Contact organization.
-* @constructor
-* @param {DOMString} id unique identifier, should only be set by native code // NOTE: not a W3C standard
-* @param name
-* @param dept
-* @param title
-* @param startDate
-* @param endDate
-* @param location
-* @param desc
-*/
-
-var ContactOrganization = function(pref, type, name, dept, title) {
- this.id = null;
- this.pref = (typeof pref != 'undefined' ? pref : false);
- this.type = type || null;
- this.name = name || null;
- this.department = dept || null;
- this.title = title || null;
-};
-
-module.exports = ContactOrganization;
-
-});
-
-// file: lib\common\plugin\Coordinates.js
-define("cordova/plugin/Coordinates", function(require, exports, module) {
-
-/**
- * This class contains position information.
- * @param {Object} lat
- * @param {Object} lng
- * @param {Object} alt
- * @param {Object} acc
- * @param {Object} head
- * @param {Object} vel
- * @param {Object} altacc
- * @constructor
- */
-var Coordinates = function(lat, lng, alt, acc, head, vel, altacc) {
- /**
- * The latitude of the position.
- */
- this.latitude = lat;
- /**
- * The longitude of the position,
- */
- this.longitude = lng;
- /**
- * The accuracy of the position.
- */
- this.accuracy = acc;
- /**
- * The altitude of the position.
- */
- this.altitude = (alt !== undefined ? alt : null);
- /**
- * The direction the device is moving at the position.
- */
- this.heading = (head !== undefined ? head : null);
- /**
- * The velocity with which the device is moving at the position.
- */
- this.speed = (vel !== undefined ? vel : null);
-
- if (this.speed === 0 || this.speed === null) {
- this.heading = NaN;
- }
-
- /**
- * The altitude accuracy of the position.
- */
- this.altitudeAccuracy = (altacc !== undefined) ? altacc : null;
-};
-
-module.exports = Coordinates;
-
-});
-
-// file: lib\common\plugin\DirectoryEntry.js
-define("cordova/plugin/DirectoryEntry", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- utils = require('cordova/utils'),
- exec = require('cordova/exec'),
- Entry = require('cordova/plugin/Entry'),
- FileError = require('cordova/plugin/FileError'),
- DirectoryReader = require('cordova/plugin/DirectoryReader');
-
-/**
- * An interface representing a directory on the file system.
- *
- * {boolean} isFile always false (readonly)
- * {boolean} isDirectory always true (readonly)
- * {DOMString} name of the directory, excluding the path leading to it (readonly)
- * {DOMString} fullPath the absolute full path to the directory (readonly)
- * TODO: implement this!!! {FileSystem} filesystem on which the directory resides (readonly)
- */
-var DirectoryEntry = function(name, fullPath) {
- DirectoryEntry.__super__.constructor.call(this, false, true, name, fullPath);
-};
-
-utils.extend(DirectoryEntry, Entry);
-
-/**
- * Creates a new DirectoryReader to read entries from this directory
- */
-DirectoryEntry.prototype.createReader = function() {
- return new DirectoryReader(this.fullPath);
-};
-
-/**
- * Creates or looks up a directory
- *
- * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a directory
- * @param {Flags} options to create or exclusively create the directory
- * @param {Function} successCallback is called with the new entry
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryEntry.prototype.getDirectory = function(path, options, successCallback, errorCallback) {
- argscheck.checkArgs('sOFF', 'DirectoryEntry.getDirectory', arguments);
- var win = successCallback && function(result) {
- var entry = new DirectoryEntry(result.name, result.fullPath);
- successCallback(entry);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getDirectory", [this.fullPath, path, options]);
-};
-
-/**
- * Deletes a directory and all of it's contents
- *
- * @param {Function} successCallback is called with no parameters
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryEntry.prototype.removeRecursively = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'DirectoryEntry.removeRecursively', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(successCallback, fail, "File", "removeRecursively", [this.fullPath]);
-};
-
-/**
- * Creates or looks up a file
- *
- * @param {DOMString} path either a relative or absolute path from this directory in which to look up or create a file
- * @param {Flags} options to create or exclusively create the file
- * @param {Function} successCallback is called with the new entry
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryEntry.prototype.getFile = function(path, options, successCallback, errorCallback) {
- argscheck.checkArgs('sOFF', 'DirectoryEntry.getFile', arguments);
- var win = successCallback && function(result) {
- var FileEntry = require('cordova/plugin/FileEntry');
- var entry = new FileEntry(result.name, result.fullPath);
- successCallback(entry);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getFile", [this.fullPath, path, options]);
-};
-
-module.exports = DirectoryEntry;
-
-});
-
-// file: lib\common\plugin\DirectoryReader.js
-define("cordova/plugin/DirectoryReader", function(require, exports, module) {
-
-var exec = require('cordova/exec'),
- FileError = require('cordova/plugin/FileError') ;
-
-/**
- * An interface that lists the files and directories in a directory.
- */
-function DirectoryReader(path) {
- this.path = path || null;
-}
-
-/**
- * Returns a list of entries from a directory.
- *
- * @param {Function} successCallback is called with a list of entries
- * @param {Function} errorCallback is called with a FileError
- */
-DirectoryReader.prototype.readEntries = function(successCallback, errorCallback) {
- var win = typeof successCallback !== 'function' ? null : function(result) {
- var retVal = [];
- for (var i=0; i<result.length; i++) {
- var entry = null;
- if (result[i].isDirectory) {
- entry = new (require('cordova/plugin/DirectoryEntry'))();
- }
- else if (result[i].isFile) {
- entry = new (require('cordova/plugin/FileEntry'))();
- }
- entry.isDirectory = result[i].isDirectory;
- entry.isFile = result[i].isFile;
- entry.name = result[i].name;
- entry.fullPath = result[i].fullPath;
- retVal.push(entry);
- }
- successCallback(retVal);
- };
- var fail = typeof errorCallback !== 'function' ? null : function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "readEntries", [this.path]);
-};
-
-module.exports = DirectoryReader;
-
-});
-
-// file: lib\common\plugin\Entry.js
-define("cordova/plugin/Entry", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- FileError = require('cordova/plugin/FileError'),
- Metadata = require('cordova/plugin/Metadata');
-
-/**
- * Represents a file or directory on the local file system.
- *
- * @param isFile
- * {boolean} true if Entry is a file (readonly)
- * @param isDirectory
- * {boolean} true if Entry is a directory (readonly)
- * @param name
- * {DOMString} name of the file or directory, excluding the path
- * leading to it (readonly)
- * @param fullPath
- * {DOMString} the absolute full path to the file or directory
- * (readonly)
- */
-function Entry(isFile, isDirectory, name, fullPath, fileSystem) {
- this.isFile = !!isFile;
- this.isDirectory = !!isDirectory;
- this.name = name || '';
- this.fullPath = fullPath || '';
- this.filesystem = fileSystem || null;
-}
-
-/**
- * Look up the metadata of the entry.
- *
- * @param successCallback
- * {Function} is called with a Metadata object
- * @param errorCallback
- * {Function} is called with a FileError
- */
-Entry.prototype.getMetadata = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'Entry.getMetadata', arguments);
- var success = successCallback && function(lastModified) {
- var metadata = new Metadata(lastModified);
- successCallback(metadata);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
-
- exec(success, fail, "File", "getMetadata", [this.fullPath]);
-};
-
-/**
- * Set the metadata of the entry.
- *
- * @param successCallback
- * {Function} is called with a Metadata object
- * @param errorCallback
- * {Function} is called with a FileError
- * @param metadataObject
- * {Object} keys and values to set
- */
-Entry.prototype.setMetadata = function(successCallback, errorCallback, metadataObject) {
- argscheck.checkArgs('FFO', 'Entry.setMetadata', arguments);
- exec(successCallback, errorCallback, "File", "setMetadata", [this.fullPath, metadataObject]);
-};
-
-/**
- * Move a file or directory to a new location.
- *
- * @param parent
- * {DirectoryEntry} the directory to which to move this entry
- * @param newName
- * {DOMString} new name of the entry, defaults to the current name
- * @param successCallback
- * {Function} called with the new DirectoryEntry object
- * @param errorCallback
- * {Function} called with a FileError
- */
-Entry.prototype.moveTo = function(parent, newName, successCallback, errorCallback) {
- argscheck.checkArgs('oSFF', 'Entry.moveTo', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- // source path
- var srcPath = this.fullPath,
- // entry name
- name = newName || this.name,
- success = function(entry) {
- if (entry) {
- if (successCallback) {
- // create appropriate Entry object
- var result = (entry.isDirectory) ? new (require('cordova/plugin/DirectoryEntry'))(entry.name, entry.fullPath) : new (require('cordova/plugin/FileEntry'))(entry.name, entry.fullPath);
- successCallback(result);
- }
- }
- else {
- // no Entry object returned
- fail && fail(FileError.NOT_FOUND_ERR);
- }
- };
-
- // copy
- exec(success, fail, "File", "moveTo", [srcPath, parent.fullPath, name]);
-};
-
-/**
- * Copy a directory to a different location.
- *
- * @param parent
- * {DirectoryEntry} the directory to which to copy the entry
- * @param newName
- * {DOMString} new name of the entry, defaults to the current name
- * @param successCallback
- * {Function} called with the new Entry object
- * @param errorCallback
- * {Function} called with a FileError
- */
-Entry.prototype.copyTo = function(parent, newName, successCallback, errorCallback) {
- argscheck.checkArgs('oSFF', 'Entry.copyTo', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
-
- // source path
- var srcPath = this.fullPath,
- // entry name
- name = newName || this.name,
- // success callback
- success = function(entry) {
- if (entry) {
- if (successCallback) {
- // create appropriate Entry object
- var result = (entry.isDirectory) ? new (require('cordova/plugin/DirectoryEntry'))(entry.name, entry.fullPath) : new (require('cordova/plugin/FileEntry'))(entry.name, entry.fullPath);
- successCallback(result);
- }
- }
- else {
- // no Entry object returned
- fail && fail(FileError.NOT_FOUND_ERR);
- }
- };
-
- // copy
- exec(success, fail, "File", "copyTo", [srcPath, parent.fullPath, name]);
-};
-
-/**
- * Return a URL that can be used to identify this entry.
- */
-Entry.prototype.toURL = function() {
- // fullPath attribute contains the full URL
- return this.fullPath;
-};
-
-/**
- * Returns a URI that can be used to identify this entry.
- *
- * @param {DOMString} mimeType for a FileEntry, the mime type to be used to interpret the file, when loaded through this URI.
- * @return uri
- */
-Entry.prototype.toURI = function(mimeType) {
- console.log("DEPRECATED: Update your code to use 'toURL'");
- // fullPath attribute contains the full URI
- return this.toURL();
-};
-
-/**
- * Remove a file or directory. It is an error to attempt to delete a
- * directory that is not empty. It is an error to attempt to delete a
- * root directory of a file system.
- *
- * @param successCallback {Function} called with no parameters
- * @param errorCallback {Function} called with a FileError
- */
-Entry.prototype.remove = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'Entry.remove', arguments);
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(successCallback, fail, "File", "remove", [this.fullPath]);
-};
-
-/**
- * Look up the parent DirectoryEntry of this entry.
- *
- * @param successCallback {Function} called with the parent DirectoryEntry object
- * @param errorCallback {Function} called with a FileError
- */
-Entry.prototype.getParent = function(successCallback, errorCallback) {
- argscheck.checkArgs('FF', 'Entry.getParent', arguments);
- var win = successCallback && function(result) {
- var DirectoryEntry = require('cordova/plugin/DirectoryEntry');
- var entry = new DirectoryEntry(result.name, result.fullPath);
- successCallback(entry);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getParent", [this.fullPath]);
-};
-
-module.exports = Entry;
-
-});
-
-// file: lib\common\plugin\File.js
-define("cordova/plugin/File", function(require, exports, module) {
-
-/**
- * Constructor.
- * name {DOMString} name of the file, without path information
- * fullPath {DOMString} the full path of the file, including the name
- * type {DOMString} mime type
- * lastModifiedDate {Date} last modified date
- * size {Number} size of the file in bytes
- */
-
-var File = function(name, fullPath, type, lastModifiedDate, size){
- this.name = name || '';
- this.fullPath = fullPath || null;
- this.type = type || null;
- this.lastModifiedDate = lastModifiedDate || null;
- this.size = size || 0;
-
- // These store the absolute start and end for slicing the file.
- this.start = 0;
- this.end = this.size;
-};
-
-/**
- * Returns a "slice" of the file. Since Cordova Files don't contain the actual
- * content, this really returns a File with adjusted start and end.
- * Slices of slices are supported.
- * start {Number} The index at which to start the slice (inclusive).
- * end {Number} The index at which to end the slice (exclusive).
- */
-File.prototype.slice = function(start, end) {
- var size = this.end - this.start;
- var newStart = 0;
- var newEnd = size;
- if (arguments.length) {
- if (start < 0) {
- newStart = Math.max(size + start, 0);
- } else {
- newStart = Math.min(size, start);
- }
- }
-
- if (arguments.length >= 2) {
- if (end < 0) {
- newEnd = Math.max(size + end, 0);
- } else {
- newEnd = Math.min(end, size);
- }
- }
-
- var newFile = new File(this.name, this.fullPath, this.type, this.lastModifiedData, this.size);
- newFile.start = this.start + newStart;
- newFile.end = this.start + newEnd;
- return newFile;
-};
-
-
-module.exports = File;
-
-});
-
-// file: lib\common\plugin\FileEntry.js
-define("cordova/plugin/FileEntry", function(require, exports, module) {
-
-var utils = require('cordova/utils'),
- exec = require('cordova/exec'),
- Entry = require('cordova/plugin/Entry'),
- FileWriter = require('cordova/plugin/FileWriter'),
- File = require('cordova/plugin/File'),
- FileError = require('cordova/plugin/FileError');
-
-/**
- * An interface representing a file on the file system.
- *
- * {boolean} isFile always true (readonly)
- * {boolean} isDirectory always false (readonly)
- * {DOMString} name of the file, excluding the path leading to it (readonly)
- * {DOMString} fullPath the absolute full path to the file (readonly)
- * {FileSystem} filesystem on which the file resides (readonly)
- */
-var FileEntry = function(name, fullPath) {
- FileEntry.__super__.constructor.apply(this, [true, false, name, fullPath]);
-};
-
-utils.extend(FileEntry, Entry);
-
-/**
- * Creates a new FileWriter associated with the file that this FileEntry represents.
- *
- * @param {Function} successCallback is called with the new FileWriter
- * @param {Function} errorCallback is called with a FileError
- */
-FileEntry.prototype.createWriter = function(successCallback, errorCallback) {
- this.file(function(filePointer) {
- var writer = new FileWriter(filePointer);
-
- if (writer.fileName === null || writer.fileName === "") {
- errorCallback && errorCallback(new FileError(FileError.INVALID_STATE_ERR));
- } else {
- successCallback && successCallback(writer);
- }
- }, errorCallback);
-};
-
-/**
- * Returns a File that represents the current state of the file that this FileEntry represents.
- *
- * @param {Function} successCallback is called with the new File object
- * @param {Function} errorCallback is called with a FileError
- */
-FileEntry.prototype.file = function(successCallback, errorCallback) {
- var win = successCallback && function(f) {
- var file = new File(f.name, f.fullPath, f.type, f.lastModifiedDate, f.size);
- successCallback(file);
- };
- var fail = errorCallback && function(code) {
- errorCallback(new FileError(code));
- };
- exec(win, fail, "File", "getFileMetadata", [this.fullPath]);
-};
-
-
-module.exports = FileEntry;
-
-});
-
-// file: lib\common\plugin\FileError.js
-define("cordova/plugin/FileError", function(require, exports, module) {
-
-/**
- * FileError
- */
-function FileError(error) {
- this.code = error || null;
-}
-
-// File error codes
-// Found in DOMException
-FileError.NOT_FOUND_ERR = 1;
-FileError.SECURITY_ERR = 2;
-FileError.ABORT_ERR = 3;
-
-// Added by File API specification
-FileError.NOT_READABLE_ERR = 4;
-FileError.ENCODING_ERR = 5;
-FileError.NO_MODIFICATION_ALLOWED_ERR = 6;
-FileError.INVALID_STATE_ERR = 7;
-FileError.SYNTAX_ERR = 8;
-FileError.INVALID_MODIFICATION_ERR = 9;
-FileError.QUOTA_EXCEEDED_ERR = 10;
-FileError.TYPE_MISMATCH_ERR = 11;
-FileError.PATH_EXISTS_ERR = 12;
-
-module.exports = FileError;
-
-});
-
-// file: lib\common\plugin\FileReader.js
-define("cordova/plugin/FileReader", function(require, exports, module) {
-
-var exec = require('cordova/exec'),
- modulemapper = require('cordova/modulemapper'),
- utils = require('cordova/utils'),
- File = require('cordova/plugin/File'),
- FileError = require('cordova/plugin/FileError'),
- ProgressEvent = require('cordova/plugin/ProgressEvent'),
- origFileReader = modulemapper.getOriginalSymbol(this, 'FileReader');
-
-/**
- * This class reads the mobile device file system.
- *
- * For Android:
- * The root directory is the root of the file system.
- * To read from the SD card, the file name is "sdcard/my_file.txt"
- * @constructor
- */
-var FileReader = function() {
- this._readyState = 0;
- this._error = null;
- this._result = null;
- this._fileName = '';
- this._realReader = origFileReader ? new origFileReader() : {};
-};
-
-// States
-FileReader.EMPTY = 0;
-FileReader.LOADING = 1;
-FileReader.DONE = 2;
-
-utils.defineGetter(FileReader.prototype, 'readyState', function() {
- return this._fileName ? this._readyState : this._realReader.readyState;
-});
-
-utils.defineGetter(FileReader.prototype, 'error', function() {
- return this._fileName ? this._error: this._realReader.error;
-});
-
-utils.defineGetter(FileReader.prototype, 'result', function() {
- return this._fileName ? this._result: this._realReader.result;
-});
-
-function defineEvent(eventName) {
- utils.defineGetterSetter(FileReader.prototype, eventName, function() {
- return this._realReader[eventName] || null;
- }, function(value) {
- this._realReader[eventName] = value;
- });
-}
-defineEvent('onloadstart'); // When the read starts.
-defineEvent('onprogress'); // While reading (and decoding) file or fileBlob data, and reporting partial file data (progress.loaded/progress.total)
-defineEvent('onload'); // When the read has successfully completed.
-defineEvent('onerror'); // When the read has failed (see errors).
-defineEvent('onloadend'); // When the request has completed (either in success or failure).
-defineEvent('onabort'); // When the read has been aborted. For instance, by invoking the abort() method.
-
-function initRead(reader, file) {
- // Already loading something
- if (reader.readyState == FileReader.LOADING) {
- throw new FileError(FileError.INVALID_STATE_ERR);
- }
-
- reader._result = null;
- reader._error = null;
- reader._readyState = FileReader.LOADING;
-
- if (typeof file == 'string') {
- // Deprecated in Cordova 2.4.
- console.warning('Using a string argument with FileReader.readAs functions is deprecated.');
- reader._fileName = file;
- } else if (typeof file.fullPath == 'string') {
- reader._fileName = file.fullPath;
- } else {
- reader._fileName = '';
- return true;
- }
-
- reader.onloadstart && reader.onloadstart(new ProgressEvent("loadstart", {target:reader}));
-}
-
-/**
- * Abort reading file.
- */
-FileReader.prototype.abort = function() {
- if (origFileReader && !this._fileName) {
- return this._realReader.abort();
- }
- this._result = null;
-
- if (this._readyState == FileReader.DONE || this._readyState == FileReader.EMPTY) {
- return;
- }
-
- this._readyState = FileReader.DONE;
-
- // If abort callback
- if (typeof this.onabort === 'function') {
- this.onabort(new ProgressEvent('abort', {target:this}));
- }
- // If load end callback
- if (typeof this.onloadend === 'function') {
- this.onloadend(new ProgressEvent('loadend', {target:this}));
- }
-};
-
-/**
- * Read text file.
- *
- * @param file {File} File object containing file properties
- * @param encoding [Optional] (see http://www.iana.org/assignments/character-sets)
- */
-FileReader.prototype.readAsText = function(file, encoding) {
- if (initRead(this, file)) {
- return this._realReader.readAsText(file, encoding);
- }
-
- // Default encoding is UTF-8
- var enc = encoding ? encoding : "UTF-8";
- var me = this;
- var execArgs = [this._fileName, enc];
-
- // Maybe add slice parameters.
- if (file.end < file.size) {
- execArgs.push(file.start, file.end);
- } else if (file.start > 0) {
- execArgs.push(file.start);
- }
-
- // Read file
- exec(
- // Success callback
- function(r) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // Save result
- me._result = r;
-
- // If onload callback
- if (typeof me.onload === "function") {
- me.onload(new ProgressEvent("load", {target:me}));
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- },
- // Error callback
- function(e) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- // null result
- me._result = null;
-
- // Save error
- me._error = new FileError(e);
-
- // If onerror callback
- if (typeof me.onerror === "function") {
- me.onerror(new ProgressEvent("error", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- }, "File", "readAsText", execArgs);
-};
-
-
-/**
- * Read file and return data as a base64 encoded data url.
- * A data url is of the form:
- * data:[<mediatype>][;base64],<data>
- *
- * @param file {File} File object containing file properties
- */
-FileReader.prototype.readAsDataURL = function(file) {
- if (initRead(this, file)) {
- return this._realReader.readAsDataURL(file);
- }
-
- var me = this;
- var execArgs = [this._fileName];
-
- // Maybe add slice parameters.
- if (file.end < file.size) {
- execArgs.push(file.start, file.end);
- } else if (file.start > 0) {
- execArgs.push(file.start);
- }
-
- // Read file
- exec(
- // Success callback
- function(r) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- // Save result
- me._result = r;
-
- // If onload callback
- if (typeof me.onload === "function") {
- me.onload(new ProgressEvent("load", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- },
- // Error callback
- function(e) {
- // If DONE (cancelled), then don't do anything
- if (me._readyState === FileReader.DONE) {
- return;
- }
-
- // DONE state
- me._readyState = FileReader.DONE;
-
- me._result = null;
-
- // Save error
- me._error = new FileError(e);
-
- // If onerror callback
- if (typeof me.onerror === "function") {
- me.onerror(new ProgressEvent("error", {target:me}));
- }
-
- // If onloadend callback
- if (typeof me.onloadend === "function") {
- me.onloadend(new ProgressEvent("loadend", {target:me}));
- }
- }, "File", "readAsDataURL", execArgs);
-};
-
-/**
- * Read file and return data as a binary data.
- *
- * @param file {File} File object containing file properties
- */
-FileReader.prototype.readAsBinaryString = function(file) {
- if (initRead(this, file)) {
- return this._realReader.readAsBinaryString(file);
- }
- // TODO - Can't return binary data to browser.
- console.log('method "readAsBinaryString" is not supported at this time.');
- this.abort();
-};
-
-/**
- * Read file and return data as a binary data.
- *
- * @param file {File} File object containing file properties
- */
-FileReader.prototype.readAsArrayBuffer = function(file) {
- if (initRead(this, file)) {
- return this._realReader.readAsArrayBuffer(file);
- }
- // TODO - Can't return binary data to browser.
- console.log('This method is not supported at this time.');
- this.abort();
-};
-
-module.exports = FileReader;
-
-});
-
-// file: lib\common\plugin\FileSystem.js
-define("cordova/plugin/FileSystem", function(require, exports, module) {
-
-var DirectoryEntry = require('cordova/plugin/DirectoryEntry');
-
-/**
- * An interface representing a file system
- *
- * @constructor
- * {DOMString} name the unique name of the file system (readonly)
- * {DirectoryEntry} root directory of the file system (readonly)
- */
-var FileSystem = function(name, root) {
- this.name = name || null;
- if (root) {
- this.root = new DirectoryEntry(root.name, root.fullPath);
- }
-};
-
-module.exports = FileSystem;
-
-});
-
-// file: lib\common\plugin\FileTransfer.js
-define("cordova/plugin/FileTransfer", function(require, exports, module) {
-
-var argscheck = require('cordova/argscheck'),
- exec = require('cordova/exec'),
- FileTransferError = require('cordova/plugin/FileTransferError'),
- ProgressEvent = require('cordova/plugin/ProgressEvent');
-
-function newProgressEvent(result) {
- var pe = new ProgressEvent();
- pe.lengthComputable = result.lengthComputable;
- pe.loaded = result.loaded;
- pe.total = result.total;
- return pe;
-}
-
-var idCounter = 0;
-
-/**
- * FileTransfer uploads a file to a remote server.
- * @constructor
- */
-var FileTransfer = function() {
- this._id = ++idCounter;
- this.onprogress = null; // optional callback
-};
-
-/**
-* Given an absolute file path, uploads a file on the device to a remote server
-* using a multipart HTTP request.
-* @param filePath {String} Full path of the file on the device
-* @param server {String} URL of the server to receive the file
-* @param successCallback (Function} Callback to be invoked when upload has completed
-* @param errorCallback {Function} Callback to be invoked upon error
-* @param options {FileUploadOptions} Optional parameters such as file name and mimetype
-* @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false
-*/
-FileTransfer.prototype.upload = function(filePath, server, successCallback, errorCallback, options, trustAllHosts) {
- argscheck.checkArgs('ssFFO*', 'FileTransfer.upload', arguments);
- // check for options
- var fileKey = null;
- var fileName = null;
- var mimeType = null;
- var params = null;
- var chunkedMode = true;
- var headers = null;
- if (options) {
- fileKey = options.fileKey;
- fileName = options.fileName;
- mimeType = options.mimeType;
- headers = options.headers;
- if (options.chunkedMode !== null || typeof options.chunkedMode != "undefined") {
- chunkedMode = options.chunkedMode;
- }
- if (options.params) {
- params = options.params;
- }
- else {
- params = {};
- }
- }
-
- var fail = errorCallback && function(e) {
- var error = new FileTransferError(e.code, e.source, e.target, e.http_status, e.body);
- errorCallback(error);
- };
-
- var self = this;
- var win = function(result) {
- if (typeof result.lengthComputable != "undefined") {
- if (self.onprogress) {
- self.onprogress(newProgressEvent(result));
- }
- } else {
- successCallback && successCallback(result);
- }
- };
- exec(win, fail, 'FileTransfer', 'upload', [filePath, server, fileKey, fileName, mimeType, params, trustAllHosts, chunkedMode, headers, this._id]);
-};
-
-/**
- * Downloads a file form a given URL and saves it to the specified directory.
- * @param source {String} URL of the server to receive the file
- * @param target {String} Full path of the file on the device
- * @param successCallback (Function} Callback to be invoked when upload has completed
- * @param errorCallback {Function} Callback to be invoked upon error
- * @param trustAllHosts {Boolean} Optional trust all hosts (e.g. for self-signed certs), defaults to false
- */
-FileTransfer.prototype.download = function(source, target, successCallback, errorCallback, trustAllHosts) {
- argscheck.checkArgs('ssFF*', 'FileTransfer.download', arguments);
- var self = this;
- var win = function(result) {
- if (typeof result.lengthComputable != "undefined") {
- if (self.onprogress) {
- return self.onprogress(newProgressEvent(result));
- }
- } else if (successCallback) {
- var entry = null;
- if (result.isDirectory) {
- entry = new (require('cordova/plugin/DirectoryEntry'))();
- }
- else if (result.isFile) {
- entry = new (require('cordova/plugin/FileEntry'))();
- }
- entry.isDirectory = result.isDirectory;
- entry.isFile = result.isFile;
- entry.name = result.name;
- entry.fullPath = result.fullPath;
- successCallback(entry);
- }
- };
-
- var fail = errorCallback && function(e) {
- var error = new FileTransferError(e.code, e.source, e.target, e.http_status, e.body);
- errorCallback(error);
- };
-
- exec(win, fail, 'FileTransfer', 'download', [source, target, trustAllHosts, this._id]);
-};
-
-/**
- * Aborts the ongoing file transfer on this object
- * @param successCallback {Function} Callback to be invoked upon success
- * @param errorCallback {Function} Callback to be invoked upon error
- */
-FileTransfer.prototype.abort = function(successCallback, errorCallback) {
- exec(successCallback, errorCallback, 'FileTransfer', 'abort', [this._id]);
-};
-
-module.exports = FileTransfer;
-
-});
-
-// file: lib\common\plugin\FileTransferError.js
-define("cordova/plugin/FileTransferError", function(require, exports, module) {
-
-/**
- * FileTransferError
- * @constructor
- */
-var FileTransferError = function(code, source, target, status, body) {
- this.code = code || null;
- this.source = source || null;
- this.target = target || null;
- this.http_status = status || null;
- this.body = body || null;
-};
-
-FileTransferError.FILE_NOT_FOUND_ERR = 1;
-FileTransferError.INVALID_URL_ERR = 2;
-FileTransferError.CONNECTION_ERR = 3;
-FileTransferError.ABORT_ERR = 4;
-
-module.exports = FileTransferError;
-
-});
-
-// file: lib\common\plugin\FileUploadOptions.js
-define("cordova/plugin/FileUploadOptions", function(require, exports, module) {
-
-/**
- * Options to customize the HTTP request used to upload files.
- * @constructor
- * @param fileKey {String} Name of file request parameter.
- * @param fileName {String} Filename to be used by the server. Defaults to image.jpg.
- * @param mimeType {String} Mimetype of the uploaded file. Defaults to image/jpeg.
- * @param params {Object} Object with key: value params to send to the server.
- * @param headers {Object} Keys are header names, values are header values. Multiple
- * headers of the same name are not supported.
- */
-var FileUploadOptions = function(fileKey, fileName, mimeType, params, headers) {
- this.fileKey = fileKey || null;
- this.fileName = fileName || null;
- this.mimeType = mimeType || null;
- this.params = params || null;
- this.headers = headers || null;
-};
-
-module.exports = FileUploadOptions;
-
-});
-
-// file: lib\common\plugin\FileUploadResult.js
-define("cordova/plugin/FileUploadResult", function(require, exports, module) {
-
-/**
- * FileUploadResult
- * @constructor
- */
-var FileUploadResult = function() {
- this.bytesSent = 0;
- this.responseCode = null;
- this.response = null;
-};
-
-module.exports = FileUploadResult;
-
-});
-
-// file: lib\common\plugin\FileWriter.js
-define("cordova/plugin/FileWriter", function(require, exports, module) {
-
-var exec = require('cordova/exec'),
- FileError = require('cordova/plugin/FileError'),
- ProgressEvent = require('cordova/plugin/ProgressEvent');
-
-/**
- * This class writes to the mobile device file system.
- *
- * For Android:
- * The root directory is the root of the file system.
- * To write to the SD card, the file name is "sdcard/my_file.txt"
- *
- * @constructor
- * @param file {File} File object containing file properties
- * @param append if true write to the end of the file, otherwise overwrite the file
- */
-var FileWriter = function(file) {
- this.fileName = "";
- this.length = 0;
- if (file) {
- this.fileName = file.fullPath || file;
- this.length = file.size || 0;
- }
- // default is to write at the beginning of the file
- this.position = 0;
-
- this.readyState = 0; // EMPTY
-
- this.result = null;
-
- // Error
- this.error = null;
-
- // Event handlers
- this.onwritestart = null; // When writing starts
- this.onprogress = null; // While writing the file, and reporting partial file data
- this.onwrite = null; // When the write has successfully completed.
- this.onwriteend = null; // When the request has completed (either in success or failure).
- this.onabort = null; // When the write has been aborted. For instance, by invoking the abort() method.
- this.onerror = null; // When the write has failed (see err
<TRUNCATED>