ui5-test-runner
Version:
Standalone test runner for UI5
45 lines (41 loc) • 1.28 kB
JavaScript
module.exports = jsdom => {
const { ResourceLoader: JSDOMResourceLoader } = jsdom
const { readFile } = require('fs/promises')
const { join } = require('path')
class ResourceLoader extends JSDOMResourceLoader {
fetch (url, options) {
const request = super.fetch(url, options)
const log = reason => {
const { response } = request
let status
if (response === undefined) {
console.log(JSON.stringify({
timestamp: new Date().toISOString(),
channel: 'console',
type: 'error',
message: 'NETWORK ERROR : ' + (reason ? reason.toString() : 'unknown reason')
}))
status = 599
} else {
status = response.statusCode
}
console.log(JSON.stringify({
timestamp: new Date().toISOString(),
channel: 'network',
initiator: 'resource-loader',
method: 'GET',
url,
status
}))
}
request.then(log, log)
if (url.match(/sap\/ui\/test\/matchers\/Visible(-dbg)?.js/)) {
return request.then(() => {
return readFile(join(__dirname, 'sap.ui.test.matchers.visible.js'))
})
}
return request
}
}
return new ResourceLoader()
}