refactor(benchpress): make tests for error cases also work in Dart

Also introduces `PromiseWrapper.catchError`.
Could not use `PromiseWrapper.catch` as a name as Dart would not allow
this method name.
This commit is contained in:
Tobias Bosch
2015-02-25 17:43:33 -08:00
parent dd1898c132
commit 65ebff056a
4 changed files with 31 additions and 23 deletions

View File

@ -2,7 +2,7 @@ import {describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/te
import { ListWrapper } from 'angular2/src/facade/collection';
import { PromiseWrapper } from 'angular2/src/facade/async';
import { Json, isBlank, isJsObject } from 'angular2/src/facade/lang';
import { Json, isBlank } from 'angular2/src/facade/lang';
import {
WebDriverExtension, ChromeDriverExtension,
@ -164,20 +164,16 @@ export function main() {
});
});
// TODO(tbosch): In Dart, somehow we don't provide the error
// correctly in the promise result...
if (isJsObject({})) {
it('should throw an error on buffer overflow', (done) => {
createExtension([
chromeTimelineEvents.start('FunctionCall', 1234),
], 'Tracing.bufferUsage').readPerfLog().then(null, (err) => {
expect( () => {
throw err;
}).toThrowError('The DevTools trace buffer filled during the test!');
done();
});
it('should throw an error on buffer overflow', (done) => {
PromiseWrapper.catchError(createExtension([
chromeTimelineEvents.start('FunctionCall', 1234),
], 'Tracing.bufferUsage').readPerfLog(), (err) => {
expect( () => {
throw err;
}).toThrowError('The DevTools trace buffer filled during the test!');
done();
});
}
});
it('should match chrome browsers', () => {
expect(createExtension().supports({