| Index: test/src/common/behavior_test.html
|
| diff --git a/test/src/common/behavior_test.html b/test/src/common/behavior_test.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..827db2e993897959e425ff68f2806a6ff718bb70
|
| --- /dev/null
|
| +++ b/test/src/common/behavior_test.html
|
| @@ -0,0 +1,78 @@
|
| +<!DOCTYPE html>
|
| +<!--
|
| +Copyright (c) 2014, 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.
|
| +-->
|
| +<html>
|
| +<head>
|
| + <script src="packages/web_components/webcomponents.min.js"></script>
|
| + <link rel="x-dart-test" href="behavior_test.dart">
|
| + <!--<script type="application/dart" src="behavior_test.dart"></script>-->
|
| + <script src="packages/test/dart.js"></script>
|
| +</head>
|
| +<body>
|
| +<dom-module id="my-element">
|
| + <template>
|
| + <div id="jsBehaviorString">{{jsBehaviorString}}</div>
|
| + <div id="dartBehaviorString">{{dartBehaviorString}}</div>
|
| + </template>
|
| +</dom-module>
|
| +<script>
|
| + window.JsBehavior = {
|
| + // Lifecycle methods
|
| + created: function() {
|
| + // Internal bookkeeping for tests.
|
| + this.jsInvocations = {
|
| + 'created': [],
|
| + 'attached': [],
|
| + 'detached': [],
|
| + 'attributeChanged': [],
|
| + 'jsBehaviorStringChanged': [],
|
| + 'jsBehaviorNumChanged': [],
|
| + 'onJsBehaviorEvent': []
|
| + };
|
| +
|
| + this.jsInvocations['created'].push([this]);
|
| + },
|
| + attached: function() {
|
| + this.jsInvocations['attached'].push([this]);
|
| + },
|
| + detached: function() {
|
| + this.jsInvocations['detached'].push([this]);
|
| + },
|
| + attributeChanged: function(name, type, value) {
|
| + this.jsInvocations['attributeChanged'].push([this, name, type, value]);
|
| + },
|
| +
|
| + // Properties
|
| + properties: {
|
| + jsBehaviorString: {
|
| + type: String,
|
| + observer: 'jsBehaviorStringChanged'
|
| + },
|
| + jsBehaviorNum: Number
|
| + },
|
| + jsBehaviorStringChanged: function(newValue, oldValue) {
|
| + this.jsInvocations['jsBehaviorStringChanged'].push([newValue, oldValue]);
|
| + },
|
| +
|
| + // Observers
|
| + observers: [
|
| + 'jsBehaviorNumChanged(jsBehaviorNum)'
|
| + ],
|
| + jsBehaviorNumChanged: function(jsBehaviorNum) {
|
| + this.jsInvocations['jsBehaviorNumChanged'].push([jsBehaviorNum]);
|
| + },
|
| +
|
| + // Listeners
|
| + listeners: {
|
| + 'js-behavior-event': 'onJsBehaviorEvent'
|
| + },
|
| + onJsBehaviorEvent: function(e, detail) {
|
| + this.jsInvocations['onJsBehaviorEvent'].push([e, detail]);
|
| + }
|
| + }
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|