Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-node/animation-node-after.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-node/animation-node-after.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-node/animation-node-after.html |
deleted file mode 100644 |
index 3db07eee0f1104dcad5ae51a0ca79460e65d79bd..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/web-animations/animation-node/animation-node-after.html |
+++ /dev/null |
@@ -1,419 +0,0 @@ |
-<!DOCTYPE html> |
-<meta charset=utf-8> |
-<title>AnimationNode after() method tests</title> |
-<meta name="assert" content="Inserts nodes after this animation node"> |
-<link rel="help" href="http://w3c.github.io/web-animations/#dom-animationnode-after"> |
-<link rel="help" href="http://w3c.github.io/web-animations/#insert-children"> |
-<link rel="help" href="http://w3c.github.io/web-animations/#remove-an-animation-node"> |
-<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> |
-<body> |
-<div id="log"></div> |
-<script> |
-// Test step 1. If there is no parent animation group, terminate these steps. |
-test(function() { |
- var nodes = [newAnimation(createDiv(this)), new AnimationGroup([]), new AnimationSequence([])]; |
- nodes.forEach(function(node) { |
- try { |
- node.after(null); |
- } catch(e) { |
- assert_unreached(type(node) + '.after(null) throws unexpected exception: ' + e); |
- } |
- }); |
-}, 'AnimationNode.after() does nothing if the node has no parent animation group. ' + |
- 'HierarchyRequestError is not thrown in call node.after(null)'); |
- |
-test(function() { |
- var nodes = [newAnimation(createDiv(this)), new AnimationGroup([]), new AnimationSequence([])]; |
- nodes.forEach(function(node) { |
- try { |
- node.after(node); |
- } catch(e) { |
- assert_unreached(type(node) + '.after() throws unexpected exception: ' + e); |
- } |
- }); |
-}, 'AnimationNode.after() does nothing if the node has no parent animation group. ' + |
- 'No HierarchyRequestError is thrown if the node is inserted after itself'); |
- |
-test(function() { |
- var nodes = [newAnimation(createDiv(this)), new AnimationGroup([]), new AnimationSequence([])]; |
- var node2 = newAnimation(createDiv(this)); |
- nodes.forEach(function(node1) { |
- node1.after(node2); |
- |
- assert_equals(node1.nextSibling, null, type(node1) + '.after() should do nothing ' + |
- 'if the node has no parent animation group'); |
- assert_equals(node2.previousSibling, null, type(node1) + '.after() should do nothing ' + |
- 'if the node has no parent animation group'); |
- }); |
-}, 'AnimationNode.after() does nothing if there is no parent animation group'); |
- |
-// Test step 2. If any of the animation nodes in nodes is an inclusive ancestor of this animation node throw a HierarchyRequestError exception and terminate these steps. |
-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_throws('HierarchyRequestError', function() { |
- node.after(node); |
- }, type(node) + '.after() should throw HierarchyRequestError ' + |
- 'if inserting node after itself'); |
- assert_equals(node.parent, parent, type(node) + '.after() should not change ' + |
- 'parent attribute before throwing HierarchyRequestError'); |
- assert_array_equals(parent.children, [node], type(node) + '.after() ' + |
- 'should not change parent children before throwing HierarchyRequestError'); |
- }); |
- }); |
-}, 'HierarchyRequestError is thrown if node is inserted after itself'); |
- |
-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_throws('HierarchyRequestError', function() { |
- node.after(parent); |
- }, type(node) + '.after() should throw HierarchyRequestError ' + |
- 'if inserting node\'s parent'); |
- assert_equals(node.parent, parent, type(node) + '.after() should not change ' + |
- 'parent attribute before throwing HierarchyRequestError'); |
- assert_array_equals(parent.children, [node], type(node) + '.after() ' + |
- 'should not change parent children before throwing HierarchyRequestError'); |
- }); |
- }); |
-}, 'HierarchyRequestError is thrown if direct parent is inserted after the node'); |
- |
-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 parent1 = new parentCtor([node]); |
- var parent2 = new parentCtor([parent1]); |
- var parent3 = new parentCtor([parent2]); |
- var parent4 = new parentCtor([parent3]); |
- |
- assert_throws('HierarchyRequestError', function() { |
- node.after(parent3); |
- }, type(node) + '.after() should throw HierarchyRequestError ' + |
- 'if inserting node\'s ancestor'); |
- assert_equals(node.parent, parent1, type(node) + '.after() should not change ' + |
- 'parent attribute before throwing HierarchyRequestError'); |
- assert_array_equals(parent1.children, [node], type(node) + '.after() ' + |
- 'should not change parent children before throwing HierarchyRequestError'); |
- assert_equals(parent3.parent, parent4, type(node) + '.after() should not change ' + |
- 'parent attribute of inserted node before throwing HierarchyRequestError'); |
- assert_array_equals(parent4.children, [parent3], type(node) + '.after() ' + |
- 'should not change inserted node parent children before throwing HierarchyRequestError'); |
- }); |
- }); |
-}, 'HierarchyRequestError is thrown if an inclusive ancestor is inserted after the node'); |
- |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var node3 = newAnimation(createDiv(test)); |
- var parent1 = new parentCtor([node1, node2]); |
- var parent2 = new parentCtor([parent1]); |
- var parent3 = new parentCtor([parent2]); |
- var parent4 = new parentCtor([parent3]); |
- var parent5 = new ParentCtor([node3]); |
- |
- assert_throws('HierarchyRequestError', function() { |
- node1.after(node3, parent3); |
- }, type(node1) + '.after() should throw HierarchyRequestError ' + |
- 'if inserting node\'s parent'); |
- assert_equals(node1.parent, parent1, type(node1) + '.after() should not change ' + |
- 'parent attribute before throwing HierarchyRequestError'); |
- assert_array_equals(parent1.children, [node1, node2], type(node1) + '.after() ' + |
- 'should not change parent children before throwing HierarchyRequestError'); |
- assert_equals(parent3.parent, parent4, type(node1) + '.after() should not change ' + |
- 'parent attribute of inserted node before throwing HierarchyRequestError'); |
- assert_array_equals(parent4.children, [parent3], type(node1) + '.after() ' + |
- 'should not change inserted node parent children before throwing HierarchyRequestError'); |
- assert_equals(node3.parent, parent5, type(node1) + '.after() should not change ' + |
- 'parent attribute of inserted node before throwing HierarchyRequestError'); |
- assert_array_equals(parent5.children, [node3], type(node1) + '.after() ' + |
- 'should not change inserted node parent children before throwing HierarchyRequestError'); |
- }); |
- }); |
-}, 'HierarchyRequestError is thrown if an inclusive ancestor is inserted after the node. ' + |
- 'Test several arguments in after() call'); |
- |
-// Test step 3 and 4. |
-// 3. Let reference child be the next sibling of this animation node not in nodes. |
-// 4. Insert nodes before reference child. |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1]); |
- |
- node1.after(node2); |
- |
- assert_equals(node2.previousSibling, node1, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node2.parent, parent, 'Node should be inserted into the tree'); |
- assert_equals(node1.nextSibling, node2, 'Node should be inserted into the tree ' + |
- 'after this node'); |
- assert_equals(parent.children, [node1, node2], parentCtor.name + |
- '.children should be updated'); |
- }); |
- }); |
-}, 'AnimationNode.after() inserts nodes after this node'); |
- |
-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(node2) { |
- var node1 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1, node2]); |
- |
- node2.after(node1); |
- |
- assert_equals(node2.previousSibling, null, type(node2) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node2.nextSibling, node1, 'Node should be inserted into the tree ' + |
- 'after this node'); |
- assert_equals(node1.previousSibling, node2, type(node2) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node1.nextSibling, null, 'Node should be inserted into the tree ' + |
- 'after this node'); |
- assert_equals(parent.children, [node2, node1], parentCtor.name + |
- '.children should be updated'); |
- }); |
- }); |
-}, 'AnimationNode.after() inserts nodes after this node. Inserted node is on the same ' + |
- 'level in the tree'); |
- |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1, node2]); |
- |
- node1.after(node2); |
- |
- assert_equals(node1.nextSibling, node2, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node2.previousSibling, node1, 'Node should be inserted into the tree ' + |
- 'after this node'); |
- assert_equals(parent.children, [node1, node2], parentCtor.name + |
- '.children should not be changed'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() inserts node after this node even if inserted ' + |
- 'node is already after this one'); |
- |
-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(node3) { |
- var node1 = newAnimation(createDiv(test)); |
- var node2 = newAnimation(createDiv(test)); |
- var node4 = newAnimation(createDiv(test)); |
- var parent1 = new parentCtor([node1, node2]); |
- var parent2 = new parentCtor([node3, parent1, node4]); |
- |
- node3.after(node1); |
- |
- assert_equals(node1.nextSibling, parent1, type(node3) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node1.parent, parent2, 'Parent group of the inserted node should be changed'); |
- assert_equals(node1.previousSibling, node3, 'Node should be inserted into the tree ' + |
- 'after this node'); |
- |
- assert_equals(node3.nextSibling, node1, type(node3) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(parent1.previousSibling, node1, type(node3) + '.after() should insert ' + |
- 'nodes after this node'); |
- |
- assert_equals(node2.previousSibling, null, 'Inserted node should be removed from its ' + |
- 'previous position in the tree'); |
- assert_array_equals(parent1.children, [node2], 'Inserted node should be removed from its ' + |
- 'previous position in the tree'); |
- assert_array_equals(parent2.children, [node1, node3, parent1, node4], parentCtor.name + |
- '.children should be updated'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() inserts node after this node. The previous position ' + |
- 'of the inserted node is deeper in the tree than current node'); |
- |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var node3 = newAnimation(createDiv(test)); |
- var node4 = newAnimation(createDiv(test)); |
- var parent1 = new parentCtor([node1, node2]); |
- var parent2 = new parentCtor([node3, parent1, node4]); |
- |
- node1.after(node4); |
- |
- assert_equals(node4.nextSibling, node2, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.parent, parent1, 'Parent group of the inserted node should be changed'); |
- assert_equals(node4.previousSibling, node1, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- |
- assert_equals(node1.nextSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node2.previousSibling, node4, 'Node should be inserted into the tree ' + |
- 'after this node'); |
- |
- assert_equals(parent1.nextSibling, null, 'Inserted node should be removed from its ' + |
- 'previous position in the tree'); |
- assert_array_equals(parent1.children, [node1, node4, node2], parentCtor.name + |
- '.children should be updated'); |
- assert_array_equals(parent2.children, [node3, parent1], 'Inserted node should be ' + |
- 'removed from its previous position in the tree'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() inserts node after this node. The previous position ' + |
- 'of the inserted node is shallower in the tree than current node, but not ancestor'); |
- |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var node3 = newAnimation(createDiv(test)); |
- var node4 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1, node2]); |
- |
- node1.after(node3, node4); |
- |
- assert_equals(node1.nextSibling, node3, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.previousSibling, node1, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.nextSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.parent, parent, 'Parent group of the inserted node should be changed'); |
- assert_equals(node4.previousSibling, node3, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.nextSibling, node2, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.parent, parent, 'Parent group of the inserted node should be changed'); |
- assert_equals(node2.previousSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_array_equals(parent.children, [node1, node3, node4, node2], parentCtor.name + |
- '.children should be updated'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() inserts several nodes after this node'); |
- |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var node3 = newAnimation(createDiv(test)); |
- var node4 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1, node2]); |
- |
- node1.after(node3, node4, node3, node4); |
- |
- assert_equals(node1.nextSibling, node3, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.previousSibling, node1, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.nextSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.parent, parent, 'Parent group of the inserted node should be changed'); |
- assert_equals(node4.previousSibling, node3, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.nextSibling, node2, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.parent, parent, 'Parent group of the inserted node should be changed'); |
- assert_equals(node2.previousSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_array_equals(parent.children, [node1, node3, node4, node2], parentCtor.name + |
- '.children should be updated'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() inserts several nodes after this node, duplicate nodes are ignored'); |
- |
-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(node1) { |
- var node2 = newAnimation(createDiv(test)); |
- var node3 = newAnimation(createDiv(test)); |
- var node4 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1, node2]); |
- |
- node1.after(node3, node4, node3); |
- |
- assert_equals(node1.nextSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.previousSibling, node1, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.nextSibling, node3, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node4.parent, parent, 'Parent group of the inserted node should be changed'); |
- assert_equals(node3.previousSibling, node4, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.nextSibling, node2, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_equals(node3.parent, parent, 'Parent group of the inserted node should be changed'); |
- assert_equals(node2.previousSibling, node3, type(node1) + '.after() should insert ' + |
- 'nodes after this node'); |
- assert_array_equals(parent.children, [node1, node4, node3, node2], parentCtor.name + |
- '.children should be updated'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() inserts several nodes after this node, check insertion order'); |
- |
-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(node2) { |
- var node1 = newAnimation(createDiv(test)); |
- var parent = new parentCtor([node1]); |
- var player = document.timeline.play(node2); |
- |
- assert_equals(player.source, node2, 'The node should be associated with its player'); |
- node1.after(node2); |
- assert_equals(player.source, null, 'The node should be disassociated from its player'); |
- }); |
- }); |
-}, 'Test AnimationNode.after() disassociates the inserted node from the player, ' + |
- 'if node is directly associated with a player'); |
-</script> |
-</body> |