in website/docgen/spec/add-links-spec.js [28:124]
it('should add links to types', function() {
var docWithFunction = {
typeExpression: 'function(webdriver.WebElement, number)',
fileName: 'protractor',
fileInfo: { filePath: '' },
startingLine: 123,
returns: {
tagDef: {
name: 'returns',
aliases: ['return'],
canHaveType: true
},
tagName: 'return',
description: '',
startingLine: 119,
typeExpression: 'webdriver.WebElement',
type: {
type: 'NameExpression',
name: 'webdriver.WebElement'
},
typeList: ['webdriver.WebElement']
},
params: [
{
tagDef: {
name: 'param',
multi: true,
docProperty: 'params',
canHaveName: true,
canHaveType: true
},
tagName: 'param',
description: 'Map function that will be applied to each element.',
startingLine: 396,
typeExpression: 'function(webdriver.WebElement, number)',
type: {
type: 'FunctionType',
params: [
{type: 'NameExpression', name: 'webdriver.WebElement'},
{type: 'NameExpression', name: 'number'}
]
},
typeList: ['function(webdriver.WebElement, number)'],
name: 'mapFn'
},
{
tagDef: {
name: 'param',
multi: true,
docProperty: 'params',
canHaveName: true,
canHaveType: true
},
tagName: 'param',
description: '',
startingLine: 171,
typeExpression: 'Protractor',
type: {
type: 'NameExpression',
name: 'Protractor'
},
typeList: ['Protractor'],
name: 'ptor'
}
]
};
// Given a type and a function.
var docs = [
{
name: 'webdriver.WebElement',
fileName: 'webdriver',
fileInfo: { filePath: 'selenium-webdriver' },
startingLine: 123
},
docWithFunction,
{
name: 'Protractor',
fileName: 'protractor',
fileInfo: { filePath: '' },
startingLine: 3
}
];
// When you add links.
addLinks(docs);
// Then ensure the link was added.
var getDesc = function(index) {
return docs[1].params[index].paramString;
};
expect(getDesc(0)).toBe(
'function([webdriver.WebElement](webdriver.WebElement), number)');
expect(getDesc(1)).toBe('[Protractor](Protractor)');
expect(docs[1].returnString).toBe('[webdriver.WebElement](webdriver.WebElement)');
});