cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From purplecabb...@apache.org
Subject [09/25] updated to 2.7.0rc1 including updated mobile spec tests
Date Tue, 23 Apr 2013 00:34:34 GMT
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/template/www/index.html
----------------------------------------------------------------------
diff --git a/windows8/template/www/index.html b/windows8/template/www/index.html
index ca8ab84..46ab398 100644
--- a/windows8/template/www/index.html
+++ b/windows8/template/www/index.html
@@ -33,7 +33,7 @@
                 <p class="event received">Device is Ready</p>
             </div>
         </div>
-        <script type="text/javascript" src="cordova-2.6.0.js"></script>
+        <script type="text/javascript" src="cordova-2.7.0rc1.js"></script>
         <script type="text/javascript" src="js/index.js"></script>
         <script type="text/javascript">
             app.initialize();

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/CordovaTestApp.jsproj
----------------------------------------------------------------------
diff --git a/windows8/test/CordovaTestApp.jsproj b/windows8/test/CordovaTestApp.jsproj
index d199657..d8f3b31 100644
--- a/windows8/test/CordovaTestApp.jsproj
+++ b/windows8/test/CordovaTestApp.jsproj
@@ -95,14 +95,21 @@
     <Content Include="camera\index.html" />
     <Content Include="compass\index.html" />
     <Content Include="contacts\index.html" />
-    <Content Include="cordova-2.6.0.js" />
+    <Content Include="cordova-2.7.0rc1.js" />
     <Content Include="cordova.js" />
     <Content Include="events\index.html" />
     <Content Include="images\logo.png" />
     <Content Include="images\smalllogo.png" />
     <Content Include="images\splashscreen.png" />
     <Content Include="images\storelogo.png" />
+    <Content Include="inappbrowser\index.html" />
+    <Content Include="inappbrowser\inject.css" />
+    <Content Include="inappbrowser\inject.html" />
+    <Content Include="inappbrowser\inject.js" />
+    <Content Include="inappbrowser\local.html" />
+    <Content Include="inappbrowser\local.pdf" />
     <Content Include="index.html" />
+    <Content Include="lazyloadjs\index.html" />
     <Content Include="location\index.html" />
     <Content Include="main.js" />
     <Content Include="master.css" />

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/CordovaTestAppSolution.sln
----------------------------------------------------------------------
diff --git a/windows8/test/CordovaTestAppSolution.sln b/windows8/test/CordovaTestAppSolution.sln
index 83a7cc5..61262b3 100644
--- a/windows8/test/CordovaTestAppSolution.sln
+++ b/windows8/test/CordovaTestAppSolution.sln
@@ -1,6 +1,6 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Express 2012 for Windows 8
+# Visual Studio 2012
 Project("{262852C6-CD72-467D-83FE-5EEB1973A190}") = "CordovaTestApp", "CordovaTestApp.jsproj", "{F0EEA4FC-197B-4C4E-8590-5D9B2B964F5B}"
 EndProject
 Global

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/LICENSE
----------------------------------------------------------------------
diff --git a/windows8/test/LICENSE b/windows8/test/LICENSE
new file mode 100644
index 0000000..5652ae1
--- /dev/null
+++ b/windows8/test/LICENSE
@@ -0,0 +1,208 @@
+The MIT License
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2009-2011 Rob Ellis, Brock Whitten, Brian LeRoux
+   Copyright 2010-2011, IBM Corporation
+   Copyright 2011 Adobe
+
+   Licensed 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.
+
+

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/README.md
----------------------------------------------------------------------
diff --git a/windows8/test/README.md b/windows8/test/README.md
new file mode 100644
index 0000000..7f23152
--- /dev/null
+++ b/windows8/test/README.md
@@ -0,0 +1,31 @@
+## Mobile Spec Suite ##
+
+These specs are designed to run inside the mobile device that implements it - _it will fail in the DESKTOP browser_.
+
+These set of tests is designed to be used with Cordova. You should initialize a fresh Cordova repository for a target platform and then toss these files into the www folder, replacing the
+contents. 
+
+Make sure you include cordova-\*.js in the www folder.  You also need to edit cordova.js to reference the version of cordova-\*.js file you are testing.
+For example, to test with cordova-0.9.6.1, edit the VERSION variable in the cordova.js file as follows:
+
+    var VERSION='0.9.6.1';
+
+This is done so that you don't have to modify every HTML file when you want to test a new version of Cordova.
+
+The goal is to test mobile device functionality inside a mobile browser.
+Where possible, the Cordova API lines up with HTML 5 spec. Maybe down
+the road we could use this spec for parts of HTML 5, too :)
+
+### Requirements ###
+
+Various parts of this test suite communicate with external servers.
+Therefore, when you wrap up the test suite inside a Cordova application,
+make sure you add the following entries to the whitelist!
+
+- audio.ibeat.org
+- cordova-filetransfer.jitsu.com
+- whatheaders.com
+- apache.org (with all subdomains)
+- www.google.com
+- httpssss://example.com (bad protocol necessary)
+

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/VERSION
----------------------------------------------------------------------
diff --git a/windows8/test/VERSION b/windows8/test/VERSION
new file mode 100644
index 0000000..59b7056
--- /dev/null
+++ b/windows8/test/VERSION
@@ -0,0 +1 @@
+2.7.0rc1

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/accelerometer/index.html
----------------------------------------------------------------------
diff --git a/windows8/test/accelerometer/index.html b/windows8/test/accelerometer/index.html
index c9f345f..e0be68d 100644
--- a/windows8/test/accelerometer/index.html
+++ b/windows8/test/accelerometer/index.html
@@ -1,11 +1,32 @@
-<!DOCTYPE html>
+<!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=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" src="../cordova.js"></script>      
 
       
 <script type="text/javascript" charset="utf-8">
@@ -41,7 +62,7 @@
         var fail = function(e){
             console.log("watchAccel fail callback with error code "+e);
             stopAccel();
-            setAccelStatus(e);
+            setAccelStatus(Accelerometer.ERROR_MSG[e]);
         };
 
         // Update acceleration every 1 sec
@@ -109,7 +130,7 @@
             }, false);
         window.setTimeout(function() {
         	if (!deviceReady) {
-        		alert("Error: PhoneGap did not initialize.  Demo will not run correctly.");
+        		alert("Error: Apache Cordova did not initialize.  Demo will not run correctly.");
         	}
         },1000);
     }

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/audio/index.html
----------------------------------------------------------------------
diff --git a/windows8/test/audio/index.html b/windows8/test/audio/index.html
index 4bd84a1..231e0c4 100644
--- a/windows8/test/audio/index.html
+++ b/windows8/test/audio/index.html
@@ -1,15 +1,38 @@
-<!DOCTYPE html>
+<!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=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" src="../cordova.js"></script>      
 
       
 <script type="text/javascript" charset="utf-8">
 
+	 var defaultaudio = "http://cordova.apache.org/downloads/BlueZedEx.mp3";
     var deviceReady = false;
 
     //-------------------------------------------------------------------------
@@ -27,10 +50,7 @@
         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
+	    var src = defaultaudio;
         
         if (url) {
             src = url;
@@ -133,12 +153,22 @@
         console.log("stopAudio()");
         if (media1) {
             media1.stop();
-            media1.release();
         }
         clearInterval(media1Timer);
         media1Timer = null;
     }
-
+    
+    /**
+     * Release audio
+     */
+	function releaseAudio() {
+	    console.log("releaseAudio()");
+	    if (media1) {
+	    	media1.stop(); //imlied stop of playback, resets timer
+	    	media1.release();
+	    }
+	}
+	
     /**
      * Set audio status
      */
@@ -252,7 +282,7 @@
     function init() {
         document.addEventListener("deviceready", function() {
                 deviceReady = true;
-                if (device.platform.indexOf("iPhone") !=-1 || device.platform.indexOf("iPad") !=-1)
+                if (device.platform.indexOf("iOS") !=-1)
                 {
                      getRecordSrc();
                 } else if (typeof blackberry !== 'undefined') {
@@ -262,7 +292,7 @@
             }, false);
         window.setTimeout(function() {
         	if (!deviceReady) {
-        		alert("Error: PhoneGap did not initialize.  Demo will not run correctly.");
+        		alert("Error: Apache Cordova did not initialize.  Demo will not run correctly.");
         	}
         },1000);
     }
@@ -297,7 +327,7 @@
         if (media1 == null) {
             console.log("seekTo requested while media1 is null");
             if (audioSrc == null) {
-                audioSrc = "http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3";
+                audioSrc = defaultaudio;
             }
             media1 = new Media(audioSrc,
                 function() {
@@ -356,35 +386,43 @@
         </table>
     </div>
     <h2>Action</h2>
-    <table>
+    <table style="width:80%;">
         <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>
+            <td><div class="btn wide" onclick="playAudio();">Play</div></td>
+            <td><div class="btn wide" onclick="pauseAudio();">Pause</div></td>
+        </tr>
+        <tr>
+            <td><div class="btn wide" onclick="stopAudio();">Stop</div></td>
+            <td><div class="btn wide" onclick="releaseAudio();">Release</div></td>
         </tr>
+    </table>
+    
+    <table style="width:80%;">
         <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 class="btn wide" onclick="seekAudio('by');">Seek By</div></td>
+            <td><div class="btn wide" onclick="seekAudio('to');">Seek To</div></td>
             <td>
-                <div style="width:100%;">
+                <div>
                     <input class="input numeric" type="number" id="seekinput" value="in seconds">
                 </div>
             </td>
-            <td><h2>s</h2></td>
         </tr>
+    </table>
+    
+    <table style="width:80%;">
         <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</div></td>
+            <td colspan=3><div class="btn wide" 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>
+            <td><div class="btn wide" onclick="playRecording();">Play</div></td>
+            <td><div class="btn wide" onclick="pauseAudio();">Pause</div></td>
+            <td><div class="btn wide" onclick="stopAudio();">Stop</div></td>
         </tr>
     </table>
     

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/index.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/index.html b/windows8/test/autotest/index.html
index 6196335..e73fd58 100644
--- a/windows8/test/autotest/index.html
+++ b/windows8/test/autotest/index.html
@@ -1,4 +1,26 @@
-<!DOCTYPE html>
+<!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 http-equiv="Content-Type" content="text/html;charset=UTF-8" />
@@ -19,14 +41,18 @@
     <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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/accelerometer.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/accelerometer.html b/windows8/test/autotest/pages/accelerometer.html
index 796df5f..4af4cf5 100644
--- a/windows8/test/autotest/pages/accelerometer.html
+++ b/windows8/test/autotest/pages/accelerometer.html
@@ -1,4 +1,26 @@
 <!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: Accelerometer API Specs</title>
@@ -17,7 +39,6 @@
 
   <!-- Source -->
   <script type="text/javascript" src="../../cordova.js"></script>
-  
 
   <!-- Load Test Runner -->
   <script type="text/javascript" src="../test-runner.js"></script>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/all.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/all.html b/windows8/test/autotest/pages/all.html
index 4bc316a..4af7649 100644
--- a/windows8/test/autotest/pages/all.html
+++ b/windows8/test/autotest/pages/all.html
@@ -1,4 +1,26 @@
 <!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: API Specs</title>
@@ -17,7 +39,6 @@
 
   <!-- Source -->
   <script type="text/javascript" src="../../cordova.js"></script>
-  
 
   <!-- Load Test Runner -->
   <script type="text/javascript" src="../test-runner.js"></script>
@@ -27,16 +48,18 @@
   <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/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/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">
@@ -47,19 +70,6 @@
           var onError = function(e) {
               console.log('[ERROR] Problem setting up root filesystem for test running! Error to follow.');
               console.log(JSON.stringify(e));
-
-              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();
           };
 
           window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/battery.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/battery.html b/windows8/test/autotest/pages/battery.html
index 8441950..2bc111b 100644
--- a/windows8/test/autotest/pages/battery.html
+++ b/windows8/test/autotest/pages/battery.html
@@ -1,4 +1,26 @@
 <!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: Battery API Specs</title>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/bridge.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/bridge.html b/windows8/test/autotest/pages/bridge.html
new file mode 100644
index 0000000..a1d0a90
--- /dev/null
+++ b/windows8/test/autotest/pages/bridge.html
@@ -0,0 +1,71 @@
+<!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-windows/blob/199321c2/windows8/test/autotest/pages/camera.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/camera.html b/windows8/test/autotest/pages/camera.html
index e136f27..9fdb872 100644
--- a/windows8/test/autotest/pages/camera.html
+++ b/windows8/test/autotest/pages/camera.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/capture.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/capture.html b/windows8/test/autotest/pages/capture.html
index 52b03e2..78433b9 100644
--- a/windows8/test/autotest/pages/capture.html
+++ b/windows8/test/autotest/pages/capture.html
@@ -1,4 +1,26 @@
 <!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>
@@ -18,7 +40,6 @@
   <!-- Source -->
   <script type="text/javascript" src="../../cordova.js"></script>
 
-
   <!-- Load Test Runner -->
   <script type="text/javascript" src="../test-runner.js"></script>
 

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/compass.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/compass.html b/windows8/test/autotest/pages/compass.html
index dfd9975..00082c9 100644
--- a/windows8/test/autotest/pages/compass.html
+++ b/windows8/test/autotest/pages/compass.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/contacts.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/contacts.html b/windows8/test/autotest/pages/contacts.html
index 2575e13..d736dd0 100644
--- a/windows8/test/autotest/pages/contacts.html
+++ b/windows8/test/autotest/pages/contacts.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/datauri.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/datauri.html b/windows8/test/autotest/pages/datauri.html
new file mode 100644
index 0000000..3d5ffd2
--- /dev/null
+++ b/windows8/test/autotest/pages/datauri.html
@@ -0,0 +1,69 @@
+<!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-windows/blob/199321c2/windows8/test/autotest/pages/device.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/device.html b/windows8/test/autotest/pages/device.html
index ed25d81..6315c15 100644
--- a/windows8/test/autotest/pages/device.html
+++ b/windows8/test/autotest/pages/device.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/file.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/file.html b/windows8/test/autotest/pages/file.html
index d9e21ca..57b7e76 100644
--- a/windows8/test/autotest/pages/file.html
+++ b/windows8/test/autotest/pages/file.html
@@ -1,4 +1,26 @@
 <!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: File API Specs</title>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/filetransfer.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/filetransfer.html b/windows8/test/autotest/pages/filetransfer.html
index 0fde591..726e533 100644
--- a/windows8/test/autotest/pages/filetransfer.html
+++ b/windows8/test/autotest/pages/filetransfer.html
@@ -1,4 +1,26 @@
 <!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: File API Specs</title>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/geolocation.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/geolocation.html b/windows8/test/autotest/pages/geolocation.html
index 578c6f4..49fb10c 100644
--- a/windows8/test/autotest/pages/geolocation.html
+++ b/windows8/test/autotest/pages/geolocation.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/globalization.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/globalization.html b/windows8/test/autotest/pages/globalization.html
new file mode 100644
index 0000000..79c5acd
--- /dev/null
+++ b/windows8/test/autotest/pages/globalization.html
@@ -0,0 +1,70 @@
+<!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-windows/blob/199321c2/windows8/test/autotest/pages/media.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/media.html b/windows8/test/autotest/pages/media.html
index 48d9e2d..518b8ef 100644
--- a/windows8/test/autotest/pages/media.html
+++ b/windows8/test/autotest/pages/media.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/network.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/network.html b/windows8/test/autotest/pages/network.html
index 627320c..aa73bee 100644
--- a/windows8/test/autotest/pages/network.html
+++ b/windows8/test/autotest/pages/network.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/notification.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/notification.html b/windows8/test/autotest/pages/notification.html
index ef9d4a2..dcd9833 100644
--- a/windows8/test/autotest/pages/notification.html
+++ b/windows8/test/autotest/pages/notification.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/platform.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/platform.html b/windows8/test/autotest/pages/platform.html
index be03b8b..1a43521 100644
--- a/windows8/test/autotest/pages/platform.html
+++ b/windows8/test/autotest/pages/platform.html
@@ -1,4 +1,26 @@
 <!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>
@@ -17,7 +39,7 @@
 
   <!-- Source -->
   <script type="text/javascript" src="../../cordova.js"></script>
-<script type="text/javascript" src="../../cordova.win8metro.js"></script>
+
   <!-- Load Test Runner -->
   <script type="text/javascript" src="../test-runner.js"></script>
 

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/pages/storage.html
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/pages/storage.html b/windows8/test/autotest/pages/storage.html
index eb0703b..e409b56 100644
--- a/windows8/test/autotest/pages/storage.html
+++ b/windows8/test/autotest/pages/storage.html
@@ -1,4 +1,26 @@
 <!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>

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/test-runner.js
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/test-runner.js b/windows8/test/autotest/test-runner.js
index b8a9417..f72b3cc 100644
--- a/windows8/test/autotest/test-runner.js
+++ b/windows8/test/autotest/test-runner.js
@@ -1,3 +1,24 @@
+/*
+ *
+ * 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.
+ *
+*/
+
 if (window.sessionStorage != null) {
     window.sessionStorage.clear();
 }
@@ -7,3 +28,35 @@ if (window.sessionStorage != null) {
 // 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-windows/blob/199321c2/windows8/test/autotest/tests/accelerometer.tests.js
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/tests/accelerometer.tests.js b/windows8/test/autotest/tests/accelerometer.tests.js
index 36a8849..d758473 100644
--- a/windows8/test/autotest/tests/accelerometer.tests.js
+++ b/windows8/test/autotest/tests/accelerometer.tests.js
@@ -1,26 +1,47 @@
+/*
+ *
+ * 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('Accelerometer (navigator.accelerometer)', function () {
-    it("should exist", function () {
+    it("accelerometer.spec.1 should exist", function () {
         expect(navigator.accelerometer).toBeDefined();
     });
 
-    describe("getCurrentAcceleration", function () {
-        it("should exist", function () {
+    describe("getCurrentAcceleration", function() {
+        it("accelerometer.spec.2 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');
-            }),
+        it("accelerometer.spec.3 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 () {
@@ -34,16 +55,16 @@ describe('Accelerometer (navigator.accelerometer)', function () {
             });
         });
 
-        it("success callback Acceleration object should have (reasonable) values for x, y and z expressed in m/s^2", function () {
+        it("accelerometer.spec.4 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);
-            }),
+            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 () {
@@ -57,15 +78,15 @@ describe('Accelerometer (navigator.accelerometer)', function () {
             });
         });
 
-        it("success callback Acceleration object should return a recent timestamp", function () {
+        it("accelerometer.spec.5 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);
-            }),
+            var win = jasmine.createSpy().andCallFake(function(a) {
+                    expect(a.timestamp).toBeGreaterThan(veryRecently);
+                    expect(a.timestamp).toBeLessThan(reasonableTimeLimit);
+                }),
                 fail = jasmine.createSpy();
 
             runs(function () {
@@ -80,32 +101,33 @@ describe('Accelerometer (navigator.accelerometer)', function () {
         });
     });
 
-    describe("watchAcceleration", function () {
-        var id=0;
-        afterEach(function () {
+    describe("watchAcceleration", function() {
+        var id;
+
+        afterEach(function() {
             navigator.accelerometer.clearWatch(id);
         });
 
-        it("should exist", function () {
+        it("accelerometer.spec.2 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');
-            }),
+        it("accelerometer.spec.3 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 });
+                id = navigator.accelerometer.watchAcceleration(win, fail, {frequency:500});
             });
 
             waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
@@ -115,20 +137,20 @@ describe('Accelerometer (navigator.accelerometer)', function () {
             });
         });
 
-        it("success callback Acceleration object should have (reasonable) values for x, y and z expressed in m/s^2", function () {
+        it("accelerometer.spec.4 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);
-            }),
+            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 });
+                id = navigator.accelerometer.watchAcceleration(win, fail, {frequency:500});
             });
 
             waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
@@ -138,19 +160,19 @@ describe('Accelerometer (navigator.accelerometer)', function () {
             });
         });
 
-        it("success callback Acceleration object should return a recent timestamp", function () {
+        it("accelerometer.spec.5 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);
-            }),
+            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 });
+                id = navigator.accelerometer.watchAcceleration(win, fail, {frequency:500});
             });
 
             waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
@@ -161,30 +183,30 @@ describe('Accelerometer (navigator.accelerometer)', function () {
         });
     });
 
-    describe("clearWatch", function () {
-        it("should exist", function () {
+    describe("clearWatch", function() {
+        it("accelerometer.spec.2 should exist", function() {
             expect(navigator.accelerometer.clearWatch).toBeDefined();
             expect(typeof navigator.accelerometer.clearWatch == 'function').toBe(true);
         });
 
-        it("should clear an existing watch", function () {
+        it("accelerometer.spec.11 should clear an existing watch", function() {
             var id,
                 win = jasmine.createSpy();
 
-            runs(function () {
-                id = navigator.accelerometer.watchAcceleration(win, function () { }, { frequency: 100 });
+            runs(function() {
+                id = navigator.accelerometer.watchAcceleration(win, function() {}, {frequency:100});
             });
 
             waitsFor(function () { return win.wasCalled; }, "win never called", Tests.TEST_TIMEOUT);
 
-            runs(function () {
+            runs(function() {
                 win.reset();
                 navigator.accelerometer.clearWatch(id);
             });
 
             waits(201);
 
-            runs(function () {
+            runs(function() {
                 expect(win).not.toHaveBeenCalled();
             });
         });

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/tests/battery.tests.js
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/tests/battery.tests.js b/windows8/test/autotest/tests/battery.tests.js
index 7bb25af..6646429 100644
--- a/windows8/test/autotest/tests/battery.tests.js
+++ b/windows8/test/autotest/tests/battery.tests.js
@@ -1,5 +1,26 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
 describe('Battery (navigator.battery)', function () {;
-    it("should exist", function() {
+    it("battery.spec.1 should exist", function() {
         expect(navigator.battery).toBeDefined();
     });
 });

http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/199321c2/windows8/test/autotest/tests/bridge.tests.js
----------------------------------------------------------------------
diff --git a/windows8/test/autotest/tests/bridge.tests.js b/windows8/test/autotest/tests/bridge.tests.js
new file mode 100644
index 0000000..ec363d7
--- /dev/null
+++ b/windows8/test/autotest/tests/bridge.tests.js
@@ -0,0 +1,128 @@
+/*
+ *
+ * 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);
+});


Mime
View raw message