Decode escaped SSIDs after status parsing

This commit is contained in:
David Heinemeier Hansson
2026-07-31 19:08:37 -07:00
parent b64f5e51fb
commit bac31ff892
3 changed files with 32 additions and 2 deletions
+9
View File
@@ -26,6 +26,15 @@ assertDeepEqual(
{ iface: 'wlan0', rx_bytes: '100', tx_bytes: '50' },
'network parses detail key values'
)
assertEqual(network.decodeIwSsid('Cafe\\xe2\\x80\\x99'), 'Cafe', 'network decodes UTF-8 SSID bytes')
assertEqual(network.decodeIwSsid('\\x20Cafe\\x20'), ' Cafe ', 'network preserves edge spaces in SSIDs')
assertEqual(network.decodeIwSsid('slash\\x5cname'), 'slash\\name', 'network decodes SSID backslashes once')
assertEqual(network.decodeIwSsid('invalid\\xff'), 'invalid\\xff', 'network preserves invalid UTF-8 escapes')
assertDeepEqual(
network.parseKeyValue('ssid\tline\\x0abreak\\x09tab\\x00nul\nsignal_dbm\t-40\n'),
{ ssid: 'line\nbreak\ttab\0nul', signal_dbm: '-40' },
'network decodes control bytes after parsing detail records'
)
assertDeepEqual(
network.throughputState({ prevIface: '', prevSampleTime: 0 }, { iface: 'wlan0', rx_bytes: '100', tx_bytes: '50' }, 10),
{ prevIface: 'wlan0', prevRxBytes: 100, prevTxBytes: 50, prevSampleTime: 10, downloadRate: 0, uploadRate: 0 },