diff options
-rw-r--r-- | lib/output/base.js | 5 | ||||
-rw-r--r-- | test/all.js | 1 | ||||
-rw-r--r-- | test/ignore.js | 33 |
3 files changed, 39 insertions, 0 deletions
diff --git a/lib/output/base.js b/lib/output/base.js index b60edb1..4563646 100644 --- a/lib/output/base.js +++ b/lib/output/base.js @@ -37,6 +37,11 @@ function Output(book, opts, parent) { // Files to ignore in output this.ignore = Ignore(); + + // Hack to inherits from rules of the book: + // Waiting for https://github.com/kaelzhang/node-ignore/pull/19 to be merged + this.ignore._rules = this.ignore._rules.concat(this.book.ignore._rules); + this.ignore._cache = {}; } // Default name for generator diff --git a/test/all.js b/test/all.js index cb4e605..00046b5 100644 --- a/test/all.js +++ b/test/all.js @@ -19,6 +19,7 @@ require('./git'); require('./plugins'); require('./template'); require('./conrefs'); +require('./ignore'); // Page and HTML generation require('./page'); diff --git a/test/ignore.js b/test/ignore.js new file mode 100644 index 0000000..e8d833c --- /dev/null +++ b/test/ignore.js @@ -0,0 +1,33 @@ +var mock = require('./mock'); +var WebsiteOutput = require('../lib/output/website'); + +describe('Ignore', function() { + var output; + + before(function() { + return mock.outputDefaultBook(WebsiteOutput, { + '.ignore': 'test-1.js', + '.gitignore': 'test-2.js\ntest-3.js', + '.bookignore': '!test-3.js', + 'test-1.js': '1', + 'test-2.js': '2', + 'test-3.js': '3' + }) + .then(function(_output) { + output = _output; + }); + }); + + it('should load rules from .ignore', function() { + output.should.not.have.file('test-1.js'); + }); + + it('should load rules from .gitignore', function() { + output.should.not.have.file('test-2.js'); + }); + + it('should load rules from .bookignore', function() { + output.should.have.file('test-3.js'); + }); +}); + |