88 lines
3.8 KiB
JavaScript
88 lines
3.8 KiB
JavaScript
var External = require('carto/external');
|
|
var path = require('path'),
|
|
assert = require('assert'),
|
|
fs = require('fs'),
|
|
helper = require('./support/helper');
|
|
|
|
var env = {
|
|
data_dir: path.join(__dirname, 'data'),
|
|
local_data_dir: path.join(__dirname, 'local')
|
|
};
|
|
|
|
// Delete the data directory first to start with a clean slate.
|
|
helper.rmrf(env.data_dir);
|
|
|
|
|
|
exports['test External with local file'] = function(beforeExit) {
|
|
var context = { tests: 0 };
|
|
beforeExit(function() { assert.equal(context.tests, 1); });
|
|
|
|
new External(env, 'style.mss')
|
|
.on('complete', function(external) {
|
|
assert.ok(external instanceof External);
|
|
helper.md5File(external.path(), '7e659de8be9aacf42c356774a60adf00', context);
|
|
});
|
|
};
|
|
|
|
exports['test External with remote file'] = function(beforeExit) {
|
|
var context = { tests: 0 };
|
|
beforeExit(function() { assert.equal(context.tests, 1); });
|
|
|
|
new External(env, 'http://tilemill-data.s3.amazonaws.com/test_data/ipsum.json')
|
|
.on('complete', function(external) {
|
|
assert.ok(external instanceof External);
|
|
helper.md5File(external.path(), '651ea0ff31786e9be9012112b21573be', context);
|
|
});
|
|
};
|
|
|
|
exports['test External with local zipfile'] = function(beforeExit) {
|
|
var context = { tests: 0 };
|
|
beforeExit(function() { assert.equal(context.tests, 5); });
|
|
|
|
new External(env, 'shapes.zip').on('complete',
|
|
function(external) {
|
|
assert.ok(external instanceof External);
|
|
helper.isDirectory(external.path(), context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.dbf'), '5dd220a6470ac525a5dbd8fce728c8c6', context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.prj'), '15541cb58c5710db8f6ded679d93f20e', context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.shp'), '0ce4134dd36385cc359890af9d527c02', context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.shx'), '3cac59ecc9ddf2a1053de46a7f9e9168', context);
|
|
});
|
|
};
|
|
|
|
exports['test External with remote zipfile'] = function(beforeExit) {
|
|
var context = { tests: 0 };
|
|
beforeExit(function() { assert.equal(context.tests, 5); });
|
|
|
|
new External(env, 'http://tilemill-data.s3.amazonaws.com/test_data/shape_demo.zip')
|
|
.on('complete', function(external) {
|
|
assert.ok(external instanceof External);
|
|
helper.isDirectory(external.path(), context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.dbf'), '575521efe28ff68ecd5e7606e326fd2b', context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.prj'), 'be918e3fd426824bae21eba8a79b1257', context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.shp'), '30d9b1709ba596f092abea49f4f9401b', context);
|
|
helper.md5File(path.join(external.path(), 'world_borders.shx'), '535cb8568177f7ab95ab823cd6c16eb8', context);
|
|
});
|
|
};
|
|
|
|
exports['test External with remote KML file'] = function(beforeExit) {
|
|
var context = { tests: 0 };
|
|
beforeExit(function() { assert.equal(context.tests, 1); });
|
|
|
|
new External(env, 'http://tilemill-data.s3.amazonaws.com/couchsurf.kml')
|
|
.on('complete', function(external) {
|
|
assert.ok(external instanceof External);
|
|
helper.md5File(external.path(), 'f8aea6d693a48dabdc7ea3586cce57f7', context);
|
|
});
|
|
};
|
|
|
|
exports['test External with DS_Store'] = function(beforeExit) {
|
|
new External(env, 'http://tilemill-testing.s3.amazonaws.com/carto/station_circles_bad.zip')
|
|
.on('complete', function(external) {
|
|
assert.ok(external instanceof External);
|
|
external.findDataFile(function(err, file) {
|
|
assert.eql('station_circles.shp', path.basename(file), 'The non-dot file was chosen');
|
|
});
|
|
});
|
|
};
|