angular-cn/tools/api-builder/cheatsheet-package/services/cheatsheetItemParser.spec.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

var mockPackage = require('../mocks/mockPackage');
var Dgeni = require('dgeni');
describe('cheatsheetItemParser', function() {
var dgeni, injector, cheatsheetItemParser;
beforeEach(function() {
dgeni = new Dgeni([mockPackage()]);
injector = dgeni.configureInjector();
cheatsheetItemParser = injector.get('cheatsheetItemParser');
});
it('should extract the syntax', function() {
expect(cheatsheetItemParser('`abc`')).toEqual({
syntax: 'abc',
bold: [],
description: ''
});
});
it('should extract the bolds', function() {
expect(cheatsheetItemParser('`abc`|`bold1`|`bold2`')).toEqual({
syntax: 'abc',
bold: ['bold1', 'bold2'],
description: ''
});
});
it('should extract the description', function() {
expect(cheatsheetItemParser('`abc`|`bold1`|`bold2`some description')).toEqual({
syntax: 'abc',
bold: ['bold1', 'bold2'],
description: 'some description'
});
});
it('should allow bold to be optional', function() {
expect(cheatsheetItemParser('`abc`some description')).toEqual({
syntax: 'abc',
bold: [],
description: 'some description'
});
});
it('should allow whitespace between the parts', function() {
expect(cheatsheetItemParser('`abc`| `bold1`| `bold2`\n\nsome description')).toEqual({
syntax: 'abc',
bold: ['bold1', 'bold2'],
description: '\n\nsome description'
});
})
});