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

Side by Side Diff: tests/html/xhr_test.dart

Issue 12087077: Adding ease-of-use methods to HttpRequest. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library XHRTest; 5 library XHRTest;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_individual_config.dart'; 7 import '../../pkg/unittest/lib/html_individual_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'dart:json' as json; 9 import 'dart:json' as json;
10 10
11 void fail(message) {
12 guardAsync(() {
13 expect(false, isTrue, reason: message);
14 });
15 }
16
11 main() { 17 main() {
12 useHtmlIndividualConfiguration(); 18 useHtmlIndividualConfiguration();
13 var url = "/tests/html/xhr_cross_origin_data.txt"; 19 var url = "/tests/html/xhr_cross_origin_data.txt";
14 20
15 void validate200Response(xhr) { 21 void validate200Response(xhr) {
16 expect(xhr.status, equals(200)); 22 expect(xhr.status, equals(200));
17 var data = json.parse(xhr.response); 23 var data = json.parse(xhr.response);
18 expect(data, contains('feed')); 24 expect(data, contains('feed'));
19 expect(data['feed'], contains('entry')); 25 expect(data['feed'], contains('entry'));
20 expect(data, isMap); 26 expect(data, isMap);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 })); 86 }));
81 }); 87 });
82 88
83 test('XHR.getWithCredentials file', () { 89 test('XHR.getWithCredentials file', () {
84 new HttpRequest.getWithCredentials(url, expectAsync1((xhr) { 90 new HttpRequest.getWithCredentials(url, expectAsync1((xhr) {
85 expect(xhr.readyState, equals(HttpRequest.DONE)); 91 expect(xhr.readyState, equals(HttpRequest.DONE));
86 validate200Response(xhr); 92 validate200Response(xhr);
87 })); 93 }));
88 }); 94 });
89 95
96 test('XHR.getString file', () {
97 HttpRequest.getString(url).then(expectAsync1((str) {}));
98 });
99
100 test('XHR.getString No file', () {
101 HttpRequest.getString('NonExistingFile').then(
102 (_) { fail('Succeeded for non-existing file.'); },
103 onError: expectAsync1((e) {
104 validate404(e.error.target);
105 }));
106 });
107
108 test('XHR.request', () {
109 if (ArrayBuffer.supported) {
110 HttpRequest.request(url, responseType: 'ArrayBuffer').then(
111 expectAsync1((xhr) {
112 validate200Response(xhr);
113 var arrayBuffer = xhr.response;
114 expect(arrayBuffer, new isInstanceOf<ArrayBuffer>());
115 expect(arrayBuffer, isNotNull);
116 }));
117 }
118 });
119
90 test('HttpRequestProgressEvent', () { 120 test('HttpRequestProgressEvent', () {
91 var expectation = HttpRequestProgressEvent.supported ? 121 var expectation = HttpRequestProgressEvent.supported ?
92 returnsNormally : throws; 122 returnsNormally : throws;
93 expect(() { 123 expect(() {
94 var event = new Event.eventType('XMLHttpRequestProgressEvent', ''); 124 var event = new Event.eventType('XMLHttpRequestProgressEvent', '');
95 expect(event is HttpRequestProgressEvent, isTrue); 125 expect(event is HttpRequestProgressEvent, isTrue);
96 }, expectation); 126 }, expectation);
97 }); 127 });
98 }); 128 });
99 } 129 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698