Skip to content

Commit a414462

Browse files
author
Sergey G. Grekhov
committed
#932. HttpRequestUpload tests fixed
1 parent 4046369 commit a414462

File tree

6 files changed

+138
-77
lines changed

6 files changed

+138
-77
lines changed

LibTest/html/HttpRequestUpload/onAbort_A01_t01.dart

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,37 @@
66
/// Stream of abort events handled by this HttpRequestEventTarget.
77
/// @description Checks the state an event is fired when the request is aborted.
88
/// @Issue https://github.com/dart-lang/co19/issues/932
9-
109
import "dart:html";
1110
import "../../../Utils/expect.dart";
1211

12+
int get crossOriginPort {
13+
var searchUrl = window.location.search!;
14+
var crossOriginStr = 'crossOriginPort=';
15+
var index = searchUrl.indexOf(crossOriginStr);
16+
var nextArg = searchUrl.indexOf('&', index);
17+
return int.parse(searchUrl.substring(index + crossOriginStr.length,
18+
nextArg == -1 ? searchUrl.length : nextArg));
19+
}
20+
21+
var port = crossOriginPort;
22+
var host = '${window.location.protocol}//${window.location.hostname}:$port';
23+
1324
main() {
14-
var request = new HttpRequest();
15-
HttpRequestUpload upload = request.upload;
16-
request.open('GET', "test.dart");
17-
upload.onAbort.listen((event) {
25+
FormData data = FormData();
26+
List<String> file_contents = ["Lily was here"];
27+
Blob blob = new Blob(file_contents, 'text/plain', 'native');
28+
data.appendBlob("uploadData", blob);
29+
30+
var url = '$host/upload';
31+
final r = new HttpRequest();
32+
r.open("POST", url);
33+
HttpRequestUpload upload = r.upload;
34+
asyncStart();
35+
upload.onAbort.listen((ProgressEvent event) {
36+
Expect.isNotNull(event.loaded);
37+
Expect.isTrue(event.loaded! == 0);
1838
asyncEnd();
1939
});
20-
asyncStart();
21-
request.send();
22-
request.abort();
40+
r.send(data);
41+
r.abort();
2342
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
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.
4+
5+
/// @assertion Stream<ProgressEvent> get onError
6+
/// Stream of error events handled by this HttpRequestEventTarget.
7+
/// @description Checks that an error events issued when attemt to FET unexistent
8+
/// resourse is made and error 404 returned.
9+
/// @Issue #16757
10+
/// @Issue https://github.com/dart-lang/co19/issues/932
11+
12+
import "dart:html";
13+
import "../../../Utils/expect.dart";
14+
15+
int get crossOriginPort {
16+
var searchUrl = window.location.search!;
17+
var crossOriginStr = 'crossOriginPort=';
18+
var index = searchUrl.indexOf(crossOriginStr);
19+
var nextArg = searchUrl.indexOf('&', index);
20+
return int.parse(searchUrl.substring(index + crossOriginStr.length,
21+
nextArg == -1 ? searchUrl.length : nextArg));
22+
}
23+
24+
var port = crossOriginPort;
25+
var host = '${window.location.protocol}//${window.location.hostname}:$port';
26+
27+
main() {
28+
FormData data = FormData();
29+
List<String> file_contents = ["Lily was here"];
30+
Blob blob = new Blob(file_contents, 'text/plain', 'native');
31+
data.appendBlob("uploadData", blob);
32+
33+
var url = '$host/IntentionallyMissingFile';
34+
final r = new HttpRequest();
35+
r.open("POST", url);
36+
HttpRequestUpload upload = r.upload;
37+
asyncStart();
38+
upload.onError.listen((ProgressEvent event) {
39+
Expect.isNotNull(event.loaded);
40+
Expect.isTrue(event.loaded! == 0);
41+
asyncEnd();
42+
});
43+
r.send(data);
44+
}

LibTest/html/HttpRequestUpload/onError_A01_t02.dart

Lines changed: 0 additions & 24 deletions
This file was deleted.

LibTest/html/HttpRequestUpload/onLoadEnd_A01_t01.dart

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,39 @@
55
/// @assertion Stream<ProgressEvent> get onLoadEnd
66
/// Stream of loadend events handled by this HttpRequestEventTarget.
77
/// @description Checks that only single event is fired.
8+
/// @author [email protected]
89
/// @Issue https://github.com/dart-lang/co19/issues/932
910
1011
import "dart:html";
1112
import "../../../Utils/expect.dart";
1213

14+
int get crossOriginPort {
15+
var searchUrl = window.location.search!;
16+
var crossOriginStr = 'crossOriginPort=';
17+
var index = searchUrl.indexOf(crossOriginStr);
18+
var nextArg = searchUrl.indexOf('&', index);
19+
return int.parse(searchUrl.substring(index + crossOriginStr.length,
20+
nextArg == -1 ? searchUrl.length : nextArg));
21+
}
22+
23+
var port = crossOriginPort;
24+
var host = '${window.location.protocol}//${window.location.hostname}:$port';
25+
1326
main() {
14-
HttpRequest request = new HttpRequest();
15-
HttpRequestUpload upload = request.upload;
16-
bool first = true;
17-
request.open('GET', "test.dart");
27+
FormData data = FormData();
28+
List<String> file_contents = ["Lily was here"];
29+
Blob blob = new Blob(file_contents, 'text/plain', 'native');
30+
data.appendBlob("uploadData", blob);
31+
32+
var url = '$host/upload';
33+
final r = new HttpRequest();
34+
r.open("POST", url);
35+
HttpRequestUpload upload = r.upload;
1836
asyncStart();
19-
upload.onLoadEnd.listen((event) {
20-
Expect.isTrue(first);
21-
first = false;
37+
upload.onLoadEnd.listen((ProgressEvent event) {
38+
Expect.isNotNull(event.loaded);
39+
Expect.isTrue(event.loaded! > 0);
2240
asyncEnd();
2341
});
24-
request.send();
42+
r.send(data);
2543
}

LibTest/html/HttpRequestUpload/onLoadStart_A01_t01.dart

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,39 @@
55
/// @assertion Stream<ProgressEvent> get onLoadStart
66
/// Stream of loadstart events handled by this HttpRequestEventTarget.
77
/// @description Checks that only single event is fired.
8+
/// @author [email protected]
89
/// @Issue https://github.com/dart-lang/co19/issues/932
910
1011
import "dart:html";
1112
import "../../../Utils/expect.dart";
1213

14+
int get crossOriginPort {
15+
var searchUrl = window.location.search!;
16+
var crossOriginStr = 'crossOriginPort=';
17+
var index = searchUrl.indexOf(crossOriginStr);
18+
var nextArg = searchUrl.indexOf('&', index);
19+
return int.parse(searchUrl.substring(index + crossOriginStr.length,
20+
nextArg == -1 ? searchUrl.length : nextArg));
21+
}
22+
23+
var port = crossOriginPort;
24+
var host = '${window.location.protocol}//${window.location.hostname}:$port';
25+
1326
main() {
14-
HttpRequest request = new HttpRequest();
15-
HttpRequestUpload upload = request.upload;
16-
bool first = true;
17-
request.open('GET', "test.dart");
27+
FormData data = FormData();
28+
List<String> file_contents = ["Lily was here"];
29+
Blob blob = new Blob(file_contents, 'text/plain', 'native');
30+
data.appendBlob("uploadData", blob);
31+
32+
var url = '$host/upload';
33+
final r = new HttpRequest();
34+
r.open("POST", url);
35+
HttpRequestUpload upload = r.upload;
1836
asyncStart();
19-
upload.onLoadStart.listen((event) {
20-
Expect.isTrue(first);
21-
first = false;
37+
upload.onLoadStart.listen((ProgressEvent event) {
38+
Expect.isNotNull(event.loaded);
39+
Expect.isTrue(event.loaded! == 0);
2240
asyncEnd();
2341
});
24-
request.send();
42+
r.send(data);
2543
}

LibTest/html/HttpRequestUpload/onLoad_A01_t01.dart

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
/// @assertion final Stream<ProgressEvent> onLoad
66
/// Stream of load events handled by this HttpRequestEventTarget.
77
/// @description Checks the state of request at various moments of time.
8+
/// @author [email protected]
89
/// @Issue https://github.com/dart-lang/co19/issues/932
910
1011
import "dart:html";
1112
import "../../../Utils/expect.dart";
1213

1314
int get crossOriginPort {
1415
var searchUrl = window.location.search!;
15-
print("SearchURL=" + searchUrl);
1616
var crossOriginStr = 'crossOriginPort=';
1717
var index = searchUrl.indexOf(crossOriginStr);
1818
var nextArg = searchUrl.indexOf('&', index);
@@ -24,34 +24,20 @@ var port = crossOriginPort;
2424
var host = '${window.location.protocol}//${window.location.hostname}:$port';
2525

2626
main() {
27-
HttpRequest request = new HttpRequest();
28-
var url = '$host/root_dart/tests/co19/src/LibTest/html/xhr_cross_origin_data.txt';
29-
request.open('GET', url);
30-
Expect.equals(HttpRequest.OPENED, request.readyState, "after open");
31-
print("Log 1");
32-
HttpRequestUpload upload = request.upload;
27+
FormData data = FormData();
28+
List<String> file_contents = ["Lily was here"];
29+
Blob blob = new Blob(file_contents, 'text/plain', 'native');
30+
data.appendBlob("uploadData", blob);
31+
32+
var url = '$host/upload';
33+
final r = new HttpRequest();
34+
r.open("POST", url);
35+
HttpRequestUpload upload = r.upload;
3336
asyncStart();
34-
print("Log 2");
35-
upload.onLoad.listen((event) {
36-
print("Log 5");
37-
switch (request.readyState) {
38-
case HttpRequest.DONE:
39-
asyncEnd();
40-
break;
41-
case HttpRequest.HEADERS_RECEIVED:
42-
break;
43-
case HttpRequest.LOADING:
44-
break;
45-
default:
46-
Expect.fail(
47-
"request.onLoad.listen: unexpected readyState:${request.readyState}");
48-
}
49-
}, onError: (Object error) {
50-
print("Log 6");
51-
Expect.fail("request.onLoad.listen:onError($error)");
37+
upload.onLoad.listen((ProgressEvent event) {
38+
Expect.isNotNull(event.loaded);
39+
Expect.isTrue(event.loaded! > 0);
40+
asyncEnd();
5241
});
53-
print("Log 3");
54-
request.send();
55-
print("Log 4");
56-
Expect.equals(HttpRequest.OPENED, request.readyState, "after send");
42+
r.send(data);
5743
}

0 commit comments

Comments
 (0)