UNPKG

pomeranian-durations

Version:

An immutable duration library based on the ISO-8601 format for durations.

83 lines (80 loc) 3.22 kB
"use strict"; var _hamjest = require("hamjest"); var _generate_docs_helper = require("./_generate_docs_helper"); var EXAMPLE = [{ id: 'default', longname: 'default', name: 'default', description: 'Finds a unit in a given ISO8601 duration', meta: { lineno: 1, filename: 'find.js', path: '/Users/tmayrhofer/Projects/pomeranian-durations/src' } }, { id: 'findSeconds', longname: 'findSeconds', name: 'findSeconds', description: 'Finds the seconds in a given ISO8601 duration string.', params: [[Object]], examples: ['findSeconds(\'PT1S\') // => 1S', 'findSeconds(\'PT1M\') // => undefined'], returns: [[Object]], meta: { lineno: 53, filename: 'find.js', path: '/Users/tmayrhofer/Projects/pomeranian-durations/src' } }, { id: 'findMinutes', longname: 'findMinutes', name: 'findMinutes', description: 'Finds the minutes in a given ISO8601 duration string.', params: [[Object]], examples: ['findMinutes(\'PT1S\') // => 1S\nfindMinutes(\'P1Y\') // => undefined'], returns: [[Object]], meta: { lineno: 64, filename: 'find.js', path: '/Users/tmayrhofer/Projects/pomeranian-durations/src' } }, { id: 'fromWeeks', longname: 'fromWeeks', name: 'fromWeeks', description: 'Converts a given number to an ISO8601 duration', params: [[Object]], examples: ['fromWeeks(1) // => \'PT1W\''], meta: { lineno: 72, filename: 'from.js', path: '/Users/tmayrhofer/Projects/pomeranian-durations/src' } }]; describe('extractCategories', function () { it('extracts all different categories', function () { (0, _hamjest.assertThat)((0, _generate_docs_helper.extractCategories)(EXAMPLE), (0, _hamjest.equalTo)(['find', 'from'])); }); }); describe('generateCategoryHeading', function () { it('generates category heading correctly', function () { (0, _hamjest.assertThat)((0, _generate_docs_helper.generateCategoryHeading)('find'), (0, _hamjest.equalTo)('<a name="category-find"></a>\n## find')); }); }); describe('generateHeadings', function () { it('generates headings correctly for category', function () { (0, _hamjest.assertThat)((0, _generate_docs_helper.generateHeadings)(EXAMPLE, 'find'), (0, _hamjest.equalTo)(['[findSeconds](https://github.com/webPapaya/pomeranian/blob/master/src/find.js#L53)', '[findMinutes](https://github.com/webPapaya/pomeranian/blob/master/src/find.js#L64)'].join(' | '))); }); }); describe('generateCategoryNavigation', function () { it('generates navigation correctly', function () { (0, _hamjest.assertThat)((0, _generate_docs_helper.generateCategoryNavigation)(EXAMPLE, 'find'), (0, _hamjest.equalTo)('- [find](#category-find)\n- [from](#category-from)')); }); }); describe('extractCategoryDescription', function () { it('extracts description for category', function () { (0, _hamjest.assertThat)((0, _generate_docs_helper.extractCategoryDescription)(EXAMPLE, 'find'), (0, _hamjest.equalTo)('Finds a unit in a given ISO8601 duration')); }); it('returns empty string when top level description not found', function () { (0, _hamjest.assertThat)((0, _generate_docs_helper.extractCategoryDescription)(EXAMPLE, 'unknown'), (0, _hamjest.equalTo)('')); }); });