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

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

Issue 23596007: Remove usage of dart:json. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase. Created 7 years, 3 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 XHRCrossOriginTest; 5 library XHRCrossOriginTest;
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:convert";
10 10
11 /** 11 /**
12 * Examine the value of "crossOriginPort" as passed in from the url from 12 * Examine the value of "crossOriginPort" as passed in from the url from
13 * [window.location] to determine what the cross-origin port is for 13 * [window.location] to determine what the cross-origin port is for
14 * this test. 14 * this test.
15 */ 15 */
16 // TODO(efortuna): If we need to use this function frequently, make a 16 // TODO(efortuna): If we need to use this function frequently, make a
17 // url_analyzer library that is part of test.dart that these tests can import. 17 // url_analyzer library that is part of test.dart that these tests can import.
18 int get crossOriginPort { 18 int get crossOriginPort {
19 var searchUrl = window.location.search; 19 var searchUrl = window.location.search;
(...skipping 15 matching lines...) Expand all
35 35
36 group('functional', () { 36 group('functional', () {
37 37
38 var port = crossOriginPort; 38 var port = crossOriginPort;
39 var host = '${window.location.protocol}//${window.location.hostname}:$port'; 39 var host = '${window.location.protocol}//${window.location.hostname}:$port';
40 40
41 test('XHR.get Cross-domain', () { 41 test('XHR.get Cross-domain', () {
42 var gotError = false; 42 var gotError = false;
43 var url = '$host/root_dart/tests/html/xhr_cross_origin_data.txt'; 43 var url = '$host/root_dart/tests/html/xhr_cross_origin_data.txt';
44 return HttpRequest.request(url).then((xhr) { 44 return HttpRequest.request(url).then((xhr) {
45 var data = json.parse(xhr.response); 45 var data = JSON.decode(xhr.response);
46 expect(data, contains('feed')); 46 expect(data, contains('feed'));
47 expect(data['feed'], contains('entry')); 47 expect(data['feed'], contains('entry'));
48 expect(data, isMap); 48 expect(data, isMap);
49 }).catchError((error) {}, test: (error) { 49 }).catchError((error) {}, test: (error) {
50 gotError = true; 50 gotError = true;
51 // Consume errors when not supporting cross origin. 51 // Consume errors when not supporting cross origin.
52 return !HttpRequest.supportsCrossOrigin; 52 return !HttpRequest.supportsCrossOrigin;
53 }).whenComplete(() { 53 }).whenComplete(() {
54 // Expect that we got an error when cross origin is not supported. 54 // Expect that we got an error when cross origin is not supported.
55 expect(gotError, !HttpRequest.supportsCrossOrigin); 55 expect(gotError, !HttpRequest.supportsCrossOrigin);
(...skipping 29 matching lines...) Expand all
85 var xhr = new HttpRequest(); 85 var xhr = new HttpRequest();
86 xhr.open('GET', url, async: true); 86 xhr.open('GET', url, async: true);
87 var validate = expectAsync1((data) { 87 var validate = expectAsync1((data) {
88 expect(data, contains('feed')); 88 expect(data, contains('feed'));
89 expect(data['feed'], contains('entry')); 89 expect(data['feed'], contains('entry'));
90 expect(data, isMap); 90 expect(data, isMap);
91 }); 91 });
92 xhr.onReadyStateChange.listen((e) { 92 xhr.onReadyStateChange.listen((e) {
93 guardAsync(() { 93 guardAsync(() {
94 if (xhr.readyState == HttpRequest.DONE) { 94 if (xhr.readyState == HttpRequest.DONE) {
95 validate(json.parse(xhr.response)); 95 validate(JSON.decode(xhr.response));
96 } 96 }
97 }); 97 });
98 }); 98 });
99 xhr.send(); 99 xhr.send();
100 }); 100 });
101 101
102 test('XHR.getWithCredentials Cross-domain', () { 102 test('XHR.getWithCredentials Cross-domain', () {
103 var url = '$host/root_dart/tests/html/xhr_cross_origin_data.txt'; 103 var url = '$host/root_dart/tests/html/xhr_cross_origin_data.txt';
104 return HttpRequest.request(url, withCredentials: true).then((xhr) { 104 return HttpRequest.request(url, withCredentials: true).then((xhr) {
105 var data = json.parse(xhr.response); 105 var data = JSON.decode(xhr.response);
106 expect(data, contains('feed')); 106 expect(data, contains('feed'));
107 expect(data['feed'], contains('entry')); 107 expect(data['feed'], contains('entry'));
108 expect(data, isMap); 108 expect(data, isMap);
109 }); 109 });
110 }); 110 });
111 }); 111 });
112 } 112 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698