Compare commits

...

19 Commits

Author SHA1 Message Date
Johannes J. Schmidt a307318af3 chore: update semantic release 7 years ago
Johannes J. Schmidt 2b1db7e2d1 fix: allow inserting falsy values, excluding undefined 7 years ago
Johannes Jörg Schmidt b7c944c8dd Merge pull request #56 from apihlaja/insert-falsy-parameters
Allow inserting falsy values, excluding undefined
7 years ago
Antti Pihlaja da62ae6713 allow inserting falsy values, excluding undefined 7 years ago
Johannes Jörg Schmidt d2e9f585c6 Merge pull request #32 from jo/greenkeeper-tap-5.1.1
tap@5.1.1 breaks build 🚨
8 years ago
greenkeeperio-bot 1e37668193 chore(package): update tap to version 5.1.1
http://greenkeeper.io/
8 years ago
Johannes Jörg Schmidt 6ab41aeb94 Merge pull request #31 from jo/greenkeeper-tap-5.0.0
Update tap to version 5.0.0 🚀
8 years ago
greenkeeperio-bot e4dfe89121 chore(package): update tap to version 5.0.0
http://greenkeeper.io/
8 years ago
Johannes J. Schmidt 0da6326aa4 chore: use version ranges 9 years ago
Johannes Jörg Schmidt 0d7fae7ebd Merge pull request #27 from jo/greenkeeper-tap-2.1.1
Update tap to version 2.1.1 🚀
9 years ago
greenkeeperio-bot 6f1afbd738 chore(package): update tap to version 2.1.1
http://greenkeeper.io/
9 years ago
Johannes J. Schmidt ded3af8ec1 fix: update semantic release 9 years ago
Johannes J. Schmidt b8bc23365f chore(travis): ignore release tags [skip ci] 9 years ago
Johannes Jörg Schmidt 12ede2f977 Merge pull request #25 from jo/greenkeeper-pin
Pinned all dependencies
9 years ago
Johannes Jörg Schmidt 8c276ddb18 Merge pull request #23 from Useclark/parens-in-values
Add a test for parens not saved in the value
9 years ago
Johannes Jörg Schmidt 6bfed7c7da Merge pull request #22 from Useclark/seq-replacement
Add a test for parameters replacing all at once to prevent colon conflicts
9 years ago
greenkeeperio-bot 190f768587 chore(package): pin dependencies
http://greenkeeper.io/
9 years ago
Denis Sokolov 6176d32029 Add a test for parameters replacing all at once to prevent colon conflicts 9 years ago
Denis Sokolov 47849de070 Add a test for parens not saved in the value 9 years ago

@ -1,4 +1,3 @@
sudo: false
language: node_js
cache:
directories:
@ -6,15 +5,13 @@ cache:
notifications:
email: false
node_js:
- 4
- iojs-v3
- iojs-v2
- iojs-v1
- '0.12'
- '0.10'
before_install:
- npm i -g npm@^2.0.0
- '7'
- '6'
- '4'
before_script:
- npm prune
after_success:
- npm run semantic-release
branches:
except:
- /^v\d+\.\d+\.\d+$/

@ -89,7 +89,7 @@ function insertParameters(route, obj) {
Object.keys(route.keys).forEach(function(key) {
var k = key.substr(1);
var value = obj[k] || '';
var value = (obj[k] !== undefined) ? obj[k] : '';
if (Array.isArray(value)) {
value = value.map(encodeURIComponent).join('/');

@ -21,7 +21,8 @@
"homepage": "https://github.com/jo/docuri",
"devDependencies": {
"shuffle-array": "^0.1.0",
"tap": "^0.4.8",
"semantic-release": "^4.3.5"
}
"tap": "^5.1.1",
"semantic-release": "^6.3.2"
},
"version": "0.0.0-development"
}

@ -10,6 +10,18 @@ test('named parameter', function(t) {
t.end();
});
test('insert falsy parameter values', function(t) {
var page = docuri.route('page/:id');
t.deepEqual(page({}), 'page/', 'stringifies without id');
t.deepEqual(page({id: undefined}), 'page/', 'stringifies without id');
t.deepEqual(page({id: 0}), 'page/0', 'inserts "0"');
t.deepEqual(page({id: false}), 'page/false', 'inserts "false"');
t.deepEqual(page({id: null}), 'page/null', 'inserts "null"');
t.end();
});
test('two named parameters', function(t) {
var content = docuri.route('page/:page_id/content/:id');
@ -19,6 +31,14 @@ test('two named parameters', function(t) {
t.end();
});
test('named parameters replaced all at once', function(t) {
var page = docuri.route('page/:id/:bar');
t.equal(page({ id: ':bar', bar: 'foo' }), 'page/:bar/foo', 'url built correctly, no conflicts', { todo: true });
t.end();
});
test('named parameter followed by optional parameter', function(t) {
var page = docuri.route('page/:id(/:optional)');
@ -43,3 +63,11 @@ test('named parameter with slash in the content', function(t) {
t.end();
});
test('named parameter with parens in the content', function(t) {
var page = docuri.route('page/:id');
t.deepEqual(page(page({ id: 'value(slash)' })), { id: 'value(slash)' }, 'parsed page has parens set back correctly', { todo: true });
t.end();
});

Loading…
Cancel
Save