| Index: sky/tests/custom-elements/callbacks.sky
|
| diff --git a/sky/tests/custom-elements/callbacks.sky b/sky/tests/custom-elements/callbacks.sky
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b9d640943a6a9bd4915e0e6ab4eb1bc9554a4ee8
|
| --- /dev/null
|
| +++ b/sky/tests/custom-elements/callbacks.sky
|
| @@ -0,0 +1,55 @@
|
| +<sky>
|
| +<script>
|
| +import "../resources/third_party/unittest/unittest.dart";
|
| +import "../resources/unit.dart";
|
| +
|
| +import "dart:sky";
|
| +
|
| +class FooElement extends Element {
|
| + FooElement() : super("foo");
|
| +
|
| + attachedCallback() {
|
| + ++attachedCallbackCount;
|
| + }
|
| +
|
| + detachedCallback() {
|
| + ++detachedCallbackCount;
|
| + }
|
| +
|
| + attributeChangedCallback(String name, String oldValue, String newValue) {
|
| + ++attributeChangedCallbackCount;
|
| + }
|
| +
|
| + int attachedCallbackCount = 0;
|
| + int detachedCallbackCount = 0;
|
| + int attributeChangedCallbackCount = 0;
|
| +}
|
| +
|
| +
|
| +void main() {
|
| + initUnit();
|
| +
|
| + document.registerElement("foo", FooElement);
|
| +
|
| + test("callbacks should be called", () {
|
| + Element sky = document.querySelector("sky");
|
| + FooElement foo = document.createElement("foo");
|
| + expect(foo.attachedCallbackCount, equals(0));
|
| + expect(foo.detachedCallbackCount, equals(0));
|
| + expect(foo.attributeChangedCallbackCount, equals(0));
|
| + sky.appendChild(foo);
|
| + expect(foo.attachedCallbackCount, equals(1));
|
| + expect(foo.detachedCallbackCount, equals(0));
|
| + expect(foo.attributeChangedCallbackCount, equals(0));
|
| + foo.setAttribute("bar", "baz");
|
| + expect(foo.attachedCallbackCount, equals(1));
|
| + expect(foo.detachedCallbackCount, equals(0));
|
| + expect(foo.attributeChangedCallbackCount, equals(1));
|
| + foo.remove();
|
| + expect(foo.attachedCallbackCount, equals(1));
|
| + expect(foo.detachedCallbackCount, equals(1));
|
| + expect(foo.attributeChangedCallbackCount, equals(1));
|
| + });
|
| +}
|
| +</script>
|
| +</sky>
|
|
|