1 <!DOCTYPE html> 2 <!-- 3 Copyright 2016 The Chromium Authors. All rights reserved. 4 Use of this source code is governed by a BSD-style license that can be 5 found in the LICENSE file. 6 --> 7 8 <link rel="import" href="/tracing/ui/base/polymer_utils.html"> 9 10 <!-- 11 The Polymer elements defined in this file form the following class hierarchy: 12 13 A (common superclass) 14 / \ 15 B C 16 / \ 17 D E 18 / \ 19 F G 20 --> 21 22 <polymer-element name="polymer-utils-test-element-a" noscript> 23 </polymer-element> 24 25 <polymer-element name="polymer-utils-test-element-b" 26 extends="polymer-utils-test-element-a" noscript> 27 </polymer-element> 28 29 <polymer-element name="polymer-utils-test-element-c" 30 extends="polymer-utils-test-element-a" noscript> 31 </polymer-element> 32 33 <polymer-element name="polymer-utils-test-element-d" 34 extends="polymer-utils-test-element-c" noscript> 35 </polymer-element> 36 37 <polymer-element name="polymer-utils-test-element-e" 38 extends="polymer-utils-test-element-c" noscript> 39 </polymer-element> 40 41 <polymer-element name="polymer-utils-test-element-f" 42 extends="polymer-utils-test-element-d" noscript> 43 </polymer-element> 44 45 <polymer-element name="polymer-utils-test-element-g" 46 extends="polymer-utils-test-element-d" noscript> 47 </polymer-element> 48 49 <script> 50 'use strict'; 51 52 tr.b.unittest.testSuite(function() { 53 test('getPolymerElementsThatSubclass', function() { 54 function checkSubclasses(classNameSuffix, subclassNameSuffixes) { 55 var className = 'polymer-utils-test-element-' + classNameSuffix; 56 var subclassNames = subclassNameSuffixes.map( 57 function(subclassNameSuffix) { 58 return 'polymer-utils-test-element-' + subclassNameSuffix; 59 }); 60 assert.sameMembers( 61 tr.ui.b.getPolymerElementsThatSubclass(className), subclassNames); 62 } 63 64 checkSubclasses('a', ['b', 'c', 'd', 'e', 'f', 'g']); 65 checkSubclasses('b', []); 66 checkSubclasses('c', ['d', 'e', 'f', 'g']); 67 checkSubclasses('d', ['f', 'g']); 68 checkSubclasses('e', []); 69 checkSubclasses('f', []); 70 checkSubclasses('g', []); 71 }); 72 }); 73 </script> 74