| <!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> |
| <meta charset="UTF-8"> |
| <title>paper-card a11y tests</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> |
| |
| <script src="../../webcomponentsjs/webcomponents-lite.js"></script> |
| <script src="../../web-component-tester/browser.js"></script> |
| <link rel="import" href="../paper-card.html"> |
| |
| <style> |
| paper-card { |
| width: 400px; |
| } |
| </style> |
| |
| </head> |
| <body> |
| <test-fixture id="basic"> |
| <template> |
| <paper-card heading="header"> |
| <div class="card-content"><p>Sample content</p></div> |
| </paper-card> |
| </template> |
| </test-fixture> |
| |
| <test-fixture id="with-aria-label"> |
| <template> |
| <paper-card heading="header" aria-label="the-aria-label"> |
| <div class="card-content"><p>Sample content</p></div> |
| </paper-card> |
| </template> |
| </test-fixture> |
| |
| <test-fixture id="with-empty-aria-label"> |
| <template> |
| <paper-card heading="header" aria-label=""> |
| <div class="card-content"><p>Sample content</p></div> |
| </paper-card> |
| </template> |
| </test-fixture> |
| |
| <script> |
| suite('a11y', function() { |
| var f; |
| suite('without aria-label attribute set', function() { |
| setup(function () { |
| f = fixture('basic'); |
| }); |
| |
| test('aria-label set on card', function() { |
| assert.strictEqual(f.getAttribute('aria-label'), f.heading); |
| }); |
| |
| test('aria-label can be updated by heading', function() { |
| assert.strictEqual(f.getAttribute('aria-label'), f.heading); |
| f.heading = 'batman'; |
| assert.strictEqual(f.getAttribute('aria-label'), 'batman'); |
| }); |
| }); |
| |
| suite('with aria-label attribute set', function() { |
| setup(function () { |
| f = fixture('with-aria-label'); |
| }); |
| |
| test('defined aria-label is not overwritten by initial heading', function() { |
| assert.strictEqual(f.getAttribute('aria-label'), 'the-aria-label'); |
| }); |
| |
| test('defined aria-label is not overwritten by heading update', function() { |
| assert.strictEqual(f.getAttribute('aria-label'), 'the-aria-label'); |
| f.heading = 'batman'; |
| assert.strictEqual(f.getAttribute('aria-label'), 'the-aria-label'); |
| }); |
| }); |
| |
| suite('with aria-label attribute set to ""', function() { |
| setup(function () { |
| f = fixture('with-empty-aria-label'); |
| }); |
| |
| test('empty aria-label is not overwritten by initial heading', function() { |
| assert.strictEqual(f.getAttribute('aria-label'), ''); |
| }); |
| |
| test('empty aria-label is not overwritten by heading update', function() { |
| assert.strictEqual(f.getAttribute('aria-label'), ''); |
| f.heading = 'batman'; |
| assert.strictEqual(f.getAttribute('aria-label'), ''); |
| }); |
| }); |
| |
| suite('header image', function() { |
| var img; |
| setup(function () { |
| f = fixture('basic'); |
| img = f.$$('iron-image'); |
| }); |
| test('aria-hidden is set on image', function() { |
| assert.strictEqual(img.getAttribute('aria-hidden'), 'true'); |
| }); |
| |
| test('aria-hidden is removed when image is set', function() { |
| f.image = 'some-image-url'; |
| assert.strictEqual(img.getAttribute('aria-hidden'), 'false'); |
| }); |
| }); |
| }); |
| |
| suite('header image', function() { |
| var f, img; |
| setup(function () { |
| f = fixture('basic'); |
| img = f.$$('iron-image'); |
| }); |
| |
| test('is iron-image', function(){ |
| expect(img).to.be.ok; |
| }); |
| |
| test('width properly setup', function() { |
| assert.strictEqual(img.offsetWidth, 0); |
| f.image = 'some-img-url'; |
| assert.strictEqual(img.src, f.image); |
| assert.strictEqual(img.offsetWidth, f.offsetWidth); |
| }); |
| |
| test('preload properly setup', function() { |
| assert.strictEqual(img.preload, f.preloadImage); |
| f.preloadImage = !f.preloadImage; |
| assert.strictEqual(img.preload, f.preloadImage); |
| }); |
| |
| test('fade properly setup', function() { |
| assert.strictEqual(img.fade, f.fadeImage); |
| f.fadeImage = !f.fadeImage; |
| assert.strictEqual(img.fade, f.fadeImage); |
| }); |
| |
| test('placeholder properly setup', function() { |
| assert.strictEqual(img.placeholder, null); |
| f.placeholderImage = 'some-place-holder'; |
| assert.strictEqual(img.placeholder, f.placeholderImage); |
| }); |
| |
| test('alt properly setup', function() { |
| assert.strictEqual(img.alt, null); |
| f.alt = 'some-text'; |
| assert.strictEqual(img.alt, f.alt); |
| }); |
| }); |
| </script> |
| |
| </body> |
| </html> |