Home | History | Annotate | Download | only in base
      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