| <!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/webcomponents.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/pkg/test_runner/lib/src/test_controller.js"></script> |
| %TEST_SCRIPTS% |
| </body> |