1<!doctype html> 2<!-- 3@license 4Copyright (c) 2016 The Polymer Project Authors. All rights reserved. 5This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt 6The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt 7The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt 8Code distributed by Google as part of the polymer project is also 9subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt 10--> 11 12<html> 13<head> 14 15 <title>iron-icons</title> 16 <meta charset="utf-8"> 17 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 18 19 <script src="../../webcomponentsjs/webcomponents-lite.js"></script> 20 <script src="../../web-component-tester/browser.js"></script> 21 22 <link rel="import" href="../av-icons.html"> 23 <link rel="import" href="../communication-icons.html"> 24 <link rel="import" href="../device-icons.html"> 25 <link rel="import" href="../editor-icons.html"> 26 <link rel="import" href="../hardware-icons.html"> 27 <link rel="import" href="../image-icons.html"> 28 <link rel="import" href="../iron-icons.html"> 29 <link rel="import" href="../maps-icons.html"> 30 <link rel="import" href="../notification-icons.html"> 31 <link rel="import" href="../places-icons.html"> 32 <link rel="import" href="../social-icons.html"> 33 34</head> 35<body> 36 37 <script> 38 39suite('<iron-icons>', function() { 40 suite('basic behavior', function() { 41 var meta; 42 var iconsetNames = [ 43 'av', 'communication', 'device', 'editor', 'hardware', 'icons', 'image', 44 'maps', 'notification', 'places', 'social' 45 ]; 46 47 setup(function() { 48 meta = Polymer.Base.create('iron-meta', {type: 'iconset'}); 49 }); 50 51 test('all uniquely named', function() { 52 var allIcons = {}; 53 for (var i = 0; i < iconsetNames.length; i++) { 54 var iconset = meta.byKey(iconsetNames[i]); 55 expect(iconset).to.be.ok; 56 57 var iconNames = iconset.getIconNames(); 58 expect(iconNames).to.not.be.empty; 59 60 for (var j = 0; j < iconNames.length; j++) { 61 var parts = iconNames[j].split(':'); 62 expect(parts).to.have.length(2); 63 expect(parts[0]).to.equal(iconsetNames[i]); 64 expect(parts[1]).to.have.length.at.least(1); 65 expect(allIcons.hasOwnProperty(parts[1])).to.be.false; 66 67 allIcons[parts[1]] = true; 68 } 69 } 70 71 // Sanity check. 72 expect(Object.getOwnPropertyNames(allIcons)) 73 .to.have.length.of.at.least(iconsetNames.length); 74 }); 75 }); 76}); 77 78 </script> 79 80</body> 81</html> 82