Skip to content

Commit 9805a70

Browse files
committed
Fix tests from revision 140fbdd
1 parent 140fbdd commit 9805a70

File tree

2 files changed

+39
-31
lines changed

2 files changed

+39
-31
lines changed

javascript/node/selenium-webdriver/chrome.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -411,8 +411,11 @@ Options.fromCapabilities = function(capabilities) {
411411
* @return {!Options} A self reference.
412412
*/
413413
Options.prototype.addArguments = function(var_args) {
414-
this.options_.args = (this.options_.args || [])
415-
.concat.apply(this.args_, arguments);
414+
var args = this.options_.args || [];
415+
args = args.concat.apply(args, arguments);
416+
if (args.length) {
417+
this.options_.args = args;
418+
}
416419
return this;
417420
};
418421

@@ -425,8 +428,11 @@ Options.prototype.addArguments = function(var_args) {
425428
* @return {!Options} A self reference.
426429
*/
427430
Options.prototype.excludeSwitches = function(var_args) {
428-
this.options_.excludeSwitches = (this.options_.excludeSwitches || [])
429-
.concat.apply(this.args_, arguments);
431+
var switches = this.options_.excludeSwitches || [];
432+
switches = switches.concat.apply(switches, arguments);
433+
if (switches.length) {
434+
this.options_.excludeSwitches = switches;
435+
}
430436
return this;
431437
};
432438

@@ -571,7 +577,7 @@ Options.prototype.androidDeviceSerial = function(serial) {
571577

572578
/**
573579
* Configures the ChromeDriver to launch Chrome on Android via adb. This
574-
* function is shorthand for
580+
* function is shorthand for
575581
* {@link #androidPackage options.androidPackage('com.android.chrome')}.
576582
* @return {!Options} A self reference.
577583
*/

javascript/node/selenium-webdriver/test/chrome/options_test.js

+28-26
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,10 @@ describe('chrome.Options', function() {
4444
});
4545

4646
it('should rebuild options from wire representation', function() {
47+
var expectedExtension = fs.readFileSync(__filename, 'base64');
4748
var caps = webdriver.Capabilities.chrome().set('chromeOptions', {
4849
args: ['a', 'b'],
49-
extensions: [1, 2],
50+
extensions: [__filename],
5051
binary: 'binaryPath',
5152
logPath: 'logFilePath',
5253
detach: true,
@@ -55,18 +56,18 @@ describe('chrome.Options', function() {
5556
});
5657

5758
var options = chrome.Options.fromCapabilities(caps);
58-
59-
assert(options.args_.length).equalTo(2);
60-
assert(options.args_[0]).equalTo('a');
61-
assert(options.args_[1]).equalTo('b');
62-
assert(options.extensions_.length).equalTo(2);
63-
assert(options.extensions_[0]).equalTo(1);
64-
assert(options.extensions_[1]).equalTo(2);
65-
assert(options.binary_).equalTo('binaryPath');
66-
assert(options.logFile_).equalTo('logFilePath');
67-
assert(options.detach_).equalTo(true);
68-
assert(options.localState_).equalTo('localStateValue');
69-
assert(options.prefs_).equalTo('prefsValue');
59+
var json = options.serialize();
60+
61+
assert(json.args.length).equalTo(2);
62+
assert(json.args[0]).equalTo('a');
63+
assert(json.args[1]).equalTo('b');
64+
assert(json.extensions.length).equalTo(1);
65+
assert(json.extensions[0]).equalTo(expectedExtension);
66+
assert(json.binary).equalTo('binaryPath');
67+
assert(json.logPath).equalTo('logFilePath');
68+
assert(json.detach).equalTo(true);
69+
assert(json.localState).equalTo('localStateValue');
70+
assert(json.prefs).equalTo('prefsValue');
7071
});
7172

7273
it('should rebuild options from incomplete wire representation',
@@ -77,7 +78,6 @@ describe('chrome.Options', function() {
7778

7879
var options = chrome.Options.fromCapabilities(caps);
7980
var json = options.serialize();
80-
8181
assert(json.args).isUndefined();
8282
assert(json.binary).isUndefined();
8383
assert(json.detach).isUndefined();
@@ -107,26 +107,28 @@ describe('chrome.Options', function() {
107107
describe('addArguments', function() {
108108
it('takes var_args', function() {
109109
var options = new chrome.Options();
110-
assert(options.args_.length).equalTo(0);
110+
assert(options.serialize().args).isUndefined();
111111

112112
options.addArguments('a', 'b');
113-
assert(options.args_.length).equalTo(2);
114-
assert(options.args_[0]).equalTo('a');
115-
assert(options.args_[1]).equalTo('b');
113+
var json = options.serialize();
114+
assert(json.args.length).equalTo(2);
115+
assert(json.args[0]).equalTo('a');
116+
assert(json.args[1]).equalTo('b');
116117
});
117118

118119
it('flattens input arrays', function() {
119120
var options = new chrome.Options();
120-
assert(options.args_.length).equalTo(0);
121+
assert(options.serialize().args).isUndefined();
121122

122123
options.addArguments(['a', 'b'], 'c', [1, 2], 3);
123-
assert(options.args_.length).equalTo(6);
124-
assert(options.args_[0]).equalTo('a');
125-
assert(options.args_[1]).equalTo('b');
126-
assert(options.args_[2]).equalTo('c');
127-
assert(options.args_[3]).equalTo(1);
128-
assert(options.args_[4]).equalTo(2);
129-
assert(options.args_[5]).equalTo(3);
124+
var json = options.serialize();
125+
assert(json.args.length).equalTo(6);
126+
assert(json.args[0]).equalTo('a');
127+
assert(json.args[1]).equalTo('b');
128+
assert(json.args[2]).equalTo('c');
129+
assert(json.args[3]).equalTo(1);
130+
assert(json.args[4]).equalTo(2);
131+
assert(json.args[5]).equalTo(3);
130132
});
131133
});
132134

0 commit comments

Comments
 (0)