Index: tests/html/xhr_test.dart |
diff --git a/tests/html/xhr_test.dart b/tests/html/xhr_test.dart |
index 4d0ac0699233add59bdf2b56359fd55fe2bd1d6c..0db7f4fd72d5894d7bcaf5449c6f7411146c122a 100644 |
--- a/tests/html/xhr_test.dart |
+++ b/tests/html/xhr_test.dart |
@@ -6,27 +6,72 @@ library XHRTest; |
import '../../pkg/unittest/lib/unittest.dart'; |
import '../../pkg/unittest/lib/html_config.dart'; |
import 'dart:html'; |
+import 'dart:json' as json; |
main() { |
useHtmlConfiguration(); |
+ var url = "../../../../tests/html/xhr_cross_origin_data.txt"; |
+ |
+ void validate200Response(xhr) { |
+ expect(xhr.status, equals(200)); |
+ var data = json.parse(xhr.response); |
+ expect(data, contains('feed')); |
+ expect(data['feed'], contains('entry')); |
+ expect(data, isMap); |
+ } |
+ |
+ void validate404(xhr) { |
+ expect(xhr.status, equals(404)); |
+ expect(xhr.responseText, equals('')); |
+ } |
test('XHR No file', () { |
HttpRequest xhr = new HttpRequest(); |
xhr.open("GET", "NonExistingFile", true); |
- xhr.on.readyStateChange.add(expectAsync1((event) { |
+ xhr.on.readyStateChange.add(expectAsyncUntil1((event) { |
if (xhr.readyState == HttpRequest.DONE) { |
- expect(xhr.status, equals(0)); |
- expect(xhr.responseText, equals('')); |
+ validate404(xhr); |
} |
- })); |
+ }, () => xhr.readyState == HttpRequest.DONE)); |
+ xhr.send(); |
+ }); |
+ |
+ test('XHR file', () { |
+ var xhr = new HttpRequest(); |
+ xhr.open('GET', url, true); |
+ xhr.on.readyStateChange.add(expectAsyncUntil1((e) { |
+ if (xhr.readyState == HttpRequest.DONE) { |
+ validate200Response(xhr); |
+ } |
+ }, () => xhr.readyState == HttpRequest.DONE)); |
xhr.send(); |
}); |
test('XHR.get No file', () { |
new HttpRequest.get("NonExistingFile", expectAsync1((xhr) { |
expect(xhr.readyState, equals(HttpRequest.DONE)); |
- expect(xhr.status, equals(0)); |
- expect(xhr.responseText, equals('')); |
+ validate404(xhr); |
+ })); |
+ }); |
+ |
+ test('XHR.get file', () { |
+ var xhr = new HttpRequest.get(url, expectAsync1((event) { |
+ expect(event.readyState, equals(HttpRequest.DONE)); |
+ validate200Response(event); |
+ })); |
+ }); |
+ |
+ test('XHR.getWithCredentials No file', () { |
+ new HttpRequest.getWithCredentials("NonExistingFile", expectAsync1((xhr) { |
+ expect(xhr.readyState, equals(HttpRequest.DONE)); |
+ validate404(xhr); |
+ })); |
+ }); |
+ |
+ test('XHR.getWithCredentials file', () { |
+ new HttpRequest.getWithCredentials(url, expectAsync1((xhr) { |
+ expect(xhr.readyState, equals(HttpRequest.DONE)); |
+ validate200Response(xhr); |
})); |
}); |
} |