gulpfile: add tests and notify

This commit is contained in:
Maximilian Hils
2014-09-14 01:21:13 +02:00
parent 7b74d207f3
commit 48211a2069
8 changed files with 13476 additions and 18 deletions

View File

@@ -17,7 +17,7 @@
"path": "src/vendor",
"sources": {
"lodash": "bower_components/lodash/dist/lodash.js",
"react": "bower_components/react/react-with-addons.js",
"react": ["bower_components/react/react-with-addons.js", "bower_components/react/JSXTransformer.js"],
"react-bootstrap": "bower_components/react-bootstrap/react-bootstrap.js"
}
}

View File

@@ -6,12 +6,21 @@ var jshint = require("gulp-jshint");
var less = require("gulp-less");
var livereload = require("gulp-livereload");
var minifyCSS = require('gulp-minify-css');
var notify = require("gulp-notify");
var plumber = require("gulp-plumber");
var qunit = require("gulp-qunit");
var react = require("gulp-react");
var sourcemaps = require('gulp-sourcemaps');
var uglify = require('gulp-uglify');
var dont_break_on_errors = function(){
return plumber(function(error){
notify.onError("Error: <%= error.message %>").apply(this, arguments);
this.emit('end');
});
};
var path = {
dist: "../libmproxy/web/",
js: {
@@ -43,7 +52,7 @@ gulp.task("fonts", function () {
function styles(files, dev) {
return (gulp.src(files, {base: "src", cwd: "src"})
.pipe(plumber())
.pipe(dont_break_on_errors())
.pipe(dev ? sourcemaps.init() : gutil.noop())
.pipe(less())
.pipe(dev ? sourcemaps.write(".", {sourceRoot: "/static"}) : gutil.noop())
@@ -62,7 +71,7 @@ gulp.task("styles-prod", ["styles-app-prod", "styles-vendor-prod"]);
function scripts(files, filename, dev) {
return gulp.src(files, {base: "src", cwd: "src"})
.pipe(plumber())
.pipe(dont_break_on_errors())
.pipe(dev ? sourcemaps.init() : gutil.noop())
.pipe(react({harmony: true}))
.pipe(concat(filename))
@@ -80,7 +89,7 @@ gulp.task("scripts-prod", ["scripts-app-prod", "scripts-vendor-prod"]);
gulp.task("jshint", function () {
return gulp.src(["src/js/**"])
.pipe(plumber())
.pipe(dont_break_on_errors())
.pipe(react({harmony: true}))
.pipe(jshint())
.pipe(jshint.reporter("jshint-stylish"))
@@ -92,6 +101,11 @@ gulp.task("html", function () {
.pipe(livereload({ auto: false }));
});
gulp.task('test', function() {
return gulp.src('src/test.html')
.pipe(qunit({verbose: true}));
});
common = ["fonts", "html", "jshint"];
gulp.task("dev", common.concat(["styles-dev", "scripts-dev"]));
gulp.task("prod", common.concat(["styles-prod", "scripts-prod"]));

View File

@@ -22,7 +22,9 @@
"gulp-less": "^1.3.5",
"gulp-livereload": "^2.1.1",
"gulp-minify-css": "^0.3.8",
"gulp-notify": "^1.6.0",
"gulp-plumber": "^0.6.5",
"gulp-qunit": "^0.3.3",
"gulp-react": "^1.0.1",
"gulp-sourcemaps": "^1.1.5",
"gulp-uglify": "^1.0.1",

View File

@@ -9,4 +9,5 @@ html {
@import (less) "layout.less";
@import (less) "header.less";
@import (less) "footer.less";
@import (less) "footer.less";

View File

@@ -1,4 +1,4 @@
footer {
padding: 0 10px;
text-align: center;
//text-align: center;
}

View File

@@ -1,5 +1,3 @@
QUnit.test("example test", function (assert) {
assert.ok(true);
});

View File

@@ -3,18 +3,15 @@
<head>
<meta charset="utf-8">
<title>Unit Tests</title>
<link rel="stylesheet" href="vendor/qunit/qunit/qunit.css" type="text/css" />
<link rel="stylesheet" href="vendor/qunit/qunit.css" type="text/css" />
<script src="vendor/qunit/qunit.js"></script>
<script src="vendor/react/JSXTransformer.js"></script>
<script src="vendor/jquery/jquery.js"></script>
<script src="vendor/underscore/underscore.js"></script>
<script src="vendor/lodash/dist/lodash.js"></script>
<script src="js/datastructures.es6.js"></script>
<script src="js/scurve.js"></script>
<script src="js/entropy.js"></script>
<script src="js/orders.js"></script>
<script src="js/fileview_jsx.js"></script>
<script src="vendor/lodash/lodash.js"></script>
<script type="text/jsx#harmony=true" src="js/datastructures.es6.js"></script>
<script src="vendor/qunit/qunit/qunit.js"></script>
<script src="js/tests.js"></script>
</head>
<body>

13446
web/src/vendor/react/JSXTransformer.js vendored Normal file

File diff suppressed because one or more lines are too long