| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/inspector-test.js"></script> |
| <script> |
| function load() { |
| window.animation = document.body.animate([], {id: "OldName"}); |
| |
| runTest(); |
| } |
| |
| function test() |
| { |
| let suite = InspectorTest.createAsyncSuite("Animation.nameChanged"); |
| |
| suite.addTestCase({ |
| name: "Animation.nameChanged.NewString", |
| description: "Should send the new name to the frontend when `Animation.prototype.set id` is called.", |
| async test() { |
| let animations = Array.from(WI.animationManager.animationCollection); |
| InspectorTest.assert(animations.length === 1, "There should only be one animation."); |
| |
| let animation = animations[0]; |
| if (!animation) { |
| throw `Missing animation.`; |
| return; |
| } |
| |
| InspectorTest.assert(animation.animationType === WI.Animation.Type.WebAnimation, "Animation should be a web animation."); |
| |
| InspectorTest.expectEqual(animation.displayName, "OldName", "Animation should have the name 'OldName'."); |
| |
| InspectorTest.log("Changing name...\n"); |
| await Promise.all([ |
| animation.awaitEvent(WI.Animation.Event.NameChanged), |
| InspectorTest.evaluateInPage(`window.animation.id = "NewName"`), |
| ]); |
| |
| InspectorTest.expectEqual(animation.displayName, "NewName", "Animation should have the name 'NewName'."); |
| }, |
| }); |
| |
| suite.runTestCasesAndFinish(); |
| } |
| </script> |
| </head> |
| <body onload="load()"> |
| <p>Tests for the Animation.nameChanged event.</p> |
| </body> |
| </html> |