angular-cn/aio/tools/transforms/angular-api-package/processors/fixupRealProjectRelativePath.spec.js
Pete Bacon Darwin 4c0ad5238e build(docs-infra): display github links in CLI API docs (#26515)
This commit includes the following changes:

* CLI version information is read from the CLI package from which
  we read the help files.
* CLI API pages now contain GH links
* line numbers are not shown in GH links, if the doc does not
  have a truthy `startingLine` value. This allows us to remove
  hard coded checks for `guide` pages
* content pages and CLI api docs no longer have a `startingLine`
* the hard-coded `packages` path segment has been removed from
  the templates; instead we now only use the `realProjectRelativePath`.
* the `realProjectRelativePath` has been updated accordingly for API
  and CLI API docs.

PR Close #26515
2018-10-19 11:12:54 -07:00

37 lines
1.5 KiB
JavaScript

const testPackage = require('../../helpers/test-package');
const processorFactory = require('./fixupRealProjectRelativePath');
const Dgeni = require('dgeni');
describe('fixupRealProjectRelativePath processor', () => {
it('should be available on the injector', () => {
const dgeni = new Dgeni([testPackage('angular-api-package')]);
const injector = dgeni.configureInjector();
const processor = injector.get('fixupRealProjectRelativePath');
expect(processor.$process).toBeDefined();
expect(processor.$runAfter).toContain('readTypeScriptModules');
expect(processor.$runBefore).toContain('processing-docs');
});
it('should add `packages` segment to the start of `realProjectRelativePath` for API docs', () => {
const processor = processorFactory(['class', 'member']);
const docs = [
{ docType: 'class', fileInfo: { realProjectRelativePath: 'a/b/c' } },
{ docType: 'member', fileInfo: { realProjectRelativePath: 'a/b/c/d' } },
{ docType: 'cli-command', fileInfo: { realProjectRelativePath: 'a/b/c' } },
{ docType: 'class', fileInfo: { } },
{ docType: 'class' },
];
processor.$process(docs);
expect(docs).toEqual([
{ docType: 'class', fileInfo: { realProjectRelativePath: 'packages/a/b/c' } },
{ docType: 'member', fileInfo: { realProjectRelativePath: 'packages/a/b/c/d' } },
{ docType: 'cli-command', fileInfo: { realProjectRelativePath: 'a/b/c' } },
{ docType: 'class', fileInfo: { } },
{ docType: 'class' },
]);
});
});