blob: 9b3e5fa53f214dcbfcec1bca6e286a98c06bf2df [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="dart.unittest" content="full-stack-traces">
<title> interop_test.html </title>
<style>
.unittest-table { font-family:monospace; border:1px; }
.unittest-pass { background: #6b3;}
.unittest-fail { background: #d55;}
.unittest-error { background: #a11;}
</style>
<script src="/packages/web_components/webcomponents.js"></script>
<script src="/packages/web_components/dart_support.js"></script>
<script src="/packages/web_components/interop_support.js"></script>
</head>
<body>
<h1> Running interop_test </h1>
<script>
var counter = 0;
var A = function() {};
A.prototype = Object.create(HTMLElement.prototype);
A.prototype.inc = function() { this.x = counter++; };
A.prototype.createdCallback = function() { this.inc(); };
var B = function() {};
B.prototype = Object.create(HTMLDivElement.prototype);
B.prototype.createdCallback = function() { this.x = counter++; };
B.extends = 'div';
var D = function() {};
D.prototype = Object.create(HTMLElement.prototype);
D.prototype.inc = function() { this.x = counter++; };
D.prototype.createdCallback = function() { this.inc(); };
var E = { prototype: Object.create(D.prototype) };
E.prototype.inc2 = function() {
this.y = counter++;
};
E.prototype.createdCallback = function() {
D.prototype.createdCallback.call(this);
this.inc2();
};
document.registerElement('x-a', A);
document.registerElement('x-b', B);
document.registerElement('x-d', D);
document.registerElement('x-e', E);
function registerC() {
var proto = Object.create(HTMLElement.prototype, {
inc: { value: function() { this.x = counter++; } },
createdCallback: {
value: function() { this.inc(); },
configurable: true},
});
document.registerElement('x-c', {prototype: proto});
}
function addA() {
document.body.appendChild(document.createElement('x-a'));
}
function addB() {
document.body.appendChild(document.createElement('div', 'x-b'));
}
function addC() {
document.body.appendChild(document.createElement('x-c'));
}
function addD() {
document.body.appendChild(document.createElement('x-d'));
}
function addE() {
document.body.appendChild(document.createElement('x-e'));
}
</script>
<x-a id="i1"></x-a>
<div is="x-b" id="i2"></div>
<x-c id="i3"></x-c>
<x-d id="i4"></x-d>
<script type="text/javascript"
src="/root_dart/tools/testing/dart/test_controller.js"></script>
<script type="application/dart" src="interop_test.dart"></script>
<script type="text/javascript" src="/packages/browser/dart.js"></script>
</body>
</html>