mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 23:38:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,15 @@
|
|||
def main(request, response):
|
||||
user = request.auth.username
|
||||
password = request.auth.password
|
||||
|
||||
if user == "user" and password == "password":
|
||||
return "Authentication done"
|
||||
|
||||
realm = "test"
|
||||
if "realm" in request.GET:
|
||||
realm = request.GET.first("realm")
|
||||
|
||||
return ((401, "Unauthorized"),
|
||||
[("WWW-Authenticate", 'Basic realm="' + realm + '"')],
|
||||
"Please login with credentials 'user' and 'password'")
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
def main(request, response):
|
||||
token = request.GET.first("token")
|
||||
if request.server.stash.take(token) is not None:
|
||||
return "1"
|
||||
else:
|
||||
return "0"
|
||||
1
testing/web-platform/tests/fetch/api/resources/data.json
Normal file
1
testing/web-platform/tests/fetch/api/resources/data.json
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"key": "value"}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
def main(request, response):
|
||||
headers = []
|
||||
request_headers = []
|
||||
if "headers" in request.GET:
|
||||
checked_headers = request.GET.first("headers").split("|")
|
||||
for header in checked_headers:
|
||||
if header in request.headers:
|
||||
headers.append(("x-request-" + header, request.headers.get(header, "") ))
|
||||
|
||||
if "cors" in request.GET:
|
||||
if "Origin" in request.headers:
|
||||
headers.append(("Access-Control-Allow-Origin", request.headers.get("Origin", "")))
|
||||
else:
|
||||
headers.append(("Access-Control-Allow-Origin", "*"))
|
||||
headers.append(("Access-Control-Allow-Credentials", "true"))
|
||||
headers.append(("Access-Control-Allow-Methods", "GET, POST, HEAD"))
|
||||
exposed_headers = ["x-request-" + header for header in checked_headers]
|
||||
headers.append(("Access-Control-Expose-Headers", ", ".join(exposed_headers)))
|
||||
headers.append(("Access-Control-Allow-Headers", ", ".join(request.headers)))
|
||||
|
||||
headers.append(("content-type", "text/plain"))
|
||||
return headers, ""
|
||||
11
testing/web-platform/tests/fetch/api/resources/method.py
Normal file
11
testing/web-platform/tests/fetch/api/resources/method.py
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
def main(request, response):
|
||||
headers = []
|
||||
if "cors" in request.GET:
|
||||
headers.append(("Access-Control-Allow-Origin", "*"))
|
||||
headers.append(("Access-Control-Allow-Credentials", "true"))
|
||||
headers.append(("Access-Control-Allow-Methods", "GET, POST, PUT, FOO"))
|
||||
headers.append(("Access-Control-Allow-Headers", "x-test, x-foo"))
|
||||
headers.append(("Access-Control-Expose-Headers", "x-request-method"))
|
||||
|
||||
headers.append(("x-request-method", request.method))
|
||||
return headers, request.body
|
||||
56
testing/web-platform/tests/fetch/api/resources/preflight.py
Normal file
56
testing/web-platform/tests/fetch/api/resources/preflight.py
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
def main(request, response):
|
||||
headers = [("Content-Type", "text/plain")]
|
||||
stashed_data = {'control_request_headers': "", 'preflight': "0", 'preflight_referrer': ""}
|
||||
|
||||
if "origin" in request.GET:
|
||||
for origin in request.GET['origin'].split(", "):
|
||||
headers.append(("Access-Control-Allow-Origin", origin))
|
||||
else:
|
||||
headers.append(("Access-Control-Allow-Origin", "*"))
|
||||
|
||||
if request.method == "OPTIONS":
|
||||
if not "Access-Control-Request-Method" in request.headers:
|
||||
response.set_error(400, "No Access-Control-Request-Method header")
|
||||
return "ERROR: No access-control-request-method in preflight!"
|
||||
|
||||
if "control_request_headers" in request.GET:
|
||||
stashed_data['control_request_headers'] = request.headers.get("Access-Control-Request-Headers", "")
|
||||
|
||||
if "max_age" in request.GET:
|
||||
headers.append(("Access-Control-Max-Age", request.GET['max_age']))
|
||||
|
||||
if "allow_headers" in request.GET:
|
||||
headers.append(("Access-Control-Allow-Headers", request.GET['allow_headers']))
|
||||
|
||||
if "allow_methods" in request.GET:
|
||||
headers.append(("Access-Control-Allow-Methods", request.GET['allow_methods']))
|
||||
|
||||
preflight_status = 200
|
||||
if "preflight_status" in request.GET:
|
||||
preflight_status = int(request.GET.first("preflight_status"))
|
||||
|
||||
stashed_data['preflight'] = "1"
|
||||
stashed_data['preflight_referrer'] = request.headers.get("Referer", "")
|
||||
request.server.stash.put(request.GET.first("token"), stashed_data)
|
||||
|
||||
return preflight_status, headers, ""
|
||||
|
||||
token = None
|
||||
if "token" in request.GET:
|
||||
token = request.GET.first("token")
|
||||
data = request.server.stash.take(token)
|
||||
if data:
|
||||
stashed_data = data
|
||||
|
||||
#use x-* headers for returning value to bodyless responses
|
||||
headers.append(("Access-Control-Expose-Headers", "x-did-preflight, x-control-request-headers, x-referrer, x-preflight-referrer, x-origin"))
|
||||
headers.append(("x-did-preflight", stashed_data['preflight']))
|
||||
headers.append(("x-control-request-headers", stashed_data['control_request_headers']))
|
||||
headers.append(("x-preflight-referrer", stashed_data['preflight_referrer']))
|
||||
headers.append(("x-referrer", request.headers.get("Referer", "") ))
|
||||
headers.append(("x-origin", request.headers.get("Origin", "") ))
|
||||
|
||||
if token:
|
||||
request.server.stash.put(token, stashed_data)
|
||||
|
||||
return headers, ""
|
||||
54
testing/web-platform/tests/fetch/api/resources/redirect.py
Normal file
54
testing/web-platform/tests/fetch/api/resources/redirect.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
from urllib import urlencode
|
||||
from urlparse import urlparse
|
||||
|
||||
def main(request, response):
|
||||
stashed_data = {'count': 0, 'preflight': "0"}
|
||||
status = 302
|
||||
headers = [("Content-Type", "text/plain"),
|
||||
("Cache-Control", "no-cache"),
|
||||
("Pragma", "no-cache"),
|
||||
("Access-Control-Allow-Origin", "*")]
|
||||
token = None
|
||||
|
||||
if "token" in request.GET:
|
||||
token = request.GET.first("token")
|
||||
data = request.server.stash.take(token)
|
||||
if data:
|
||||
stashed_data = data
|
||||
|
||||
if request.method == "OPTIONS":
|
||||
if "allow_headers" in request.GET:
|
||||
headers.append(("Access-Control-Allow-Headers", request.GET['allow_headers']))
|
||||
stashed_data['preflight'] = "1"
|
||||
#Preflight is not redirected: return 200
|
||||
if not "redirect_preflight" in request.GET:
|
||||
if token:
|
||||
request.server.stash.put(request.GET.first("token"), stashed_data)
|
||||
return 200, headers, ""
|
||||
|
||||
if "redirect_status" in request.GET:
|
||||
status = int(request.GET['redirect_status'])
|
||||
|
||||
stashed_data['count'] += 1
|
||||
|
||||
if "location" in request.GET:
|
||||
url = request.GET['location']
|
||||
scheme = urlparse(url).scheme
|
||||
if scheme == "" or scheme == "http" or scheme == "https":
|
||||
url += "&" if '?' in url else "?"
|
||||
#keep url parameters in location
|
||||
url += urlencode({key: request.GET.first(key) for key in request.GET.keys()})
|
||||
#make sure location changes during redirection loop
|
||||
url += "&count=" + str(stashed_data['count'])
|
||||
headers.append(("Location", url))
|
||||
|
||||
if token:
|
||||
request.server.stash.put(request.GET.first("token"), stashed_data)
|
||||
if "max_count" in request.GET:
|
||||
max_count = int(request.GET['max_count'])
|
||||
#stop redirecting and return count
|
||||
if stashed_data['count'] > max_count:
|
||||
# -1 because the last is not a redirection
|
||||
return str(stashed_data['count'] - 1)
|
||||
|
||||
return status, headers, ""
|
||||
9
testing/web-platform/tests/fetch/api/resources/status.py
Normal file
9
testing/web-platform/tests/fetch/api/resources/status.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
def main(request, response):
|
||||
code = int(request.GET.first("code", 200))
|
||||
text = request.GET.first("text", "OMG")
|
||||
content = request.GET.first("content", "")
|
||||
type = request.GET.first("type", "")
|
||||
status = (code, text)
|
||||
headers = [("Content-Type", type),
|
||||
("X-Request-Method", request.method)]
|
||||
return status, headers, content
|
||||
1
testing/web-platform/tests/fetch/api/resources/top.txt
Normal file
1
testing/web-platform/tests/fetch/api/resources/top.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
top
|
||||
12
testing/web-platform/tests/fetch/api/resources/trickle.py
Normal file
12
testing/web-platform/tests/fetch/api/resources/trickle.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import time
|
||||
|
||||
def main(request, response):
|
||||
delay = float(request.GET.first("ms", 500)) / 1E3
|
||||
count = int(request.GET.first("count", 50))
|
||||
time.sleep(delay)
|
||||
response.headers.set("Content-type", "text/plain")
|
||||
response.write_status_headers()
|
||||
time.sleep(delay);
|
||||
for i in xrange(count):
|
||||
response.writer.write_content("TEST_TRICKLE\n")
|
||||
time.sleep(delay)
|
||||
83
testing/web-platform/tests/fetch/api/resources/utils.js
Normal file
83
testing/web-platform/tests/fetch/api/resources/utils.js
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
var inWorker = false;
|
||||
var RESOURCES_DIR = "../resources/";
|
||||
|
||||
try {
|
||||
inWorker = !(self instanceof Window);
|
||||
} catch (e) {
|
||||
inWorker = true;
|
||||
}
|
||||
|
||||
function dirname(path) {
|
||||
return path.replace(/\/[^\/]*$/, '/')
|
||||
}
|
||||
|
||||
function checkRequest(request, ExpectedValuesDict) {
|
||||
for (var attribute in ExpectedValuesDict) {
|
||||
switch(attribute) {
|
||||
case "headers":
|
||||
for (var key in ExpectedValuesDict["headers"].keys()) {
|
||||
assert_equals(request["headers"].get(key), ExpectedValuesDict["headers"].get(key),
|
||||
"Check headers attribute has " + key + ":" + ExpectedValuesDict["headers"].get(key));
|
||||
}
|
||||
break;
|
||||
|
||||
case "body":
|
||||
//for checking body's content, a dedicated asyncronous/promise test should be used
|
||||
assert_true(request["headers"].has("Content-Type") , "Check request has body using Content-Type header")
|
||||
break;
|
||||
|
||||
case "method":
|
||||
case "referrer":
|
||||
case "referrerPolicy":
|
||||
case "credentials":
|
||||
case "cache":
|
||||
case "redirect":
|
||||
case "integrity":
|
||||
case "url":
|
||||
case "destination":
|
||||
assert_equals(request[attribute], ExpectedValuesDict[attribute], "Check " + attribute + " attribute")
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function stringToArray(str) {
|
||||
var array = new Uint8Array(str.length);
|
||||
for (var i=0, strLen = str.length; i < strLen; i++)
|
||||
array[i] = str.charCodeAt(i);
|
||||
return array;
|
||||
}
|
||||
|
||||
function validateBufferFromString(buffer, expectedValue, message)
|
||||
{
|
||||
return assert_array_equals(new Uint8Array(buffer !== undefined ? buffer : []), stringToArray(expectedValue), message);
|
||||
}
|
||||
|
||||
function validateStreamFromString(reader, expectedValue, retrievedArrayBuffer) {
|
||||
return reader.read().then(function(data) {
|
||||
if (!data.done) {
|
||||
assert_true(data.value instanceof Uint8Array, "Fetch ReadableStream chunks should be Uint8Array");
|
||||
var newBuffer;
|
||||
if (retrievedArrayBuffer) {
|
||||
newBuffer = new ArrayBuffer(data.value.length + retrievedArrayBuffer.length);
|
||||
newBuffer.set(retrievedArrayBuffer, 0);
|
||||
newBuffer.set(data.value, retrievedArrayBuffer.length);
|
||||
} else {
|
||||
newBuffer = data.value;
|
||||
}
|
||||
return validateStreamFromString(reader, expectedValue, newBuffer);
|
||||
}
|
||||
validateBufferFromString(retrievedArrayBuffer, expectedValue, "Retrieve and verify stream");
|
||||
});
|
||||
}
|
||||
|
||||
// From streams tests
|
||||
function delay(milliseconds)
|
||||
{
|
||||
return new Promise(function(resolve) {
|
||||
step_timeout(resolve, milliseconds);
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue