UNPKG

909 BJavaScriptView Raw
1'use strict'
2
3const { stop } = require('./browsers')
4const { URL } = require('url')
5
6module.exports = {
7 async addTestPages (job, url, pages) {
8 let testPageUrls
9 pages = pages.map(relativeUrl => {
10 const absoluteUrl = new URL(relativeUrl, url)
11 return absoluteUrl.toString()
12 })
13 if (job.pageFilter) {
14 const filter = new RegExp(job.pageFilter)
15 testPageUrls = pages.filter(name => name.match(filter))
16 } else {
17 testPageUrls = pages
18 }
19 if (job.pageParams) {
20 testPageUrls = testPageUrls.map(url => {
21 if (url.includes('?')) {
22 return url + '&' + job.pageParams
23 }
24 return url + '?' + job.pageParams
25 })
26 }
27 job.testPageUrls = testPageUrls.reduce((uniques, url) => {
28 if (!uniques.includes(url)) {
29 uniques.push(url)
30 }
31 return uniques
32 }, job.testPageUrls || [])
33 stop(job, url)
34 }
35}