Skip to content

Commit 1ad76a5

Browse files
author
contra
authored
Merge pull request #81 from TheDancingCode/multiExt
Add multiExt option
2 parents 239c2b6 + eda8133 commit 1ad76a5

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
var Stream = require('stream');
44
var Path = require('path');
55

6-
function gulpRename(obj) {
6+
function gulpRename(obj, options) {
7+
8+
options = options || {};
79

810
var stream = new Stream.Transform({objectMode: true});
911

1012
function parsePath(path) {
11-
var extname = Path.extname(path);
13+
var extname = options.multiExt ? Path.basename(path).slice(Path.basename(path).indexOf('.')) : Path.extname(path);
1214
return {
1315
dirname: Path.dirname(path),
1416
basename: Path.basename(path, extname),

test/path-parsing.spec.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,15 @@ describe('gulp-rename path parsing', function () {
102102
helper(srcPattern, obj, null, done);
103103
});
104104
});
105+
106+
describe('multiExt option', function () {
107+
it('includes multiple extensions in extname', function (done) {
108+
var srcPattern = 'test/fixtures/hello.min.txt';
109+
var obj = function (path) {
110+
path.extname.should.equal('.min.txt');
111+
path.basename.should.equal('hello');
112+
};
113+
helper(srcPattern, obj, null, done, { multiExt: true });
114+
});
115+
});
105116
});

test/spec-helper.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ var Path = require('path'),
77
gulp = require('gulp'),
88
rename = require('../');
99

10-
global.helper = function (srcArgs, obj, expectedPath, done) {
10+
global.helper = function (srcArgs, obj, expectedPath, done, options) {
1111
var srcPattern = srcArgs.pattern || srcArgs;
1212
var srcOptions = srcArgs.options || {};
13-
var stream = gulp.src(srcPattern, srcOptions).pipe(rename(obj));
13+
var stream = gulp.src(srcPattern, srcOptions).pipe(rename(obj, options));
1414
var count = 0;
1515
stream.on('error', done);
1616
stream.on('data', function () {

0 commit comments

Comments
 (0)