diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2015-02-13 11:52:04 -0800 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2015-02-13 11:52:04 -0800 |
commit | a8837d92e472178e17675eb8745af65975121052 (patch) | |
tree | 72783b5c04b7d689b45b22dcab16d65fd493863b | |
parent | 464ecaf7c7287c84656052d3a9f57e1b6158922d (diff) | |
download | qtlocation-mapboxgl-a8837d92e472178e17675eb8745af65975121052.tar.gz |
convert tests to new return value
-rw-r--r-- | test/js/concurrency.test.js | 10 | ||||
-rw-r--r-- | test/js/map.test.js | 18 | ||||
-rw-r--r-- | test/render.test.js | 109 | ||||
m--------- | vendor/mbgl | 0 |
4 files changed, 75 insertions, 62 deletions
diff --git a/test/js/concurrency.test.js b/test/js/concurrency.test.js index 6a2ee32ca6..e8c373adcf 100644 --- a/test/js/concurrency.test.js +++ b/test/js/concurrency.test.js @@ -28,13 +28,19 @@ function renderTest(style, info, dir, key) { var map = new mbgl.Map(fileSource); map.load(style); - for (var i = 0; i < remaining; i++) { + function render() { map.render(info[key], function(err, image) { t.error(err); t.ok(true, 'render @ ' + ((+new Date) - start) + 'ms'); - if (++completed === remaining) t.end(); + if (++completed === remaining) { + t.end(); + } else { + render(); + } }); } + + render(); }; } diff --git a/test/js/map.test.js b/test/js/map.test.js index 97daa8d524..50bab644d3 100644 --- a/test/js/map.test.js +++ b/test/js/map.test.js @@ -163,21 +163,23 @@ test('Map', function(t) { t.test('requires a style to be set', function(t) { setup(fileSource, function(map) { - map.render({}, function(err) { - t.ok(err); - t.equal(err.message, 'Style is not set'); - t.end(); - }); + t.throws(function() { + map.render({}, function() {}); + }, /Style is not set/); + t.end(); }); }); t.test('returns an image', function(t) { setup(fileSource, function(map) { map.load(style); - map.render({}, function(err, data) { + map.render({}, function(err, image) { t.error(err); - fs.writeFileSync('test/results/image.png', data); - t.end(); + mbgl.compressPNG(image, function(err, data) { + t.error(err); + fs.writeFileSync('test/results/image.png', data); + t.end(); + }); }); }); }); diff --git a/test/render.test.js b/test/render.test.js index 17f9bd228d..3e9c2becf6 100644 --- a/test/render.test.js +++ b/test/render.test.js @@ -51,63 +51,68 @@ function renderTest(style, info, base, key) { map.render(info[key], function(err, image) { t.error(err); - mkdirp.sync(dir); - - var expected = path.join(dir, 'expected.png'); - var actual = path.join(dir, 'actual.png'); - var diff = path.join(dir, 'diff.png'); - - if (process.env.UPDATE) { - fs.writeFile(expected, image, function(err) { - t.error(err); - t.end(); - }); - } else { - fs.writeFile(actual, image, function(err) { - t.error(err); - - var compare = spawn('compare', ['-metric', 'MAE', actual, expected, diff]); - var error = ''; - - compare.stderr.on('data', function (data) { - error += data.toString(); - }); + mbgl.compressPNG(image, function(err, image) { + t.error(err); + mkdirp.sync(dir); - compare.on('exit', function (code) { - // The compare program returns 2 on error otherwise 0 if the images are similar or 1 if they are dissimilar. - if (code === 2) { - writeResult(error.trim(), Infinity); - } else { - var match = error.match(/^\d+(?:\.\d+)?\s+\(([^\)]+)\)\s*$/); - var difference = match ? parseFloat(match[1]) : Infinity; - writeResult(match ? '' : error, difference); - } + var expected = path.join(dir, 'expected.png'); + var actual = path.join(dir, 'actual.png'); + var diff = path.join(dir, 'diff.png'); + + console.warn(actual, expected); + + if (process.env.UPDATE) { + fs.writeFile(expected, image, function(err) { + t.error(err); + t.end(); }); + } else { + fs.writeFile(actual, image, function(err) { + t.error(err); + + var compare = spawn('compare', ['-metric', 'MAE', actual, expected, diff]); + var error = ''; - compare.stdin.end(); - - function writeResult(error, difference) { - var allowedDifference = ('diff' in info) ? info.diff : 0.001; - var color = difference <= allowedDifference ? 'green' : 'red'; - - results += format(resultTemplate, { - name: base, - key: key, - color: color, - error: error ? '<p>' + error + '</p>' : '', - difference: difference, - zoom: info.zoom || 0, - center: info.center || [0, 0], - bearing: info.bearing || 0, - width: info.width || 512, - height: info.height || 512 + compare.stderr.on('data', function (data) { + error += data.toString(); }); - t.ok(difference <= allowedDifference, 'actual matches expected'); - t.end(); - } - }); - } + compare.on('exit', function (code) { + // The compare program returns 2 on error otherwise 0 if the images are similar or 1 if they are dissimilar. + if (code === 2) { + writeResult(error.trim(), Infinity); + } else { + var match = error.match(/^\d+(?:\.\d+)?\s+\(([^\)]+)\)\s*$/); + var difference = match ? parseFloat(match[1]) : Infinity; + writeResult(match ? '' : error, difference); + } + }); + + compare.stdin.end(); + + function writeResult(error, difference) { + var allowedDifference = ('diff' in info) ? info.diff : 0.001; + var color = difference <= allowedDifference ? 'green' : 'red'; + + results += format(resultTemplate, { + name: base, + key: key, + color: color, + error: error ? '<p>' + error + '</p>' : '', + difference: difference, + zoom: info.zoom || 0, + center: info.center || [0, 0], + bearing: info.bearing || 0, + width: info.width || 512, + height: info.height || 512 + }); + + t.ok(difference <= allowedDifference, 'actual matches expected'); + t.end(); + } + }); + } + }); }); }; } diff --git a/vendor/mbgl b/vendor/mbgl -Subproject 1de315e91ff25d4bf162c4d3bb4c453d89391c1 +Subproject 88f14c71f9b942fa13ed27d91caa5b834f2955a |