diff --git a/shell/plugins/panels/network/Model.js b/shell/plugins/panels/network/Model.js index 7f81b60c..65887d72 100644 --- a/shell/plugins/panels/network/Model.js +++ b/shell/plugins/panels/network/Model.js @@ -30,6 +30,12 @@ function formatHeaderSpeed(mbps) { function formatHeaderFreq(mhz) { var v = parseFloat(mhz) if (!v) return "" + + if (v >= 2400 && v < 2500) return "2.4ghz" + if (v >= 4900 && v < 5925) return "5ghz" + if (v >= 5925 && v < 7125) return "6ghz" + if (v >= 57000 && v < 71000) return "60ghz" + var ghz = v / 1000 return ghz.toFixed(ghz % 1 === 0 ? 0 : 1) + "ghz" } diff --git a/test/shell.d/network-test.sh b/test/shell.d/network-test.sh index 10a77703..2824f02e 100644 --- a/test/shell.d/network-test.sh +++ b/test/shell.d/network-test.sh @@ -15,7 +15,10 @@ assertDeepEqual( assertEqual(network.connectionIcon('wifi', 80), network.wifiIconFor(80), 'network maps wifi icon from signal') assertEqual(network.formatHeaderSpeed('1000'), '1gbit', 'network formats gigabit speed') assertEqual(network.formatHeaderSpeed('2500'), '2.5gbit', 'network formats fractional gigabit speed') -assertEqual(network.formatHeaderFreq('5200'), '5.2ghz', 'network formats wifi frequency') +assertEqual(network.formatHeaderFreq('2462'), '2.4ghz', 'network formats 2.4GHz wifi band') +assertEqual(network.formatHeaderFreq('5200'), '5ghz', 'network formats 5GHz wifi band') +assertEqual(network.formatHeaderFreq('6455.0'), '6ghz', 'network formats 6GHz wifi band') +assertEqual(network.formatHeaderFreq('18300'), '18.3ghz', 'network falls back to exact GHz for unknown bands') assertEqual(network.headerDetail({ type: 'ethernet', speed: '100' }), '100mbit', 'network header uses ethernet speed') assertDeepEqual(