Files
MapLibreParticleLab/platform/node/test/render.test.js
Bruno de Oliveira Abinader bed96c800c [node] Shuffle seed support
2017-09-12 20:36:17 +03:00

52 lines
1.5 KiB
JavaScript

'use strict';
const suite = require('../../../mapbox-gl-js/test/integration').render;
const suiteImplementation = require('./suite_implementation');
const ignores = require('./ignores.json');
let tests;
let shuffle = false;
let recycleMap = false;
let seed;
// https://stackoverflow.com/a/1349426/229714
function makeHash() {
const array = [];
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (let i = 0; i < 10; ++i)
array.push(possible.charAt(Math.floor(Math.random() * possible.length)));
// join array elements without commas.
return array.join('');
}
function checkParameter(param) {
const index = tests.indexOf(param);
if (index === -1)
return false;
tests.splice(index, 1);
return true;
}
function checkValueParameter(defaultValue, param) {
const index = tests.findIndex((elem) => { return String(elem).startsWith(param); });
if (index === -1)
return defaultValue;
const split = String(tests.splice(index, 1)).split('=');
if (split.length !== 2)
return defaultValue;
return split[1];
}
if (process.argv[1] === __filename && process.argv.length > 2) {
tests = process.argv.slice(2).filter((value, index, self) => { return self.indexOf(value) === index; });
shuffle = checkParameter('--shuffle');
seed = checkValueParameter(makeHash(), '--seed');
recycleMap = checkParameter('--recycle-map');
}
suite.run('native', { tests, ignores, shuffle, seed, recycleMap }, suiteImplementation);