Skip to content

Commit

Permalink
Add gulp module tagger tests
Browse files Browse the repository at this point in the history
  • Loading branch information
doug-wade committed Jun 21, 2016
1 parent 120f9ba commit ecb86ef
Show file tree
Hide file tree
Showing 15 changed files with 114 additions and 15 deletions.
14 changes: 0 additions & 14 deletions packages/react-server-gulp-module-tagger/gulpfile.js

This file was deleted.

5 changes: 4 additions & 1 deletion packages/react-server-gulp-module-tagger/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "A gulp plugin to replace tags with module information",
"main": "index.js",
"scripts": {
"test": "gulp test",
"test": "ava test/test.js && eslint index.js && nsp check",
"clean": "rimraf target npm-debug.log*"
},
"repository": "redfin/react-server",
Expand All @@ -15,9 +15,12 @@
],
"dependencies": {
"gulp-foreach": "0.1.0",
"gulp-plumber": "^1.1.0",
"gulp-replace": "0.5.2"
},
"devDependencies": {
"ava": "^0.15.2",
"nsp": "^2.4.0",
"rimraf": "^2.5.2"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
var logger = require('react-server').logging.getLogger(__LOGGER__);
var fooLogger = logging.getLogger(__LOGGER__({ label: "foo" }));
var barLogger = logging.getLogger(__LOGGER__({ label: "bar" }));

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const gulp = require('gulp');
const tagger = require('../../..');

gulp.task('default', () => {
gulp.src('actual.js')
.pipe(tagger())
.pipe(gulp.dest('build'));
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
__CHANNEL__
__CACHE__
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{"name":"react-server-gulp-module-tagger.test.fixtures.reserved-future-tokens.actual","color":{"server":205,"client":"rgb(212,42,127)"}}
{"name":"react-server-gulp-module-tagger.test.fixtures.reserved-future-tokens.actual","color":{"server":205,"client":"rgb(212,42,127)"}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{"name":"react-server-gulp-module-tagger.test.fixtures.reserved-future-tokens.actual","color":{"server":205,"client":"rgb(212,42,127)"}}
{"name":"react-server-gulp-module-tagger.test.fixtures.reserved-future-tokens.actual","color":{"server":205,"client":"rgb(212,42,127)"}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const gulp = require('gulp');
const tagger = require('../../..');

gulp.task('default', () => {
gulp.src('actual.js')
.pipe(tagger())
.pipe(gulp.dest('build'));
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
var logger = require('react-server').logging.getLogger(__LOGGER__);
var fooLogger = logging.getLogger(__LOGGER__({ label: "foo" }));
var barLogger = logging.getLogger(__LOGGER__({ label: "bar" }));
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
var logger = require('react-server').logging.getLogger({"name":"fixtures.trim.actual","color":{"server":147,"client":"rgb(127,127,212)"}});
var fooLogger = logging.getLogger({"label":"foo","name":"fixtures.trim.actual.foo","color":{"server":147,"client":"rgb(127,127,212)"}});
var barLogger = logging.getLogger({"label":"bar","name":"fixtures.trim.actual.bar","color":{"server":147,"client":"rgb(127,127,212)"}});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
var logger = require('react-server').logging.getLogger({"name":"fixtures.trim.actual","color":{"server":147,"client":"rgb(127,127,212)"}});
var fooLogger = logging.getLogger({"label":"foo","name":"fixtures.trim.actual.foo","color":{"server":147,"client":"rgb(127,127,212)"}});
var barLogger = logging.getLogger({"label":"bar","name":"fixtures.trim.actual.bar","color":{"server":147,"client":"rgb(127,127,212)"}});
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const gulp = require('gulp');
const tagger = require('../../..');

gulp.task('default', () => {
gulp.src('actual.js')
.pipe(tagger({ trim: 'react-server-gulp-module-tagger.test.' }))
.pipe(gulp.dest('build'));
});
62 changes: 62 additions & 0 deletions packages/react-server-gulp-module-tagger/test/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import test from 'ava';
import fs from 'fs';
import cp from 'child_process';
import path from 'path';

getTestCases().then((testCases) => {
testCases.forEach((dir) => {
test(`testing fixture in ${dir}`, async t => {
await runGulp(dir);
const expected = await readFile(path.join('fixtures', dir, 'expected.js'));
const actual = await readFile(path.join('fixtures', dir, 'build', 'actual.js'));
t.is(actual.toString(), expected.toString());
});
});
});

test('Module can be required', t => {
try {
require('..');
t.pass();
} catch (e) {
t.fail();
}
});

function getTestCases() {
return new Promise((resolve, reject) => {
fs.readdir('fixtures', (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
})
})
}

function readFile(filename) {
return new Promise((resolve, reject) => {
fs.readFile(filename, (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
}

function runGulp(dir) {
return new Promise((resolve, reject) => {
dir = path.join(__dirname, 'fixtures', dir);
cp.exec('gulp', { cwd: dir }, (err, stdout, stderr) => {
if (err) {
console.error(stderr);
reject(err);
} else {
resolve(stdout);
}
});
});
}

0 comments on commit ecb86ef

Please sign in to comment.