Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Unified Diff: third_party/pkg/angular/test/playback/playback_http_spec.dart

Issue 124053002: Adding Angular and dependent packages for testing (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/angular/test/playback/playback_http_spec.dart
diff --git a/third_party/pkg/angular/test/playback/playback_http_spec.dart b/third_party/pkg/angular/test/playback/playback_http_spec.dart
new file mode 100644
index 0000000000000000000000000000000000000000..c3113b05f5f20421a63b9d9a75defb190d697664
--- /dev/null
+++ b/third_party/pkg/angular/test/playback/playback_http_spec.dart
@@ -0,0 +1,73 @@
+import '../_specs.dart';
+import 'package:angular/playback/playback_http.dart';
+
+main() => describe('Playback HTTP', () {
+ MockHttpBackend backend;
+ beforeEach(module((Module m) {
+ backend = new MockHttpBackend();
+ var wrapper = new HttpBackendWrapper(backend);
+ m
+ ..value(HttpBackendWrapper, wrapper)
+ ..type(PlaybackHttpBackendConfig);
+ }));
+
+ afterEach(() {
+ backend.verifyNoOutstandingRequest();
+ backend.verifyNoOutstandingExpectation();
+ });
+
+ describe('RecordingHttpBackend', () {
+ beforeEach(module((Module m) {
+ m.type(HttpBackend, implementedBy: RecordingHttpBackend);
+ }));
+
+
+ it('should record a request', async(inject((Http http) {
+ backend.expectGET('request').respond(200, 'response');
+
+ var responseData;
+
+ http(method: 'GET', url: 'request').then((HttpResponse r) {
+ responseData = r.data;
+ });
+
+ microLeap();
+ backend.flush();
+ backend
+ .expectPOST('/record',
+ r'{"key":"{\"url\":\"request\",\"method\":\"GET\",\"requestHeaders\":{\"Accept\":\"application/json, text/plain, */*\",\"X-XSRF-TOKEN\":\"secret\"},\"data\":null}",' +
+ r'"data":"{\"status\":200,\"headers\":\"\",\"data\":\"response\"}"}')
+ .respond(200);
+
+ microLeap();
+ backend.flush();
+ microLeap();
+
+ expect(responseData).toEqual('response');
+ })));
+ });
+
+
+ describe('PlaybackHttpBackend', () {
+ beforeEach(module((Module m) {
+ m.type(HttpBackend, implementedBy: PlaybackHttpBackend);
+ }));
+
+ it('should replay a request', async(inject((Http http, HttpBackend hb) {
+ (hb as PlaybackHttpBackend).data = {
+ r'{"url":"request","method":"GET","requestHeaders":{"Accept":"application/json, text/plain, */*","X-XSRF-TOKEN":"secret"},"data":null}': {'status': 200, 'headers': '', 'data': 'playback data'}
+ };
+
+ var responseData;
+
+ http(method: 'GET', url: 'request').then((HttpResponse r) {
+ responseData = r.data;
+ });
+
+ microLeap();
+
+ expect(responseData).toEqual('playback data');
+ })));
+
+ });
+});

Powered by Google App Engine
This is Rietveld 408576698