From b6377f2ce6ba217aa9c261e8363395a047bc72fd Mon Sep 17 00:00:00 2001 From: Julien CROUZET Date: Mon, 24 Apr 2017 15:56:52 +0200 Subject: [PATCH] Handle seleniumArgs in config file ( #275 ) (#276) Handle seleniumArgs in config file ( #275 ) --- bin/selenium-standalone | 6 +++++- test/cli-parameters.js | 6 ++++++ test/fixtures/config.valid.js | 3 ++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bin/selenium-standalone b/bin/selenium-standalone index 9437a6f1..592771bd 100755 --- a/bin/selenium-standalone +++ b/bin/selenium-standalone @@ -53,7 +53,11 @@ function parseCommandAndOptions(javaPath) { // Merge default options, options from config file then command line options options = merge({}, defaultConfig, configFromFile, options); - options.seleniumArgs = seleniumArgs; + if (seleniumArgs.length) { + options.seleniumArgs = seleniumArgs; + } else if (!Array.isArray(options.seleniumArgs)) { + options.seleniumArgs = []; + } options.spawnOptions = { stdio: 'inherit' }; diff --git a/test/cli-parameters.js b/test/cli-parameters.js index ed629487..a3f63c2d 100644 --- a/test/cli-parameters.js +++ b/test/cli-parameters.js @@ -122,6 +122,7 @@ describe('`selenium-standalone` command parameters', function() { expect(parsed[1].version).to.be.equal('42'); expect(parsed[1].drivers.ie.version).to.be.equal(42); expect(parsed[1].drivers.ie.baseURL).to.be.equal('http://www.google.fr'); + expect(parsed[1].seleniumArgs).to.be.deep.equal([]); }); it('are correctly parsed from a JS module config file', function() { @@ -134,6 +135,7 @@ describe('`selenium-standalone` command parameters', function() { expect(parsed[1].version).to.be.equal('42'); expect(parsed[1].drivers.ie.version).to.be.equal(42); expect(parsed[1].drivers.ie.baseURL).to.be.equal('http://www.google.fr'); + expect(parsed[1].seleniumArgs).to.be.deep.equal(['--test=1', '-flag']); }); it('throws if config file is invalid', function() { @@ -161,6 +163,8 @@ describe('`selenium-standalone` command parameters', function() { 'install', '--config=' + path.join(__dirname, 'fixtures', 'config.valid.js'), '--drivers.ie.version=43', + '--', + '--some=seleniumArgs' ]); var parsed = parseCommandAndOptions('/somewhere'); @@ -168,6 +172,8 @@ describe('`selenium-standalone` command parameters', function() { expect(parsed[1].version).to.be.equal('42'); expect(parsed[1].drivers.ie.arch).to.be.equal(defaultValues.drivers.ie.arch); expect(parsed[1].drivers.ie.version).to.be.equal('43'); + expect(parsed[1].seleniumArgs).to.be.deep.equal(['--some=seleniumArgs']); }); + }); }); diff --git a/test/fixtures/config.valid.js b/test/fixtures/config.valid.js index 8645c9f8..7457b4db 100644 --- a/test/fixtures/config.valid.js +++ b/test/fixtures/config.valid.js @@ -5,5 +5,6 @@ module.exports = { version: 42, baseURL: 'http://www.google.fr', } - } + }, + seleniumArgs: ['--test=1', '-flag'], };