c49df8bd12
TBR BUG= Review URL: https://codereview.chromium.org//55503002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29714 260f80e4-7a28-3924-810f-c04153c831b5
83 lines
1.8 KiB
Dart
83 lines
1.8 KiB
Dart
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
library template_wrappers_test;
|
|
|
|
import 'dart:async';
|
|
import 'dart:html';
|
|
import 'dart:js' as js;
|
|
import 'package:unittest/html_config.dart';
|
|
import 'package:unittest/unittest.dart';
|
|
import '../utils.dart';
|
|
|
|
int createdCount = 0;
|
|
|
|
class CustomElement extends HtmlElement {
|
|
CustomElement.created() : super.created() {
|
|
++createdCount;
|
|
}
|
|
|
|
void checkCreated() {
|
|
}
|
|
}
|
|
|
|
// Pump custom events polyfill events.
|
|
void customElementsTakeRecords() {
|
|
if (js.context != null && js.context.hasProperty('CustomElements')) {
|
|
js.context['CustomElements'].callMethod('takeRecords');
|
|
}
|
|
}
|
|
|
|
main() {
|
|
useHtmlConfiguration();
|
|
|
|
setUp(loadPolyfills);
|
|
|
|
test('element is upgraded once', () {
|
|
|
|
expect(createdCount, 0);
|
|
document.register('x-custom', CustomElement);
|
|
expect(createdCount, 1);
|
|
|
|
forceGC();
|
|
|
|
return new Future.delayed(new Duration(milliseconds: 50)).then((_) {
|
|
var t = document.querySelector('.t1');
|
|
|
|
var fragment = t.content;
|
|
|
|
fragment.querySelector('x-custom').checkCreated();
|
|
expect(createdCount, 1);
|
|
});
|
|
});
|
|
/*
|
|
test('old wrappers do not cause multiple upgrades', () {
|
|
createdCount = 0;
|
|
var d1 = document.querySelector('x-custom-two');
|
|
d1.attributes['foo'] = 'bar';
|
|
d1 = null;
|
|
|
|
document.register('x-custom-two', CustomElement);
|
|
|
|
expect(createdCount, 1);
|
|
|
|
forceGC();
|
|
|
|
return new Future.delayed(new Duration(milliseconds: 50)).then((_) {
|
|
var d = document.querySelector('x-custom-two');
|
|
expect(createdCount, 1);
|
|
});
|
|
});
|
|
*/
|
|
}
|
|
|
|
|
|
void forceGC() {
|
|
var N = 1000000;
|
|
var M = 100;
|
|
for (var i = 0; i < M; ++i) {
|
|
var l = new List(N);
|
|
}
|
|
}
|