Skip to content

Commit a3a7766

Browse files
author
Dane Springmeyer
committed
basic tests for travis
1 parent 9b972b8 commit a3a7766

File tree

12 files changed

+61
-4
lines changed

12 files changed

+61
-4
lines changed

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
.DS_Store
1+
.DS_Store
2+
memory_points.png
3+
memory_points.json
4+
map.png
5+
node_modules

.travis.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
language: node_js
2+
3+
node_js:
4+
- "0.10"
5+
6+
before_install:
7+
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
8+
- sudo apt-get update -q
9+
- sudo apt-get install -y libstdc++6
10+
11+
install:
12+
- npm install mapnik@latest express generic-pool get
13+
14+
script:
15+
- ./test.sh

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
## Depends
44

5-
- Node.js v0.10.x or v0.8.x
5+
- Node.js v0.10.x
66
- Mapnik node.js bindings (`node-mapnik`)
77

88

99
Install `node-mapnik` like:
1010

11-
npm install mapnik
11+
npm install mapnik@latest
1212

1313
A few examples have other dependencies. Install all possible like:
1414

image/blank.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
var mapnik = require('mapnik');
34
var http = require('http');

image/simple.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
// This example shows how to use node-mapnik with the
34
// basic node http server

memory_datasource/simple.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
var fs = require('fs');
34
var mapnik = require('mapnik');

render/app.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,7 @@ map.zoomAll();
3131
map.renderFileSync(image);
3232

3333
console.log('rendered map to ' + image);
34-
child_process.exec('open ' + image);
34+
35+
if (process.argv.indexOf('--no-open') == -1) {
36+
child_process.exec('open ' + image);
37+
}

test.sh

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env bash
2+
3+
set -e -u
4+
set -o pipefail
5+
6+
function ensure_it_starts() {
7+
$1 2>/dev/null 1>/dev/null &
8+
pid=$!
9+
sleep 5
10+
kill $pid
11+
if [ $? != 0 ]; then
12+
echo "Unable to start app $1."
13+
exit 1
14+
else
15+
echo "$1 app started just fine"
16+
fi
17+
}
18+
19+
node ./render/app.js ./stylesheet.xml map.png --no-open
20+
node memory_datasource/simple.js
21+
22+
# TODO - test that servers return expected image
23+
ensure_it_starts ./image/simple.js
24+
ensure_it_starts ./image/blank.js
25+
ensure_it_starts "./wms/wms_pool.js stylesheet.xml 8000"
26+
ensure_it_starts ./tile/database/app.js
27+
ensure_it_starts "./tile/pool/app.js stylesheet.xml 8000"
28+
ensure_it_starts "./tile/elastic/app.js 8000"

tile/database/app.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
// This example shows how to use node-mapnik to
34
// render maps tiles based on spatial data stored in postgis

tile/elastic/app.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
var mapnik = require('mapnik')
34
, mercator = require('../../utils/sphericalmercator')

tile/pool/app.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
// This example shows how to use node-mapnik with the
34
// connect http server to serve map tiles to polymaps

wms/wms_pool.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12

23
var http = require('http');
34
var mapnik = require('mapnik');

0 commit comments

Comments
 (0)