UNPKG

@picturelink/barrelsby

Version:

Automatic TypeScript barrels for your entire code base

127 lines (123 loc) 3.74 kB
import * as TestUtilities from "../testUtilities"; import * as FileSystem from "./fileSystem"; describe("builder/fileSystem module has a", () => { describe("buildFileSystemBarrel function that", () => { describe("when using the default settings", () => { let output: string; const logger = () => void 0; beforeEach(() => { const rootDirectory = TestUtilities.mockDirectoryTree(); output = FileSystem.buildFileSystemBarrel( rootDirectory, TestUtilities.mockModules(rootDirectory), '"', ";", logger, undefined ); }); it("should produce the correct output", () => { TestUtilities.assertMultiLine( output, `import * as barrelts from "./barrel"; import * as directory2directory4deeplyNestedts from "./directory2/directory4/deeplyNested"; import * as directory2scriptts from "./directory2/script"; import * as directory3programts from "./directory3/program"; import * as indexts from "./index"; export {barrelts as barrel}; export const directory2 = { directory4: { deeplyNested: directory2directory4deeplyNestedts, }, script: directory2scriptts, }; export const directory3 = { program: directory3programts, }; export {indexts as index}; ` ); }); it("should produce output compatible with the recommended tslint ruleset", () => { TestUtilities.tslint(output, '"'); }); }); }); describe("when using single quotes", () => { let output: string; const logger = () => void 0; beforeEach(() => { const rootDirectory = TestUtilities.mockDirectoryTree(); output = FileSystem.buildFileSystemBarrel( rootDirectory, TestUtilities.mockModules(rootDirectory), "'", ";", logger, undefined ); }); it("should produce the correct output", () => { TestUtilities.assertMultiLine( output, `import * as barrelts from './barrel'; import * as directory2directory4deeplyNestedts from './directory2/directory4/deeplyNested'; import * as directory2scriptts from './directory2/script'; import * as directory3programts from './directory3/program'; import * as indexts from './index'; export {barrelts as barrel}; export const directory2 = { directory4: { deeplyNested: directory2directory4deeplyNestedts, }, script: directory2scriptts, }; export const directory3 = { program: directory3programts, }; export {indexts as index}; ` ); }); it("should produce output compatible with the recommended tslint ruleset", () => { TestUtilities.tslint(output, "'"); }); }); describe("when using no semicolon", () => { let output: string; const logger = () => void 0; beforeEach(() => { const rootDirectory = TestUtilities.mockDirectoryTree(); output = FileSystem.buildFileSystemBarrel( rootDirectory, TestUtilities.mockModules(rootDirectory), '"', "", logger, undefined ); }); it("should produce the correct output", () => { TestUtilities.assertMultiLine( output, `import * as barrelts from "./barrel" import * as directory2directory4deeplyNestedts from "./directory2/directory4/deeplyNested" import * as directory2scriptts from "./directory2/script" import * as directory3programts from "./directory3/program" import * as indexts from "./index" export {barrelts as barrel} export const directory2 = { directory4: { deeplyNested: directory2directory4deeplyNestedts, }, script: directory2scriptts, } export const directory3 = { program: directory3programts, } export {indexts as index} ` ); }); }); });