diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:13:27 +0000 |
commit | 40a355a42d4a9444dc753c04c6608dade2f06a23 (patch) | |
tree | 871fc667d2de662f171103ce5ec067014ef85e61 /netwerk/test/unit/test_http3_alt_svc.js | |
parent | Adding upstream version 124.0.1. (diff) | |
download | firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.tar.xz firefox-40a355a42d4a9444dc753c04c6608dade2f06a23.zip |
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'netwerk/test/unit/test_http3_alt_svc.js')
-rw-r--r-- | netwerk/test/unit/test_http3_alt_svc.js | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/netwerk/test/unit/test_http3_alt_svc.js b/netwerk/test/unit/test_http3_alt_svc.js index 201101eb19..46488525ae 100644 --- a/netwerk/test/unit/test_http3_alt_svc.js +++ b/netwerk/test/unit/test_http3_alt_svc.js @@ -5,7 +5,7 @@ let h3AltSvc; let h3Route; let prefs; -let tests = [test_https_alt_svc, testsDone]; +let tests = [test_https_alt_svc, test_https_alt_svc_1, testsDone]; let current_test = 0; @@ -68,7 +68,9 @@ function makeChan(uri) { return chan; } -let WaitForHttp3Listener = function () {}; +let WaitForHttp3Listener = function (expectedH3Version) { + this._expectedH3Version = expectedH3Version; +}; WaitForHttp3Listener.prototype = { onDataAvailableFired: false, @@ -84,7 +86,7 @@ WaitForHttp3Listener.prototype = { read_stream(stream, cnt); }, - onStopRequest: function testOnStopRequest(request, status) { + onStopRequest: function testOnStopRequest(request) { let routed = "NA"; try { routed = request.getRequestHeader("Alt-Used"); @@ -96,13 +98,18 @@ WaitForHttp3Listener.prototype = { try { httpVersion = request.protocolVersion; } catch (e) {} - Assert.equal(httpVersion, "h3-29"); + Assert.equal(httpVersion, this._expectedH3Version); run_next_test(); } else { dump("poll later for alt svc mapping\n"); do_test_pending(); do_timeout(500, () => { - doTest(this.uri, this.expectedRoute, this.h3AltSvc); + doTest( + this.uri, + this.expectedRoute, + this.h3AltSvc, + this._expectedH3Version + ); }); } @@ -110,9 +117,9 @@ WaitForHttp3Listener.prototype = { }, }; -function doTest(uri, expectedRoute, altSvc) { +function doTest(uri, expectedRoute, altSvc, expectedH3Version) { let chan = makeChan(uri); - let listener = new WaitForHttp3Listener(); + let listener = new WaitForHttp3Listener(expectedH3Version); listener.uri = uri; listener.expectedRoute = expectedRoute; listener.h3AltSvc = altSvc; @@ -121,11 +128,23 @@ function doTest(uri, expectedRoute, altSvc) { } // Test Alt-Svc for http3. -// H2 server returns alt-svc=h2=foo2.example.com:8000,h3-29=:h3port,h3-30=foo2.example.com:8443 +// H2 server returns alt-svc=h2=foo2.example.com:8000,h3-29=:h3port function test_https_alt_svc() { dump("test_https_alt_svc()\n"); do_test_pending(); - doTest(httpsOrigin + "http3-test2", h3Route, h3AltSvc); + doTest(httpsOrigin + "http3-test2", h3Route, h3AltSvc, "h3-29"); +} + +// Test if we use the latest version of HTTP/3. +// H2 server returns alt-svc=h3-29=:h3port,h3=:h3port +function test_https_alt_svc_1() { + // Close the previous connection and clear alt-svc mappings. + Services.obs.notifyObservers(null, "last-pb-context-exited"); + Services.obs.notifyObservers(null, "net:cancel-all-connections"); + do_test_pending(); + do_timeout(1000, () => { + doTest(httpsOrigin + "http3-test3", h3Route, h3AltSvc, "h3"); + }); } function testsDone() { |