<!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" />
    <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>
