Skip to content

Commit d8ce81e

Browse files
committed
handled case for agnostic sessions with browser flag
1 parent d749c3a commit d8ce81e

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

bin/helpers/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ exports.setBrowsers = async (bsConfig, args) => {
892892
browsersList.forEach((browser)=>{
893893
let browserHash = {}
894894
let osBrowserDetails = browser.split(':')
895-
browserHash['os'] = osBrowserDetails[1].trim()
895+
if (!this.isUndefined(osBrowserDetails[1])) browserHash['os'] = osBrowserDetails[1].trim()
896896
let browserDetails = osBrowserDetails[0].split('@')
897897
browserHash['browser'] = browserDetails[0].trim()
898898
browserHash['versions'] = []

test/unit/bin/helpers/utils.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2503,6 +2503,61 @@ describe('utils', () => {
25032503
await utils.setBrowsers(bsConfig, args);
25042504
expect(bsConfig.browsers).to.be.eql(browserResult);
25052505
});
2506+
it('the args browser should not return exception if os is empty string', async () => {
2507+
let bsConfig = {
2508+
browsers: [
2509+
{
2510+
browser: 'chrome',
2511+
os: 'Windows 10',
2512+
versions: ['latest', 'latest-1'],
2513+
},
2514+
{
2515+
browser: 'chrome',
2516+
os: 'Windows 10',
2517+
versions: ['latest', 'latest-1'],
2518+
},
2519+
],
2520+
};
2521+
let browserResult = [
2522+
{
2523+
browser: 'chrome',
2524+
os: '',
2525+
versions: ['latest-1'],
2526+
}
2527+
];
2528+
let args = {
2529+
browser: 'chrome@latest-1:',
2530+
};
2531+
await utils.setBrowsers(bsConfig, args)
2532+
expect(bsConfig.browsers).to.be.eql(browserResult);
2533+
});
2534+
it('the args browser should not return exception if os is nil', async () => {
2535+
let bsConfig = {
2536+
browsers: [
2537+
{
2538+
browser: 'chrome',
2539+
os: 'Windows 10',
2540+
versions: ['latest', 'latest-1'],
2541+
},
2542+
{
2543+
browser: 'chrome',
2544+
os: 'Windows 10',
2545+
versions: ['latest', 'latest-1'],
2546+
},
2547+
],
2548+
};
2549+
let browserResult = [
2550+
{
2551+
browser: 'chrome',
2552+
versions: ['latest-1'],
2553+
}
2554+
];
2555+
let args = {
2556+
browser: 'chrome@latest-1',
2557+
};
2558+
await utils.setBrowsers(bsConfig, args)
2559+
expect(bsConfig.browsers).to.be.eql(browserResult);
2560+
});
25062561
it('the args browser should throw an error in case of exception raised', async () => {
25072562
let bsConfig = {
25082563
browsers: [

0 commit comments

Comments
 (0)