Improve the way to skip tests on specific condition
This commit is contained in:
@@ -35,12 +35,11 @@ module.exports = {
|
|||||||
chaiAsPromised.transferPromiseness = app.transferPromiseness
|
chaiAsPromised.transferPromiseness = app.transferPromiseness
|
||||||
return app;
|
return app;
|
||||||
},
|
},
|
||||||
shouldTestForPlatforms: function(testCase, platforms) {
|
// execute the test only when `condition` is true
|
||||||
if (platforms.indexOf(process.platform) !== -1) {
|
shouldTest: function(it, condition) {
|
||||||
return;
|
return condition ? it : it.skip;
|
||||||
}
|
},
|
||||||
else {
|
isOneOf(platforms) {
|
||||||
testCase.skip();
|
return (platforms.indexOf(process.platform) !== -1);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -68,33 +68,33 @@ describe('browser/settings.html', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
[true, false].forEach(function(v) {
|
[true, false].forEach(function(v) {
|
||||||
it(`should be saved and loaded: ${v}`, function() {
|
env.shouldTest(it, env.isOneOf(['win32', 'linux']))
|
||||||
env.shouldTestForPlatforms(this, ['win32', 'linux']);
|
(`should be saved and loaded: ${v}`, function() {
|
||||||
addClientCommands(this.app.client);
|
addClientCommands(this.app.client);
|
||||||
return this.app.client
|
return this.app.client
|
||||||
.loadSettingsPage()
|
.loadSettingsPage()
|
||||||
.isSelected('#inputHideMenuBar input').then((isSelected) => {
|
.isSelected('#inputHideMenuBar input').then((isSelected) => {
|
||||||
if (isSelected !== v) {
|
if (isSelected !== v) {
|
||||||
return this.app.client.click('#inputHideMenuBar input')
|
return this.app.client.click('#inputHideMenuBar input')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.click('#btnSave')
|
.click('#btnSave')
|
||||||
.pause(1000).then(() => {
|
.pause(1000).then(() => {
|
||||||
const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8'));
|
const saved_config = JSON.parse(fs.readFileSync(env.configFilePath, 'utf8'));
|
||||||
saved_config.hideMenuBar.should.equal(v);
|
saved_config.hideMenuBar.should.equal(v);
|
||||||
})
|
})
|
||||||
// confirm actual behavior
|
// confirm actual behavior
|
||||||
.browserWindow.isMenuBarAutoHide().should.eventually.equal(v).then(() => {
|
.browserWindow.isMenuBarAutoHide().should.eventually.equal(v).then(() => {
|
||||||
return this.app.restart();
|
return this.app.restart();
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
addClientCommands(this.app.client);
|
addClientCommands(this.app.client);
|
||||||
return this.app.client
|
return this.app.client
|
||||||
// confirm actual behavior
|
// confirm actual behavior
|
||||||
.browserWindow.isMenuBarAutoHide().should.eventually.equal(v)
|
.browserWindow.isMenuBarAutoHide().should.eventually.equal(v)
|
||||||
.loadSettingsPage()
|
.loadSettingsPage()
|
||||||
.isSelected('#inputHideMenuBar input').should.eventually.equal(v);
|
.isSelected('#inputHideMenuBar input').should.eventually.equal(v);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user