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