/* 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"); }