create-readme
Version:
Automatically creates README.md based on package.json and other existing files.
142 lines (138 loc) • 3.96 kB
JavaScript
// 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);