<html>
<head>
  <title>issue-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="../../node_modules/native-promise-only/npo.js"></script>
  <script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <script src="bower_components/d3/d3.js"></script>
  <script src="../common/js/common.js"></script>
  <script src="../js/gold.js"></script>
  <script src="testdata.js"></script>

  <link rel="import" href="bower_components/polymer/polymer.html">
  <link rel="import" href="issue-sk.html">

</head>
<body>
  <h1>issue-sk demo</h1>

  <dom-module id="main-document-element">
    <template>
      <issue-sk id="issueStatus" test="[[_test]]" digest="[[_digest]]" issues="[[_issues]]"></issue-sk>
      <br>
      <br>

      <issue-sk id="issueStatus" test="[[_test]]" digest="[[_digest]]"></issue-sk>
    </template>

    <script>
      HTMLImports.whenReady(function () {
        Polymer({
          is: 'main-document-element',

          ready: function() {
            this._test = 'fontmgr_iterAndroid';
            this._digest = 'e840b8b512eb10b0db0a908d3fa95821';
            this._issues = [
              {"id": 1838, "title": "Hairline roundrects not smooth on Xoom in GPU config"},
              {"id": 1853, "title": "DX11 ANGLE emulates triangle fan support"},
              {"id": 1892, "title": "assertion failures in SampleApp when scaled"},
              {"id": 1896, "title": "kEmbolden and already bold."},
              {"id": 1899, "title": "Quick reject glyphs drawn from paths sooner."}
            ];
          }
        });
      });
    </script>
  </dom-module>

  <!-- Instantite the element defined above -->
  <main-document-element></main-document-element>
</body>
</html>
