projects
/
squeep-api-dingus
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'v2.1-dev' as v2.1.2
[squeep-api-dingus]
/
test
/
lib
/
router.js
diff --git
a/test/lib/router.js
b/test/lib/router.js
index d63917087d1490021d5441564669008c60f1676c..4047b16ad3ba4dd74e4ba2e9f6929c4b4d62f626 100644
(file)
--- a/
test/lib/router.js
+++ b/
test/lib/router.js
@@
-1,12
+1,10
@@
-/* eslint-disable capitalized-comments */
-/* eslint-env mocha */
'use strict';
'use strict';
-const assert = require('assert');
-const sinon = require('sinon');
// eslint-disable-line node/no-unpublished-require
+const assert = require('
node:
assert');
+const sinon = require('sinon');
const Router = require('../../lib/router');
const Router = require('../../lib/router');
-const PathParameter = require('../../lib/router/path-parameter')
-const { DingusError } = require('../../lib/errors');
+const PathParameter = require('../../lib/router/path-parameter')
;
+const { DingusError
, RouterNoPathError, RouterNoMethodError
} = require('../../lib/errors');
const noExpectedException = 'did not get expected exception';
const noExpectedException = 'did not get expected exception';
@@
-46,6
+44,13
@@
describe('Router', function () {
const r = router._pathToRoutePath(p);
assert.deepStrictEqual(r, expected);
});
const r = router._pathToRoutePath(p);
assert.deepStrictEqual(r, expected);
});
+ it('defines a path with escaped parameter', function () {
+ const p = '/a/\\:b/c';
+ const expected = ['', 'a', ':b', 'c'];
+ expected[Router.kPathMethods] = {};
+ const r = router._pathToRoutePath(p);
+ assert.deepStrictEqual(r, expected);
+ });
}); // _pathToRoutePath
describe('_pathCompareExact', function () {
}); // _pathToRoutePath
describe('_pathCompareExact', function () {
@@
-253,7
+258,7
@@
describe('Router', function () {
router.on('FLARP', urlPath, stubHandler);
assert.fail('expected an exception');
} catch (e) {
router.on('FLARP', urlPath, stubHandler);
assert.fail('expected an exception');
} catch (e) {
- assert
.strictEqual(e.name, 'DingusError'
);
+ assert
(e instanceof DingusError
);
assert.strictEqual(e.message, 'invalid method \'FLARP\'');
}
});
assert.strictEqual(e.message, 'invalid method \'FLARP\'');
}
});
@@
-291,6
+296,7
@@
describe('Router', function () {
const { handler } = router.lookup(method, path, ctx);
assert.strictEqual(handler, stubHandler);
const { handler } = router.lookup(method, path, ctx);
assert.strictEqual(handler, stubHandler);
+ assert.strictEqual(ctx.matchedPath, urlPath);
});
it('does not find handler with trailing slash', function () {
router.ignoreTrailingSlash = false;
});
it('does not find handler with trailing slash', function () {
router.ignoreTrailingSlash = false;
@@
-303,8
+309,7
@@
describe('Router', function () {
router.lookup(method, path, ctx);
assert.fail(noExpectedException);
} catch (e) {
router.lookup(method, path, ctx);
assert.fail(noExpectedException);
} catch (e) {
- assert(e instanceof DingusError);
- assert.strictEqual(e.message, 'NoPath');
+ assert(e instanceof RouterNoPathError);
}
});
it('finds handler', function () {
}
});
it('finds handler', function () {
@@
-345,8
+350,7
@@
describe('Router', function () {
router.lookup(method, path, ctx);
assert.fail(noExpectedException);
} catch (e) {
router.lookup(method, path, ctx);
assert.fail(noExpectedException);
} catch (e) {
- assert(e instanceof DingusError);
- assert.strictEqual(e.message, 'NoMethod');
+ assert(e instanceof RouterNoMethodError);
}
});
it('does not lookup non-existent path', async function () {
}
});
it('does not lookup non-existent path', async function () {
@@
-357,8
+361,7
@@
describe('Router', function () {
router.lookup(method, path, ctx);
assert.fail(noExpectedException);
} catch (e) {
router.lookup(method, path, ctx);
assert.fail(noExpectedException);
} catch (e) {
- assert(e instanceof DingusError);
- assert.strictEqual(e.message, 'NoPath');
+ assert(e instanceof RouterNoPathError);
}
});
}
});