Files
sdk/tests/html/custom/element_upgrade_test.html
T
blois@google.com edf9910602 Re-apply "Adding a mechanism to 'upgrade' the Dart type of elements"
With fixes for:
- Expected analyzer static error in the unittest.
- Added browser/interop.js to the HTML file

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org//224113003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35080 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-15 20:50:46 +00:00

52 lines
1.4 KiB
HTML

<!DOCTYPE html>
<meta name="dart.unittest" content="full-stack-traces">
<title> element_upgrade_test </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/platform.concat.js"></script>
<script src="/packages/web_components/dart_support.js"></script>
<body>
<h1> Running element_upgrade_test </h1>
<script>
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.
window.upgradeListener(this);
};
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>
<script type="text/javascript"
src="/root_dart/tools/testing/dart/test_controller.js"></script>
<script type="text/javascript"
src="/packages/browser/interop.js"></script>
%TEST_SCRIPTS%
</body>