in spec/command_tests/table_spec.ts [71:104]
function runTestcase(commandName: string) {
let itName = 'should correctly call "' + commandName + '"';
let tableEntry = table[commandName];
if (tableEntry == null) {
return it(itName);
}
let testcases: Testcase[] = Array.isArray(tableEntry) ? tableEntry : [tableEntry];
testcases.forEach((testcase, i) => {
let caseName = itName + (tableEntry === testcases ? ' (#' + i + ')' : '');
if (testcase.skip) {
return it(caseName);
}
it(caseName, (done) => {
let driver = driverFactory();
(driver as any)[commandName].apply(driver, testcase.args || []).then(
(results: Testcase) => {
expect(results.result).toEqual(testcase.result == null ? null : testcase.result);
if (testcase.session) {
for (let varname in testcase.session) {
expect((results.session as any)[varname]).
toEqual((testcase.session as any)[varname]);
}
}
if (testcase.params) {
for (let paramName in testcase.params) {
expect(results.params[paramName]).toEqual(testcase.params[paramName]);
}
}
done();
}
);
});
});
}