UNPKG

diolive-bump

Version:

Fixed and improved version of stevelacy/gulp-bump

85 lines (70 loc) 2.36 kB
'use strict'; var gutil = require('gulp-util'); var should = require('should'); var bump = require('..'); require('mocha'); describe('Test failure cases cases in gulp-bump', function() { it('should fail when not detect a valid semver version', function(done) { var file = 'some-dir/dummyfile.js'; var fakeFile = new gutil.File({ path: file, contents: new Buffer('{ "version": "0.A.1" }') }); var bumpS = bump(); bumpS.on('error', function(e) { should.exist(e); e.message.should.equal('Detected invalid semver version'); e.fileName.should.containEql(file); return done(); }); bumpS.write(fakeFile); bumpS.end(); }); it('should fail when not detect a valid semver version and wrong key', function(done) { var file = 'some-dir/dummyfile.js'; var fakeFile = new gutil.File({ path: file, contents: new Buffer('{ "version": "0.0.1" }') }); var bumpS = bump({key: 'appversion'}); bumpS.on('error', function(e) { should.exist(e); e.message.should.containEql('Detected invalid semver appversion'); e.fileName.should.containEql(file); return done(); }); bumpS.write(fakeFile); bumpS.end(); }); it('should fail when supplied with an invalid JSON', function(done) { var file = 'some-dir/dummyfile.js'; var fakeFile = new gutil.File({ path: file, contents: new Buffer('{ invalid json oh no!!!}') }); var bumpS = bump(); bumpS.on('error', function(e) { should.exist(e); e.name.should.equal('Error'); e.message.should.containEql('Problem parsing JSON file'); e.fileName.should.containEql(file); return done(); }); bumpS.write(fakeFile); bumpS.end(); }); it('should fallback to defaults when supplied with invalid semver version', function(done) { var fakeFile = new gutil.File({ contents: new Buffer('{ "version": "0.0.1" }') }); var bumpS = bump({version: '0.A.2'}); bumpS.once('data', function(newFile) { should.exist(newFile); should.exist(newFile.contents); JSON.parse(newFile.contents.toString()).version.should.equal('0.0.2'); return done(); }); bumpS.write(fakeFile); bumpS.end(); }); });