console.log(__dirname); require.paths.push(__dirname + "/../"); require.paths.push(__dirname + "/../../"); var fs = require('fs'); var Script = process.binding('evals').Script; var collect = load('docs/collect.js'); describe('collect', function(){ describe('TAG', function(){ var TAG = collect.TAG; describe('@param', function(){ var doc; beforeEach(function(){ doc = {}; }); it('should parse with no default', function(){ TAG.param(doc, 'param', '{(number|string)} number Number to format.'); expect(doc.param).toEqual([{ type : '(number|string)', name : 'number', 'default' : undefined, description : 'Number to format.' }]); }); it('should parse with default', function(){ TAG.param(doc, 'param', '{(number|string)=} [fractionSize=2] desc'); expect(doc.param).toEqual([{ type : '(number|string)', name : 'fractionSize', 'default' : '2', description : 'desc' }]); }); }); }); }); function load(path){ var sandbox = { require: require, console: console, __dirname: __dirname, testmode: true }; Script.runInNewContext(fs.readFileSync(path), sandbox, path); return sandbox; }