X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Flib%2Frouter%2Fpath-parameter.js;fp=test%2Flib%2Frouter%2Fpath-parameter.js;h=d4c1c8447f4592e93994a9afac6aacba999fe4ce;hb=a90b9c1b279773c225560aa3ae5f5f21424ec420;hp=9b2fb1ed828f68f26ac9462f06f826a10d243f00;hpb=3b15b5ff792fc5d61be8337989058c297460cd99;p=squeep-api-dingus diff --git a/test/lib/router/path-parameter.js b/test/lib/router/path-parameter.js index 9b2fb1e..d4c1c84 100644 --- a/test/lib/router/path-parameter.js +++ b/test/lib/router/path-parameter.js @@ -4,48 +4,46 @@ const assert = require('assert'); const PathParameter = require('../../../lib/router/path-parameter'); -const noExpectedException = 'did not receive expected exception'; describe('PathParameter', function () { beforeEach(function () { PathParameter._flush(); }); + it('requires a parameter', function () { - try { - new PathParameter(); - assert.fail(noExpectedException); - } catch (e) { - assert(e instanceof RangeError, noExpectedException); - } + assert.throws(() => new PathParameter(), RangeError); }); + it('requires parameter be a string', function () { - try { - new PathParameter({}); - assert.fail(noExpectedException); - } catch (e) { - assert(e instanceof RangeError, noExpectedException); - } + assert.throws(() => new PathParameter({}), RangeError); }); + it('creates a parameter object', function () { const p = new PathParameter('foo'); assert(p instanceof PathParameter); assert.strictEqual(p.parameter, 'foo'); }); + it('duplicate parameters are the same object', function () { const p1 = new PathParameter('foo'); const p2 = new PathParameter('foo'); assert.strictEqual(p1, p2); + assert(Object.is(p1, p2)); }); + it('shows itself', function () { const p = new PathParameter('foo'); - assert(p.toString().includes('foo')); + assert.strictEqual(`${p}`, 'foo'); }); + + it('serializes', function () { + const p = new PathParameter(':foo'); + const result = JSON.stringify(p); + assert.strictEqual(result, '":foo"'); + }); + it('parameters are immutable', function () { const p = new PathParameter('foo'); - try { - p[PathParameter.kPathParameter] = 'bar'; - assert.fail(noExpectedException); - } catch (e) { - assert(e instanceof TypeError, noExpectedException); - } - }); -}); // PathParameter \ No newline at end of file + assert.throws(() => p.parameter = 'bar', TypeError); + }); + +}); // PathParameter