diff options
Diffstat (limited to '')
-rw-r--r-- | devtools/client/netmonitor/test/xpcshell/test_request-utils-js-getFormattedProtocol.js | 235 |
1 files changed, 235 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/xpcshell/test_request-utils-js-getFormattedProtocol.js b/devtools/client/netmonitor/test/xpcshell/test_request-utils-js-getFormattedProtocol.js new file mode 100644 index 0000000000..07ead52893 --- /dev/null +++ b/devtools/client/netmonitor/test/xpcshell/test_request-utils-js-getFormattedProtocol.js @@ -0,0 +1,235 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Test devtools/client/netmonitor/src/utils/request-utils.js function +// |getFormattedProtocol| + +"use strict"; + +const { require } = ChromeUtils.importESModule( + "resource://devtools/shared/loader/Loader.sys.mjs" +); +const { + getFormattedProtocol, +} = require("resource://devtools/client/netmonitor/src/utils/request-utils.js"); + +function run_test() { + const http_1p1_value_http1p1 = { + httpVersion: "HTTP/1.1", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "http/1.1", + }, + ], + }, + }; + + const http_1p1_value_http_no_slash_1p1 = { + httpVersion: "HTTP/1.1", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "http1.1", + }, + ], + }, + }; + + const http_1p1_value_http1p11 = { + httpVersion: "HTTP/1.1", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "http/1.11", + }, + ], + }, + }; + + const http_2p0_value_h2 = { + httpVersion: "HTTP/2.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "h2", + }, + ], + }, + }; + + const http_1p1_value_h1 = { + httpVersion: "HTTP/1.1", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "h1", + }, + ], + }, + }; + + const http_1p1_value_h2 = { + httpVersion: "HTTP/1.1", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "h2", + }, + ], + }, + }; + + const http_1p1_value_empty_string = { + httpVersion: "HTTP/1.1", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "", + }, + ], + }, + }; + + const http_2p0_value_empty_string = { + httpVersion: "HTTP/2.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "", + }, + ], + }, + }; + + const http_2p0_value_2p0 = { + httpVersion: "HTTP/2.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "HTTP/2.0", + }, + ], + }, + }; + + const http_3p0_value_h3 = { + httpVersion: "HTTP/3.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "h3", + }, + ], + }, + }; + + const http_3p0_value_h3p0 = { + httpVersion: "HTTP/3.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "h3.0", + }, + ], + }, + }; + + const http_3p0_value_http_3p0 = { + httpVersion: "HTTP/3.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "http/3.0", + }, + ], + }, + }; + + const http_3p0_value_3p0 = { + httpVersion: "HTTP/3.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "3.0", + }, + ], + }, + }; + + const http_4p0_value_h4 = { + httpVersion: "HTTP/4.0", + responseHeaders: { + headers: [ + { + name: "X-Firefox-Spdy", + value: "h4", + }, + ], + }, + }; + + info("Testing httpValue:HTTP/1.1, value:http/1.1"); + equal(getFormattedProtocol(http_1p1_value_http1p1), "HTTP/1.1"); + + info("Testing httpValue:HTTP/1.1, value:http1.1"); + equal( + getFormattedProtocol(http_1p1_value_http_no_slash_1p1), + "HTTP/1.1+http1.1" + ); + + info("Testing httpValue:HTTP/1.1, value:http/1.11"); + equal(getFormattedProtocol(http_1p1_value_http1p11), "HTTP/1.1+http/1.11"); + + info("Testing httpValue:HTTP/2.0, value:h2"); + equal(getFormattedProtocol(http_2p0_value_h2), "HTTP/2.0"); + + info("Testing httpValue:HTTP/1.1, value:h1"); + equal(getFormattedProtocol(http_1p1_value_h1), "HTTP/1.1+h1"); + + info("Testing httpValue:HTTP/1.1, value:h2"); + equal(getFormattedProtocol(http_1p1_value_h2), "HTTP/1.1+h2"); + + info("Testing httpValue:HTTP/1.1, value:http1.1"); + equal( + getFormattedProtocol(http_1p1_value_http_no_slash_1p1), + "HTTP/1.1+http1.1" + ); + + info("Testing httpValue:HTTP/1.1, value:''"); + equal(getFormattedProtocol(http_1p1_value_empty_string), "HTTP/1.1"); + + info("Testing httpValue:HTTP/2.0, value:''"); + equal(getFormattedProtocol(http_2p0_value_empty_string), "HTTP/2.0"); + + info("Testing httpValue:HTTP/2.0, value:HTTP/2.0"); + equal(getFormattedProtocol(http_2p0_value_2p0), "HTTP/2.0+HTTP/2.0"); + + info("Testing httpValue:HTTP/3.0, value:h3"); + equal(getFormattedProtocol(http_3p0_value_h3), "HTTP/3.0"); + + info("Testing httpValue:HTTP/3.0, value:h3.0"); + equal(getFormattedProtocol(http_3p0_value_h3p0), "HTTP/3.0"); + + info("Testing httpValue:HTTP/3.0, value:http/3.0"); + equal(getFormattedProtocol(http_3p0_value_http_3p0), "HTTP/3.0+http/3.0"); + + info("Testing httpValue:HTTP/3.0, value:3.0"); + equal(getFormattedProtocol(http_3p0_value_3p0), "HTTP/3.0+3.0"); + + info("Testing httpValue:HTTP/4.0, value:h4"); + equal(getFormattedProtocol(http_4p0_value_h4), "HTTP/4.0"); +} |