0.0.9 • Published 9 years ago

broccoli-test-helpers v0.0.9

Weekly downloads
19
License
MIT
Repository
github
Last release
9 years ago

Broccoli Test Helpers

A small set of test helpers that allow you setup broccoli plugins for testing.

Install

npm install broccoli-test-helpers --save-dev

Usage

Below is an example of the basic usage.

var testHelpers = require('broccoli-test-helpers');
var expect = require('chai').expect;
var _myBroccoliPlugin = require('./lib');
var makeTestHelper = testHelpers.makeTestHelper;
var cleanupBuilders = testHelpers.cleanupBuilders;
var fs = require('fs');
var path = require('path');

var fixtures = path.join(process.cwd(), 'tests/fixtures');
var expectations = path.join(process.cwd(), 'tests/expectations');

describe('myBroccoliPlugin', function() {
  var myBroccoliPlugin = makeTestHelper({
    subject: _myBroccoliPlugin,
    fixturePath: fixtures
  });

  afterEach(function() {
    return cleanupBuilders();
  });

  it('should work', function() {
    return myBroccoliPlugin('.').then(function(result) {
      expect(result.files).to.deep.equal([
        'a.js',
        'b.js'
      ]);

      result.files.forEach(function(file) {
        expect(fs.readFileSync(path.join(result.directory, file), 'utf8')).to.equal(fs.readFileSync(path.join(assertions, file), 'utf8'));
      });

      // optionally you can test a rebuild by performing
      // some mutation on the files and then rebuilding.
      // You would then chain another .then() on the end
      // and preform assertions.
      // 
      // return result.builder();
    });
  })
});
0.0.9

9 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago