From 0eadc1daba4a6aa5a7dab9e59629dabed2165908 Mon Sep 17 00:00:00 2001 From: brettlangdon Date: Mon, 26 Jan 2015 08:07:12 -0500 Subject: [PATCH] update tests for Literal.raw change and new test fixture case --- test/fixture/test3.js | 30 ++++++++++++++++++++++++++++++ test/index.js | 17 +++++++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 test/fixture/test3.js diff --git a/test/fixture/test3.js b/test/fixture/test3.js new file mode 100644 index 0000000..3f4128a --- /dev/null +++ b/test/fixture/test3.js @@ -0,0 +1,30 @@ +function CustomError(message) { + this.message = (message || ''); +} +CustomError.prototype = new Error(); + +/* + * This function will raise some exceptions + */ +function raises(){ + if(true){ + throw new Error('message'); + } else if(false){ + throw 'string'; + } else { + var e = new Error('message'); + throw e; + } + var i = 0; + while(i < 1){ + throw true; + ++i; + } + + try{ + raisesExceptions(true); + }catch(e){ + throw new CustomError('message'); + } + throw new CustomError('message'); +} diff --git a/test/index.js b/test/index.js index 4cf6252..14b1ae1 100644 --- a/test/index.js +++ b/test/index.js @@ -19,7 +19,7 @@ describe('docast', function(){ assert.ok(~func1.doc.indexOf('func1')); assert.equal(func1.name, 'func1'); assert.deepEqual(func1.params, ['arg1', 'arg2']); - assert.deepEqual(func1.returns, ['string']); + assert.deepEqual(func1.returns, ['\'string\'']); assert.deepEqual(func1.raises, ['Exception']); var func2 = comments[2]; @@ -69,8 +69,21 @@ describe('docast', function(){ assert.ok(~some.doc.indexOf('This function is super cool and does all sorts of cool stuffs')); assert.equal(some.name, 'some'); assert.deepEqual(some.params, ['cool', 'stuff']); - assert.deepEqual(some.returns, ['stuff', 'cool', null]); + assert.deepEqual(some.returns, ['stuff', 'cool', 'null']); assert.deepEqual(some.raises, ['Exception']); }); + + it('should properly parse ./fixture/test3.js', function(){ + var comments = docast.parse(__dirname + '/fixture/test3.js'); + + assert.equal(comments.length, 1); + + var raises = comments[0]; + assert.ok(~raises.doc.indexOf('This function will raise some exceptions')); + assert.equal(raises.name, 'raises'); + assert.deepEqual(raises.params, []); + assert.deepEqual(raises.returns, []); + assert.deepEqual(raises.raises, ['Error', '\'string\'', 'e', 'true', 'CustomError', 'CustomError']); + }); }); });