UNPKG

create-readme

Version:

Automatically creates README.md based on package.json and other existing files.

142 lines (138 loc) 3.96 kB
// Generated by CoffeeScript 2.3.2 (function() { var UsageParser, mockFs; mockFs = require('mock-fs'); UsageParser = require('../components/usage.coffee', describe("A UsageParser", function() { var pkg; pkg = null; beforeEach(function() { pkg = require('../../package.json'); return pkg.git = { user: "dbartholomae", repo: "create-readme", branch: "master" }; }); afterEach(function() { return mockFs.restore(); }); it("returns examples parsed correctly from all files in the examples directory", function() { var usageParser; mockFs({ 'examples/example.js': 'require("../");', 'examples/example.coffee': "require '../'", 'examples/example.sh': "create-readme -s" }); usageParser = new UsageParser(); return expect(usageParser.run(pkg)).to.eventually.deep.equal({ examples: [ { lang: 'coffeescript', content: "require 'create-readme'" }, { lang: 'javascript', content: "require('create-readme');" }, { lang: 'sh', content: 'create-readme -s' } ], description: '' }); }); it("accepts additional usage text", function() { var usageParser; mockFs({ 'examples/example.js': 'require("../");', 'examples/example.coffee': "require '../'", 'examples/example.sh': "create-readme -s" }); usageParser = new UsageParser({ addUsage: 'This should be useful' }); return expect(usageParser.run(pkg)).to.eventually.deep.equal({ examples: [ { lang: 'coffeescript', content: "require 'create-readme'" }, { lang: 'javascript', content: "require('create-readme');" }, { lang: 'sh', content: 'create-readme -s' } ], description: 'This should be useful' }); }); it("looks in the correct directory", function() { var usageParser; pkg.directories.example = 'ex'; mockFs({ 'ex/example.js': 'require("../");', 'ex/example.coffee': "require '../'", 'ex/example.sh': "create-readme -s" }); usageParser = new UsageParser({ addUsage: 'This should be useful' }); return expect(usageParser.run(pkg)).to.eventually.deep.equal({ examples: [ { lang: 'coffeescript', content: "require 'create-readme'" }, { lang: 'javascript', content: "require('create-readme');" }, { lang: 'sh', content: 'create-readme -s' } ], description: 'This should be useful' }); }); it("allows to disable replacements", function() { var usageParser; pkg.directories.example = 'ex'; mockFs({ 'ex/example.js': 'require("../");', 'ex/example.coffee': "require '../'", 'ex/example.sh': "create-readme -s" }); usageParser = new UsageParser({ replaceReferences: false }); return expect(usageParser.run(pkg)).to.eventually.deep.equal({ examples: [ { lang: 'coffeescript', content: "require '../'" }, { lang: 'javascript', content: 'require("../");' }, { lang: 'sh', content: 'create-readme -s' } ], description: '' }); }); return it("returns null if there are neither examples nor added usage text", function() { var usageParser; mockFs(); usageParser = new UsageParser(); return expect(usageParser.run({})).to.eventually.equal(null); }); })); }).call(this);