<html>
<head>
  <title>autoroll-widget-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
  <script src="/res/common/js/common.js"></script>
  <script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <script type="text/javascript">
    // Mock out sk.get so we can fake a response from the server.
    var i = 0;
    var modes = ["running", "stopped", "dry run"];
    sk.get = function(url) {
      return new Promise(function (resolve, reject) {
        if (i % 10 === 4) {
          i++;
          reject("nope error");
        } else {
          resolve(JSON.stringify({
            "Android": {
              currentRollRev: "abc123",
              lastRollRev: "def456",
              mode: modes[i % modes.length],
              numFailed: i % 4,
              numBehind: i++,
            }
          }));
        }
      });
    };
  </script>
  <link rel=import href="autoroll-widget-sk.html">
</head>
<body>
  <h1>autoroll-widget-sk demo</h1>
  <autoroll-widget-sk></autoroll-widget-sk>
</body>
</html>
