From 3a418200e775ccb95d9d0bb7a09a3691a92b36c0 Mon Sep 17 00:00:00 2001 From: Christian Fehmer Date: Tue, 30 Aug 2016 13:52:41 +0200 Subject: [PATCH] #2 fixes modifications of settings.args --- lib/index.js | 3 +++ package.json | 2 +- test/index.js | 13 +++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/index.js b/lib/index.js index d5b83c6..6943649 100644 --- a/lib/index.js +++ b/lib/index.js @@ -25,6 +25,9 @@ module.exports = (source, settings, callback) => { let isBinary = false; + // copy settings.args to prevent modifications + if (settings.args) settings.args = settings.args.slice(0); + if (!settings.args || settings.args.indexOf("-json") == -1) { settings.args = settings.args || []; settings.args.push("-json"); diff --git a/package.json b/package.json index fa97e97..158423a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "simple-exiftool", - "version": "1.1.0", + "version": "1.1.1", "description": "Extracting metadata from media files with exiftool, including but not limited to mp4, mov, 3gp, jpg, png, gif, pdf.", "main": "./lib/exif", "scripts": { diff --git a/test/index.js b/test/index.js index 20ba26f..cdb32fc 100644 --- a/test/index.js +++ b/test/index.js @@ -173,4 +173,17 @@ describe("giving settings to simple-exiftool", () => { }); }); + + it("should not modifiy given settings.args", (done) => { + var givenArgs=['-FileName']; + Exif(Path.join(__dirname, "files/lion.jpg"), {binary: exiftoolPath, args: givenArgs}, (error, metadata) => { + + Expect(error).to.not.exist; + // giveArgs should not be modified + Expect(givenArgs).to.have.length(1); + + done(); + }); + + }); });