remix-project mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
remix-project/apps/remix-ide-e2e/src/buildGroupTests.js

34 lines
998 B

3 years ago
const testFolder = './apps/remix-ide-e2e/src/tests/'
const fs = require('fs')
// build group tests
3 years ago
const source = `'use strict'
import * as test from './#file'
import buildGroupTest from '../helpers/buildgrouptest'
const group = '#groupname'
3 years ago
module.exports = buildGroupTest(group, test)
`
3 years ago
fs.readdirSync(testFolder).forEach(file => {
3 years ago
if (!file.includes('group')) {
const content = fs.readFileSync(testFolder + file, 'utf8')
const matches = content.match(/group\d+/g)
3 years ago
if (matches) {
const unique = matches.filter(onlyUnique)
3 years ago
unique.map((group) => {
const rewrite = source.replace('#groupname', group).replace('#file', file.replace('.ts', ''))
const extension = file.split('.')
extension.shift()
3 years ago
const filename = `${testFolder}${file.split('.').shift()}_${group}.${extension.join('.')}`
3 years ago
fs.writeFileSync(filename, rewrite)
})
}
}
3 years ago
})
3 years ago
function onlyUnique (value, index, self) {
return self.indexOf(value) === index
3 years ago
}