blob: e06cdbc9a67a401b988d522072e675639773f292 [file] [log] [blame]
<!DOCTYPE html>
<meta name="dart.unittest" content="full-stack-traces">
<title> element_upgrade_test </title>
.unittest-table { font-family:monospace; border:1px; }
.unittest-pass { background: #6b3;}
.unittest-fail { background: #d55;}
.unittest-error { background: #a11;}
<script src="/packages/web_components/webcomponents.js"></script>
<script src="/packages/web_components/dart_support.js"></script>
<h1> Running element_upgrade_test </h1>
var Foo = function() {};
Foo.prototype = Object.create(HTMLElement.prototype);
Foo.prototype.createdCallback = function() {
this.fooCreated = true;
this.textContent = 'constructed';
// Tell the Dart side that this was created.
// For testing purposes, for real code this would use a different mechanism.
Foo.prototype.doSomething = function() {
this.textContent = 'didSomething';
return 'didSomething';
Foo = document.registerElement('x-foo', Foo);
function validateIsFoo(element) {
if (!(element instanceof Foo)) {
throw Error('Element is not a Foo');
if (!element.fooCreated) {
throw Error('Expected fooCreated to be set');
<script type="text/javascript"