Skip to content

Commit e3a0d0c

Browse files
Merge pull request #215 from browserstack/test_agnostic_with_cli
Test agnostic with cli
2 parents 33e772a + ac2b9b6 commit e3a0d0c

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

bin/helpers/capabilityHelper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const caps = (bsConfig, zip) => {
2525
if (bsConfig.browsers) {
2626
bsConfig.browsers.forEach((element) => {
2727
osBrowser = element.os + "-" + element.browser;
28-
osAndBrowser = element.os + " / " + Utils.capitalizeFirstLetter(element.browser);
28+
osAndBrowser = (element.os) ? element.os : "Any OS" + " / " + Utils.capitalizeFirstLetter(element.browser);
2929
element.versions.forEach((version) => {
3030
osBrowserArray.push(osBrowser + version);
3131
browsersList.push(`${osAndBrowser} (${version})`);

bin/helpers/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,7 @@ exports.setBrowsers = async (bsConfig, args) => {
900900
browsersList.forEach((browser)=>{
901901
let browserHash = {}
902902
let osBrowserDetails = browser.split(':')
903-
browserHash['os'] = osBrowserDetails[1].trim()
903+
if (!this.isUndefined(osBrowserDetails[1])) browserHash['os'] = osBrowserDetails[1].trim()
904904
let browserDetails = osBrowserDetails[0].split('@')
905905
browserHash['browser'] = browserDetails[0].trim()
906906
browserHash['versions'] = []

test/unit/bin/helpers/utils.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2517,6 +2517,61 @@ describe('utils', () => {
25172517
await utils.setBrowsers(bsConfig, args);
25182518
expect(bsConfig.browsers).to.be.eql(browserResult);
25192519
});
2520+
it('the args browser should not return exception if os is empty string', async () => {
2521+
let bsConfig = {
2522+
browsers: [
2523+
{
2524+
browser: 'chrome',
2525+
os: 'Windows 10',
2526+
versions: ['latest', 'latest-1'],
2527+
},
2528+
{
2529+
browser: 'chrome',
2530+
os: 'Windows 10',
2531+
versions: ['latest', 'latest-1'],
2532+
},
2533+
],
2534+
};
2535+
let browserResult = [
2536+
{
2537+
browser: 'chrome',
2538+
os: '',
2539+
versions: ['latest-1'],
2540+
}
2541+
];
2542+
let args = {
2543+
browser: 'chrome@latest-1:',
2544+
};
2545+
await utils.setBrowsers(bsConfig, args)
2546+
expect(bsConfig.browsers).to.be.eql(browserResult);
2547+
});
2548+
it('the args browser should not return exception if os is nil', async () => {
2549+
let bsConfig = {
2550+
browsers: [
2551+
{
2552+
browser: 'chrome',
2553+
os: 'Windows 10',
2554+
versions: ['latest', 'latest-1'],
2555+
},
2556+
{
2557+
browser: 'chrome',
2558+
os: 'Windows 10',
2559+
versions: ['latest', 'latest-1'],
2560+
},
2561+
],
2562+
};
2563+
let browserResult = [
2564+
{
2565+
browser: 'chrome',
2566+
versions: ['latest-1'],
2567+
}
2568+
];
2569+
let args = {
2570+
browser: 'chrome@latest-1',
2571+
};
2572+
await utils.setBrowsers(bsConfig, args)
2573+
expect(bsConfig.browsers).to.be.eql(browserResult);
2574+
});
25202575
it('the args browser should throw an error in case of exception raised', async () => {
25212576
let bsConfig = {
25222577
browsers: [

0 commit comments

Comments
 (0)