github.com/web-platform-tests/wpt.fyi@v0.0.0-20240530210107-70cf978996f1/webdriver/path-test.js (about) 1 /** 2 * Copyright 2019 The WPT Dashboard Project. All rights reserved. 3 * Use of this source code is governed by a BSD-style license that can be 4 * found in the LICENSE file. 5 */ 6 7 const {Page} = require('puppeteer'); 8 const expect = require('chai').expect; 9 10 exports.tests = function(ctx) { 11 const view = 'results'; 12 test(view, async () => { 13 /** @type {Page} */ 14 const page = await ctx.browser.newPage(); 15 const url = `${ctx.server.url}/${view}/2dcontext/building-paths?label=stable`; 16 await page.goto(url); 17 18 const parts = await page.waitForFunction( 19 view => { 20 const app = document.querySelector('wpt-app'); 21 const results = app && app.shadowRoot && app.shadowRoot.querySelector(`wpt-${view}`); 22 if (!results || results.isLoading) return; 23 const parts = Array.from( 24 results.shadowRoot.querySelectorAll('path-part') 25 ); 26 if (parts.length) return parts; 27 }, {}, view); 28 29 await page.evaluate( 30 parts => parts.map(p => p.shadowRoot.querySelector('a').innerText.trim()), 31 parts 32 ).then(linkNames => { 33 expect(linkNames).to.deep.equal([ 34 "canvas_complexshapes_arcto_001.htm", 35 "canvas_complexshapes_beziercurveto_001.htm", 36 ]); 37 }); 38 }).timeout(10000); 39 };