Diff
Modified: trunk/LayoutTests/ChangeLog (272581 => 272582)
--- trunk/LayoutTests/ChangeLog 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/ChangeLog 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,3 +1,54 @@
+2021-02-09 Chris Gambrell <[email protected]>
+
+ [LayoutTests] Convert http/tests/inspector/ convert PHP to Python
+ https://bugs.webkit.org/show_bug.cgi?id=221140
+ <rdar://problem/73758592>
+
+ Reviewed by Jonathan Bedard.
+
+ * http/tests/inspector/network/beacon-type.html:
+ * http/tests/inspector/network/fetch-response-body-304.html:
+ * http/tests/inspector/network/fetch-response-body.html:
+ * http/tests/inspector/network/intercept-request-properties-expected.txt:
+ * http/tests/inspector/network/intercept-request-properties.html:
+ * http/tests/inspector/network/ping-type.html:
+ * http/tests/inspector/network/resource-mime-type.html:
+ * http/tests/inspector/network/resource-request-headers.html:
+ * http/tests/inspector/network/resource-sizes-network.html:
+ * http/tests/inspector/network/resource-timing.html:
+ * http/tests/inspector/network/resources/404.php: Removed.
+ * http/tests/inspector/network/resources/404.py: Added.
+ * http/tests/inspector/network/resources/basic-auth.php: Removed.
+ * http/tests/inspector/network/resources/basic-auth.py: Added.
+ * http/tests/inspector/network/resources/beacon.php: Removed.
+ * http/tests/inspector/network/resources/beacon.py: Added.
+ * http/tests/inspector/network/resources/delay.php: Removed.
+ * http/tests/inspector/network/resources/delay.py: Added.
+ * http/tests/inspector/network/resources/echo.php: Removed.
+ * http/tests/inspector/network/resources/echo.py: Added.
+ * http/tests/inspector/network/resources/fetch-cachable.php: Removed.
+ * http/tests/inspector/network/resources/fetch-cachable.py: Added.
+ * http/tests/inspector/network/resources/gzipped-lorem-no-content-length.php: Removed.
+ * http/tests/inspector/network/resources/gzipped-lorem-no-content-length.py: Added.
+ * http/tests/inspector/network/resources/gzipped-lorem.php: Removed.
+ * http/tests/inspector/network/resources/gzipped-lorem.py: Added.
+ * http/tests/inspector/network/resources/intercept-echo.php: Removed.
+ * http/tests/inspector/network/resources/intercept-echo.py: Added.
+ * http/tests/inspector/network/resources/json.php: Removed.
+ * http/tests/inspector/network/resources/json.py: Added.
+ * http/tests/inspector/network/resources/ping.php: Removed.
+ * http/tests/inspector/network/resources/ping.py: Added.
+ * http/tests/inspector/network/resources/redirect.php: Removed.
+ * http/tests/inspector/network/resources/redirect.py: Added.
+ * http/tests/inspector/network/resources/x-frame-options.php: Removed.
+ * http/tests/inspector/network/resources/x-frame-options.py: Added.
+ * http/tests/inspector/network/x-frame-options-expected.txt:
+ * http/tests/inspector/network/x-frame-options.html:
+ * http/tests/inspector/network/xhr-response-body.html:
+ * http/tests/inspector/page/get-cookies.html:
+ * http/tests/inspector/page/resources/set-cookie.php: Removed.
+ * http/tests/inspector/page/resources/set-cookie.py: Added.
+
2021-02-09 Philippe Normand <[email protected]>
Permission request API for MediaKeySystem access support
Modified: trunk/LayoutTests/http/tests/inspector/network/beacon-type.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/beacon-type.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/beacon-type.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -5,15 +5,15 @@
<script src=""
<script>
function triggerBeaconWith204Response() {
- navigator.sendBeacon("resources/beacon.php?status=204");
+ navigator.sendBeacon("resources/beacon.py?status=204");
}
function triggerBeaconWith404Response() {
- navigator.sendBeacon("resources/beacon.php?status=404");
+ navigator.sendBeacon("resources/beacon.py?status=404");
}
function triggerBeaconWithData() {
- navigator.sendBeacon("resources/beacon.php", "SENDING-DATA");
+ navigator.sendBeacon("resources/beacon.py", "SENDING-DATA");
}
// ----
Modified: trunk/LayoutTests/http/tests/inspector/network/fetch-response-body-304.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/fetch-response-body-304.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/fetch-response-body-304.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -5,11 +5,11 @@
<script src=""
<script>
function createFetchForPHP200() {
- fetch("resources/fetch-cachable.php", { headers: { 'X-Status-Code-Needed': '200' } });
+ fetch("resources/fetch-cachable.py", { headers: { 'X-Status-Code-Needed': '200' } });
}
function createFetchForPHP304() {
- fetch("resources/fetch-cachable.php", { headers: { 'X-Status-Code-Needed': '304' } });
+ fetch("resources/fetch-cachable.py", { headers: { 'X-Status-Code-Needed': '304' } });
}
function createFetchForFile200() {
Modified: trunk/LayoutTests/http/tests/inspector/network/fetch-response-body.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/fetch-response-body.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/fetch-response-body.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -17,11 +17,11 @@
}
function createFetchForJSON2() {
- fetch(`resources/echo.php?mimetype=application/json&content={"json":true,"value":42}`);
+ fetch(`resources/echo.py?mimetype=application/json&content={"json":true,"value":42}`);
}
function createFetchForJSON3() {
- fetch(`resources/echo.php?mimetype=application/vnd.api%2Bjson&content={"json":true,"value":999}`);
+ fetch(`resources/echo.py?mimetype=application/vnd.api%2Bjson&content={"json":true,"value":999}`);
}
function createFetchForSVG() {
Modified: trunk/LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt 2021-02-09 17:36:11 UTC (rev 272582)
@@ -5,35 +5,32 @@
-- Running test case: Network.interceptRequest.Method
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: POST
Request Headers:
- Content-Length: 0
-- Running test case: Network.interceptRequest.MethodDelete
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: DELETE
Request Headers:
- Content-Length: 0
-- Running test case: Network.interceptRequest.MethodNonStandard
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: NONSTANDARD
Request Headers:
- Content-Length: 0
-- Running test case: Network.interceptRequest.MethodEmpty
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: GET
Request Headers:
@@ -40,8 +37,8 @@
-- Running test case: Network.interceptRequest.URL
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php?newURL=value
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php?newURL=value
+ URI: /inspector/network/resources/intercept-echo.py?newURL=value
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py?newURL=value
Method: GET
Request Headers:
Get:
@@ -50,8 +47,8 @@
-- Running test case: Network.interceptRequest.URLFragment
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: GET
Request Headers:
@@ -58,8 +55,8 @@
-- Running test case: Network.interceptRequest.URLEmpty
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: GET
Request Headers:
@@ -66,8 +63,8 @@
-- Running test case: Network.interceptRequest.Headers
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: GET
Request Headers:
X-Value: overridden
@@ -75,11 +72,10 @@
-- Running test case: Network.interceptRequest.PostData
Triggering load...
Request details:
- URI: /inspector/network/resources/intercept-echo.php
- Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php
+ URI: /inspector/network/resources/intercept-echo.py
+ Response URL: http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py
Method: POST
Request Headers:
- Content-Length: 16
Content-Type: application/x-www-form-urlencoded
Post:
value: overridden
Modified: trunk/LayoutTests/http/tests/inspector/network/intercept-request-properties.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/intercept-request-properties.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/intercept-request-properties.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -82,7 +82,7 @@
name,
description,
async test() {
- let localResourceOverride = WI.LocalResourceOverride.create("http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php", WI.LocalResourceOverride.InterceptType.Request, override);
+ let localResourceOverride = WI.LocalResourceOverride.create("http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py", WI.LocalResourceOverride.InterceptType.Request, override);
WI.networkManager.addLocalResourceOverride(localResourceOverride);
InspectorTest.log("Triggering load...");
@@ -99,7 +99,7 @@
addTestCase({
name: "Network.interceptRequest.Method",
description: "Tests request method interception",
- _expression_: "fetchData('resources/intercept-echo.php')",
+ _expression_: "fetchData('resources/intercept-echo.py')",
override: { requestMethod: "POST" },
});
@@ -106,7 +106,7 @@
addTestCase({
name: "Network.interceptRequest.MethodDelete",
description: "Tests request method interception with DELETE",
- _expression_: "fetchData('resources/intercept-echo.php')",
+ _expression_: "fetchData('resources/intercept-echo.py')",
override: { requestMethod: "DELETE" },
});
@@ -113,7 +113,7 @@
addTestCase({
name: "Network.interceptRequest.MethodNonStandard",
description: "Tests request method interception with NONSTANDARD",
- _expression_: "fetchData('resources/intercept-echo.php')",
+ _expression_: "fetchData('resources/intercept-echo.py')",
override: { requestMethod: "NONSTANDARD" },
});
@@ -120,7 +120,7 @@
addTestCase({
name: "Network.interceptRequest.MethodEmpty",
description: "Tests request method interception with empty string",
- _expression_: "fetchData('resources/intercept-echo.php')",
+ _expression_: "fetchData('resources/intercept-echo.py')",
override: { requestMethod: "" },
});
@@ -127,21 +127,21 @@
addTestCase({
name: "Network.interceptRequest.URL",
description: "Tests request method interception with different URL",
- _expression_: "fetchData('resources/intercept-echo.php')",
- override: { requestURL: "http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php?newURL=value" },
+ _expression_: "fetchData('resources/intercept-echo.py')",
+ override: { requestURL: "http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py?newURL=value" },
});
addTestCase({
name: "Network.interceptRequest.URLFragment",
description: "Tests request method interception with URL with fragment",
- _expression_: "fetchData('resources/intercept-echo.php')",
- override: { requestURL: "http://127.0.0.1:8000/inspector/network/resources/intercept-echo.php#fragment" },
+ _expression_: "fetchData('resources/intercept-echo.py')",
+ override: { requestURL: "http://127.0.0.1:8000/inspector/network/resources/intercept-echo.py#fragment" },
});
addTestCase({
name: "Network.interceptRequest.URLEmpty",
description: "Tests request method interception with empty URL",
- _expression_: "fetchData('resources/intercept-echo.php')",
+ _expression_: "fetchData('resources/intercept-echo.py')",
override: { requestURL: "" },
});
@@ -148,7 +148,7 @@
addTestCase({
name: "Network.interceptRequest.Headers",
description: "Tests request headers interception",
- _expression_: "fetchData('resources/intercept-echo.php')",
+ _expression_: "fetchData('resources/intercept-echo.py')",
override: { requestHeaders: { "X-Value": "overridden" } },
});
@@ -155,7 +155,7 @@
addTestCase({
name: "Network.interceptRequest.PostData",
description: "Tests request post data interception",
- _expression_: "postData('resources/intercept-echo.php')",
+ _expression_: "postData('resources/intercept-echo.py')",
override: {
requestMethod: "POST",
requestHeaders: {
Modified: trunk/LayoutTests/http/tests/inspector/network/ping-type.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/ping-type.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/ping-type.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -88,7 +88,7 @@
</head>
<body _onload_="runTest()">
<p>Tests for Resource.Type.Ping.</p>
-<a id="a204" href="" ping="resources/ping.php?status=204">Ping 204</a>
-<a id="a404" href="" ping="resources/ping.php?status=404">Ping 404</a>
+<a id="a204" href="" ping="resources/ping.py?status=204">Ping 204</a>
+<a id="a404" href="" ping="resources/ping.py?status=404">Ping 404</a>
</body>
</html>
Modified: trunk/LayoutTests/http/tests/inspector/network/resource-mime-type.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resource-mime-type.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resource-mime-type.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -180,7 +180,7 @@
addTestCase({
name: "Resource.MIMEType.XHR.json",
- _expression_: `loadXHRWithURL("resources/json.php")`,
+ _expression_: `loadXHRWithURL("resources/json.py")`,
type: WI.Resource.Type.XHR,
mimeType: mimeTypeForExtension.json,
synthetic: mimeTypeForExtension.json,
@@ -230,7 +230,7 @@
addTestCase({
name: "Resource.MIMEType.Fetch.json",
- _expression_: `loadFetchWithURL("resources/json.php")`,
+ _expression_: `loadFetchWithURL("resources/json.py")`,
type: WI.Resource.Type.Fetch,
mimeType: mimeTypeForExtension.json,
synthetic: mimeTypeForExtension.json,
@@ -280,7 +280,7 @@
addDocumentResourceTestCase({
name: "Resource.MIMEType.Document.json",
- _expression_: `loadDocumentWithURL("resources/json.php")`,
+ _expression_: `loadDocumentWithURL("resources/json.py")`,
type: WI.Resource.Type.Document,
mimeType: mimeTypeForExtension.json,
synthetic: mimeTypeForExtension.json,
Modified: trunk/LayoutTests/http/tests/inspector/network/resource-request-headers.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resource-request-headers.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resource-request-headers.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -13,7 +13,7 @@
function triggerNetworkLoadWithBasicAuthentication(username, password) {
let xhr = new XMLHttpRequest();
- xhr.open("GET", "resources/basic-auth.php?" + Math.random(), true, username, password);
+ xhr.open("GET", "resources/basic-auth.py?" + Math.random(), true, username, password);
xhr._onload_ = xhr._onerror_ = () => { TestPage.dispatchEventToFrontend("LoadComplete"); };
xhr.send();
}
Modified: trunk/LayoutTests/http/tests/inspector/network/resource-sizes-network.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resource-sizes-network.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resource-sizes-network.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -52,7 +52,7 @@
addResourceSizeTest(suite, {
name: "Resource.Size.Network.text.gzipped",
description: "Sizes of a gzipped text resource",
- url: "resources/gzipped-lorem.php?" + Math.random(),
+ url: "resources/gzipped-lorem.py?" + Math.random(),
statusCode: 200,
compressed: true,
responseSource: WI.Resource.ResponseSource.Network,
@@ -62,7 +62,7 @@
addResourceSizeTest(suite, {
name: "Resource.Size.Network.text.gzipped.no-content-length",
description: "Sizes of a gzipped text resource without a content-length attribute.",
- url: "resources/gzipped-lorem-no-content-length.php?" + Math.random(),
+ url: "resources/gzipped-lorem-no-content-length.py?" + Math.random(),
statusCode: 200,
compressed: true,
responseSource: WI.Resource.ResponseSource.Network,
@@ -82,7 +82,7 @@
addResourceSizeTest(suite, {
name: "Resource.Size.Network.404",
description: "Sizes of a 404 response.",
- url: "resources/404.php?" + Math.random(),
+ url: "resources/404.py?" + Math.random(),
statusCode: 404,
compressed: false,
responseSource: WI.Resource.ResponseSource.Network,
Modified: trunk/LayoutTests/http/tests/inspector/network/resource-timing.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resource-timing.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resource-timing.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -12,7 +12,7 @@
function createRedirectRequest(delay) {
let iframe = document.createElement("iframe");
- iframe.src = ""
+ iframe.src = ""
document.body.appendChild(iframe);
}
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/404.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/404.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/404.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,10 +0,0 @@
-<?php
-header("HTTP/1.1 404 Not Found");
-
-# Non-empty response.
-$str = "12345678";
-for ($i = 0; $i < 6; ++$i)
- $str .= $str;
-echo $str;
-
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/404.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/404.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/404.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,16 @@
+#!/usr/bin/env python3
+
+import sys
+
+s = '12345678'
+for i in range(0, 6):
+ s += s
+
+sys.stdout.write(
+ 'Content-Type: text/html\r\n'
+ 'Content-Length: {}\r\n'
+ 'status: 404\r\n'
+ '\r\n'.format(len(s))
+)
+
+sys.stdout.write(s)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/404.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,14 +0,0 @@
-<?php
-$expectedUsername = "goodUsername";
-$expectedPassword = "goodPassword";
-$realm = $_SERVER["REQUEST_URI"];
-
-if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != $expectedUsername ||
- !isset($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_PW'] != $expectedPassword) {
- header("WWW-Authenticate: Basic realm=\"" . $realm . "\"");
- header("HTTP/1.0 401 Unauthorized");
- print "Bad username:password (" . $_SERVER['PHP_AUTH_USER'] . ":" . $_SERVER["PHP_AUTH_PW"] . ")";
- exit;
-}
-?>
-Success
Added: trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+
+import base64
+import os
+import sys
+
+sys.stdout.write('Content-Type: text/html' + '\r\n')
+
+expectedUsername = 'goodUsername'
+expectedPassword = 'goodPassword'
+realm = os.environ.get('REQUEST_URI')
+
+credentials = base64.b64decode(os.environ.get('HTTP_AUTHORIZATION', ' Og==').split(' ')[1]).decode().split(':')
+username = credentials[0]
+password = ':'.join(credentials[1:])
+
+if (username != expectedUsername) or (password != expectedPassword):
+ sys.stdout.write(
+ 'WWW-Authenticate: Basic realm=\"{}\"\r\n'
+ 'status: 401\r\n'
+ '\r\n'.format(realm)
+ )
+
+ sys.stdout.write('Bad username:password ({}:{})'.format(username, password))
+else:
+ sys.stdout.write('\r\n')
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/basic-auth.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/beacon.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/beacon.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/beacon.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,15 +0,0 @@
-<?php
-$status = isset($_GET['status']) ? $_GET['status'] : 200;
-
-if ($status == 204) {
- header("HTTP/1.1 204 No Content");
- exit;
-}
-
-if ($status == 404) {
- header("HTTP/1.1 404 Not Found");
- exit;
-}
-
-echo "Success";
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/beacon.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/beacon.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/beacon.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,16 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+from urllib.parse import parse_qs
+
+status = int(parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True).get('status', [200])[0])
+
+sys.stdout.write('Content-Type: text/html\r\n')
+
+if status == 204:
+ sys.stdout.write('status: 204\r\n\r\n')
+elif status == 404:
+ sys.stdout.write('status: 404\r\n\r\n')
+else:
+ sys.stdout.write('\r\nSuccess')
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/beacon.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/delay.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/delay.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/delay.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,11 +0,0 @@
-<?php
-
-$delay = isset($_GET['delay']) ? intval($_GET['delay']) : 100;
-$redirect = isset($_GET['redirect']) ? intval($_GET['redirect']) : 'redirect.php';
-
-usleep($delay * 1000);
-
-header('Location: ' . $redirect);
-
-?>
-
Added: trunk/LayoutTests/http/tests/inspector/network/resources/delay.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/delay.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/delay.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import time
+from urllib.parse import parse_qs
+
+sys.stdout.write('Content-Type: text/html\r\n')
+
+query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
+delay = int(query.get('delay', [100])[0])
+redirect = query.get('redirect', ['redirect.py'])[0]
+
+# php usleep is in microseconds
+# python time.sleep is in seconds
+time.sleep(delay / 1000)
+
+sys.stdout.write('Location: {}\r\n\r\n'.format(redirect))
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/delay.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/echo.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/echo.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/echo.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,7 +0,0 @@
-<?php
-$mimeType = isset($_GET['mimetype']) ? $_GET['mimetype'] : 'text/plain';
-$content = isset($_GET['content']) ? $_GET['content'] : 'Missing mimetype or content query parameter.';
-
-header("Content-Type: $mimeType");
-echo $content;
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/echo.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/echo.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/echo.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,12 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+from urllib.parse import parse_qs
+
+query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
+mimeType = query.get('mimetype', ['text/plain'])[0]
+content = query.get('content', ['Missing mimetype or content query parameter.'])[0]
+
+sys.stdout.write('Content-Type: {}\r\n\r\n'.format(mimeType))
+sys.stdout.write(content)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/echo.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,14 +0,0 @@
-<?php
-$status = $_SERVER['HTTP_X_STATUS_CODE_NEEDED'];
-
-if ($status == '304') {
- header("HTTP/1.1 304 Not Modified");
- exit;
-}
-
-header('Content-Type: text/plain');
-header("Cache-Control: public, max-age=31556926"); // One year.
-
-
-echo "Plain text resource.";
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+
+status = os.environ.get('HTTP_X_STATUS_CODE_NEEDED')
+
+if status == '304':
+ sys.stdout.write(
+ 'Content-Type: text/html\r\n'
+ 'status: 304\r\n'
+ '\r\n'
+ )
+else:
+ sys.stdout.write(
+ 'Content-Type: text/plain\r\n'
+ 'Cache-Control: public, max-age=31556926\r\n'
+ '\r\n'
+ )
+
+ sys.stdout.write('Plain text resource.')
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/fetch-cachable.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,10 +0,0 @@
-<?php
-$text = file_get_contents("./lorem.txt");
-$gzipText = gzencode($text, 6);
-
-header("Content-Type: text/plain");
-header("Content-Encoding: gzip");
-flush(); // Send headers without Content-Length.
-
-echo $gzipText;
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+
+import gzip
+import os
+import sys
+
+text = b'''Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a luctus justo, a placerat est. Vestibulum a venenatis lectus. Phasellus vehicula neque id est semper, ac congue felis commodo. Suspendisse potenti. Nam eget placerat erat. Nulla ultricies consequat eros ac vestibulum. Aliquam imperdiet massa augue, nec faucibus nisi semper ac. Ut nibh nisl, iaculis id mattis sit amet, ultricies sed eros. Vivamus vel mi ante. Praesent commodo finibus justo, sed hendrerit urna convallis eget. Maecenas condimentum mi elit, eu gravida eros consequat at. Nulla rutrum lorem neque, ut finibus metus posuere non. Quisque nulla justo, scelerisque sed ornare eu, aliquet id est. Ut at ornare dui.
+
+In ipsum nisl, luctus sed rhoncus vitae, euismod vel neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec eu faucibus turpis. Duis tempus commodo neque, eu lobortis risus faucibus a. Cras massa leo, tristique eu diam vel, hendrerit pellentesque ex. Donec dapibus quam ut sodales rhoncus. Vivamus mollis ornare est. Suspendisse et dapibus enim, in viverra eros.
+
+Integer commodo nisl ac nisl suscipit feugiat. Mauris pharetra, tellus id aliquam consectetur, quam nisi lobortis mi, id sagittis sem risus at nisi. Donec venenatis maximus finibus. Nullam laoreet arcu vitae lacus bibendum accumsan. Fusce in leo et lacus ornare venenatis. Aliquam odio nulla, convallis non ornare quis, facilisis eget ex. In sed nibh dapibus, scelerisque elit eget, egestas justo. Nulla et dolor dapibus, scelerisque risus quis, consectetur neque. Aliquam quis quam mi. Nulla lacus justo, lacinia eu tortor eget, convallis faucibus risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
+
+Sed fermentum vehicula augue, at sollicitudin quam consequat sit amet. Sed condimentum nec mauris et rhoncus. Aliquam euismod urna vestibulum, iaculis lectus non, sagittis urna. Cras vitae sodales quam. Aliquam ligula tortor, suscipit at lobortis et, venenatis vitae arcu. Phasellus tempor nulla id mauris interdum pellentesque. Maecenas dignissim leo ipsum, sed maximus lectus suscipit sit amet. Suspendisse et nulla in sem condimentum venenatis semper a neque. Cras ac imperdiet arcu. Aliquam et ex eu elit iaculis ornare at et metus. Quisque rhoncus tristique ligula ullamcorper mollis.
+
+Curabitur pretium, dolor vel feugiat sodales, quam ipsum lobortis leo, vel dapibus felis diam a tellus. Integer accumsan maximus lorem. Vestibulum finibus posuere orci a convallis. Ut eu hendrerit nibh. Suspendisse varius ut ex ac aliquam. Morbi nec tellus sed arcu viverra interdum vitae quis lacus. In sodales nisl at tortor blandit, eget gravida libero lacinia. Cras at leo libero. Aenean tempor hendrerit commodo. Cras in lacinia erat. Vestibulum vitae interdum purus, ut luctus tellus. Nulla mauris massa, auctor sed enim efficitur, varius lobortis mauris. Fusce sit amet massa a ante facilisis sagittis.
+'''
+compressed = gzip.compress(text, compresslevel=6)
+
+sys.stdout.write(
+ 'Content-Type: text/plain\r\n'
+ 'Content-Encoding: gzip\r\n'
+ '\r\n'
+)
+sys.stdout.flush()
+
+os.write(sys.stdout.fileno(), compressed)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem-no-content-length.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,10 +0,0 @@
-<?php
-$text = file_get_contents("./lorem.txt");
-$gzipText = gzencode($text, 6);
-
-header("Content-Type: text/plain");
-header("Content-Encoding: gzip");
-header("Content-Length: " . strlen($gzipText));
-
-echo $gzipText;
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+
+import gzip
+import os
+import sys
+
+text = b'''Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a luctus justo, a placerat est. Vestibulum a venenatis lectus. Phasellus vehicula neque id est semper, ac congue felis commodo. Suspendisse potenti. Nam eget placerat erat. Nulla ultricies consequat eros ac vestibulum. Aliquam imperdiet massa augue, nec faucibus nisi semper ac. Ut nibh nisl, iaculis id mattis sit amet, ultricies sed eros. Vivamus vel mi ante. Praesent commodo finibus justo, sed hendrerit urna convallis eget. Maecenas condimentum mi elit, eu gravida eros consequat at. Nulla rutrum lorem neque, ut finibus metus posuere non. Quisque nulla justo, scelerisque sed ornare eu, aliquet id est. Ut at ornare dui.
+
+In ipsum nisl, luctus sed rhoncus vitae, euismod vel neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec eu faucibus turpis. Duis tempus commodo neque, eu lobortis risus faucibus a. Cras massa leo, tristique eu diam vel, hendrerit pellentesque ex. Donec dapibus quam ut sodales rhoncus. Vivamus mollis ornare est. Suspendisse et dapibus enim, in viverra eros.
+
+Integer commodo nisl ac nisl suscipit feugiat. Mauris pharetra, tellus id aliquam consectetur, quam nisi lobortis mi, id sagittis sem risus at nisi. Donec venenatis maximus finibus. Nullam laoreet arcu vitae lacus bibendum accumsan. Fusce in leo et lacus ornare venenatis. Aliquam odio nulla, convallis non ornare quis, facilisis eget ex. In sed nibh dapibus, scelerisque elit eget, egestas justo. Nulla et dolor dapibus, scelerisque risus quis, consectetur neque. Aliquam quis quam mi. Nulla lacus justo, lacinia eu tortor eget, convallis faucibus risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
+
+Sed fermentum vehicula augue, at sollicitudin quam consequat sit amet. Sed condimentum nec mauris et rhoncus. Aliquam euismod urna vestibulum, iaculis lectus non, sagittis urna. Cras vitae sodales quam. Aliquam ligula tortor, suscipit at lobortis et, venenatis vitae arcu. Phasellus tempor nulla id mauris interdum pellentesque. Maecenas dignissim leo ipsum, sed maximus lectus suscipit sit amet. Suspendisse et nulla in sem condimentum venenatis semper a neque. Cras ac imperdiet arcu. Aliquam et ex eu elit iaculis ornare at et metus. Quisque rhoncus tristique ligula ullamcorper mollis.
+
+Curabitur pretium, dolor vel feugiat sodales, quam ipsum lobortis leo, vel dapibus felis diam a tellus. Integer accumsan maximus lorem. Vestibulum finibus posuere orci a convallis. Ut eu hendrerit nibh. Suspendisse varius ut ex ac aliquam. Morbi nec tellus sed arcu viverra interdum vitae quis lacus. In sodales nisl at tortor blandit, eget gravida libero lacinia. Cras at leo libero. Aenean tempor hendrerit commodo. Cras in lacinia erat. Vestibulum vitae interdum purus, ut luctus tellus. Nulla mauris massa, auctor sed enim efficitur, varius lobortis mauris. Fusce sit amet massa a ante facilisis sagittis.
+'''
+compressed = gzip.compress(text, compresslevel=6)
+
+sys.stdout.write(
+ 'Content-Type: text/plain\r\n'
+ 'Content-Encoding: gzip\r\n'
+ 'Content-Length: {}\r\n'
+ '\r\n'.format(len(compressed)))
+sys.stdout.flush()
+
+os.write(sys.stdout.fileno(), compressed)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/gzipped-lorem.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,18 +0,0 @@
-{
- "uri": "<?php echo $_SERVER['REQUEST_URI'] ?>",
- "method": "<?php echo $_SERVER['REQUEST_METHOD']; ?>",
- "headers": {
-<?php foreach (getallheaders() as $name => $value) { ?>
- "<?php echo $name; ?>": "<?php echo $value; ?>",
-<?php } ?> },
- "get": {
-<?php foreach ($_GET as $name => $value) { ?>
- "<?php echo $name; ?>": "<?php echo $value; ?>",
-<?php } ?>
- },
- "post": {
-<?php foreach ($_POST as $name => $value) { ?>
- "<?php echo $name; ?>": "<?php echo $value; ?>",
-<?php } ?>
- },
-}
Added: trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,54 @@
+#!/usr/bin/env python3
+
+import cgi
+import os
+import sys
+from urllib.parse import parse_qs
+
+headers = {}
+for headername, headervalue in os.environ.items():
+ if not headername.startswith('HTTP_'):
+ continue
+
+ header = list(headername[5:].lower().replace('_', '-'))
+ header[0] = header[0].upper()
+ for i in range(1, len(header)):
+ if header[i-1] == '-':
+ header[i] = header[i].upper()
+
+ headers[''.join(header)] = headervalue
+
+content_type = os.environ.get('CONTENT_TYPE')
+if content_type:
+ headers['Content-Type'] = content_type
+
+query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
+method = os.environ.get('REQUEST_METHOD')
+
+sys.stdout.write('Content-Type: text/html\r\n\r\n')
+
+sys.stdout.write('{\n')
+sys.stdout.write(' "uri": "{}",\n'.format(os.environ.get('REQUEST_URI')))
+sys.stdout.write(' "method": "{}",\n'.format(method))
+
+sys.stdout.write(' "headers": {\n')
+for key in headers:
+ sys.stdout.write(' "{}": "{}",\n'.format(key, headers[key]))
+sys.stdout.write(' },\n')
+
+sys.stdout.write(' "get": {\n')
+if method == 'GET':
+ for key in query:
+ sys.stdout.write(' "{}": "{}",\n'.format(key, query[key][0]))
+sys.stdout.write(' },\n')
+
+sys.stdout.write(' "post": {\n')
+if method == 'POST':
+ form = cgi.FieldStorage()
+ for key in sorted(form.keys()):
+ if not form[key].filename and key:
+ sys.stdout.write(' "{}": "{}",'.format(key, form[key].value))
+
+sys.stdout.write(' },\n')
+
+sys.stdout.write('}\n')
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/intercept-echo.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/json.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/json.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/json.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,4 +0,0 @@
-<?php
-header("Content-Type: application/json");
-echo '{"version": 1}';
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/json.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/json.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/json.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,8 @@
+#!/usr/bin/env python3
+
+import sys
+
+sys.stdout.write(
+ 'Content-Type: application/json\r\n\r\n'
+ '{\"version\": 1}'
+)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/json.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/ping.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/ping.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/ping.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,15 +0,0 @@
-<?php
-$status = isset($_GET['status']) ? $_GET['status'] : 200;
-
-if ($status == 204) {
- header("HTTP/1.1 204 No Content");
- exit;
-}
-
-if ($status == 404) {
- header("HTTP/1.1 404 Not Found");
- exit;
-}
-
-echo "Success";
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/ping.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/ping.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/ping.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+from urllib.parse import parse_qs
+
+sys.stdout.write('Content-Type: text/html\r\n')
+
+status = int(parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True).get('status', [200])[0])
+
+if status == 204:
+ sys.stdout.write('status: 204\r\n\r\n')
+elif status == 404:
+ sys.stdout.write('status: 404\r\n\r\n')
+else:
+ sys.stdout.write(
+ '\r\n'
+ 'Success'
+ )
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/ping.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/redirect.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/redirect.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/redirect.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,5 +0,0 @@
-<?php
-
-echo 'Redirect';
-
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/redirect.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/redirect.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/redirect.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,8 @@
+#!/usr/bin/env python3
+
+import sys
+
+sys.stdout.write(
+ 'Content-Type: text/html\r\n\r\n'
+ 'Redirect'
+)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/redirect.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Deleted: trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,9 +0,0 @@
-<?php
-
-$option = isset($_GET['option']) ? $_GET['option'] : 'DENY';
-
-header('X-Frame-Options: ' . $option);
-
-echo $option;
-
-?>
Added: trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+from urllib.parse import parse_qs
+
+option = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True).get('option', ['DENY'])[0]
+
+sys.stdout.write(
+ 'Content-Type: text/html\r\n'
+ 'X-Frame-Options: {}\r\n'
+ '\r\n'.format(option)
+)
+
+sys.stdout.write(option)
\ No newline at end of file
Property changes on: trunk/LayoutTests/http/tests/inspector/network/resources/x-frame-options.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property
Modified: trunk/LayoutTests/http/tests/inspector/network/x-frame-options-expected.txt (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/x-frame-options-expected.txt 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/x-frame-options-expected.txt 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: Refused to display 'http://127.0.0.1:8000/inspector/network/resources/x-frame-options.php?option=DENY' in a frame because it set 'X-Frame-Options' to 'DENY'.
+CONSOLE MESSAGE: Refused to display 'http://127.0.0.1:8000/inspector/network/resources/x-frame-options.py?option=DENY' in a frame because it set 'X-Frame-Options' to 'DENY'.
Tests for various X-Frame-Options headers.
Modified: trunk/LayoutTests/http/tests/inspector/network/x-frame-options.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/x-frame-options.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/x-frame-options.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -5,7 +5,7 @@
<script>
function createIFrame(option) {
let iframe = document.createElement("iframe");
- iframe.src = ""
+ iframe.src = ""
document.body.appendChild(iframe);
}
Modified: trunk/LayoutTests/http/tests/inspector/network/xhr-response-body.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/network/xhr-response-body.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/network/xhr-response-body.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -23,11 +23,11 @@
}
function createXHRForJSON2() {
- xhrGet(`resources/echo.php?mimetype=application/json&content={"json":true,"value":42}`);
+ xhrGet(`resources/echo.py?mimetype=application/json&content={"json":true,"value":42}`);
}
function createXHRForJSON3() {
- xhrGet(`resources/echo.php?mimetype=application/vnd.api%2Bjson&content={"json":true,"value":999}`);
+ xhrGet(`resources/echo.py?mimetype=application/vnd.api%2Bjson&content={"json":true,"value":999}`);
}
function createXHRForSVG() {
Modified: trunk/LayoutTests/http/tests/inspector/page/get-cookies.html (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/page/get-cookies.html 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/page/get-cookies.html 2021-02-09 17:36:11 UTC (rev 272582)
@@ -48,7 +48,7 @@
InspectorTest.log("Loading first-party resource...");
await Promise.all([
InspectorTest.awaitEvent("ScriptLoad"),
- InspectorTest.evaluateInPage(`loadScriptWithURL("http://${firstParty}:8000/inspector/page/resources/set-cookie.php?name=FirstPartyResource&value=PASS")`),
+ InspectorTest.evaluateInPage(`loadScriptWithURL("http://${firstParty}:8000/inspector/page/resources/set-cookie.py?name=FirstPartyResource&value=PASS")`),
]);
InspectorTest.log("Getting cookies after first-party resource load...");
@@ -74,7 +74,7 @@
InspectorTest.log("Loading first-party resource...");
await Promise.all([
InspectorTest.awaitEvent("FrameLoad"),
- InspectorTest.evaluateInPage(`loadFrameWithURL("http://${firstParty}:8000/inspector/page/resources/set-cookie.php?name=FirstPartyFrame&value=PASS")`),
+ InspectorTest.evaluateInPage(`loadFrameWithURL("http://${firstParty}:8000/inspector/page/resources/set-cookie.py?name=FirstPartyFrame&value=PASS")`),
]);
InspectorTest.log("Getting cookies after first-party resource load...");
@@ -100,7 +100,7 @@
InspectorTest.log("Loading third-party resource...");
await Promise.all([
InspectorTest.awaitEvent("ScriptLoad"),
- InspectorTest.evaluateInPage(`loadScriptWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.php?name=ThirdPartyResourceWithITP&value=FAIL")`),
+ InspectorTest.evaluateInPage(`loadScriptWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.py?name=ThirdPartyResourceWithITP&value=FAIL")`),
]);
InspectorTest.log("Getting cookies after third-party resource load...");
@@ -120,7 +120,7 @@
InspectorTest.log("Loading third-party resource...");
await Promise.all([
InspectorTest.awaitEvent("FrameLoad"),
- InspectorTest.evaluateInPage(`loadFrameWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.php?name=ThirdPartyFrameWithITP&value=FAIL")`),
+ InspectorTest.evaluateInPage(`loadFrameWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.py?name=ThirdPartyFrameWithITP&value=FAIL")`),
]);
InspectorTest.log("Getting cookies after third-party resource load...");
@@ -148,7 +148,7 @@
InspectorTest.log("Loading third-party resource...");
await Promise.all([
InspectorTest.awaitEvent("ScriptLoad"),
- InspectorTest.evaluateInPage(`loadScriptWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.php?name=ThirdPartyResourceWithoutITP&value=PASS")`),
+ InspectorTest.evaluateInPage(`loadScriptWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.py?name=ThirdPartyResourceWithoutITP&value=PASS")`),
]);
InspectorTest.log("Getting cookies after third-party resource load...");
@@ -174,7 +174,7 @@
InspectorTest.log("Loading third-party resource...");
await Promise.all([
InspectorTest.awaitEvent("FrameLoad"),
- InspectorTest.evaluateInPage(`loadFrameWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.php?name=ThirdPartyFrameWithoutITP&value=PASS")`),
+ InspectorTest.evaluateInPage(`loadFrameWithURL("http://${thirdParty}:8000/inspector/page/resources/set-cookie.py?name=ThirdPartyFrameWithoutITP&value=PASS")`),
]);
InspectorTest.log("Getting cookies after third-party resource load...");
Deleted: trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.php (272581 => 272582)
--- trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.php 2021-02-09 17:35:40 UTC (rev 272581)
+++ trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.php 2021-02-09 17:36:11 UTC (rev 272582)
@@ -1,3 +0,0 @@
-<?php
- setcookie($_GET["name"], $_GET["value"], time() + 3600);
-?>
Added: trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.py (0 => 272582)
--- trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.py (rev 0)
+++ trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.py 2021-02-09 17:36:11 UTC (rev 272582)
@@ -0,0 +1,16 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+from datetime import datetime, timedelta, timezone
+from urllib.parse import parse_qs
+
+query = parse_qs(os.environ.get('QUERY_STRING', ''), keep_blank_values=True)
+name = query.get('name')[0]
+value = query.get('value')[0]
+exp_time = datetime.utcnow() + timedelta(hours=1)
+
+sys.stdout.write(
+ 'Set-Cookie: {}={}; expires={} GMT; Max-Age=3600\r\n'
+ 'Content-Type: text/html\r\n\r\n'.format(name, value, exp_time.strftime('%a, %d-%b-%Y %H:%M:%S'))
+)
Property changes on: trunk/LayoutTests/http/tests/inspector/page/resources/set-cookie.py
___________________________________________________________________
Added: svn:executable
+*
\ No newline at end of property