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

Side by Side Diff: third_party/WebKit/LayoutTests/external/wpt/fetch/api/resources/utils.js

Issue 2778753002: Import //fetch from Web Platform Tests. (Closed)
Patch Set: Baselines. Created 3 years, 8 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
OLDNEW
(Empty)
1 var inWorker = false;
2 var RESOURCES_DIR = "../resources/";
3
4 try {
5 inWorker = !(self instanceof Window);
6 } catch (e) {
7 inWorker = true;
8 }
9
10 function dirname(path) {
11 return path.replace(/\/[^\/]*$/, '/')
12 }
13
14 function checkRequest(request, ExpectedValuesDict) {
15 for (var attribute in ExpectedValuesDict) {
16 switch(attribute) {
17 case "headers":
18 for (var key in ExpectedValuesDict["headers"].keys()) {
19 assert_equals(request["headers"].get(key), ExpectedValuesDict["headers "].get(key),
20 "Check headers attribute has " + key + ":" + ExpectedValuesDict["hea ders"].get(key));
21 }
22 break;
23
24 case "body":
25 //for checking body's content, a dedicated asyncronous/promise test shou ld be used
26 assert_true(request["headers"].has("Content-Type") , "Check request has body using Content-Type header")
27 break;
28
29 case "method":
30 case "referrer":
31 case "referrerPolicy":
32 case "credentials":
33 case "cache":
34 case "redirect":
35 case "integrity":
36 case "url":
37 case "destination":
38 assert_equals(request[attribute], ExpectedValuesDict[attribute], "Check " + attribute + " attribute")
39 break;
40
41 default:
42 break;
43 }
44 }
45 }
46
47 function stringToArray(str) {
48 var array = new Uint8Array(str.length);
49 for (var i=0, strLen = str.length; i < strLen; i++)
50 array[i] = str.charCodeAt(i);
51 return array;
52 }
53
54 function encode_utf8(str)
55 {
56 if (self.TextEncoder)
57 return (new TextEncoder).encode(str);
58 return stringToArray(unescape(encodeURIComponent(str)));
59 }
60
61 function validateBufferFromString(buffer, expectedValue, message)
62 {
63 return assert_array_equals(new Uint8Array(buffer !== undefined ? buffer : []), stringToArray(expectedValue), message);
64 }
65
66 function validateStreamFromString(reader, expectedValue, retrievedArrayBuffer) {
67 return reader.read().then(function(data) {
68 if (!data.done) {
69 assert_true(data.value instanceof Uint8Array, "Fetch ReadableStream chunks should be Uint8Array");
70 var newBuffer;
71 if (retrievedArrayBuffer) {
72 newBuffer = new ArrayBuffer(data.value.length + retrievedArrayBuffer.le ngth);
73 newBuffer.set(retrievedArrayBuffer, 0);
74 newBuffer.set(data.value, retrievedArrayBuffer.length);
75 } else {
76 newBuffer = data.value;
77 }
78 return validateStreamFromString(reader, expectedValue, newBuffer);
79 }
80 validateBufferFromString(retrievedArrayBuffer, expectedValue, "Retrieve and verify stream");
81 });
82 }
83
84 // From streams tests
85 function delay(milliseconds)
86 {
87 return new Promise(function(resolve) {
88 step_timeout(resolve, milliseconds);
89 });
90 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698