first stab at online tiles

This commit is contained in:
Konstantin Käfer
2011-06-21 21:45:38 +02:00
parent 6fe47f5fa9
commit c5660f598d
4 changed files with 96 additions and 2 deletions
BIN
View File
Binary file not shown.
+61
View File
@@ -0,0 +1,61 @@
var assert = require('assert');
var MBTiles = require('..').MBTiles;
var fixture = __dirname + '/fixtures/online.mbtiles';
exports['get online metadata'] = function(beforeExit) {
var completion = {};
var mbtiles = new MBTiles(fixture);
mbtiles.metadata('name', function(err, value) { if (err) throw err; completion.name = value; });
mbtiles.metadata('type', function(err, value) { if (err) throw err; completion.type = value; });
mbtiles.metadata('description', function(err, value) { if (err) throw err; completion.description = value; });
mbtiles.metadata('version', function(err, value) { if (err) throw err; completion.version = value; });
mbtiles.metadata('formatter', function(err, value) { if (err) throw err; completion.formatter = value; });
mbtiles.metadata('bounds', function(err, value) { if (err) throw err; completion.bounds = value; });
mbtiles.metadata('online', function(err, value) { if (err) throw err; completion.online = value; });
mbtiles.metadata('invalid', function(err, value) { completion.invalid = err.message; });
beforeExit(function() {
assert.deepEqual(completion, {
name: 'MapQuest streets',
type: 'baselayer',
description: 'MapQuests OpenStreetMap based street level tiles.',
version: '1.0.0',
formatter: null,
bounds: '-180,-90,180,90',
online: 'http://otile1.mqcdn.com/tiles/1.0.0/osm/%z/%x/%y.png',
invalid: 'Key does not exist'
});
});
};
exports['get online tiles'] = function(beforeExit) {
var status = {
success: 0,
error: 0
};
var mbtiles = new MBTiles(fixture);
mbtiles.db.serialize(function() {
mbtiles.db.run("DELETE FROM map");
mbtiles.db.run("DELETE FROM images");
});
mbtiles.tile(0, 0, 0, function(err, tile) {
if (err) throw new Error(err);
status.success++;
});
mbtiles.tile(0, 0, 18, function(err, tile) {
if (err) throw new Error(err);
status.success++;
});
beforeExit(function() {
assert.equal(status.success, 2);
assert.equal(status.error, 0);
});
};