Index: third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js |
diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js b/third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8fd19e26cff4614eb7c9257e04bfcae09c60bc91 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js |
@@ -0,0 +1,34 @@ |
+(async function(testRunner) { |
+ var {page, session, dp} = await testRunner.startHTML(` |
+ <style id='style'> |
+ </style> |
+ <div id='for-pseudo'><span id='inner-span'></span></div> |
+ `, ''); |
+ |
+ var DOMHelper = await testRunner.loadScript('../resources/dom-helper.js'); |
+ var NodeTracker = await testRunner.loadScript('../resources/node-tracker.js'); |
+ var nodeTracker = new NodeTracker(dp); |
+ |
+ testRunner.log('\n=== Get the Document ===\n'); |
+ var response = await dp.DOM.getDocument(); |
+ var bodyId = response.result.root.children[0].children[1].nodeId; |
+ |
+ testRunner.log('\n=== Get immediate children of the body ===\n'); |
+ dp.DOM.requestChildNodes({nodeId: bodyId}); |
+ await dp.DOM.onceSetChildNodes(); |
+ |
+ testRunner.log('\n=== Add #for-pseudo:before element ===\n'); |
+ session.evaluate(() => { |
+ document.getElementById('style').textContent = '#for-pseudo:before { content: "BEFORE" }'; |
+ }); |
+ await dp.DOM.oncePseudoElementAdded(); |
+ |
+ for (var node of nodeTracker.nodes()) { |
+ if (DOMHelper.attributes(node).get('id') === 'inner-span') { |
+ testRunner.log('PASS: #inner-span has been received'); |
+ testRunner.completeTest(); |
+ return; |
+ } |
+ } |
+ testRunner.die('FAIL: #inner-span was not received'); |
+}) |