Home | History | Annotate | Download | only in test
      1 <!doctype html>
      2 <!--
      3 Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
      4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
      5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
      6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
      7 Code distributed by Google as part of the polymer project is also
      8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
      9 -->
     10 <html>
     11 <head>
     12   <meta charset="UTF-8">
     13   <title>paper-icon-button a11y tests</title>
     14   <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
     15 
     16   <script src="../../webcomponentsjs/webcomponents.js"></script>
     17   <script src="../../web-component-tester/browser.js"></script>
     18 
     19   <link href="../../core-icons/core-icons.html" rel="import">
     20   <link href="../paper-icon-button.html" rel="import">
     21 
     22 </head>
     23 <body>
     24 
     25   <paper-icon-button id="fab1" icon="add"></paper-icon-button>
     26 
     27   <paper-icon-button id="fab2" icon="add" disabled></paper-icon-button>
     28 
     29   <paper-icon-button id="fab3" icon="add" aria-label="custom"></paper-icon-button>
     30 
     31   <script>
     32 
     33     var f1 = document.getElementById('fab1');
     34     var f2 = document.getElementById('fab2');
     35     var f3 = document.getElementById('fab3');
     36 
     37     test('aria role is a button', function() {
     38       assert.strictEqual(f1.getAttribute('role'), 'button');
     39     });
     40 
     41     test('aria-disabled is set', function(done) {
     42       assert.ok(f2.hasAttribute('aria-disabled'));
     43       flush(function() {
     44         f2.removeAttribute('disabled');
     45         flush(function() {
     46           assert.ok(!f2.hasAttribute('aria-disabled'));
     47           done();
     48         });
     49       });
     50     });
     51 
     52     test('aria-label is set', function() {
     53       assert.strictEqual(f1.getAttribute('aria-label'), 'add');
     54     });
     55 
     56     test('user-defined aria-label is preserved', function(done) {
     57       assert.strictEqual(f3.getAttribute('aria-label'), 'custom');
     58       f3.icon = 'arrow-forward';
     59       flush(function() {
     60         assert.strictEqual(f3.getAttribute('aria-label'), 'custom');
     61         done();
     62       });
     63     });
     64 
     65   </script>
     66 
     67 </body>
     68 </html>
     69