| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>AnimationNode parent attribute tests</title> |
| <meta name="assert" content="The parent animation group of this animation node or null if this animation node does not have a parent animation group"> |
| <link rel="help" href="http://w3c.github.io/web-animations/#dom-animationnode-parent"> |
| <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> |
| <link rel="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../testcommon.js"></script> |
| <link rel="stylesheet" href="/resources/testharness.css"> |
| <body> |
| <div id="log"></div> |
| <script> |
| test(function() { |
| var nodes = [newAnimation(createDiv(this)), new AnimationGroup([]), new AnimationSequence([])]; |
| nodes.forEach(function(node) { |
| assert_equals(node.parent, null, type(node) + '.parent should be null'); |
| }); |
| }, 'AnimationNode.parent is null if animation node does not have a parent animation group'); |
| |
| test(function() { |
| var test = this; |
| var parents = [AnimationGroup, AnimationSequence]; |
| parents.forEach(function(parentCtor) { |
| var nodes = [newAnimation(createDiv(test)), new AnimationGroup([]), new AnimationSequence([])]; |
| nodes.forEach(function(node) { |
| var parent = new parentCtor([node]); |
| |
| assert_equals(node.parent, parent, type(node) + '.parent should return ' + |
| 'parent animation group of this animation node'); |
| }); |
| }); |
| }, 'AnimationNode.parent returns parent animation group of this animation node'); |
| |
| test(function() { |
| var test = this; |
| var parents = [AnimationGroup, AnimationSequence]; |
| parents.forEach(function(parentCtor) { |
| var nodes = [newAnimation(createDiv(test)), new AnimationGroup([]), new AnimationSequence([])]; |
| var parent = new parentCtor([nodes[0], nodes[1], nodes[2]]); |
| nodes.forEach(function(node) { |
| assert_equals(node.parent, parent, type(node) + '.parent should return ' + |
| 'parent animation group of this animation node'); |
| }); |
| }); |
| }, 'AnimationNode.parent returns parent animation group of this animation node. ' + |
| 'The group has several children nodes'); |
| |
| // The rest is tested in mutator methods: AnimationNode.before(), AnimationNode.after(), |
| // AnimationNode.replace(), AnimationNode.remove(), |
| // AnimationGroup.prepend(), AnimationGroup.append(), AnimationGroup.clone() |
| </script> |
| </body> |