Adding a mocha:closure gulp task, to test closure-compiled JS.

Also reorders mocha task to only happen after JS tasks,
and improves two unit tests by moving code in "describe" blocks to
"before" blocks.
master
Sérgio Gomes 2015-09-11 13:37:45 +01:00
parent 06529f9e03
commit 41c5408a4a
4 changed files with 56 additions and 40 deletions

View File

@ -270,20 +270,22 @@ gulp.task('metadata', function() {
});
// Build Production Files, the Default Task
gulp.task('default', ['clean', 'mocha'], function(cb) {
gulp.task('default', ['clean'], function(cb) {
runSequence(
['styles', 'styles-grid'],
['scripts'],
['mocha'],
cb);
});
// Build production files and microsite
gulp.task('all', ['clean', 'mocha'], function(cb) {
gulp.task('all', ['clean'], function(cb) {
runSequence(
['default', 'styletemplates'],
['styles:gen'],
['jshint', 'jscs', 'scripts', 'assets', 'demos', 'pages',
'templates', 'images', 'styles-grid', 'metadata'],
['mocha'],
['zip'],
cb);
});
@ -295,7 +297,22 @@ gulp.task('mocha', ['styles'], function() {
.pipe($.mochaPhantomjs({reporter: 'tap'}));
});
gulp.task('test', ['jshint', 'jscs', 'mocha']);
gulp.task('mocha:closure', ['closure'], function() {
return gulp.src('./test/index.html')
.pipe($.replace('src="../dist/material.js"',
'src="../dist/material.closure.min.js"'))
.pipe($.rename('temp.html'))
.pipe(gulp.dest('./test'))
.pipe($.mochaPhantomjs({reporter: 'tap'}))
.on('finish', function() {
del('test/temp.html', {'force': true});
})
.on('error', function() {
del('test/temp.html', {'force': true});
});
});
gulp.task('test', ['jshint', 'jscs', 'mocha', 'mocha:closure']);
gulp.task('test:visual', function() {
browserSync({

View File

@ -41,22 +41,7 @@
return bound;
};
</script>
<script src="../src/mdlComponentHandler.js"></script>
<script src="../src/button/button.js"></script>
<script src="../src/checkbox/checkbox.js"></script>
<script src="../src/data-table/data-table.js"></script>
<script src="../src/icon-toggle/icon-toggle.js"></script>
<script src="../src/layout/layout.js"></script>
<script src="../src/progress/progress.js"></script>
<script src="../src/radio/radio.js"></script>
<script src="../src/ripple/ripple.js"></script>
<script src="../src/slider/slider.js"></script>
<script src="../src/spinner/spinner.js"></script>
<script src="../src/switch/switch.js"></script>
<script src="../src/tabs/tabs.js"></script>
<script src="../src/textfield/textfield.js"></script>
<script src="../src/tooltip/tooltip.js"></script>
<script src="../src/menu/menu.js"></script>
<script src="../dist/material.js"></script>
<script>
// mocha.ui('bdd');
mocha.setup('bdd');

View File

@ -30,10 +30,15 @@ describe('MaterialMenu', function () {
});
describe ('visibility API', function () {
var parent = document.createElement('div'); // parent must exist for MaterialMenu.init()
var el = document.createElement('ul');
parent.appendChild(el)
componentHandler.upgradeElement(el, 'MaterialMenu');
var parent;
var el;
before(function() {
parent = document.createElement('div'); // parent must exist for MaterialMenu.init()
el = document.createElement('ul');
parent.appendChild(el)
componentHandler.upgradeElement(el, 'MaterialMenu');
});
it('should start the showing animation on show()', function(done) {
expect($(el.parentElement)).to.not.have.class('is-visible');

View File

@ -33,24 +33,33 @@ describe('MaterialTabs', function () {
});
describe('Click on the tabs', function () {
var el = document.createElement('div');
el.innerHTML = '' +
'<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect">' +
' <div class="mdl-tabs__tab-bar">' +
' <a href="#content1" id="tab1" class="mdl-tabs__tab">1</a>' +
' <a href="#content2" id="tab2" class="mdl-tabs__tab">2</a>' +
' <a href="#content3" id="tab3" class="mdl-tabs__tab">3</a>' +
' </div>' +
' <div class="mdl-tabs__panel" id="content1"></div>' +
' <div class="mdl-tabs__panel" id="content2"></div>' +
' <div class="mdl-tabs__panel" id="content3"></div>' +
'</div>';
componentHandler.upgradeElement(el, 'MaterialTabs');
var tab1 = el.querySelector('#tab1');
var tab2 = el.querySelector('#tab2');
var content1 = el.querySelector('#content1');
var content2 = el.querySelector('#content2');
var el;
var tab1;
var tab2;
var content1;
var content2;
before(function() {
el = document.createElement('div');
el.innerHTML = '' +
'<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect">' +
' <div class="mdl-tabs__tab-bar">' +
' <a href="#content1" id="tab1" class="mdl-tabs__tab">1</a>' +
' <a href="#content2" id="tab2" class="mdl-tabs__tab">2</a>' +
' <a href="#content3" id="tab3" class="mdl-tabs__tab">3</a>' +
' </div>' +
' <div class="mdl-tabs__panel" id="content1"></div>' +
' <div class="mdl-tabs__panel" id="content2"></div>' +
' <div class="mdl-tabs__panel" id="content3"></div>' +
'</div>';
componentHandler.upgradeElement(el, 'MaterialTabs');
tab1 = el.querySelector('#tab1');
tab2 = el.querySelector('#tab2');
content1 = el.querySelector('#content1');
content2 = el.querySelector('#content2');
});
it('Should activate no tab by default', function (done) {
window.setTimeout(function () {