fix(WebWorker): Fix Todo Server demo and add test to ensure the demo can bootstrap.
Closes #3970
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
library angular2.test.web_workers.debug_tools.bootstrap;
|
||||
|
||||
import "package:angular2/test_lib.dart";
|
||||
import "package:angular2/src/core/reflection/reflection_capabilities.dart";
|
||||
import "package:angular2/src/core/reflection/reflection.dart";
|
||||
import "package:angular2/web_worker/worker.dart";
|
||||
import "package:angular2/src/web_workers/worker/application_common.dart";
|
||||
import "../shared/web_worker_test_util.dart";
|
||||
import "dart:convert";
|
||||
|
||||
main() {
|
||||
describe("bootstrapWebWorkerCommon", () {
|
||||
it ("should bootstrap on a Dart VM", () {
|
||||
reflector.reflectionCapabilities = new ReflectionCapabilities();
|
||||
var buses = createPairedMessageBuses();
|
||||
bootstrapWebWorkerCommon(App, buses.worker);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@Component(selector: "app")
|
||||
@View(template: "<p>Hello {{name}}</p>")
|
||||
class App {
|
||||
String name = "Tester";
|
||||
}
|
||||
@@ -5,17 +5,16 @@ import 'dart:async';
|
||||
import "package:angular2/src/core/facade/async.dart";
|
||||
|
||||
class MockEventEmitter extends EventEmitter {
|
||||
List<Function> _nextFns = new List();
|
||||
final controller = new StreamController.broadcast(sync: true);
|
||||
|
||||
@override
|
||||
StreamSubscription listen(void onData(dynamic line),
|
||||
{void onError(Error error), void onDone(), bool cancelOnError}) {
|
||||
_nextFns.add(onData);
|
||||
return null;
|
||||
return controller.stream.listen(onData, onError: onError, onDone: onDone, cancelOnError: cancelOnError);
|
||||
}
|
||||
|
||||
@override
|
||||
void add(value) {
|
||||
_nextFns.forEach((fn) => fn(value));
|
||||
controller.add(value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,10 +9,14 @@ export class MockEventEmitter extends EventEmitter {
|
||||
|
||||
observer(generator: any): Rx.IDisposable {
|
||||
this._nextFns.push(generator.next);
|
||||
return null;
|
||||
return new MockDisposable();
|
||||
}
|
||||
|
||||
next(value: any) {
|
||||
ListWrapper.forEach(this._nextFns, (fn) => { fn(value); });
|
||||
}
|
||||
}
|
||||
|
||||
class MockDisposable implements Rx.IDisposable {
|
||||
dispose(): void {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user