blob: 8521a58b13a7b2b62faa5f50a70e31966aa500fb [file] [log] [blame]
<!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>