-
-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(tests): Extract and test generateParams method
This extracts the logic for converting the config object passed to the `pbf2json` NPM module to command line parameters used to call the `pbf2json` go executable. By extracting that logic its easier to test and change in the (very near) future.
- Loading branch information
1 parent
58fa51d
commit a7436a5
Showing
4 changed files
with
65 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
const util = require('util'); | ||
|
||
function generateParams(config) { | ||
const flags = []; | ||
|
||
flags.push( util.format( '-tags=%s', config.tags ) ); | ||
if( config.hasOwnProperty( 'leveldb' ) ){ | ||
flags.push( util.format( '-leveldb=%s', config.leveldb ) ); | ||
} | ||
flags.push( config.file ); | ||
|
||
return flags; | ||
} | ||
|
||
module.exports = generateParams; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
const generateParams = require('../../lib/generateParams'); | ||
|
||
module.exports.tests = {}; | ||
|
||
module.exports.tests.params = function(test) { | ||
test('PBF file', function(t) { | ||
const config = { | ||
file: '/some/path/to/osm.pbf' | ||
}; | ||
|
||
const params = generateParams(config); | ||
|
||
t.equal(params[params.length - 1], '/some/path/to/osm.pbf', 'final parameter is path to PBF file'); | ||
t.end(); | ||
}); | ||
test('PBF file', function(t) { | ||
const config = { | ||
tags: [ | ||
'tag:one', | ||
'tag:two', | ||
'combination~tags' | ||
] | ||
}; | ||
|
||
const params = generateParams(config); | ||
|
||
const expected = '-tags=tag:one,tag:two,combination~tags'; | ||
|
||
t.equal(params[0], expected, 'tag array is serialized into parameter'); | ||
t.end(); | ||
}); | ||
}; | ||
|
||
module.exports.all = function (tape, common) { | ||
|
||
function test(name, testFunction) { | ||
return tape('generateParams: ' + name, testFunction); | ||
} | ||
|
||
for( var testCase in module.exports.tests ){ | ||
module.exports.tests[testCase](test, common); | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters