MCPcopy
hub / github.com/ampproject/amphtml / waitForElementLayout

Method waitForElementLayout

testing/helpers/service.js:318–337  ·  view source on GitHub ↗

* @param {string} selector * @param {number=} timeout * @return {!Promise}

(selectorOrElement, timeout = 10000)

Source from the content-addressed store, hash-verified

316 * @return {!Promise}
317 */
318 waitForElementLayout(selectorOrElement, timeout = 10000) {
319 const elements = this.querySelectorAllOrElement(selectorOrElement);
320 if (!elements.length) {
321 throw new Error(`BrowserController query failed: ${selectorOrElement}`);
322 }
323 return poll(
324 `"${selectorOrElement}" to layout`,
325 () => {
326 // AMP elements set `readyState` to complete when their
327 // layoutCallback() promise is resolved.
328 const someNotReady = [].some.call(
329 elements,
330 (e) => e.readyState !== 'complete'
331 );
332 return !someNotReady;
333 },
334 /* onError */ undefined,
335 timeout
336 );
337 }
338
339 click(selectorOrElement) {
340 const element = this.querySelectorOrElement(selectorOrElement);

Calls 2

pollFunction · 0.90

Tested by

no test coverage detected