iron-image.html 2.53 KB
<!doctype html>
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
  <head>
    <title>iron-image</title>

    <script src="../../webcomponentsjs/webcomponents-lite.js"></script>
    <script src="../../web-component-tester/browser.js"></script>
    <script src="../../test-fixture/test-fixture-mocha.js"></script>

    <link rel="import" href="../../polymer/polymer.html">
    <link rel="import" href="../../test-fixture/test-fixture.html">
    <link rel="import" href="../iron-image.html">
  </head>
  <body>
    <test-fixture id="TrivialImage">
      <template>
        <iron-image></iron-image>
      </template>
    </test-fixture>
    <script>
      suite('<iron-image>', function() {
        function randomImageUrl () {
          return '../demo/polymer.svg?' + Math.random();
        }

        var image;

        suite('basic behavior', function() {
          setup(function() {
            image = fixture('TrivialImage');
          });

          test('can load images given a src', function(done) {
            image.addEventListener('loaded-changed', function onLoadedChanged() {
              image.removeEventListener('loaded-changed', onLoadedChanged);

              try {
                expect(image.loaded).to.be.eql(true);
                done();
              } catch (e) {
                done(e);
              }
            });
            image.src = randomImageUrl();
          });

          test('will reload images when src changes', function(done) {
            var loadCount = 0;

            image.addEventListener('loaded-changed', function onLoadedChanged() {
              if (image.loaded === true) {
                loadCount++;

                if (loadCount === 2) {
                  done();
                } else {
                  image.src = randomImageUrl();
                  image.removeEventListener('loaded-changed', onLoadedChanged);
                }
              }
            });

            image.src = randomImageUrl();
          });
        });
      });
    </script>
  </body>
</html>