summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-08-31 16:13:29 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2017-08-31 16:31:31 +0300
commit432db9af9d17d83b92683d44adca6f145999e0a8 (patch)
treea6419435c63246a7aad346ebfe85092285040799
parentbf554e0928146a0fe5733a126d78daca55dd6b5b (diff)
downloadqtlocation-mapboxgl-upstream/shuffle-quest.tar.gz
mapbox-gl-js-shuffle-seedupstream/shuffle-quest
m---------mapbox-gl-js0
-rw-r--r--platform/node/test/render.test.js28
2 files changed, 27 insertions, 1 deletions
diff --git a/mapbox-gl-js b/mapbox-gl-js
-Subproject c48a56be0405453b1f1d7437da82a8af8f201c1
+Subproject 98f4ae1c705bca281831b761ceac9c9caeb3274
diff --git a/platform/node/test/render.test.js b/platform/node/test/render.test.js
index ce549c1e27..635768f37f 100644
--- a/platform/node/test/render.test.js
+++ b/platform/node/test/render.test.js
@@ -7,6 +7,19 @@ 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);
@@ -16,10 +29,23 @@ function checkParameter(param) {
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, recycleMap}, suiteImplementation);
+suite.run('native', {tests, ignores, shuffle, seed, recycleMap}, suiteImplementation);