Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: tests/html/utils.dart

Issue 158083002: introduce web_components pkg for consolidated polyfills (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/html/custom_elements_test.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 library TestUtils; 1 library TestUtils;
2 2
3 import 'dart:async'; 3 import 'dart:async';
4 import 'dart:html'; 4 import 'dart:html';
5 import 'dart:js' as js; 5 import 'dart:js' as js;
6 import 'dart:typed_data'; 6 import 'dart:typed_data';
7 import 'package:unittest/unittest.dart'; 7 import 'package:unittest/unittest.dart';
8 export 'package:web_components/polyfill.dart';
8 9
9 /** 10 /**
10 * Verifies that [actual] has the same graph structure as [expected]. 11 * Verifies that [actual] has the same graph structure as [expected].
11 * Detects cycles and DAG structure in Maps and Lists. 12 * Detects cycles and DAG structure in Maps and Lists.
12 */ 13 */
13 verifyGraph(expected, actual) { 14 verifyGraph(expected, actual) {
14 var eItems = []; 15 var eItems = [];
15 var aItems = []; 16 var aItems = [];
16 17
17 message(path, reason) => path == '' 18 message(path, reason) => path == ''
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 for (var key in aE.attributes.keys) { 155 for (var key in aE.attributes.keys) {
155 expect(aE.attributes[key], bE.attributes[key], 156 expect(aE.attributes[key], bE.attributes[key],
156 reason: '$path attribute [$key] values differ'); 157 reason: '$path attribute [$key] values differ');
157 } 158 }
158 } 159 }
159 for (var i = 0; i < a.nodes.length; ++i) { 160 for (var i = 0; i < a.nodes.length; ++i) {
160 validateNodeTree(a.nodes[i], b.nodes[i], '$path[$i].'); 161 validateNodeTree(a.nodes[i], b.nodes[i], '$path[$i].');
161 } 162 }
162 } 163 }
163 164
164 Future loadCustomElementPolyfill() {
165 if (!document.supportsRegister) {
166 var script = new ScriptElement()
167 ..src = '/packages/custom_element/custom-elements.debug.js';
168 document.head.append(script);
169 return document.on['WebComponentsReady'].first;
170 }
171 return new Future.value();
172 }
173
174 Future loadPolyfills() {
175 return loadCustomElementPolyfill();
176 }
177
178 /** 165 /**
179 * Upgrade all custom elements in the subtree which have not been upgraded. 166 * Upgrade all custom elements in the subtree which have not been upgraded.
180 * 167 *
181 * This is needed to cover timing scenarios which the custom element polyfill 168 * This is needed to cover timing scenarios which the custom element polyfill
182 * does not cover. 169 * does not cover.
183 */ 170 */
184 void upgradeCustomElements(Node node) { 171 void upgradeCustomElements(Node node) {
185 if (js.context.hasProperty('CustomElements') && 172 if (js.context.hasProperty('CustomElements') &&
186 js.context['CustomElements'].hasProperty('upgradeAll')) { 173 js.context['CustomElements'].hasProperty('upgradeAll')) {
187 js.context['CustomElements'].callMethod('upgradeAll', [node]); 174 js.context['CustomElements'].callMethod('upgradeAll', [node]);
188 } 175 }
189 } 176 }
OLDNEW
« no previous file with comments | « tests/html/custom_elements_test.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698